Manual de servicio para el asistente de operación
Juan Hirschmann (jhirschmann@fi.uba.ar)
Laboratorio de ablación láser, INTECIN
Resumen
Este documento pretende ser una guía exhaustiva para describir el funcionamiento, poder realizar su
mantenimiento y eventualmente introducir modificaciones en el asistente de operación. El sistema se di-
señó de asistir en la operación del láser pulsado del laboratorio de sólidos amorfos.
Este manual proporciona una visión detallada de las diversas partes y componentes que conforman
el extractor de gases, junto con instrucciones paso a paso para llevar a cabo tareas de mantenimiento y
resolución de posibles problemas.
1. Registro de cambios
Fecha Versión Descripción Autor
24/08/2023 1.0 Creación del documento J.Hirschmann
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
Índice
1. Registro de cambios 1
2. Introducción 2
2.1. Descripción de prestaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Funcionamiento básico del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Señales de alarma del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Descripción del sistema 5
3.1. Descripción del Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Descripción del Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Resolución de problemas 8
4.1. Diagnóstico y reparación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1.1. Falla en alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.2. Falla en pantalla LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.3. Falla en sistema de alarmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.4. Falla en transistores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.5. Falla de Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.6. Falla en la placa arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5. Agregado de funcionalidades 14
5.1. Documentación del equipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2. Funcionalidades de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2.1. Agregado de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2.2. Modificación de comportamiento de estados . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2.3. Modificación de umbrales de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3. Funcionalidades de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4. Registro de reparaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2. Introducción
El asistente monitorea el seguimiento del protocolo de operación del láser pulsado y controla el encen-
dido electrónico del motor extractor de la cámara de vacío.
El sistema consiste en dos unidades: el gabinete principal, que se encarga de la interacción con el usuario,
y un gabinete auxiliar en el recinto acústico junto con el motor extractor.
Manual de servicio para el asistente de operación 2
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
A
(a) Asistente de operación
Descripción
1 Pulsador de Reset
2 Pulsador de avance
3
Indicador LED de ventila-
dor frontal
4
Indicador LED de ventila-
dor trasero
5
Indicador LED de detec-
ción de humedad
6
Indicador LED de tempe-
ratura de motor
7 Buzzer
8 Pantalla LCD
9
Puerto de conexión con
motor
10
Regulador de velocidad del
motor extractor
11
Puerto de conexión con el
asistente
12
Caja de distribución (me-
jor nombre)
13 Ventilador frontal
14 Ventilador trasero
15
Sonda detectora de hume-
dad
16
Sensor de temperatura
DS18B20
17
Puerto de alimentación
220 VAC
18
Puerto de salida al motor
extractor
19
Puerto de entrada al motor
extractor
Figura 1: Componentes del sistema
2.1. Descripción de prestaciones
El asistente cuenta con un sistema de seguimiento del procedimiento para la operación del láser pulsa-
do. Este sistema consiste en una pantalla LCD que indica un comando al operador, un botón de avance a
pulsar con el cumplimiento de la instrucción y la generación de alarmas lumínicas y sonoras para indicar la
detección de una falla.
Además de ello, el asistente permite la regulación manual de la velocidad de extracción de gases e imple-
menta un arranque suave del motor extractor.
Manual de servicio para el asistente de operación 3
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
2.2. Instalación
Antes de instalar el equipo asegúrese que no este conectado a la red eléctrica.
1. Verifique el correcto posicionamiento de los sensores de temperatura y humedad. El sensor de tem-
peratura debería estar adherido a una de las escobillas del motor mientras que la sonda de humedad
debería colocarse de forma tal que sus terminales no se toquen.
2. Asegúrese que los ventiladores frontal y trasero estén conectados en la caja de distribución.
3. Conecte el cable tipo Ethernet en los puertos 9 y 11.
4. Conecte el cable interlock entre los puertos 18 y 19.
5. Conecte el cable de alimentación en el puerto 17.
6. Verifique el encendido del sistema presionando en botón de avance, una vez que se encendió la pan-
talla presione el botón Reset para apagar el sistema.
2.3. Funcionamiento básico del sistema
El sistema esta diseñado para permitir la operación asistida del láser pulsado y el accionamiento del
motor extractor encargado de eliminar los gases remanentes producto de la ablación láser.
Para encender el sistema se debe accionar de encendido en la parte posterior del gabinete y pulsar el
botón de avance. Todos los LEDs indicadores parpaderán una vez en verde y otra vez en rojo y se encenderá
la pantalla del equipo.
Con el encendido de la pantalla se presentará la primera instrucción a realizar por el operador del láser.
Una vez que haya sido cumplida el operador deberá presionar el botón de avance y se presentará la siguiente
instrucción a realizar.Para agregar o modificar las instrucciones siga los pasos en la sección 5.2.1.
En todo momento se presentará la temperatura del motor extractor y la velocidad de los ventiladores
que lo refrigeran. El sistema automáticamente monitorea estas y otras variables para detectar fallas en la
operación del láser. En caso de detección de una falla el sistema emitirá una alarma sonora y lumínica,
indicando en la pantalla el motivo de la falla.
" Si bien el sistema esta diseñado para identificar y prevenir fallas, no es completamente autóno-
mo. No deje el equipo operando sin supervisión.
" Previo a accionar el motor extractor siempre verifique que la manguera de extracción no este
bloqueada ni estrangulada. Recuerde remover la tapa cobertora de la cámara de vacío.
2.4. Señales de alarma del sistema
El sistema emite los siguiente tipos de alarma y advertencia:
Advertencia de exceso de temperatura: El sistema detectó que el motor extractor presenta una tem-
peratura elevada. Se permite la operación del equipo bajo este régimen y no se emite alarma sonora.
La luz indicadora de la temperatura del motor se encenderá en naranja.
Alarma de exceso de temperatura: El sistema detectó que el motor extractor presenta una temperatu-
ra excesiva. El motor se apagará, los ventiladores refrigerantes se accionarán y se disparará una alarma
sonora. No se permitirá continuar con el uso del equipo.
Manual de servicio para el asistente de operación 4
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
Alarma de detección de filtración: El sistema detectó que una filtración de agua proveniente del sis-
tema de refrigeración del motor extractor.El motor se apagará y se disparará una alarma sonora. No se
permitirá continuar con el uso del equipo.
Alarma de desconexión del sensor de temperatura: El sistema detectó que el sensor de temperatura
se encuentra dañado o desconectado. El motor se apagará y se disparará una alarma sonora. No se
permitirá continuar con el uso del equipo.
Alarma de falla en ventilador refrigerante: El sistema detectó que un ventilador refrigerante se en-
cuentra dañado o desconectado. El motor se apagará y se disparará una alarma sonora. No se permitirá
continuar con el uso del equipo.
" Antes de apagar el sistema verifique que la temperatura del motor se encuentre en valores tole-
rables.
" No desconecte ni cubra la alarma sonora.
" En caso de que se haya accionado una alarma, verifique que su causa subyacente este resuelta
previo a operar nuevamente el equipo.
3. Descripción del sistema
3.1. Descripción del Hardware
El Hardware del sistema consiste en un placa principal y dos placas secundarias que se conectan a la
principal.
A
Figura 2: Placa principal, vistas superior e inferior
Manual de servicio para el asistente de operación 5
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
B
(a) Placa en caja de distribución, vistas superior e inferior
C
(b) Placa de indicadores, vistas superior e inferior
Figura 3: Placas secundarias
La placa principal se puede dividir en dos regiones, una zona de potencia y otra zona de señal. La zona
de potencia es donde se realiza la rectificación de la tensión de línea y su posterior troceo para controlar la
velocidad del motor extractor. Esta región cuenta con el rectificador principal del sistema, el diodo de rueda
libre de la carga, el circuito de amortiguación y los MOSFET que conmutan la carga, entre otros componentes
menores. Esta zona se encuentra eléctricamente aislada de la zona de señal.
En la región de baja potencia se encuentra la placa de desarrollo Arduino, el controlador PWM y los
demás componentes físicos del sistema. Dentro de este último grupo se hallan los circuitos de control para
los ventiladores refrigerantes, el buzzer del sistema de alarmas y un regulador de 5V de baja potencia.
En la placa secundaria de la caja de distribución se encuentran los conectores para los ventiladores y
sensor de temperatura, la conexión con el motor extractor y el circuito detector de fugas de agua. Por último,
en la placa de indicadores únicamente se encuentran los LEDs de señalización.
3.2. Descripción del Software
El software del sistema esta implementado en C++, para la plataforma Arduino utilizando PlatformIO
1
.
A grandes rasgos, el sistema consiste en una clase base, control_system, que contiene todas las variables de
interés y todos los periféricos como objetos. Esta clase hereda su comportamiento de dos fuentes, Machine
y Subject.
La clase Machine busca implementar un comportamiento del sistema como máquina de estados finitos.
Su diagrama de transición de estados es el de la figura 4
1
La documentación del código está disponible en el siguiente enlace: https://juanhirschmann.github.io/LAL-Control-
Arduino/index.html
Manual de servicio para el asistente de operación 6
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
Figura 4: Diagrama de transición de estados
Cada uno de los estados esta implementado a partir de la clase base state, con 3 métodos virtuales puros:
enter(), transistion() y exit(). Esto significa que cada uno de los estados debe encargarse de su transición
hacia otro estado y del comportamiento a implementar en el incio y fin del estado.
Por otro lado, la clase Subject busca implentar el patrón de diseño Observer. Este patrón se utilizó en el
monitoreo de variables. La clase Subject llama periódicamente a actualizar a sus observadores. Los obser-
vadores, también objetos, deben tener una rutina de actualización en donde midan alguna de las variables
de interés del sistema (temperatura, filtración, velocidad de los ventiladores, pulsado del botón, entre otras).
Esto permite la actualización de variables y la generación de alarmas en el sistema.
Manual de servicio para el asistente de operación 7
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
4. Resolución de problemas
" Previo a manipular el interior del equipo asegúrese de utilizar elementos de protección perso-
nal e instrumental adecuado.
Falla Posibles causas Verificación Solución
El sistema no
enciende
El sistema está
desconectado
Revise si el interruptor de
encendido se encuentra en
posición O y si tiene una
luz roja.
Si el interruptor no tiene la luz roja encen-
dida, verifique que el cable de alimentación
y el tomacorriente funcionen correctamen-
te. Si el interruptor presenta luz roja y esta
en posición O, llevelo a posición I.
Falla en la ali-
mentación
El interruptor esta en posi-
ción I y tiene luz roja. Pre-
sionar el botón de avan-
ce no genera sonido ni en-
ciende la pantalla.
Siga los pasos en la sección4.1.1
La pantalla está
en negro
La pantalla está
desconectada
Desconecte el equipo de la
alimentación, abra el gabi-
nete y reconecte el conec-
tor de la pantalla en ambos
extremos.
Vuelva a alimentar el equipo y verifique el
encendido de la pantalla.
La pantalla falló Siga los pasos en la sección4.1.2
La velocidad del
motor no puede
cambiarse
Falla en transis-
tores
Girar la perilla de regula-
ción de velocidad no mo-
difica la velocidad de ex-
tracción
Siga los pasos en la sección4.1.4
El motor no
enciende
El motor está
desconectado
Desconecte el equipo de la
alimentación, abra el gabi-
nete y reconecte el conec-
tor del motor en ambos ex-
tremos.
Vuelva a alimentar el equipo y verifique el
encendido del motor.
Falla en transis-
tores
- Siga los pasos en la sección4.1.4
Uno o más de
los indicadores
LED no
encienden
La placa de
indicadores se
desconectó
Durante el inicio del equi-
po, todas las luces del pa-
nel LED parpadean en ver-
de y rojo una única vez. Ve-
rificar que indicador pre-
senta la falla.
Apague el equipo y reconecte la placa de in-
dicadores, verifique el funcionamiento en-
cendiendo el equipo.
Falla en un LED Durante el inicio del equi-
po, todas las luces del pa-
nel LED parpadean en ver-
de y rojo una única vez. Ve-
rificar que indicador pre-
senta la falla.
Siga los pasos en la sección4.1.3
Manual de servicio para el asistente de operación 8
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
El sistema no
emite sonido
El buzzer falló El sistema no emite sonido
cuando el botón de avance
es pulsado
Siga los pasos en la sección 4.1.5
El sistema no
responde al
pulsado de
botones
Pulsadores des-
conectados
Desconecte el equipo de la
alimentación, abra el gabi-
nete y desconecte los pul-
sadores. Reconecte la ali-
mentación e intente ha-
cer contacto entre los ter-
minales de cada pulsador
desconectado. El sistema
debería responder como si
hubiese pulsado el botón.
Reemplace el pulsador que presenta la fa-
lla.
Falla en la placa
arduino.
Desconecte el equipo de la
alimentación, abra el gabi-
nete y desconecte los pul-
sadores. Reconecte la ali-
mentación e intente ha-
cer contacto entre los ter-
minales de cada pulsador
desconectado. El sistema
debería responder como si
hubiese pulsado el botón.
Siga los pasos en la sección4.1.6
Manual de servicio para el asistente de operación 9
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
4.1. Diagnóstico y reparación
Figura 5: Placa principal del sistema
Manual de servicio para el asistente de operación 10
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
4.1.1. Falla en alimentación
1-Inspección ocular Desconecte el equipo, abra el gabinete y extraiga la placa principal. Corrobore que no
existen fallas obvias en ambas caras de la placa. La placa no debería presentar corrosión de ningún tipo y las
pistas no deben estar ennegrecidas ni cortadas. La base de los capacitores electrolíticos no debería presentar
evidencia de una filtración y su tapa superior debería estar perfectamente recta, no hinchada ni perforada.
Verifique que los circuitos integrados en la placa no tengan su carcasa partida.
2-Verificar estado de los fusibles Con el equipo desconectado remueva el fusible montado en el conector
interlock en la parte trasera del equipo. El fusible debería ser perfectamente transparente y su conductor
interno debería conectar ambos extremos. Asegúrese de reemplazarlo por un fusible de 250V, 7A y de tipo
rápido.
Realice la misma verificación para el fusible de baja potencia, en caso de ser necesario remplácelo por
un fusible de 250V, 2A y de tipo rápido.
En todos los casos el fusible debería presentar continuidad entre sus terminales al ser medido con un
multímetro.
3-Medición de resistencias Al desconectar el cable de alimentación se deberían poder verificar las siguien-
tes resistencias entre los puntos de prueba de la tabla 2. Las pruebas se deberían realizar con todos los fusi-
bles conectados y verificados.
Prueba Puntos de prueba Resistencia
1 TP15 y TP14 > 1M
2 TP21 y TP22 > 1M
3 TP21 y TP20 > 1M
4 TP22 y TP20 > 1M
5 TP19 y TP20 > 1M
6 TP16 y TP17 > 1M
7 TP17 y TP19 < 10
8 TP15 y TP21 < 10
9 TP18 y TP19 > 1M
Cuadro 2: Puntos de prueba y sus resistencias asociadas
Falla en prueba 1 y 3 o en prueba 8: Desconecte J5 y repita la prueba 1. Luego, desconecte J6 y repita
la prueba 2. Si ambas pruebas satisfacen los valores de la tabla remplace la fuente de alimentación
conectada entre J5 y J6 por una de igual tensión y potencia. Verifique nuevamente el cumplimiento de
ambas pruebas.
Falla en prueba 8: Desconecte J5 y repita la prueba 1. Luego, desconecte J6 y repita la prueba 2. Si
ambas pruebas satisfacen los valores de la tabla remplace la fuente de alimentación conectada entre
J5 y J6. Verifique nuevamente el cumplimiento de ambas pruebas.
Falla en prueba 1: Desconecte el interlock en P1. Realice nuevamente la prueba. En caso de que se
repita la falla Reemplace o repare el conector interlock en P1. Realice nuevamente la prueba 1, si la
falla se repite reemplace BR1 y PS1.
Manual de servicio para el asistente de operación 11
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
Falla en prueba 9: Reemplace BR1.
Falla en prueba 6: Reemplace el capacitor C18, si la falla se repite reemplace PS1.
Falla en prueba 2, 3 o 4: Reemplace los capacitores C10 y C11, verifique nuevamente la resistividad. Si
se repite la falla reemplace el regulador U1.
Falla en prueba 5: Verique que no exista contacto eléctrico entre los extremos de la placa separados
por la línea punteada. Si no existe contacto eléctrico, reemplace los capacitores C8 y C9 por capacitores
de mismo tipo y valor. Si esto no resuelve la falla, reemplace la placa.
4.1.2. Falla en pantalla LCD
4.1.3. Falla en sistema de alarmas
4.1.4. Falla en transistores
1-Inspección ocular Desconecte el equipo, abra el gabinete y extraiga la placa principal. Corrobore que no
existen fallas obvias en ambas caras de la placa. La placa no debería presentar corrosión de ningún tipo y las
pistas no deben estar ennegrecidas ni cortadas. La base de los capacitores electrolíticos no debería presentar
evidencia de una filtración y su tapa superior debería estar perfectamente recta, no hinchada ni perforada.
Verifique que los circuitos integrados en la placa no tengan su carcasa partida.
2-Medición de resistencias Al desconectar el cable de alimentación se deberían poder verificar las siguien-
tes resistencias entre los puntos de prueba de la tabla 3. Previo a realizar las verificaciones, mida la resistencia
entre los terminales de J15, debería rondar los 5. Luego de verificar ello, desconecte la carga en J15.
Prueba Puntos de prueba Resistencia
1 TP29 y TP19 > 1M
2 TP29 y TP30 22
3 TP30 y TP19 > 1M
4 TP29 y TP27 > 1M
5 TP29 y TP31 > 1M
6 TP27 y TP19 500
7 TP31 y TP19 500
8 TP28 y TP31 22
9 TP28 y TP27 22
10 TP29 y TP18 (TP29 en COM) > 1M
11 TP25 y TP19 250
12 TP26 y TP25 (TP26 en COM) > 100k
13 TP26 y TP19 > 100k
14 TP28 y TP16 > 100k
15 TP28 y TP17 > 100k
16 TP26 y TP17 > 100k
17 TP24 y TP19 (TP24 en COM) > 100k
Cuadro 3: Puntos de prueba y sus resistencias asociadas
Manual de servicio para el asistente de operación 12
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
Falla en prueba 1,2 y 3: Reemplace R55 y C19.
Falla en prueba 1: Reemplace RV2.
Falla en prueba 1 y 10: Reemplace Q14, Q15, RV2 y D15.
Falla en prueba 1 y pruebas 4 , 6 o 9: Reemplace Q14,R53 y D13.
Falla en prueba 1 y pruebas 5 , 7 u 8: Reemplace Q15,R56 y D14.
Falla en prueba 11: Reemplace Q11.
Falla en prueba 12: Reemplace D11.
Falla en prueba 13: Reemplace Q11 y Q13.
Falla en prueba 13 y 15: Reemplace Q12.
Falla en prueba 16: Reemplace Q11 y Q12.
Falla en prueba 17: Reemplace U5.
3-Medición de tensiones Desconecte la carga y conecte en el terminal J15 un diodo LED con una resisten-
cia en serie de 20K . El ánodo del diodo debería colocarse en el lado positivo del conector J15. Reconecte
el equipo y llévelo al comando de inicio del motor extractor. Si el equipo funcionase correctamente debería
poder variar el brillo del LED de prueba con el potenciometro del equipo. Una vez que el comando de inicio
del motor fue ejecutado con un multímetro con capacidad de medir frecuencia realice las verificaciones de
la tabla ??:
Prueba Puntos de prueba Valor
1 TP23 y TP19 1K H z
2 TP24 y TP19 1K H z
3 TP15 y TP14 220V AC
4 TP21 y TP20 12V DC
5 TP22 y TP20 5V DC
6 TP16 y TP17 12V DC
7 TP18 y TP19 300V DC
Cuadro 4: Puntos de prueba y sus valores asociados
Falla en prueba 1 o 2: Reemplace C14, verifique nuevamente el cumplimiento. Si la falla se repite
reemplace U4.
Falla en pruebas 3,4,5,6 y 7 El circuito de alimentación de la placa es el que origina la falla. Siga las
instrucciones en la sección 4.1.1.
Manual de servicio para el asistente de operación 13
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
4.1.5. Falla de Buzzer
4.1.6. Falla en la placa arduino
5. Agregado de funcionalidades
El sistema permite añadir funcionalidades por más allá de las funciones básicas con las que fue diseñado.
" Todo cambio realizado en el Hardware o Software debe ser validado previo a utilizar el equipo.
Recuerde actualizar la documentación.
5.1. Documentación del equipo
La documentación del sistema se encuentra disponible en el siguiente repositorio de GitHub:
github.com/JuanHirschmann/LAL-Control-Arduino . En el repositorio se encuentra la versión editable
de este manual, el circuito esquemático del equipo y la documentación del código generada por DoxyGen.
Para agregar contribuciones, es posible copiar el proyecto de GitHub.
5.2. Funcionalidades de Software
Se recomienda modificar el Software únicamente para agregar nuevas instrucciones, modificar el com-
portamiento de un estado o editar los umbrales de seguridad.
5.2.1. Agregado de instrucciones
En la carpeta del proyecto include se encuentra el archivo user_messages.h con todos los mensajes para
el usuario y los mensajes de alarma.
Para modificar el texto en pantalla simplemente se debe sobreescribir el mensaje que se desee cam-
biar. Si es necesario agregar una instrucción adicional se debe agregar el texto en la constante PROCEDU-
RE_MESSAGES, incrementar en uno la constante MAX_PROCEDURE_STEPS y el enumerador STEPS en el
archivos types.h. Si la instrucción requiere un comportamiento específico del sistema, se debe modificar el
comportamiento del estado Check_instruction_state en su método enter():
1 void C h e c k _ i n s truction_state :: enter ( C o n t rol_system * ma chine )
2 {
3 Ser ial . print ln (F(" Estado check instru c t ion "));
4 swi tch ( machine -> context . cur r e nt_step )
5 {
6 ca se W ELCOME_ST E P :
7 machine -> rea r _cooler . turn_ off () ;
8 machine -> fro n t _cooler . turn_o ff () ;
9 machine -> w a ter_intake_le d . t urn_re d ();
10 break ;
11 ca se W A TER_ON_STE P :
12 machine -> w a ter_intake_le d . t u rn_gree n ();
13 break ;
14 ca se M O TOR_ON_STE P :
15 machine -> displ ay . show_ t imer () ;
16 if (! machine -> contex t . warning_re q u e st )
17 {
18 machine -> s e t_cooler_spee d (1, 1);
19 }
Manual de servicio para el asistente de operación 14
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
20 if (! machine -> contex t . alarm_re q u est )
21 {
22 machine -> m o tor_status_le d . t u rn_gree n ();
23 machine -> motor . t urn_o n ();
24 }
25 break ;
26
27 ca se M O TOR_OFF_STE P :
28 machine -> displ ay . hide_ t imer () ;
29 if (! machine -> contex t . warning_re q u e st )
30 {
31 machine -> s e t_cooler_spee d (1, 1);
32 }
33 machine -> motor . t urn_of f ();
34 break ;
35 ca se M O T O R _COOLDOWN_STEP :
36 break ;
37 ca se W A TER_OFF_STE P :
38 machine -> s e t_cooler_spee d (0, 0);
39 machine -> w a ter_intake_le d . t urn_re d ();
40 defa ult :
41 break ;
42 }
43 machine - > next_s t ep () ;
44 }
Listing 1: Método enter() de Check_instruction_state
Si se desea agregar una instrucción con comportamiento específico, se debe agregar un case con el com-
portamiento a implementar en el switch en donde se resuelve el paso actual del sistema. El paso agregado
debería estar presente en el enumerador STEPS en el archivo types.h.
5.2.2. Modificación de comportamiento de estados
Los estados del sistema tienen tres métodos básicos: enter(), update(), transition() y exit(). A modo de
ejemplo, suponiendo que el sistema se encuentre en el estado Idle_state, se llamará periódicamente a su
método de update(), que se encarga de mostrar la instrucción actual y actualizar las variables de control.
Luego de ese llamado se llamará a transition(), que se encarga de las transiciones de estado.
Si es necesario cambiar de estado, por ejemplo por exceso de temperatura en el motor, el estado Idle_state
llamará a su propia rutina exit() y asignará al estado actual del sistema el estado Alarm_state. Una vez en este
estado se llamará al método enter() del estado Alarm_state. Luego, se llamará periódicamente a su método
update() hasta que sea necesaria una transición.
5.2.3. Modificación de umbrales de seguridad
En la carpeta del proyecto include se encuentra el archivo system_settings.h con todas las constantes y un
comentario acerca de su función en el sistema. Para cambiar un umbral de seguridad se debe sobreecribir la
constante con el nuevo valor.
5.3. Funcionalidades de Hardware
La placa principal del equipo tiene la posibilidad de agregar un apagado automático por exceso de co-
rriente en el motor y regulación de velocidad por exceso de temperatura de los MOSFET de potencia. El
Manual de servicio para el asistente de operación 15
Juan Hirschmann (jhirschmann@fi.uba.ar) Laboratorio de ablación láser, INTECIN
esquemático y los valores para los componentes son ilustrativos ya que esta parte del desarrollo no avanzó
más allá de la etapa experimental.
5.4. Registro de reparaciones
Fecha Motivo Reparación Autor
Manual de servicio para el asistente de operación 16