T1567.pdf

Anuncio
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA ELÉCTRICA
CONTROL DE DISPARO, INTENSIDAD Y PUNTO
DE IMPACTO DE UN RAYO LÁSER DE
NITRÓGENO
FREDDY RICARDO PÉREZ JIBAJA
TESIS PREVIA A LA OBTENCIÓN DEL TITULO DE INGENIERO
EN LA ESPECIALIZACION DE ELECTRÓNICA Y CONTROL
Quito, marzo 2000
Certifico que el presente trabajo ha.
sido realizado en su totalidad por el
Sr. Freddy Ricardo Pérez Jibaja
Ing, Patricio GMco
Director de Tesis
AGRACEDIMIENTO
Mi agradecimiento a todas las personas que colaboraron para
que este trabajo llegue a feliz término, en especial al MSc.
Patricio Chico Director de esta tesis y al Ph. D. César Costa
Codirector, quienes siempre me brindaron su invalorable
apoyo y sabios consejos.
Además, mi profunda gratitud para quienes conforman el
Laboratorio MALDI del departamento de física de la Escuela
Politécnica Nacional., particularmente al Ph. D. Edy Ayala
por su valiosa cooperación.
A la Escuela Politécnica Nacional deseo expresarle no solo
mi agradecimiento sino mi compromiso de representarla con
dignidad, apoyado en los valores éticos y morales que me ha
inculcado y demostrando, con la aplicación de los
conocimientos adquiridos, que es el mejor centro de estudios
superiores con que cuenta nuestro país.
A Dios, por darme la oportunidad de vivir, por permitirme
día a día superar las adversidades, alcanzar mis objetivos y
ser feliz en unión de quienes me rodean.
DEDICATORIA
A mis padres, que me brindan permanentemente su cariño y
apoyo incondicional, a mis hermanos por el soporte, guía y
comprensión durante esta importante etapa de mi vida. A
ellos y al resto de mi familia que constituye un modelo
ejemplar para mantenerme en una búsqueda constante de
superación.
A mis amigos, que me han alimentado con los sentimientos
más nobles de amistad, compañerismo y lealtad.
1KDICE GENERAL
Página No.
CAPITULO I
INTRODUCCIÓN
1
CAPITULO rr
REQUERIMIENTOS PARA EL DISEÑO
5
2.1 CONTROL DE FRECUENCIA DE DISPARO
5
2.1.1 PRINCIPIO DE FUNCIONAMIENTO
6
2.1.2 PARTES CONSTITUTIVAS
6
2.1.2.a Ingreso del dato de frecuencia de disparo.
7
2.1.2.b Generación de la frecuencia de disparo.
8
2.1. Le Circuito de disparo externo del láser.
8
2.2 CONTROL DE INTENSIDAD
9
2.2.1 PRINCIPIO DE FUNCIONAMIENTO
9
2.2.2 PARTES CONSTITUTIVAS
9
2.2.2.a Ingreso del dato de intensidad.
10
2.2.2.b Controlador de posición del motor de pasos.
10
2.2.2. c Motor de pasos.
11
2.2.2. d Acoplamiento mecánico entre el filtro de densidad
variable y el motor.
11
2.2.2.e Filtro de densidad.
12
2.2.2.f Sensor de posición referencial.
13
2.3 CONTROL DE PUNTO DE IMPACTO O PUNTO DE COLISIÓN
14
2.3.1 PRINCIPIO DE FUNCIONAMIENTO
14
2.3.2 PARTES CONSTITUTIVAS
14
2.3.2.a Ingreso del dato del punto de colisión.
15
2.3.2.b Controlador de posición del motor de pasos.
15
2.3.2.C Motor de pasos.
16
2.3.2.d Acoplamiento mecánico entre el telescópico y el motor
16
2.3.2.e Telescopio
16
2.3.2.f Sensor de posición referencial.
17
Freddy B.. Pérez J.
íHT«»Ti
JL tlgAiltl
CAPITULO m
DISEÑO DEL BARDWAKE DEL EQUIPO
18
3.1 REQUERIÍVDENTOS DEL EQUIPO.
18
3.2 SELECCIÓN DEL MTCROCONTROLADOR.
19
3.3 ASIGNACIÓN DE TAREAS A LOS MECROCONTROLADORES.
22
3 A DISEÑO DEL EQUIPO REMOTO
23
3.4.1 BARRIDO DE LOS 4 DISPLAYS.
23
3.4.2 MANEJO DE DATOS PARA LOS DISPLAYS.
25
3.4.3 MANEJO DEL TECLADO
26
3.4.4 RECEPCIÓN Y TRANSMISIÓN SERIAL
27
3.4.5 CONSTRUCCIÓN DEL CABLE PARA CONECTAR
EL EQUIPO Al COMPUTADOR.
28
3.4.6 TRANSMISIÓN DE DATOS ENTRE LOS DOS
MICROCONTROLADORES.
29
3.4.7 MANEJO DÉLOS MOTORES DE PASOS.
30
3.4.8 POSICIÓN DE REFERENCIA DE LOS MOTORES.
32
3.4.9 DISPARO DEL RAYO LÁSER US ANDO UN PIN DE
SALIDA DEL MICROCONTROLADOR.
33
3.4.10 CIRCUITO COMPLETO DEL EQUIPO.
33
3.4.11 PLACAS DE CIRCUITO IMPRESO DEL EQUIPO.
34
3.4.12 CAJA DEL EQUIPO.
36
CAPITULO IV
DISEÑO DEL SOFTWARE DEL EQUIPO
37
4.1 DISEÑO DEL SOFTWARE DEL EQUIPO REMOTO
37
4.1.1 BARRIDO DÉLOS 4DISPLAYS.
37
4.1.2 MANEJO DEL TECLADO
38
4.1.3 RECEPCIÓN SERIAL
40
4.1.4 TRANSMISIÓN SERIAL.
41
4.1.5 MANEJO DÉLOS MOTORES DE PASOS.
42
4.1.6 POSICIÓN REFERENCIAL DE LOS MOTORES.
46
4.1.7 GENERACIÓN DE LA FRECUENCIA DE DISPARO
DEL LÁSER.
Freddy R. Pérez J.
47
Página No.
4.1.8 PROGRAMA RESIDENTE EN EL
MICROCONTROLADOR #1
48
4.1,9 PROGRAMA RESIDENTE EN EL
MICROCONTROLADOR #2
4.2 DISEÑO DEL PROGRAMA EN EL COMPUTADOR.
52
56
CAPITULO V
MONTAJE DEL EQUIPO, PRUEBAS Y RESULTADOS
58
5.1 MONTAJE DEL EQUIPO.
58
5.2 PRUEBAS Y RESULTADOS.
61
5.2.1 CONTROL DE FRECUENCIA DE DISPARO.
61
5.2.2 CONTROL DE INTENSIDAD DEL LÁSER.
63
5.2.3 CONTROL DEL PUNTO DE IMPACTO O DE COLISIÓN.
64
CAPITULO VI
CONCLUSIONES Y RECOMENDACIONES
65
6.1 CONCLUSIONES
65
6.2 RECOMENDACIONES
67
BIBLIOGRAFÍA
ANEXOS
Anexo 1
Planos del sistema mecánico
Anexo 2
Resumen de características y set de instrucciones del PIC16F84
Anexo 3
Hojas de especificaciones de algunos ICs.
Anexo 4
Circuito completo en formato A4
Anexo 5
Tablas con valores de registro del Timer y del registro adicional
Anexo 6
Manual de Usuario
Freddy R. Pérez J,
ÍNDICE DE FIGURAS
Página No.
CAPITULO I
Fig. 1,1 Esquema básico del funcionamiento de un espectrómetro de masas
2
Fig. 1.2 Vaporización de la muestra mediante un pulso láser
2
CAPITULO H
Fig. 2.1 Esquema de disparo externo del láser
7
Fig. 2.2 Esquema de control de intensidad
10
Fíg. 2.3 Motor unipolar de 200 pasos.
11
Fig. 2.4 Acoplamiento mecánico entre el filtro de densidad y el motor.
12
Fig. 2.5 Filtro de densidad variable de la casa Raynord Enterprises, Inc.
13
Fig. 2.6 Sensor de posición referencial.
13
Fig. 2.7 Esquema de control de intensidad
15
Fig. 2.8 Esquema mecánico del telescópico.
16
CAPITULO m
Fig. 3.1 MicrocontroladorPIC16F84.
20
Fig. 3.2 Circuito para el barrido de los displays.
24
Fig. 3.3 Circuito para el manejo de datos de los displays.
25
Fig. 3.4 Circuito para el manejo del teclado 4x4.
26
Fig. 3.5 Circuito para la transmisión y recepción serial RS-232.
27
Fig. 3.6 Interconexiones del cable serial.
29
Fig. 3.7 Circuito de potencia de los motores de pasos.
31
Fig. 3.8 Circuito de encerado délos motores de pasos.
32
Fig. 3.9 Circuito completo del equipo.
33
Fig. 3.10 Placas de circuito impreso
34
Fig. 3.11 Caja del equipo
36
Freddy R. Pérez J.
Página No.
CAPITULO IV
Fig. 4.1 Diagrama de flujo resumido del barrido de displays.
38
Fig. 4.2 Diagrama de flujo resumido del manejo de teclado.
39
Fig. 4.3 Diagrama de flujo resumido de la recepción serial.
40
Fig. 4.4 Diagrama de flujo resumido de la transmisión serial.
41
Fig. 4.5 Bobinas del motor de pasos.
43
Fig. 4.6 Diagrama de flujo resumido del manejo de los motores de pasos.
44
Fig. 4.7 Diagrama de flujo resumido del encerado de los motores.
46
Fig. 4.8 Diagrama de flujo resumido de la generación de la frecuencia de disparo47
Fig. 4.9 Diagramas de flujo del microcontrolador #1
48
Fig. 4.10 Diagramas de flujo del microcontrolador #2
52
Fig. 4.11 Pantalla principal del programa en LabView.
56
Fig. 4.12 Resumen de interconexión de SubVIs.
57
CAPITULO V
Fig. 5.1 Montaje del equipo.
59
Fig. 5.2 Alineación y enfoque del láser.
59
Fig. 5.3 Conexiones del equipo.
60
Fig. 5.4 Reflejo del láser para la primera posición del filtro de densidad.
63
Fig. 5.5 Reflejo del láser para la segunda posición del filtro de densidad.
63
Fig. 5.6 Muestra con material fotosensible
64
Freddy R. Pérez J.
ÍNDICE DE TABLAS
Página No.
Tabla.3.1 Tareas realizadas por el primer microcontrolador PIC16F84
22
Tabla 3.2 Tareas realizadas por el segundo microcontrolador PIC16]?84
23
Tabla 3.3 Descripción de y función de los pines del conector Macintosh RS-422 28
Tabla 4.1 Secuencia en las bobinas para movimiento del motor de pasos.
43
Tabla 5,1 Datos de frecuencia de disparo esperada^ frecuencia de disparo
obtenida experimentalmente y datos de error.
Freddy R. Pérez J.
62
CAPITULO I
CAPITULO I
INTRODUCCIÓN
La misión de la presente tesis es satisfacer la necesidad de mejorar y modernizar el
manejo del rayo láser de nitrógeno, utilizado en el laboratorio de Espectrometría de
masas MALDI de la Facultad de Ciencias de la Escuela Politécnica Nacional.
Espectrometría de Masas MALDI (Matrix Assisted Láser Desorption lonization) es una
técnica analítica inventada en el año 1988 por un grupo de científicos alemanes, que se
usa para determinar la masa molecular de una gran variedad de compuestos y
biomoléculas de un amplio rango de tamaños.
Esta técnica se caracteriza por una gran sensibilidad, precisión, resolución adecuada y
amplio rango de aplicabilidad.
El principio de la espectrometría consiste en llevar a las moléculas de interés ai estado
gaseoso de alguna manera, en un ambiente vacío y proveerlas de la misma energía
cinética.
Freddy R. Pérez I
CAPITULO I
Debido a esto, si se deja a todas las moléculas volar libremente una cierta distancia, las
moléculas más livianas llegarán en menor tiempo que las más pesadas, el esquema
básico del funcionamiento de un espectrómetro de masas se indica en la figura 1,1.
Ionización
de moléculas
w
Aceleración de las
moléculas ionizadas
mediante un campo
eléctrico
w
Separación de los
iones moleculares
en la región de libre
vuelo
w
Detección de
llegada
de
moléculas
ionizadas
Fig. 1.1 Esquema básico del funcionamiento de un espectrómetro de masas
Debido a que el tiempo que se demoran cada molécula es característico de su masa, esta
magnitud se obtiene al final con alta precisión.
Las muestras que se analizan son generalmente finas películas cristalinas depositadas en
una placa metálica. Una vez que se tiene la muestra., se usa un pulso láser para
vaporizarla. AJ incidir el láser sobre la muestra, se produce una nube gaseosa como se
muestra en la figura 1,2, en la que se encuentran las moléculas de interés^ las mismas
que se ionizan al interactuar con otras partículas en la nube. Estos iones moleculares se
analizan luego en etapas posteriores del espectrómetro.
Muestra
Fig. 1.2 Vaporización de la muestra mediante un pulso láser
Fredd}' R. Pérez J.
CAPITULO I
La masa molecular de una substancia, como por ejemplo un producto farmacéutico, una
proteína o enzima, es una característica física importante, pues está íntimamente
relacionada con la estructura química de la misma.
Las técnicas espectrométricas permiten determinar la masa molecular de las substancias
con alta precisión y sensibilidad. Entre algunas de las aplicaciones de la espectrometría
de masas se encuentran: control de calidad, análisis de contaminantes, análisis de
contenido proteico, determinación precisa de la masa o de las distribuciones de masas,
análisis de polímeros, etc.
Los parámetros a controlar para la generación de iones moleculares en el espectrómetro
de masas MALDI son: la frecuencia con la que el rayo láser incide en la muestra (para
poder realizar mediciones cada cierto tiempo), la intensidad con la que llega el láser a la
muestra (para controlar la cantidad de energía que se entrega) y el punto de colisión o
impacto (por motivos de agotamiento de la muestra).
En el Laboratorio de Espectrometría de masas MALDI del Departamento de Física de la
E.P.N. se cuenta con un espectrómetro de masas MALDI; En este instrumento
actualmente el control de la frecuencia, intensidad, y punto de impacto del pulso láser se
hace en forma manual y poco precisa.
El control sistemático adecuado de estos parámetros mediante un instrumento
electrónico de control con posibilidad de manipulación remota es una adición
importante, establece un control fino de la energía entregada a la muestra que a su vez
Freddy R. Pérez J.
3
CAPITULO I
permite manipular adecuadamente los procesos físico-químicos que dan lugar a la
ionización de las moléculas. Además, da facilidades al usuario para generar secuencias
automatizadas de generación de espectros de masas a través del computador o del
teclado incluido. Estos espectros de masas se pueden obtener, consecuentemente, bajo
condiciones experimentales replicables de forma sistemática.
Por lo expuesto, se puede ver la importancia de lograr una correcta vaporización de la
muestra, además de tener la posibilidad de manejar al sistema tanto desde un teclado
externo como desde el computador. Aspectos que se deben satisfacer mediante el diseño
y construcción del sistema.
Freddy R. Pérez I
CAPITULO n
CAPITULO n
REQUERIMIENTOS PARA EL DISEÑO
De lo expresado en el capítulo anterior., el sistema de control debe permitir manipular:
frecuencia de disparo, intensidad y punto de impacto. En este capítulo se presentan los
requerimientos, limitaciones, principios de funcionamiento y una descripción general de
la solución para cada uno de los controles ya mencionados.
2.1 CONTROL DE FRECUENCIA DE DISPARO
El objetivo de este control es implementar un sistema para escoger una frecuencia de
disparo, cuyo rango se encuentra determinado principalmente por la capacidad del láser
para poder emitir trenes de pulsos sucesivos, este rango es de O Hz a 20Hz, Por otro
lado, a menudo el usuario necesita adquirir espectros mediante disparos discretos del
láser, esto es, no en una secuencia repetitiva fija, si no determinar manualmente el
tiempo que se desee transcurra antes del siguiente disparo; esto se puede realizar tanto
desde un teclado externo como desde un computador.
Freddy R. Pérez J.
5
CAPITULO U
2.1.1 PRINCIPIO BE FUNCIONAMIENTO
El láser VSL-337 de Láser Science, Inc. emite pulsos de 3ns de luz ultravioleta de
337nm de longitud de onda con 2mw de potencia promedio. El pulso láser tiene una
forma rectangular de 3x8mm. Internamente se puede generar una frecuencia de disparo
en el rango de OHz a 20Hz. Además, el láser tiene la capacidad de dispararse mediante
una señal de disparo externa.
El circuito de control de frecuencia usará la facilidad disparo externo., para lo que es
necesario generar la señal de disparo en dos modalidades: i) en el rango anteriormente
mencionado, para secuencias automáticas, ii) pulso por pulso con completo control
manual.
2.1.2 PARTES CONSTITUTIVAS
Las partes constitutivas del control de frecuencia son: a) Ingreso del dato de frecuencia,
b) generación de la frecuencia de disparo y c) circuito de disparo externo del láser; las
cuales se muestran en la figura 2.1
Freddy R. Pérez J.
CAPITULO H
Fíg. 2.1 Esquema de disparo externo del láser: a) Ingreso del dato de frecuencia, b) generación
de la frecuencia de disparo y c) circuito de disparo externo del láser
2.1.2.a Ingreso del dato de frecuencia de disparo.
Para la elección de la frecuencia existen dos posibilidades que son: desde un teclado
externo y desde el computador.
•
Datos introducidos desde un teclado externo
Esta opción permite introducir los datos para controlar el disparo del láser en las dos
modalidades mencionadas, seleccionando en el teclado la tecla de generación de
frecuencia o la tecla de generación de un solo pulso respectivamente.
Para el caso de una secuencia de disparo automática, el teclado numérico está activo
para introducir un valor de frecuencia de disparo comprendido entre OHz y 20Hz, en
pasos de O.lHz.
Para el caso de generación de un solo pulso, existe una tecla que al ser presionada
desactiva el teclado numérico e inmediatamente envía la señal correspondiente.
Freddy R. Pérez J.
7
CAPITULO U
•
Datos introducidos desde el computador.
Se ha provisto las mismas opciones desplegadas en la pantalla del computador. En este
caso, se presenta una pantalla simultáneamente y permite tener una idea del estado
global del sistema., con un enfoque gráfico
2.1.2.b Generación de la frecuencia de disparo.
Para la generación de la frecuencia de disparo se ha optado por la opción de un
microcontrolador, al cual se ingresan los datos de frecuencia a generar, este a su vez se
encarga de producir dicha frecuencia y enviarla a una de sus salidas TTL.
2.1.l.c Circuito de disparo externo del láser.
Este circuito requiere para su operación que el láser esté encendido (a través de la llave
correspondiente), que todos los switchs de seguridad estén desactivados y que se active
el modo de disparo externo
La señal TTL externa de disparo producida por el sistema de control se introduce por
esta entrada de disparo externo (conector BNC) del láser.
Freddy R. Pérez J.
CAPITULO U
2.2 CONTROL DE INTENSIDAD
Debido a que el láser disponible es de intensidad fija y se necesita controlar la
intensidad del rayo láser de nitrógeno para posibilitar cambiar la cantidad de energía
que se entrega a la muestra, se ha colocado un filtro de densidad variable, el que permite
que el rayo láser se transmita en mayor o menor intensidad.
2.2.1 PRDSTCrPIO DE FUNCIONAMIENTO
El principio de funcionamiento del control de intensidad por rotación consiste en
interponer en el camino del rayo láser un filtro de densidad variable. El láser incide
sobre el extremo de una rueda circular, en la que la intensidad transmitida depende de la
posición angular del punto de incidencia del láser sobre la rueda. La intensidad máxima
transmitida es de 98% de la intensidad natural del láser y la intensidad mínima es de
aproximadamente 1%
2.2.2 PARTES CONSTITUTIVAS
Las partes constitutivas del control de intensidad son: a) Ingreso del dato de intensidad,
b) controlador de posición del motor de pasos, c) motor de pasos, d) acoplamiento
mecánico entre el filtro de densidad y el motor, e) filtro de densidad y f) sensor de
posición referencial; las cuales se muestran en la figura 2.2.
Freddy R. Pérez J.
CAPITULO U
Fig. 2.2 Esquema de control de intensidad a) Ingreso del dato de intensidad, b) controlador de
posición del motor de pasos, c) motor de pasos, d) acoplamiento mecánico entre el filtro de densidad y el
motor, e) filtro de densidad y f) sensor de posición referencial.
2.2.2.a Ingreso del dato de intensidad.
Al igual que para la elección de la frecuencia, el dato de intensidad se ingresa desde un
teclado externo o desde el computador. Para este caso el rango de intensidad se
encuentra entre O y 200 pasos, en incrementos de 1 paso. El paso O y el 200
corresponden a la intensidad máxima y el paso 199 corresponde a la intensidad mínima.
2.2.2.b Controlador de posición del motor de pasos.
Para el control de posición del motor de pasos, que se encarga a su vez de variar la
posición del filtro de densidad se usa un mícrocontrolador, en el cual se introducen el
dato de intensidad que comanda la generación de las señales de control para el motor de
Freddy R. Pérez J.
10
CAPITULO U
pasos. Un sistema secundario LED-FOTOTRANSISTOR permite definir la posición de
referencia. El sistema busca esta posición cada vez que se enciende o cuando se hace un
reset.
2.2.2.C Motor de pasos.
Para controlar la posición de incidencia del rayo láser sobre el lente se ha escogido un
motor de pasos unipolar pequeño (200 pasos o 1.8 grados por paso) indicado en la
figura 2.3. Se escoge esta configuración porque: debido a que como el filtro tiene un
radio de 3.7cm, su perímetro es de 27ir o 232.47mm, por lo que cada paso produce un
desplazamiento de 1.16mm en la periferia.
Fig. 2.3 Motor unipolar de 200 pasos.
2.2.2.d Acoplamiento mecánico entre el filtro de densidad variable y el motor.
Para realizar el acoplamiento entre el filtro de densidad variable y el motor de pasos se
ha colocado engranajes a las dos partes como se indica en la figura 2.4, para lograr que
*t
un movimiento del motor produzca un movimiento del filtro. La relación entre los
FreddyR. Pérez J.
CAPITULO U
engranajes del motor y el filtro es de 1. Por lo que cuando el motor se mueve n pasos, el
filtro de densidad también se mueva n pasos. Además los planos respectivos se
encuentran en el Anexo 1
Fig. 2.4 Acoplamiento mecánico entre el filtro de densidad y el motor.
2.2.2.e Filtro de densidad.
El elemento que permite variar la intensidad del rayo láser que incide sobre la muestra,
es el filtro de densidad mostrado en la figura. 2.5, El filtro tiene forma circular y su
superficie tiene un revestimiento cuyas propiedades de transmisión en la longitud de
_£
onda del láser varían con el ángulo, dependiendo con la relación ^ = ^010 *" (de
acuerdo con el fabricante) donde O es la posición angular del punto de incidencia del
láser sobre el filtro. El láser incide hacia la periferia del filtro para evitar que su área se
esparza sobre regiones de muy diferente densidad.
Freddy R. Pérez J,
12
CAPITULO U
Fig. 2.5 Filtro de densidad variable de la casaRaynord Enterprises, Inc).
2.2.2.f Sensor de posición referencial.
El movimiento del motor a la posición referencial siempre se lo realiza cuando el
sistema se enciende, además existe la posibilidad de hacerlo nuevamente cuando esto se
requiera.
Este sensor formado por un LED transmisor y un fototransistor mostrado en la figura
2.6, se activa cuando se interpone un objeto entre estos elementos.
Cabe señalar que debido a que el sensor tiene una región de sensibilidad, el movimiento
del motor a la posición referencial se lo debe realizar siempre siguiendo un mismo
sentido de giro, para de esta manera encontrar dicha posición siempre por el mismo
extremo sensible del sensor.
Fig. 2.6 Sensor de posición referencial.
Freddy R. Pérez J.
13
CAPITULO U
2.3 CONTROL DE PUNTO DE IMPACTO O PUNTO DE COLISIÓN
Si el láser incide siempre en el mismo punto de la muestra, esta se agota, por lo que es
necesario variar el punto de impacto o punto de colisión para de esta manera tener una
región donde la muestra no se ha agotado.
2.3.1 PRINCIPIO DE FUNCIONAMIENTO
El control del punto de impacto o punto de colisión utiliza un sistema telescópico
formado por dos lentes convergentes. Una de estas se encuentra ligeramente descentrada
con respecto aleje del telescopio para provocar que la dirección del haz de salida este
ligeramente descentrada. Se produce un desplazamiento del punto final de impacto
sobre una trayectoria aproximadamente circular.
2.3.2 PARTES CONSTITUTIVAS
Las partes constitutivas del control del punto de impacto o punto de colisión son: a)
Ingreso del punto de colisión, b) controlador de posición del motor de pasos, c) motor
de pasos, d) acoplamiento mecánico entre el telescopio y el motor, e) telescopio y f)
sensor de posición referencial; las cuales están muestran en la figura 2.7
Freddy R. Pérez J.
14
CAPITULO U
Fig. 2.7 Esquema de control de intensidad: a) Ingreso del punto de colisión, b) controlador de
posición del motor de pasos, c) motor de pasos, d) acoplamiento mecánico entre el telescopio y el motor,
e) telescopio y f) sensor de posición referencial.
2.3.2.a Ingreso del dato del punto de colisión.
Al igual que para la elección de la frecuencia e intensidad, el dato del punto de colisión
se ingresa desde un teclado externo o desde el computador. En este caso el rango del
punto de colisión se encuentra entre O y 200 pasos, en incrementos de 1 paso.
2.3.2.b Controlador de posición del motor de pasos.
El control de la posición del motor de pasos lo realiza un microcontrolador, el cual toma
los datos de punto de colisión y se encarga de producir las señales de control para el
motor; además, genera la posición referencial cada vez que el sistema se encienda o se
produzca un reset
Freddy R. Pérez J,
15
CAPITULO tt
2.3.2.cMotor de pasos.
Al igual que para el control de intensidad para controlar la posición del lente
descentrado se ha escogido un motor de pasos unipolar pequeño (200 pasos o 1.8 grados
por paso) mostrado en la figura 2.33 debido a que 200 pasos es suficiente variación en
un circulo pequeño de variación sin hacer ningún cambio en la relación mecánica de los
engranajes.
2.3.2.d Acoplamiento mecánico entre el telescópico y el motor.
Para realizar el acoplamiento entre el sistema de lentes y el motor de pasos también se
ha colocado engranajes a las dos partes, con los mismos fines y la misma relación que el
caso del control de intensidad.
2.3.2.e Telescopio
El esquema mecánico del telescopio se lo puede observar en la figura 2.8. La lente
móvil se encuentra sujeta dentro de la parte del telescopio sobre la que se han labrado
las indentaciones del engranaje. Los planos respectivos se encuentran en el Anexo 1.
Pig. 2.8 Esquema mecánico del telescópico.
Freddy R. Pérez J.
16
2.3.2.f Sensor de posición referencial.
El sensor de encerado es del mismo tipo del sensor mencionado. en el control de
intensidaxL, .permite el encerado del motor cuando el sistema enciende., o cuando se
produzca un reset.
Freddy R. Pérez I
17
CAPITULO rn
CAPITULO III
DISEÑO DEL HAJRDWARE DEL EQUIPO
En este capítulo se va ha diseñar el hardware del equipo, elegir el microcontrolador a
utilizarse y diseñar los circuitos electrónicos, circuitos impresos, caja, entre otros. Para
ello se va tomar en cuenta los requerimientos mencionados en el capítulo anterior.
3.1 REQUERIMIENTOS DEL EQUIPO.
El diseño del equipo se ha desarrollado de acuerdo a los siguientes requerimientos:
a) Permitir ingresar desde un teclado externo los siguientes datos:
•
Frecuencia en el rango de OHz a 20Hz con incrementos de O.LHz.
•
El dato que permita generar un solo pulso.
•
Intensidad en el rango de O a 200 pasos con incrementos de un paso.
•
Punto de impacto o punto de colisión en el rango de O a 200 pasos con
incrementos de un paso.
b) Permitir ingresar desde un computador los datos mencionados en el literal anterior
con los mismos rangos e incrementos.
Freddy R. Pérez I
18
CAPITULO m
c) Tener un indicador en el equipo que nos permita visualizar los datos ingresados.
d) Generar una frecuencia de disparo de acuerdo a los datos ingresados.
e) Producir un solo disparo del láser si se desea generar pulsos discretos.
f)
Controlar la posición de un motor de pasos que se encargará de variar la intensidad,
g) Controlar la posición de otro motor de pasos que se encargará de variar el punto de
impacto o punto de colisión.
h) Permitir determinar la posición referencial de los motores es decir.
i) Dar la posibilidad de producir un reseteo del sistema para fijar nuevamente las
condiciones iniciales.
3.2 SELECCIÓN DEL MICROCONTROLADOR.
El sistema se va a diseñar utilizando microcontroladores debido a que estos presentan
muchas ventajas., entre las cuales podemos mencionar algunas: pequeño tamaño, fácil
programación, bajo consumo de energía, alta capacidad de adaptación, permite
modificaciones del funcionamiento del sistema sin necesidad de cambios en el
hardware, entre otras.
En el mercado podemos encontrar gran cantidad de microcontroladores de diversas
marcas y características, es por ello que es importante escoger un microcontrolador
adecuado.
Freddy R. Pérez J.
19
CAPITULO m
Se ha escogido el microcontrolador PIC16F84 de la empresa MICROCHEP. En la figura
3.1 se presenta la distribución de pines de este.
PDIP, SOIC
.1
RA3 •
Vss RBCWJ7 •
R31 •
RB2 •
RB3-
^ 18
17
2
3
~Q T3
4
O 0
5
6
7
8
0
16
15
Oí O
O ~n U
3 5 13
oo ^^
12
X
11
10
-RAÍ
-RAO
-OSCUCLKIN
-Veo
•JRB7
-RB5
-RES
-RB4
Fig. 3.1 Microcontrolador PIC16F84.
Entre las características principales por las que fue elegido se encuentran las siguientes:
•
Pequeño tamaño 18 pines. (DIP18)
•
CPU RISC de 8 bits.
•
1 Kbyte de memoria de Programa.
•
Memoria de programa tipo FLASH.
•
Set de instrucciones reducido.
•
68 bytes de memoria RAM.
•
13 pines que se pueden configurar como entrada o salida.
•
Alta corriente de manejo para cada pin de salida.
•
Reloj de lOMHz max.
•
Cuatro fuentes de interrupción.
I.
Interrupción externa.
E.
Desbordamiento del Timer.
HI.
Cambio de estado en los pines RB4 a RB7.
Freddy R. Pérez J.
20
CAPITULO m
IV.
Culminación de escritura en la memoria EEPROM.
•
1000 ciclos de lectura/escritura de la memoria FLASH.
•
Manejo individual de todos sus pines de entrada/salida.
•
WDT
•
Facilidad de programación.
»
Herramientas de diseño gratuitas disponibles en el INTERNET.
•
Amplia literatura disponible gratuitamente.
•
Fácil construcción del programador con diagramas disponibles en INTERNET
•
Afinidad con el micrócontrolador.
(Watchdog Timer).
Un resumen de las principales características y set de instrucciones se encuentra en el
Anexo 2.
Freddy R. Pérez J.
21
CAPITULO ni
3.3
ASIGNACIÓN
DE
TAREAS
A
LOS
MICROCONTROLADORES.
Para este propósito se han utilizado dos microcontroladores PIC16F84, a los cuales se
les ha asignado diferentes tareas distribuidas como indican las tablas 3.1 y 3.2
respectivamente:
"MicrocontroladórWCl6F84°#l
ATAREA
.
1 Barrido-de
FINES UTILIZADOS
4sdisplays"
f~
RAO.RA1
'Manejo de datos páralos clispláys*
jo delTecla'do jy • - I Recepción seriaTRS23 2
KBO?KB1,KB2,RB3,KB43RB5:,RB6?RB7
RA4
• Transmisióarserial HS232
¿•Transmisión^ seriaU"
nnicrocdhírolador.
- el" - otro RA3
/„ -
^Total de pides utilizados
13
Tabla 3.1 Tareas realizadas por el primer microcontrolador PIC16F84
PINES UTILIZADOS
ETAREA "
:Recepcipn
serial-
Fredd>r R. Pérez I
22
CAPITULO Itt
^Manejo del-primer motor de pas~bs- ™ .1 Entrada
RAO,RA1?RA2?RA3
de señal del sensor d exposición RA4
.referencial del primer:motór-áe pasos -™ ~
^Manejo del segundo mótor~d|.pasos-s- —-^
'Entrada de" señal "cteL sensor de~~posicióií KB1
.referencia! del segundo motor de pasos j1 Pin debatida de frecuencia"
RB3
- Total Ue pines utflizádüs—. I " 7 - •
12
Tabla 3.2 Tareas realizadas por el segundo microcontrolador PIC16F84
3.4 DISEÑO DEL EQUIPO REMOTO
3.4.1 BARRIDO DE LOS 4 DISPLAYS.
Para el manejo de los displays de cátodo común se ha escogido la técnica de barrido,
que consiste en activar uno de los displays y mandar la información de los segmentos
que deseamos se encuentren encendidos o apagados para ese display en específico.
Luego desactivamos a este display y activamos al siguiente con la información
adecuada de los segmentos encendidos o apagados para este display. Continuamos de
esta manera hasta completar todos los displays para luego regresar nuevamente al
primero y continuar con el barrido.
Todo este procedimiento se lo hace cada cierto tiempo, si el tiempo que transcurre desde
que el display se apaga hasta que se vuelve a encender es demasiado largo, produce que
Freddy R. Pérez J.
23
CAPITULO m
podamos distinguir el apagado y encendido de los displays, efecto que sería molestoso,
debido a esto, el tiempo entre el encendido y apagado de un display está determinado
por la capacidad del hombre para distinguir este efecto, se considera que 20ms o una
frecuencia de 50 ciclos es adecuado para eliminar este efecto.
El microcontrolador nos entrega la información de cual debe ser el display que se debe
activar. Se podría hacer el barrido de los cuatro displays utilizando un pin del
microcontrolador para cada display, lo que implica utilizar 4 salidas. Para disminuir el
número de pines utilizados, además tomando en cuenta que se activa un solo display a
la vez, se ha colocado un demultiplexer, con lo que se ahorra 2 pines de salida del
microcontrolador #1.
El circuito que permite el barrido de los 4 displays se ilustra en la figura 3.2.
FUNCIÓN
S-5-
4
e-f
F
G
A
B
VSS
14
CENTENAS
3
UNIDADES
nr1*
VSS
E
D
PTO
9
c
2N3904
RAO
DESDE EL MICROCONTROLADOR 1
Fig. 3.2 Circuito para el barrido de los displays.
Freddy R. Pérez J.
24
CAPITULO m
3.4.2 MANEJO DE DATOS PARA LOS DISPLAYS.
Para manejar los datos de los displays se ha utilizado todo el PORTB del
microcontrolador #1, debido a que este es capaz de suministrar la corriente necesaria
para
encender a los segmentos del display, además debemos considerar que por
utilizarse la técnica de barrido, los segmentos de los displays se encuentran unidos.
El circuito que permite el manejo de los datos para los 4 displays se ilustra en la figura
RBC
R81
RB2
RK
RB€
RB7
1
2
3
4
5
6_
16
15
14
13
12
DESDE EL MI CROCONT ROZADOR 1
11
^/S/V 10
^^s/V _
H
FUNCIÓN
R-PAGK 330
1
2
4
6
7
F
G
A
8
VSS
14
13
12
VSS
E
D
PÍO
C
9
8
CENTENAS
1
2
4
6
7
F
G
A
B
VSS
14
13
12
VSS
E
D
PTO
C
9
8
DECENAS
1
2
4
6
7
F
G
A
B
VSS
14
13
12
VSS
E
D
PTO
C
9
8
UNIDADES
1
2
4
6
7
F
G
A
B
VSS
14
13
12
VSS
E
D
PTO
C
9
8
Fig. 3.3 Circuito para el manejo de datos de los displays.
Freddy R. Pérez J.
25
CAPITULO m
3.4.3 MANEJO DEL TECLADO
Se ha utilizado una matriz de teclado de 4x4, con el fin de tener un teclado numérico y
además poder escoger las opciones de pulso, frecuencia., intensidad y punto de impacto
o colisión.
Se colocan resistencias en cada columna del teclado y además se colocan resistencias de
pull-up en las entradas del microcontrolador (estas resistencias se colocan internamente
mediante software), con el fin de detectar un nivel bajo en la tecla presionada cuando se
ha colocado un nivel bajo en cada columna.
Para este fin se ha utilizado todo el PORTB del microcontrolador #1? los cuatro bits
menos significativos para las columnas,, y los cuatro más significativos para las filas.
El circuito que permite el barrido del teclado 4x4 se ilustra en la figura 3.4.
330
RBO
^A
2.Íík
"•X/SX*-
33Q
2.;!k
330
2.:>k
330
2.;!k
RB1
RB2
RB3
330
RB4
—
330
RB5
330
RB6
330
RB7
c •, tir) C>) _c
j JN
TTn I
. c.3 N -jU4
3n
i
2
3
4
5
6
FREO.
7
B
9
3
0
•
ENTER
INTENS.
C5
PULSO
THCLADO 4X4
Fig. 3,4 Circuito para el manejo del teclado 4x4.
Freddy R. Pérez J.
26
CAPITULO Ttt
3.4.4 RECEPCIÓN Y TRANSMISIÓN SERIAL
Para la comunicación entre un dispositivo externo y el equipo se ha optado por
comunicación serial asincrónica., Los niveles de voltaje y la lógica que se maneja en la
comunicación serial son diferentes a los que maneja el microcontrolador, por esto se
hace necesario la transformación de niveles de voltaje y lógica, de RS-232 a niveles
TTL. De esta conversión se encarga un MAX232, que realiza tanto la conversión de
niveles de voltaje como de la lógica.
La salida TTL del MAX232 se la introduce por el pin RA4 que se lo puede utilizar
como recepción serial.
En la transmisión serial de igual manera que para la recepción se utiliza el MAX232 por
las razones ya mencionadas. El pin del microcontrolador utilizado para este efecto es el
RA2. A continuación se ilustra en la figura 3.5 el circuito para transmisión Y recepción
serial RS232, los valores de los elementos del circuito se basan en las recomendaciones
del fabricante de MAX232 (Anexo 3).
+ 10UF
Fig. 3.5 Circuito para la transmisión y recepción serial RS-232.
Freddy R. Pérez J.
27
CAPITULO TU
3.4.5 CONSTRUCCIÓN DEL CABLE PARA CONECTAR EL EQUIPO Al
COMPUTADOR.
El computador que se va ha conectar con el equipo es una POWER MACINTOSH., que
en realidad posee una comunicación serial mediante RS-422, se lo puede utilizar
también como RS-232, realizando unas conexiones especiales para este fin.
La diferencia principal entre RS-232 y RS-422 es que el primero tiene una transmisión
desbalanceada mientras que el segundo la tiene balanceada, esto implica que para el
segundo caso se necesite 2 líneas de transmisión y 2 de recepción. En la tabla 3.3 se
presenta la descripción y función de los pines del conector Macintosh RS-422, así como
las interconexiones necesarias para conectar a un RS-232.
Macintosh RS^Í22
'
-
'
'
*
*
.
.
~
'
"
7
T
7
-
~
pi's ppssible to connectXS-232perí|>heral to the.jEÍS-422 port ayaíiabie onlvfacíntosh computers, TJs&KXD- asJRXD, Ü
;as TXD, GroundiRXD-h Leave TXDf uricoimected, GPí as CI¿ ">
- _r= ;„
~"
• 5 ( o «*J 3
2-
1
(Atthe cómputer)
( 8PINMimÍIl>rEE3iáALBafcthe
computen '*
^
^
Pin
líame
j Dir "
(.-1
HSKo - ^-H^¡OutputHandshak/
2~
3"
HSKi/GLK:|-4-- ¡IbpufHandshake orlExternal Clock
DCD- £ *
|—H »-|Tr^nsmitDatal-i '/
GÑD - ''j —- Groünd
¡5 RXD- "- j-*^-
\
\L
TXD+
8
RXCH-^
GPÍ-
fReccive Data (-)
—'^ TransmítÍData (4)
'(-^rLJGeneralPurpose'Input
—— -[Réceive- Data~(+)
- J
1
~ jDescríption
"'
" j
J
í
j
~i
~ j
t
"1
Tabla 3.3 Descripción de y función de los pines del conector Macintosh RS-422
Freddy R. Pérez J.
28
CAPITULO m
Por lo tanto las interconexiones entre el DB9 macho y el minidin9 quedan como se
indica en la figura 3.6.
p2
CONNECIOR MINIDirf 8
Fig. 3.6 Interconexiones del cable serial.
3.4.6
TRANSMISIÓN
DE
BATOS
ENTRE
LOS
DOS
MICROCONTROLADORES.
Se usan dos microcontroladores dedicados a tareas específicas y es necesario la
transmisión de información entre los dos. Para comunicar los dos microcontroladores se
ha escogido también la transmisión y recepción serial asincrónica, con la diferencia que
tanto la lógica como los niveles de voltaje entre los microcontroladores son totalmente
compatibles.
Freddy R. Pérez J.
29
CAPITULO IH
3.4.7 MANEJO DE LOS MOTORES DE PASOS.
Para poder diseñar el sistema que controla la posición del motor de pasos, primero se
tiene que entender su principio de funcionamiento, por lo que a continuación se da una
explicación sobre este tipo de motores.
•
MOTORES PASO A PASO
Los motores paso a paso o de pasos, son un tipo especial de motores de DC, que
permiten construir sistemas simples de control de movimiento o de posición. Sus
aplicaciones son muy diversas, entre algunas de ellas se encuentran: manejo de cabezas
de discos duros, manejo de cabezas de discos flexibles, movimiento de robots,
mecanismos de avance del papel y la posición de cabezas de impresoras, cabezas
lectoras de scaners, etc.
La naturaleza digital de este motor facilita el control de la posición angular del eje. Este
control se reduce a contar el número de pasos o ángulos que avanza, siendo este sistema
más simple que el de los servomecanismos, en los que se debe detectar, en cada
momento, la posición del eje del motor, lo que implica circuitos y software adicionales.
Principalmente existen dos clases de motores de pasos, el motor de pasos bipolar, y el
unipolar, la diferencia entre ellos, es que el primero solamente tiene dos bobinas, por lo
tanto necesita que se polarice positiva y negativamente a estas; el segundo tiene cuatro
bobinas y para este tipo de motores no es necesario polarizar negativamente a las
Freddy R. Pérez J.
30
CAPITULO m
bobinas, por lo tanto no es necesario trabajar con dos fuentes o implementar un
hardware más complicado para lograr la inversión de polaridad.
El tipo de motor de pasos que se va a utilizar en nuestro equipo es un motor de pasosunipolar pequeño, este nos proporciona 200 pasos por revolución, lo que significa 1.8
grados por paso.
Este motor consta de cuatro bobinas, por ello es necesario tener un circuito de potencia
que sea capaz de manejar la corriente necesaria para polarizar las bobinas, el
microcontrolador nos entregará la corriente suficiente para activar a los transistores o el
driver del circuito de potencia. A continuación se muestra en la figura 3.7 el circuito de
potencia para el motor de pasos.
IN1
n ti-l
"-}
RA2L__^
C-H
3
1
4
B
5_
r
6
r
7
^^
IN2
OUT2
IN3
OUT3
1N4
OUT4
IN5
OUT5
IN6
OUT6
IN7
8_
OUT1
OUT7
VSS
VDD 12
16
I
.
V VDD 12
I I I
I UU
15
\( A
_jLJ
11
n
MOIOKÜIbH'fcR
n
10 ^
9
VDD 12
9
2003
Ro-S
S
IN1
4
cn.j
C
E
r^
5
6_
7
8_
^-^
OUT1
IN2
OUT2
IN3
OUT3
IN4
OUT4
IN5
OUT5
IN6
¡N7
VSS
OUT6
OUT7
VDD 12
16
I
^_a
_JW
«
MOTOR STEP >ER
n
J
9
<? VDD 12
I LU
v ^
11 -,
10
.
II
15
VDD 12
9
2003
Fig. 3.7 Circuito de potencia de los motores de pasos.
Como se puede ver en el circuito debido a que la corriente que necesita cada bobina no
es tan alta (aproximadamente 200mA, este dato se lo obtuvo experimentalmente
Freddy R. Pérez J.
CAPITULO m
midiendo la corriente que circula por cada bobina), es suficiente el driver ULN2003,
que puede manejar hasta una corriente de 500mA por bobina.
3.4.8 POSICIÓN DE REFERENCIA DE LOS MOTORES.
Para que el sistema siempre tenga una misma referencia inicial, es necesario
proporcionar un circuito que permita identificar cual es la posición inicial de referencia
de los motores.
Para detectar esta posición de referencia se ha colocado un diodo transmisor y transistor
receptor de luz infrarroja. El funcionamiento de este circuito consiste en que si tenemos
una incidencia normal de luz en el receptor, este nos proporciona un estado lógico bajo,
pero si la incidencia de luz desaparece, es decir objeto puede interponerse entre el
transmisor y el receptor, el estado lógico del circuito se pone en alto. Estos niveles
lógicos de voltaje son ingresados al microcontrolador para su procesamiento.
El circuito de encerado se indica a continuación en la figura 3.8.
r
Fig. 3.8 Circuito de encerado de los motores de pasos.
Freddy R. Pérez J.
32
CAPITULO m
3.4.9 DISPARO DEL RAYO LÁSER USANDO EL PIN DE SALIDA DEL
MICROCONTROLADOR
Por el pin RB3 del microcontrolador #2 sale la señal de disparo para ingresar al circuito
de disparo externo del láser. Este disparador puede funcionar con señales TTL y
consume poca corriente por lo que se ha conectado directamente a la salida del
microcontrolador mediante una resistencia de protección de sobrecorriente.
3.4.10 CIRCUITO COMPLETO DEL EQUIPO.
En la figura 3.9 se encuentra el circuito completo de todo el equipo, en el cual se
combina todo lo mencionado anteriormente.
Fig. 3.9 Circuito completo del equipo.
En el Anexo 4 se indica el diagrama completo del circuito en un formato A4.
Freddy R. Pérez J.
33
CAPITULO xa
3.4.11 PLACAS DE CIRCUITO IMPRESO BEL EQUIPO.
Para el equipo se han diseñado 3 placas de circuito impreso que son las siguientes:
a) Placa del circuito de control
b) Placa de los displays
c) Placa de conectores al exterior.
Cada una de estas placas se indican en la figura 3.10 respectivamente.
TARJETA DE DISPLAYS
TARJETA DE CONECTORES AL EXTERIOR (ABAJO)
TARJETA DE CONECTORES AL EXTERIOR (ARRIBA)
JP2
JP2
JP10
D:
Fig. 3.10 Placas de circuito impreso
Freddy R. Pérez J.
34
o
D:
O
D:
o
CAPITULO m
TARJETA DEL CIRCUITO DE CONTROL
(ARRIBA)
TARJETA DEL CIRCUITO DE CONTROL
(ABAJO)
Fig. 3.10 Placas de circuito impreso (continuación)
Freddy R. Pérez J.
35
CAPITULO m
3.4.12 CAJA DEL EQUIPO.
En la figura 3.11 se indica la caja del equipo.
Fig. 3.11 Caja del equipo
Freddy R. Pérez J.
CAPITULO IV
CAPITULO IV
DISEÑO DEL SOFTWARE DEL EQUIPO
4.1 DISEÑO DEL SOFTWARE DEL EQUIPO REMOTO
El diseño del software del equipo se ha desarrollado de acuerdo a los requerimientos ya
mencionados y especificaciones en los capítulos anteriores. Además se ha tomado en
cuenta que por ser un sistema microprocesado se debe tratar de que el microcontrolador
se encargue de la mayor parte del trabajo, consiguiendo con esto disminuir el hardware
necesario, por lo que se ha colocada el mayor trabajo a los microcontroladores. Por otro
lado cabe señalar que los microcontroladores están trabajando con un cristal de 4MÜZ,
con lo que se tiene un ciclo de máquina de 1 us.
4.1.1 BARRIDO DE LOS 4 DISPLAYS.
En el capítulo anterior ya se explico como se debe hacer el barrido de los displays por lo
que en este capítulo se indicará el diagrama de flujo que permite realizar este trabajo. El
tiempo transcurrido desde que un display se apaga hasta que se vuelve a encender que
Freddy R. Pérez J.
37
CAPITULO IV
ii
es de 20ms es proporcionado en el programa principal del microcontrolador #15 por lo
que en el diagrama de flujo no se lo incluye.
En la figura 4.1 se indica el diagrama de flujo resumido del barrido de displays.
LEER Y ESCRIBIR
,—UNIDADES>i EN EL PUERTO
DATO DE
UNIDADES
CUAL ES ELX.
niqpl
AY A
A DECENAS-^
EL PUERTO
,
| ENDATODE
DISPLAY
DECENAS
CENTENAS-
LEER Y ESCRIBIR
EN EL PUERTO
DATO DE
CENTENAS
LEER Y ESCRIBIR
EN EL PUERTO
. DATO DE
FUNCIÓN
ACTIVAR
DISPLAY DE
UNIDADES
DISPLAY A
ACTUALIZAR
= DECENAS
ACTIVAR
DISPLAY DE
DECENAS
DISPLAY A
ACTUALIZARA
CENTENAS
ACTIVAR
DISPLAY DE
CENTENAS
DISPLAY A
ACTUALIZAR
= FUNCIÓN
ACTIVAR
DISPLAYDE
FUNCIÓN
DISPLAY A
ACTUALIZAR
UNIDADES
PONER
BANDERA PARA
I
REVISAR
I
TECLADO
RETORNO
Fig. 4.1 Diagrama de flujo resumido del barrido de displays.
4.1.2 MANEJO DEL TECLADO
El software para el manejo; del teclado se resume en el siguiente diagrama de flujo. Esta
parte del programa permite identificar si se ha presionado una tecla nueva, coloca en un
registro el valor correspondiente a la tecla presionada y habilita una bandera de tecla
presionada.
¡
Freddy R. Pérez J.
;
38
CAPITULO IV
El tiempo necesario se lo iproporciona en el programa principal ya que se hace una
revisión del teclado cada vez que se va a actualizar el display del dígito de las unidades.
En la figura 4.2 se indica e! diagrama de flujo resumido del manejo de teclado.
CONFIGURACIÓN
DE PUERTOS
PARA MANEJO DE
,
TECLADO
COLUMNAA
BARRER=1
IDENTIFICACIÓN I J DAR RETARDO
IDENTIFICACIÓN
DE TECLA
| |
DE TECLA
DE FILA Y
r"*"
COLUMNA
!
PRESIONANDA I
I PRESIONADA = SI
INCREMENTAR
COLUMNA
CONFIGURACIÓN
DE PUERTOS
PARA MANEJO DE
DISPLAY
V
/
Fig. 4.2 Diagrama de flujo resumido del manejo de teclado.
Freddy R. Pérez J.
CAPITULO IV
4.1.3 RECEPCIÓN SERIAL
Como el microcontrolador utilizado no tiene incluida comunicación serial se ha
desarrollado tanto la rutina de recepción como transmisión serial, tomando en cuenta los
i
siguientes aspectos: 1200: baudios de velocidad, 1 bit de inicio, 8 bits de datos, sin bit
i
paridad y 1 bit de parada.
En la figura 4.3 se indica el diagrama de flujo resumido de la recepción serial.
Fig. 4.3 Diagrama de flujo resumido de la recepción serial.
FreddyR. Pérez J.
!
40
CAPITULO IV
4.1.4 TRANSMISIÓN SERIAL.
Para el caso de transmisión serial también se desarrolló una rutina tomando en cuenta lo
¡
mencionado en el punto! anterior. Esta rutina permite transmitir datos tanto al
computador como al micrpcontrolador 2 simplemente con la presencia de una bandera
que nos indica si se debe transmitir datos al computador.
En la figura 4.4 se indica el diagrama de flujo resumido de la transmisión serial.
LLAMAR RUTINA
PARA PONER LOS
BITS DE
TRANSMISIÓN EN
ALTO
!
LLAMAR RUTINA
PARA PONER LOS
BÍTSDE
TRANSMISIÓN EN
BAJO
!
O
LLAMAR RUTINA
PARA PONER LOS
BÍTSDE
TRANSMISIÓN EN
ALTO
LLAMAR RUTINA
I PARA PONER LOS
(UMK»muuc ..^-.
BÍTSDE
\TANSMISICW /
| TRANSMISIÓN EN
BAJO
Fig. 4.4 Diagrama de flujo resumido de la transmisión serial.
Freddy R. Pérez J.
i
41
CAPITULO IV
Continuación
PONER EL BIT DE
)3>¡ TRANSM3ONAL
COMPUATDOREN
BAJO
PONER a BIT DE
-»J TRANSM9ONAL
SEGUNDO MICRO
EN BAJO
_I
Fig. 4.4 Diagrama de flujo resumido de la transmisión serial (continuación).
4.1.5 MANEJO DE LOS MOTORES DE PASOS.
En el capítulo anterior ya se explico un poco del hardware necesario para los motores de
pasos, ahora se va a indicar la parte concerniente al software para manejar estos
motores.
Existen algunas maneras de manejar el movimiento de los motores de pasos, entre las
más utilizadas se encuentra, el manejo por ola y el manejo de dos fases. La principal
diferencia entre estas dos formas de manejar a los motores de pasos es que en el primer
caso solamente se polariza una bobina al mismo tiempo y en el segundo caso dos, se ha
escogido el manejo de dos fases debido a que con este tipo de manejo se tiene pasos
completos y además esta manera de manejar los motores de pasos proporciona mayor
torque, debido a que se encuentran polarizadas dos bobinas al mismo tiempo y no
implica ninguna complicación ni en el hardware ni en el software.
Freddy R. Pérez J.
42
CAPITULO IV
Tanto el movimiento como el sentido de giro del motor de pasos se maneja controlando
la secuencia en que se polarizan las bobinas.
En la figura 4.5 se indica la distribución de las bobinas del motor de pasos.
2a o
Fig. 4.5 Bobinas del motor de pasos.
En la figura 4.6 se indica la manera de polarizar a las bobinas para que produzcan un
movimiento, tanto en el un sentido como en el sentido contrario de giro.
Pasos JBobina la ^ Bobina 2a Bobina Ib Bobina 2b
~"\N
J
ON
„
QEF
„ OÍF
1
.2
_v-~^" -
2 ,
v
^
"^ ->^"v
"
'^ ~
_ -™-——™H«
,OJBF- *,
ON
.
3
~
4
1
w «~ —.
^ .- --_ ~'
ON ~"~
£ f~ ~
*••
-, ~ 1-;
:,, ON
«
^ÓEF -"
\
ON -^~
¿
-
.0A -
^
_x~_*-_~~^
OFF
^
¿
*
n
OFF /'
ON i _ ON
"
' * ^-"" "
OFF ' ^ OF¿
ON
^
-*•
^- -
ON,
;
ÓJFF - r
-
*;
2
g
(/3
ÓJFF
Tabla 4.1 Secuencia en las bobinas para movimiento del motor de pasos.
Para lograr la secuencia deseada en la polarización de las bobinas se hace uso de un
registro base en el cual se coloca el número binario 11001100., a este registro se lo
desplaza en uno o en otro sentido. Con lo que se consigue el movimiento del motor en
los dos sentidos de giro.
FreddyR. Pérez I
43
-;
í
.
~ .
=
CAPITULO W
En la figura 4.6 se indica el diagrama de ñujo resumido del manejo de los motores.
SE ENCUENTRA
HABILITADO EL
MOVIMIENTO DE
MOTORES
PONER DATOS DE
LAS SEÑALES DE
LOS MOTORES
V
,
i
Y
LLAMAR RUTINA
DEL MOTOR 1
LLAMAR RUTINA
DEL MOTOR 2
PONER DATOS DE
LAS SEÑALES DE LOS
MOTORES MAS UN
RETARDO DE 25 ms
Fig. 4.6 Diagrama de flujo resumido del manejo de los motores de pasos.
Freddy R. Pérez J.
44
CAPITULO IV
Continuación
Fig. 4.6 Diagrama de flujo resumido del manejo de los motores de pasos.(continuación)
La rutina para el motor #2 es similar a la del motor #1 por esto no se presenta el
diagrama de flujo para el motor #2
Freddy R. Pérez I
45
CAPITULO IV
4.1.6 POSICIÓN REFERENCIAS DE LOS MOTORES.
Para poder realizar el encerado de la posición de los motores contamos con una señal de
entrada que nos indica si el motor se encuentra o no en una posición de cero.
En la figura 4.7 se indica el diagrama de flujo resumido del encerado de los motores.
HABILITAR
BANDERAS DE
ENCERADO Y
I SENTIDO DE GIRO
SE ENCUENTRA
HABILITADO EL
ENCERADO DEL
MOTOR #1
-NO
N
SE ENCUENTRA
HABILrTADO EL
ENCERADO DEL
MOTOR # 2
SE ENCUENTRA EN
BAJO EL PIN DE
ENTRADA DEL
SENSOR »1
MOVER UN PASO EL
MOTOR #1
'SI
SE ENCUENTRA EN\R UN PASO
ELBANDERAS
LIMPIAR
BAJO EL PIN DE NO—»
DE ENCERADO
MOTOR #2 Y
POSICIÓN MOTOR #2
MOTOR «2
SE ENCUENTRA
HABILrTADO EL
ENCERADO DEL
MOTOR * 1
LIMPIAR BANDERAS
DE ENCERADO
MOTORtfl Y
POSICIÓN MOTOR # 1
SE ENCUENTRA
HABILITADO EL
ENCERADO DEL
MOTOR #2
BORRAR
BANDERAS DE
ENCERADO
Fig. 4.7 Diagrama de flujo resumido del encerado de los motores.
Freddy R. Pérez J.
46
CAPITULO W
4.1.7 GENERACIÓN DE LA FRECUENCIA DE DISPARO DEL LÁSER.
Para generar la frecuencia de disparo del láser se ha utilizado el Timer del
microcontxolador 2? este por si solo no puede proporcionar tiempos tan grandes como
los de lOs para generar una frecuencia de O.lHz, por esto se incrementa un registro
adicional al del Timer para poder conseguir el máximo tiempo deseado.
En la figura 4.8 se indica el diagrama de flujo resumido de la generación de la
frecuencia de disparo.
BORRAR BANDERA
DE
DESBORDAMIENTO
DEL TIMER Y
HABILITAR
V INTERRUPCIONES )
DECREMENTAR
CONTADOR
PONE EN ALTO EL
PIN DE SALIDA DE
FRECUENCIA DE
DISPARO
RETARDO DE5ms
PONE EN BAJO EL
PIN DE SALIDA DE
FRECUENCIA DE
DISPARO
DE LAS TABLAS
RESPECTIVAS
REPONGO LOS
DATOS DEL T1MER
Y EL CONTADOR
BORRAR BANDERA
DEL TIMER Y
HABILITAR
INTERRUPCIÓN DE
TIMER
BORRAR BANDERA
DEL TIMER Y
HABILITAR
INTERRUPCIÓN DE
TIMER
Fig. 4.8 Diagrama de flujo resumido de la generación de la frecuencia de disparo.
En el Anexo 5 se presenta las tablas con los valores del Timer y del registro adicional
para generar la frecuencia de disparo en el rango de O a 20Hz. en pasos de O.lHz.
Freddy R. Pérez J.
47
CAPITULO IV
4.1.8 PROGRAMA RESIDENTE EN EL MICROCONTROLADOR #1
En la figura 4.9 se encuentran los diagramas de flujo reducidos presentes en el
microcontrolador #1 excepto los detallados anteriormente.
t
NICIO
)
INICIA UZAR
PUERTOS.TIMERS,
INTERRUPCIONES
S U B R U T I N A DE
ACTUALIZACIÓN
DE DISPLAY
Fig. 4.9 Diagramas de flujo del microcontrolador #1
Freddy R. Pérez I
48
CAPITULO IV
Continuación
C
f
:OLOCAR EN EL
ÍN D I S P L A Y L A P
r EN LOS DEMÁS
CERO
COLOCAR EN EL
lUN OISPLAY L A P Y I
"l EN LOS DEMÁS
f
LOS DATOS DE
V
FRECUECIA
i
COLOCAR EN EL
I UN D I S P L A Y L A C
I Y EN LOS DEMÁS
LOS DATOS DE
V
COLISIÓN
,
L
COLOCAR EN EL
JN DISPLAY LA C
*"|
"| Y EN LOS
LOS DEMÁS
LOSDA
ATTi O S D E
\ I N J E NNSIDAD
S
•o
HABILITAR
BAÑERA DE
ITRANSMISIONAL
COMPUTADOR
HABILITAR
BAÑERA DE
TRANSMISIÓN AL
I COMPUTADOR
¡
HABILITAR
BAÑERA DE
TRANSMISIÓN AL
COMPUTADOR
HABILITAR
8ANERADE
TRANSMISIÓN AL
I COMPUTADOR
-*!
TECLA NUEVA
:NCERAR LOS DISPLAYS
MAS SIGNIFICATIVOS Y
COLOCAR ELNUEVO
NUMERO EN ELMENOS
SIGNIFICATIVO
, I
'"
RECORRER LOS DATOS
| DE LOS DISPLAYS HACIA
LA IZQUIERDA Y
COLOCAR ELNUEVO
| NUMERO EN EL DISPLAY
MENOS SIGNIFICATIVO
HABILITA
<D
Fig, 4.9 Diagramas de flujo del microcontrolador #1 (Continuación)
Freddy R. Pérez J.
49
CAPITULO IV
Continuación
RUTINA DE
TRANSMISIÓN DE
DATOS
TRANSMITIR
SERIALMENTE
^
EL 24D
TRANSFORMAR
LOS TRES DÍGITOS
DE FRECUENCIA
EN UN S O L O
NÚMERO
.
TRANSMITIR
SERIALMENTE EL
DATO DE
^.
FRECUENCIA
TRANSFORMAR
LOS TRES DÍGITOS
DE INTENSIDAD EN
UN SOLO N Ú M E R O
V
.
,
TRANSMITIR
SERIALMENTE
D A T O DE
INTENSIDAD
TRANSFORMAR
LOS TRES DÍGITOS
DE COLISIÓN EN
UN S O L O NÚM ERO
TRANSMITIR
SERIALMENTE
D A T O DE
COLISIÓN
SE E N C U E T R A
ACTIVADA LA
B A N D E R A DE
ENCERADO
LA ÚNICA OPCIÓN ES QUE ESTE ACTIVA LA FUNCIÓN INTENSIDAD
TRANSMITIR
¡5ERIALMENTE
EL 202
FIN DE
SU B RUTINA
Fig. 4.9 Diagramas de ñujo del microcontrolador #1 (Continuación)
FreddyR. Pérez J.
50
CAPITULO IV
Continuación
R E C IB m E L
B O R R A H B A N D E R A DEL
^ T I B E R , C O L O C A R R E O 11 T R O
I
I
R E C I B I R D A T O Oí
f R E C U E N C J A
A L M A C E N A R
I N T E R R U P C I Ó N ! »
X"
»-{
¡
F 1« A L D E
"X
)
I
I
10 I
D A T O * E N L O S
IIT R O ! DE
R Í O
r R Ee u EMc u
IM T e u e ID t
D A T O B EN
LO
í
1H T E M 8 ID A O
I E P A RA R 1
ID A D E S . D E C E N A S . Y
A L M A C E N A R
O A . T O I
L O B
EN
LOS
R E O IB T R O *
C O
Lia
DE
10 N
{
A C T U A L I Z A R L O !
O AT
O S
|
D S
f
UJ
F R E C U E N C I A E N E L
O "LAV
J
L
-C
,__!
P~^|
L D A T O
D E T t P O^^-í
i O R H E B P O N D E
J1
A f U L . O ^ ^
_J
A C T U A L I Z A R LOS
D A T O S DE COL1B10N
A C T U A L IZA«
L
. L D I . t A *
-4 D A V B V B V r V l í S ' i M
L
»».»'»"*V
E í
M A B ILIT A R
B A N D E R A
Oí
E N C E R A D O
) E 8 H A 8 11.1T A R
B A N D E R A DE
E N C E R A D O
LJ
f^
DEBMABItlIAN
B A W D t R A O E
LJ
D £ 8 M A 8 ItlT A R
L01
' ^ D A T O S D E I ' U L S O E N
D
|_
\
E N E L D I S L A r
J
I
fn
J
I
E N C E R A D O
M HA81L.TAR
J
L
"'
B A N D E R A
«" " " * " °
1J
II II A B
6A I
D lí LA Y I
C
s/B'SJV.NA
Fig. 4.9 Diagramas de flujo del microcontrolador #1 (Continuación)
FreddyU. Pérez J.
51
E N C S H A B O
I
CAPITULO IV
4.1.9 PROGRAMA RESIDENTE EN EL MICROCONTROLADOR #2
En la figura 4.10 se encuentran los diagramas de flujo reducidos presentes en el
microcontrolador 2 excepto los detallados anteriormente.
INICIAL IZAR
PUERTOS, TIMERS,
INTERRUPCIONES
INICIALIZACION DE
REGISTROS
Fig. 4.10 Diagramas de flujo del microcontrolador #2
Freddy R. Pérez J.
52
CAPITULO IV
Continuación
RECIBIR DATO DE
FRECUENCIA,
INTENSIDAD, PTO
COLISIÓN YTIPO
Fig. 4.10 Diagramas de flujo del microcontrolador #2 (Continuación)
FreddyR. Pérez J.
53
CAPITULO IV
Continuación
CASO
CA33EU90
FRBXBdACE
DSRTO
pchEEN BAJOS,
HNces^jcAce
RNGASO
FRKXJBsOACE
LAINTERRLPaCN
CB_71IVBRY
RNCA30
CE3-PBLJTA
IKTH^RLPQCNCE
71IVER
RNC^fíO
FLL30
Fig. 4.10 Diagramas de flujo del microcontrolador #2 (Continuación)
Freddy R. Pérez J.
54
CAPITULO IV
Continuación
I
\D
CASO
J
/
I
f
>
BORRAR BANDERA
DELT1MERY
DESHABILITA
INTERUPPC10N DEL
1
TIMER
( ES /
/ ACTUAL DEL \R
SI—^
FIN CASO
L FRECUENCIA
J
NíECIIBÍDO/
NO
7\
/\L RESULTADO \ RESTAR
EL VALOR \
/
RECIBIDO ES
\R ALRESTAR
/ EL
SW VALOR RECIBIDO -1
^S. ES MAYOR QUE / "H
MENOS EL
MENOS EL
XVALOR ACTUAL/
\0
/
RECIBIDO
1 VALOR ACTUAL
XDEL MOTORA
X
/
V
)
NO
T
RESTAR EL
VALOR ACTUAL
MENOS EL
1
RECIBIDO
v
T
(
SUMAR 1 AL
RESULTADO
v
y
/EL RESULTADO\E /RESTAR 200
3W
MENOS EL
RECIBIDO
\0
/
\
\NO
v
T
\
GIRO HORARIO
^
\
T
f
T
SUMAR 1 AL
RESULTADO
)
T
/
"N (
y
"\R
v
ANTIHORARIO
saSlDODE
y
T
f
•»
\A DE
\R 1 AL
ÜSSñ -
SUMAR 1 AL
MCn
DS
^
MOTOR 1
)
^ST
AO"EL
MOTOR 1
T
T
RESULTADO
V
v
/
T
/
\R
SENTIDO DE
GIRO
I ANTIHORARIO
i
/
\R
V
I
/
ACTIVAR
BANDERA DE
MOVIMIENTO DEL
MOTOR 1
\ INTENSIDAD J
J
\R
BANDERA DE
MOVIMIENTO DEL
MOTOR 1
y
T
(
FIN CASO
V^ INTENSIDAD
INTENSIDAD J
SENTIDO DE
GIRO HORARIO
T
v
y
T
)
J
(
FIN CASO
)
\ INTENSIDAD J
Fig. 4.10 Diagramas de flujo del microcontrolador #2 (Continuación)
Freddy R. Pérez J.
55
BANDERA DE
CAPITULO W
4.2 DISEÑO DEL PROGRAMA EN EL COMPUTADOR.
El programa en el computador se ha desarrollado en ambiente gráfico LabView, este
programa permite comunicarse con el equipo para dar o recibir los datos de frecuencia,
intensidad, colisión, pulso, encerado. Además también permite incluir indicadores o
controles gráficos de cada uno de los parámetros que dan una idea global del estado del
sistema.
En la figura 4.11 se indica la pantalla principal del programa en LabView.
Fig. 4.11 Pantalla principal del programa en LabView.
Freddy R. Pérez J.
56
En la figura 4.12 se muestra un resumen de interconexiones de subprogramas o SubVIs,
este resumen es elaborado automáticamente por el programa LabView.
Fig. 4,12 Resumen de interconexión de SubVIs, elaborado por el programa LabView.
Freddy R Pérez J.
57
CAPITULO V
CAPITULO V
MONTAJE DEL EQUIPO, PRUEBAS Y RESULTADOS
En este capítulo se describe el montaje del equipo, las pruebas realizadas y los
resultados de dichas pruebas con el objeto de verificar que los objetivos del presente
trabajo se cumplen.
5.1 MONTAJE DEL EQUIPO.
Una vez terminado el diseño del equipo se procedió al montaje del mismo., tanto los
dispositivos ópticos, como motores y sensores de cero, etc. Para evitar un movimiento
involuntario del equipo, se procedió a instalarlo en una mesa de metal., la cual es ñjada a
la mesa que contiene todo el espectrómetro de masas.
El montaje del equipo se indica en la figura 5.1
Freddy R. Pérez J.
CAPITULO V
Fig. 5.1 Montaje del equipo.
Con el equipo asegurado se procedió a la alineación y enfoque del láser. Este consiste
en hacer que coincida el eje del láser con los lentes, y a su vez con el punto donde se
produce el impacto entre el láser y muestra. Para esto abrió una tapa del espectrómetro
que permite observar el lugar mismo donde choca el láser con la muestra. Con este
punto de referencia se movió la posición del láser hasta conseguir una alineación
adecuada.
La alineación del equipo se indica en la figura 5.2
Fig. 5.2 Alineación y enfoque del láser.
Freddy R. Pérez J.
59
CAPITULO V
Antes de encender o utilizar el equipo, se debe verificar que el láser se encuentre
encendido y que todos los seguros se encuentren deshabilitados. Además, que todas las
conexiones se hayan realizado correctamente. El equipo posee una placa de conexiones
en la que se colocan: dos motores de pasos, dos sensores de posición referencial, un
conector de salida de disparo del láser, un pulsador opcional para disparos manuales,
alimentación del equipo. Además, posee un conector para comunicación serial con el
computador.
A continuación en la figura 5.3 se presenta la placa con las conexiones necesarias.
Fig. 5.3 Conexiones del equipo.
Freddy R. Pérez J.
60
CAPITULO V
5.2 PRUEBAS Y RESULTADOS.
Como ya se mencionó anteriormente para poder hacer un análisis de los resultados
obtenidos con el presente trabajo se realizaron algunas pruebas para verificar que
estamos disparando el láser a una frecuencia deseada, que se está controlando la
intensidad del láser, y además que estamos teniendo un cambio en el punto de impacto o
punto de colisión del láser en la muestra.
5.2.1 CONTROL DE FRECUENCIA DE DISPARO.
Para hacer una prueba de la frecuencia de disparo del láser se procedió a instalar un
fotodetector de la señal del láser y a medir la frecuencia de esta señal. Esta medición se
la realizo con un osciloscopio Tektronix. Obteniéndose resultados de la frecuencia de la
señal con errores menores o iguales que el 0.5%.
A continuación en la tabla 5.1 se muestra una tabla con los datos de frecuencia de
disparo esperada y valores de frecuencia de disparo obtenidos experimentalmente, desde
O hasta 20Hz, en pasos de IHz.
-Valo°r deseado^de frecuencia Me Valor
J™ _ - " . " " " '
^ ~~ ~
~" á
- .; .
:i-v_^-~-"~iy/-::r:
r1^-'"
¿-
-"".'- ? -_- :-„---•
"*
"*
0
„
1
__^
-
'
™
-
"
.
-
.
.
•
-
n
FreddyR. Pérez!.
"„
°™"
"*"
"-"=-
—
_„
_^™
^-UU.B«
Ü
_T
medido
de
frecuencia
de
_ _
0
^_
,0%
1.002
0.2% -
1.998
_OJL% "
2.984
0.50/o •_ ===:
-
"
4.02
61
0.5%
-
5.02
•iíi'.-í'-v^ -U
"
10
-"JÜ1L
™
™¡LZ,
- —
,_ÜL..
ÁÍSnm
m
™.™.
5.988
0*2% ]
6.993
ar/cr
8.001
ju%- -
9009
-p.i% :
10,01
,o,i% - \
10.99
„
"1 O
JL, n? iiT
™
—
""""....
_!ÜÜL,_. T
"°
^, "
tí
'^'s^
r _nü
1"'1 ^
™
11.98
-0.154 ;
12.99
007% "
13.99
^0,07% i
^^fmBBroB^B^^g^^Sii^VTOiíJi^^^^a 1503
1 ¿!
'"IQ
"1 Q
j.
-™
__
-1-
"
""""
^~°"
r
„
J~™
*
™
„
_^ * *- "^
"
15.97
0.1% :
16,95
0.29% j
„
17.99
^0.05% -í
-~"
19.05
-0.2%
20.01
10,05% *
/^ /\r
1
Tabla 5,1 Datos de frecuencia de disparo esperada, frecuencia de disparo obtenida
experimentalmente y datos del error.
Freddy R. Pérez J.
62
CAPITULO V
5.2.2 CONTROL DE INTENSIDAD DEL LÁSER.
Para la comprobación que el sistema permite variar la intensidad del rayo láser incidente
en la muestra se puede observar el reflejo en un papel blanco después de haber sido
interpuesto en su camino el filtro de densidad. Asi a continuación tenemos las figuras
5.4, 5.5. que indican el reflejo del láser para dos posiciones del filtro de densidad, con lo
que podemos concluir que efectivamente se logra una variación de la intensidad del
rayo láser.
Fig. 5.4 Reflejo del láser para la primera posición del filtro de densidad.
Fig. 5.5 Reflejo del láser para la segunda posición del filtro de densidad.
Freddy R. Pérez J.
63
CAPITULO V
5.2.3 CONTROL DEL PUNTO DE IMPACTO O PUNTO DE COLISIÓN.
Para poder observar la variación del punto de impacto mismo del láser sobre una
muestra, se incidió el láser sobre nuestra muestra. Esta muestra consiste en un papel con
material fotosensible, este material cambia de color en el punto que incide el láser.
El diámetro aproximado del círculo que se forma al variar el punto de impacto es de
aproximadamente 2.5mm. Este diámetro es adecuado tomando en cuenta que el tamaño
de las muestras también es bastante pequeño, aproximadamente 4mm de diámetro.
En la figura 5.6 se indica la muestra con el material fotosensible. Para una mejor
vísualización del círculo que se forma al variar la posición del punto de impacto del
láser se procedió a bombardear con el láser en cuatro puntos diferentes para marcar las
posiciones de los puntos límites, los demás puntos se encuentran en posiciones
intermedias dando la forma aproximadamente de un círculo a la variación del punto
mismo de impacto del rayo láser.
Fig. 5.6 Muestra con material fotosensible
Freddy R. Pérez J.
64
CAPITULO VI
CAPITULO VI
6.1 CONCLUSIONES
•
Con el presente trabajo se da solución a un problema puntual e importante como es
el control de frecuencia, intensidad y punto de impacto del rayo láser de nitrógeno
utilizado en un Espectrómetro de Masas MALDI del Departamento de Física de la
Escuela Politécnica Nacional. Esta solución facilita significativamente el trabajo de
los usuarios del espectrómetro.
•
Los microcontroladores PIC16F84 de la empresa MICROCHEP han facilitado el
diseño y construcción de este equipo, gracias a la gran cantidad de información,
herramientas gratuitas y de fácil adquisición en INTERNET tales como:
ensambladores y simuladores. Por otro lado estos microcontroladores mostraron ser
bastante robustos, debido a las excelentes características mostradas en cuanto a
desempeño, calidad, estabilidad, resistencia a la reprogramación y manipulación.
Freddy R Pérez J.
65
CAPITULO VI
El diseño cuidadoso del software interno de los microcontroladores posibilita
minimizar la cantidad de hardware, debido a que la mayor parte del trabajo se lo
realiza mediante software como por ejemplo: barrido de displays, manejo de
teclado, manejo de motores de pasos. Con esto nos evitamos utilizar drivers para
estos elementos, con lo que se logra que el costo y tamaño del equipo disminuya
significativamente.
Los resultados experimentales muestran que el equipo desarrollado permite
solucionar los problemas planteados, conforme a los objetivos propuestos. Así, el
rango de frecuencias de disparo, se encuentra entre O y 20 Hz, en incrementos de
O.lHz. incluyendo una facilidad de disparos discretos. La intensidad del láser se
puede controlar en pasos que dan una variación significativa de la intensidad. Por
último con este sistema, se permite cambiar el punto de impacto del láser sobre la
muestra de forma que describa un pequeño círculo sobre esta.
Mediante el programa LabView se conectó al equipo con el computador,
permitiendo hacer un control remoto de su funcionamiento y operación, con iguales
facilidades que desde el equipo mismo. Pero además, se tiene una referencia gráfica
global del estado del sistema y puede ser manejado para programar secuencias de
eventos especiales en el futuro mediante software adicional.
FreddyR. Pérez!
66
6.2 RECOMENDACIONES
•
El movimiento involuntario del sistema telescópico principalmente, provoca una
variación del punto de impacto, por lo que se sugiere que el sistema se sujete bien
para evitar dichos movimientos.
•
Para evitar un recalentamiento de los motores de pasos, el sistema de control hace
que estos se pierdan torque una vez que se han terminado de mover al punto
deseado, como consecuencia de esto los motores se pueden mover libremente. Por
lo que se recomienda impedir el acceso al sistema para evitar movimientos no
deseados de los motores. Además., se recomienda hacer un reset en el sistema cada
cierto tiempo para asegurar que los puntos iniciales de referencia sean correctos.
•
La alineación y enfoque del láser es una parte importante para el correcto
funcionamiento del sistema en general, por esto se recomienda tener cuidado de
alinearlo correctamente cuando se tenga que hacer limpieza o mantenimiento del
espectrómetro.
•
El software implementado en LabView se podría usar de base para realizar
modificaciones de este con el objeto de programar una serie de eventos automáticos
con el láser, tales como por ejemplo disparo de secuencias automatizadas con
diferente intensidad, y diferente punto de impacto.
Fredciy R. Pérez J.
67
BIBLIOGRAFÍA
ÁNGULO José. ÁNGULO Ignacio(1997). ccMicrocontroladores PIC Diseño practico
de aplicaciones". Editorial McGraw-Hill, Madrid, Primera edición.
MICROCH3P TECHNOLOGY INCORPORATED (1997). "EMBEDDED CONTROL
HANDBOOK". Microchip, USA, Volumen 1, Primera edición.
TANENBAUM S. Andrew. "REDES DE OREDENADORES". Editorial PRENTICEHALL, Segunda Edición.
MICROCHEP TECHNOLOGY JNCORPORATED, USA. "PIC16F8X 18-pin
Flash/EEPROM 8-Bit Microcontrollers" Marzo/98
DIRECCIONES DE INTERÉS EN INTERNET
Microchip: http://www.microchip.com
Picpoint: http://www.picpoint.com
Intel: http://www.intel.com
ICMASTER: http://www.icmaster.com
Melabs: http://www.melabs.com
National Instruments, http://www.ni.com
FIE. http: //fie!99.epn.edu.ec
Conectores:
http://192.188.57.199/wwwroot/Telecomunicaciones/pbid081/hwb/coJVracRs422.html
Cekit: http://www.cekit.com.co
National: http://www.national.com/
MAXIM: http://www.maximic.com/
Fredcly R. Pérez J.
Planos del sistema mecánico
FreddyH. Pérez J.
VER LAMINA 1/4
VER. LAMINA 2/4
VER LAMINA 3/4
VER LAMINA 4/4
SISTEMA INTEGRAL : MAPA DEL TELESCOPIO Y ENGRANAJES
PIEZA
IA1—ÍA JH
t-w-AUti. rtjtscorso vnoitwA uc tM^u/wwts
13.3
PIEZA 2
135
A DO. mrscoro YSJSIDM
o
i
m
co
U) h-
PIEZA 3
p
T
~&
-tti
"
i
i
i
'///,
LO
"
uí
U)"
—
CU
in
3
1
co
•
uif
55
15
25
m
G r 10-
IG-
19.5
16-
19.5
PIEZA 4, 5 Y G
32.5
2S.5
W/////Á
-1 G r-IO-l
37
IG
37
90-
W-MMM
MJWA ucuicirscono rsartMA ce CNCKAMAES
•70
- 10-|
t*"'""w
-96
ANEXO 2
Resumen de características y set de
instrucciones del MC16F84
-•,;>.- •-- -
Freddy R. Pérez I
;
-
«/
PIC16F8X
MlCROCHIP
18-pin Flash/EEPROM 8-Bit MicrocontroUers
Pin Diagrams
Devices Included in this Data Sheet:
PIC16F83
P1C16F84
PIC16CR83
PIC16CR84
Extended voltage range devices available
(PIC16LF8X, PIC16LCR8X)
RA2
RA4/TOCKI
wcm
Data
Data
EEPROM
RAM
(bytes) (bytes)
PIC16F83
51 2 Flash
PIC16F84
1 K Flash
PIC16CR83 51 2 ROM
PIC16CR84 1 KROM
RB1 ^
RB2 ^
RB3
Max.
Freq
(MHz)
64
10
68
64
10
36
64
10
68
64
10
14-bit wide ¡nstructions
8-b'rt wide data path
15 special functíon hardware registers
Eight-level deep hardware síack
Direcí, indirect and relative addressing rnodes
Four ¡níerrupt sources:
- 'External RBO/INT pin
- TMRO timer overflow
- PORTB<7;4> ¡níerrupt an change
- Data EEPROM write complete
• 1000 erase/write cycles Flash program memory
• 10,000,000 erase/wriíe cycles EEPROM data memory
• EEPROM Data Reteníion > 40 years
Peripheral Features:
_,
17 D -*— RAO
16 D
OSC1/CLKIN
4
O O
15
OSC2/CLKOUT
5
_r 6
_r 7
O) O)
P
14 3
%
3J «
13
X
12
t
VES
36
•
•
•
•
•
•
IB D — — RA1
-D -0
^_ r
BBO/INT
• Only 35 single word instrucíions to learn
• All insíructíons single cycle except for program
branches which are two-cycle
• Operat'ng speed: DC -10 MHz clock input
DC - 400 ns ¡nsiructton cycle
Program
Memory
(words)
r •1
^.r 2
,— , r3
fc
RA3 ,,
High Performance RISC CPU Features:
Device
^
PDIP, SOIC
^^
f
^.r 8
^.r g
0
CD "
11
10
VDD
D—
RB7
a —— RB6
!: -—
-RB5
3 -— RB4
Special Microcontroller Features:
• In-Circuit Serial Programming (ICSP™) - vía two
pins {ROM devices support only Data EEPROM
programming)
• Power-on Reset (POR)
• Power-up Timer (PWRT)
• Oscilíator Start-up Timer (OST)
• Watchdog Timer (WDT) with te own on-chip RC
oscillaíor for reliable operaíion
• Code-protection
• Power saving SLEEP mode
• Selectable oscillator opíions
CMOS Flash/EEPROMTechnoIogy:
• Low-power, high-speed íechnology
• Fully static design
• Wide operating volíage range:
- Commerdat: 2.0Vto6.0V
- Industrial:
2.0Vto6.0V
• Low power consumption:
- < 2 mA typical @ 5V, 4 MHz
- 15 iiA typical @ 2V, 32 kHz
- < 1 joA typical standby current © 2V
• 13 I/O pins w'rth individual direction control
• High current sink/source for dírect LED drive
- 25 mA sink max. per pin
- 20mAsource max. per pin
• TMRO: 8-biitimer/counter w'rth 8-b'rt
programmable prescaler
1998 Mícrochip Technology Inc.
DS30430C-page 1
PIC16F8X
TABLE 3-1
PIC16F8X PINOUT DESCRIPTION
DIP
No,
SOIC
No.
OSC1/CLKIN
16
16
I
OSC2/CLKOUT
15
15
O
RCTFÍ
4
4
l/P
ST
RAO
17
17
l/O
TTL
RA1
18
18
I/O
TTL
RA2
1
1
I/O
TTL
RA3
2
2
I/O
TTL
RA4/TOCKI
3
3
I/O
ST
Pin Ñame
I/O/P
Type
Buffer
Type
Description
ST/CMOS P) Oscillator crystai Input/external clocksource ¡npuL
Osclllator crystai outpuL Connectsto crystai orresonator Incrystal
oscillator mode. In RC moda, OSC2 pin outputs CLKOUT whfch
has 1/4 the frequency of OSC1 , and denotes the instruction cycle
rate.
Master olear (reset) ¡nput/programming voltage ¡nput. This pin rs an
active low reset to the device.
PORTA Is a bi-dlrectional l/O port.
Can also be selected to be the dock input to the TMRO
timer/counter. Output Is open drain type.
PORTB Is a bi-directlonal l/O port. PORTB can be software programmed for ¡nternal weak pull-up on all inputs.
RBO/INT
6
6
l/O
TTL/ST W
RB1
7
7
I/O
TTL
RB2
8
8
l/O
TTL
R83
9
g
l/O
TTL
RB4
10
10
l/O
TTL
Interrupt on change pin.
RB5
11
11
l/O
TTL
Interrupt on change pin.
RB6
12
12
l/O
TTL/ST P)
Interrupt on change pin. Serial programming dock.
RB7
13
13
I/O
TTL/ST W
Interrupt on change pin. Serial programming data.
p
p
—
Ground reference for logic and l/O plns.
—
Positive supply for loglc and I/O pins.
VSS
5
5
VDD
14
14
RBO/INT can also be seiected as an external interrupt pin.
Legend: l= input
O = output
l/O = Input/Output
P = power
— = Not used
TTL = TTL input
ST = SchmittTrigger ¡nput
Note 1: This bufferis a SchmittTriggerinput when confígured as ihe external interrupt.
2: This buffer ís a SchmittTriggerinput when used In serial programming mode.
3: This buffer isa SchmittTrigger input when confígured in RC oscillator mode and a CMOS ¡npuí otherwise.
© 1998 Microchlp Technology Inc.
DS30430C-page 9
PIC16F8X
REGISTERFILEMAPPIC16F83/CR83
FIGURE 4-1:
FIGURE 4-2:
REGISTERFILEMAPPIC16F84/CR84
Ríe Address
File Addre ss
80h
OOh
Indirect addr.^
OPTION
81H
oih
TMRO
OPTION
aih
PCL
PCL
82 h
02h
PCL
PCL
82 h
03h
STATUS
STATUS
83h
03h
STATUS
STATUS
83h
Q4h
FSR
FSR
84h
04h
FSR
FSR
84h
05h
PORTA
TRISA
85h
05h
PORTA
TRISA
85h
06h
PORTB
TRISE
86h
06h
PORTB
TRISB
86h
87h
07h
File Addre ss
OOh
Indirect addr.W
01h
TMRO
02h
Indirect addr.W
07h
File Address
Indirect addr.W
aoh
87h
EECON1
88h
08h
EEDATA
EECONl
88h
09h
EEDATA
EEADR
EECON2Í1>
89h
09h
EEADR
EECON2W
89h
OAh
PCLATH
PCLATH
8Ah
OAh
PCLATH
PCLATH
8Ah
OBh
INTCON
INTCON
8Bh
OBh
1NTCON
INTCON
8Bh
8Ch
QCh
08h
och
36
General
Purpose
registers
(SBAM)
Mapped
(accesses)
in Bank 0
2Fh
30h
68
General
Purpose
regísters
(SRAM)
AFh
BOh
~^-—
4Fh
50h
---^
7Fh
FFh
Bank 0
Bank 1
8Ch
Mapped
(accesses)
fn Bank 0
CFh
DOh
L__
"""-—-—
7Fh
Bank 0
~-x
^
FFh
Bank 1
D Unimp emented data memory location; reaci as '0'.
D Unlmp emented data memory location; reacJ as '0'.
Note 1:
Note 1: Not a physícal regisíer.
^ot a physical register.
© 1998 Microchip Technology Inc.
DS30430C-page 13
PIC16F8X
TABLE 4-1
REGISTER FILE SUMMARY
Valué on
Address Ñame
BU 7
Bit 6
BltS
Bit 4
Bit 3
Bit 2
Blt1
BltO
Reset
Valúa on all
olher resets
(NoteS)
PoWBT-Ofl
BankO
00 h
INDF
Uses contents of FSR to address data memory (not a physical register)
01 h
TMRO
B-bit reaklme clock/eoumer
xxxx xxxx
uuuu uuuu
02h
PCL
Low order 8 bits ot the Píogram Counter (PC)
0000 0000
0000 DOOO
03h
STATUS (2>
04h
FSR
05 h
PORTA
06h
PORTB
07h
IRP
RP1
Tu
RPO
PTJ
Z
DC
C
Indirect data memary address polnter 0
—
RB7
—
—
RA4fTOCKI
RA3
RA2
RA1
RAO
RB6
RB5
RB4
RB3
RB2
RB1
RBO/INT
0001 Ixxx
00 Oq quuu
xxxx xxxx
uuuu UUUU
x xxxx
u uuuu
xxxx xxxx
uuuu uuuu
Unirnplemented location, read as 'ff
.
08 h
EEDATA
EEPROM dala reglster
xxxx xxxx
uuuu uuuu
09 h
ÉEADR
xxxx xxxx
uuuu «uuu
OAh
PCLATH
EEPROM address reglster
_
„
OBh
IrJTCON
—
GIE
EEIE
Write bufler íor upper 5 bits oí trie PC W
TOIE
INTE
RBIE
TOIF
0 OODO
0 0000
IMTF
RBIF
OODO OOOx
0000 OOOu
3.111 1111
1111 1111
0000 0000
0000 0000
Bankl
80 h
INDF
Uses contents o) FSR to address data memory (not a physical regfeter)
81 h
OPT1ON_
REG
mro
82h
PCL
Low order B bits al Program Counter (PC)
83h
STATUS (z)
84h
FSR
85h
TRISA
TRISB
B6h
IHP
IríTEDG
RP1
TOCS
TOSE
RPO
TU
PSA
PS2
PS1
PSO
PTJ
Z
DC
C
0001 Ixxx
OQOq quuu
Indlrecl data memory address polnter 0
,_
PORTA da!a direction register
—'
—
xxxx xxxx
uuuu uuuu
PORTB data directlon reglster
1111 1111
1 1111
1 1111
1111 1111
Unirnplemented locatlbn, read as '0'
87h
eah
EECON1
89 h
EECQN2
OAh
PCLATH
__
OBh
INTCON
GiE
—
—
—
EEIF
WRERR
WREN
WR
RD
INTF
RBÍF
0 xOOO
D qOOO
EEPROM control register 2 (not a physical register)
— .
EEIE
— .TOIE
Write buffer íor upper 5 bits oí the PC W
INTE
RBIE
TQIF
0 0000
0 0000
0000 QOOx
0000 OOOu
Legend; je = unknown, u = unchanged. - = unimplemented read as '0', q = valué depends on condition.
Note 1: The upperbyte ofthe program counteris not directly accessible. PCLATH s a slave register for PC<12:8>.The contents
of PCLATH can be transferredto the upperbyte ofthe program counter, butthe contents of PC<12:8> is nevertransferred to PCLATH.
2: The TO and PD status bits in the STATUS register are not affected by a MCLR reset
3: Other (non power-up) resets include: externa! reset through MCTR* and the Watchdog Timer Reset
DS30430Opage 14
© 1998 Microchip Technology Inc.
PIC16F8X
9.0
INSTRUCTION SET SUMMARY
Each PIC16CXX instruction is a 14-bií word divided
ínto an OPCODE which specifies the instruction type
and one or more operands which further specify the
operation of íhe instruction.The PÍC16CXX ¡nstruction
sei summary in Tabíe 9-2 lists byte-oriented, bit-oríented, and literal and control operations. Table 9-1
shows the opcode field descriptions.
For byte-oriented insíructions, T represents afile register designator and 'd' represents a desíínation desígnaíor. The file regisíer designator specifies which file
regíster is to be used by the ¡nstruction.
The desíinaíion designaíor specrfies where íhe result of
the operation ¡s to be placed. If 'd1 is zero, the resuli is
placed in íhe W register. If 'd' is one, the resulí is placed
in íhe file regisíer specified in the instruction.
For bit-oriented insíructions, 'b[ represenís a bu field
designaíor which selects the number of the bit affected
by the operation, while 'f represents the number of the
file in which the bií is located.
For literal and control operaíions, 'k' represenís an
eight or eleven bit constaní or literal valué.
TABLE 9-1
Field
OPCODE FIELD
DESCRIPTIONS
Description
Registerfüe address (0x00 to Ox7F)
Working register (accumuiator)
b
Bit address within an 8-bit file register
Literal field, constant data or label
k
X
Dont care location {= 0 or 1 )
The assembler will genérate code w¡th x = 0. It ¡s the
recommended form of use for compatibility with all
Microchip software tools.
d
Destination select; d = 0: store result in W,
d = 1: store result In file register f.
Default ¡s d = 1
Label ñame
label
TOS
Top of Stack
PC
Program Counter
PCLATH
Program Counter High Laten
GIE
Global [nterrupt Enable bit
WDT
Watchdog Tímer/Counter
TO
Tíme-out bit
PD
Power-down b'rt
dest
Destination either the W register or the specified
register file location
Options
[]
Contents
( )
f
w
->
Assigned to
<>
e
Register bit field
In the set of
¡talics
User defined term (font is courier)
The ¡nstruction set is highly oríhogonal and is grouped
into three basic categories:
• Byte-orierrted operations
• Bit-oriented operaíions
• Literal and control operations
AII instrucíions are executed withín one single ínsíruction cycle, unless a condiíional test is irue or the program counter ¡s changed as a resulí of an ¡nsiructíon.
In this case, the execuííon takes two instruction cycles
wiíh the second cycle executed as a NOP. One instruction cycle consiste oí íour oscillator periods.Thus, íor
an oscillator frequency of 4 MHz, the normal instruction
execuiion time is 1 p-S. If a condrtional test is true or the
program counter is changed as a resulí of an instruction, the instruction execuiion time is 2 jis.
Table 9-2 lísis íhe insíructions recognized by the
MPASM assembler.
Figure 9-1 shows the general formats that the instrucíions can have.
Note:
To malntaín upward compatibilíty wfíh
futura P1C16CXX producís, do not use the
OPTION and TRIS instrucíions.
AII examples use íhe following format to represent a
hexadecimal number:
Oxhh
where h signifies a hexadecimal digit
FIGURE 9-1:
GENERAL FORMAT FOR
INSTRUCTIONS
Byte-orlented file register operations
13
8 7 6
d
OPCODE
f (RLE #)
d = O for destination W
d = 1 for destination f
f = 7-bit file regíster address
Bit-oriented file register operaíions
13
10 9
7 6
OPCODE
|b(BlT#)|
f(FILEtf)
b=3-bit bit address
f = 7-bit file register address
Literal and control operations
General
13
8 7
OPCODE
k (literal)
k =8-b"rt¡mmed¡ate valué
CALL and GOTO instructions only
13
11
OPCODE
10
k (litera!)
k = 11-b'rt immediaíe valué
© 1998 MIcrochip Technology Inc.
DS3Q430C-page 53
PIC16F8X
TABLE 9-2
PIC16FXX INSTRUCTION SET
Mnemonic,
Operands
Descríption
Cycles
1 4-Bit Opcode
MSb
LSb
Status
Affected
Notes
BYTE-ORIENTED FILE REGISTER OPERATIONS
RLF
RRF
SUBWF
SWAPF
XORWF
f, d
f, d
f, d
f, d
f, d
Add W and f
AND W with f
Clearf
ClearW
Complemení f
Decrementf
Decrement f, Sk¡p ¡f 0
Increment f
Incrementf, Skipif 0
Inclusive ORWwjthf
Movef
Move W to f
No Operation
Bótate Left f through Carry
Roíate RIght f through Carry
SubtractWfromf
Swap nibbles ¡n f
Exclusive OR W wltfi f
BCF
BSF
BTFSC
BTFSS
f, b
f, b
f, b
f, b
Bit Clearf
BitSetf
Bit Test f, Skipif Clear
Bit Test f, Skipif Set
ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
INCF
fNCFSZ
IORWF
MOVF
MOVWF
f, d
f, d
f
f, d
f, d
f, d
f, d
f, d
f, d
f, d
f
NOP
1
1
1
1
1
1
1(2)
1
1(2)
1
1
1
1
1
1
1
1
1
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
0111 dfff f f f f C.DC.Z
0101 dfff f f f f
2
0001 Ifff f f f f
Z
0001 Oxxx xxxx Z
1001 dfff f f f f
z
0011 dfff f f f f
Z
1011 dfff f f f f
1010 dfff f f f f
z
1111 dfff f f f f
0100 dfff f f f f
z
1000 dfff f f f f
z
0000 Ifff f f f f
0000 OxxO 0000
c
1101 dfff ffff
c
1100 dfff f f f f
0010 dfff f f f f C,DC,Z
1110 dfff ffff
0110 dfff f f f f
z
1,2
1,2
2
1,2
1,2
1,2,3
1.2
1,2,3
1,2
1,2
1,2
1,2
1,2
1,2
1,2
BIT-ORIENTED FILE REGISTER OPERATIONS
1
1
1(2)
1(2)
01
01
01
01
OObb
Olbb
lObb
llbb
bfff
bfff
bfff
bfff
ffff
ffff
ffff
ffff
1,2
1,2
3
3
LITERAL AND CONTROL OPERATIONS
ADDLW
ANDLW
CALL
CLRWDT
GOTO
IORLW
MOVLW
RETFIE
RETLW
RETURN
SLEEP
SUBLW
XORLW
k
k
k
k
k
k
k
k
k
Add literal and W
AND litera! with W
Ca![ subroutine
Clear Watchdog Timer
Go to address
Inclusive OR literal with W
Move literal to W
Return from ¡rrterrupt
Retum with literal in W
Return from Subroutine
Go into stand by mode
Subtract W from literal
Exclusive OR litera! with W
1
1
2
1
2
1
1
2
2
2
1
1
1
11
lilac kkkk kkkk
11
1001 kkkk kkkk
10
Okkk kkkk kkkk
00
0000
10
Ikkk kkkk kkkk
0110
0100
11
1000 kkkk kkkk
11
00
11
00
00
11
11
OOxx
0000
Olxx
0000
0000
llOx
1010
kkkk kkkk
0000 1001
kkkk kkkk
0000 1000
0110 0011
kkkk kkkk
kkkk kkkk
C.DC.Z
Z
TÜ.PD
Z
TÜ.FÜ
C.DC.Z
Z
Note 1:
When an I/O register Is modified as a function of ¡tself ( e.g,, MOVF PORTE, 1), the valué used will be that valué present
on the pins íhemselves, For example, rf the data latch is '1' for a pin coníigured as input and is driven low by an externa!
device, the data will be written back with a 'O'.
2: Ifthis Instruction Is executed on the TMRO register (and, where applicable, d = l),the prescaler will be clearedrf assigned
to the TimerO Module.
3: If Program Counter (PC) Is modified or a conditional test ¡s true, the instruction requlres two cycIes.The second cyde is
executed as a NOP.
DS30430C-page 54
© 1998 Microchip Technology Inc.
Hóiás de espeeificáeioiies de almíños ICs
if
. Pérez J,
JL
" - - . •
-*
:c3"~
DUAL EIA-232 DRIVER/RECEIV
SLLS047G - FEBRUARY1989 - REVISED AUGUST1
D, DW, O R N PACKAGE
(TOPVIEW)
Opérales With Single 5-V Power Supply
LinBiCMOS™ Process Technology
Two Drivers and Two Receivers
C1+ [
+30-V Input Levéis
Low Supply Current... 8 mA Typical
•
1
U 16
3
C2+[ 4
C2-[ 5
Meets or Exceeds TIA/EIA-232-F and ITU
Recommendation V.28
11 ]T1IN
10 ]T2IN
9 ]R2OUT
V S -[ 6
Designed to be Interchangeable With
Maxim MAX232
T2OUT [ 7
R2ÍN [ 8
Applications
TIA/EIA-232-F
Battery-Powered Systems
Termináis
Modems
Computers
ESD Protection Exceeds 2000 V Per
MlL-STD-883, Method 3015
Package Options Incfude Plástic
Small-Outline (D, DW) Packages and
Standard Plástic (N) DIPs
]v cc
15 ] GND
14 JT1OUT
13 ] R1IN
12 ] R1OUT
2
logicsymbolt
VCG
16
C1 +
C1C2+
C2T1IN
description
The MAX232 device is a dual driver/receiver that
includes a capacitive voltage generator to supply
EIA-232 voltage levéis from a single 5-V supply.
Each receiver converts EIA-232 inputs to 5-V
TTL7CMOS levéis. These receivers nave a íypical
threshold of 1.3 V and atypical hysteresis of 0.5 V,
and can accept ±30-V inpuís. Each driver
converts TTL7CMOS input levéis into EIA-232
levéis. The driver, receiver, andvoltage-generator
functions are available as cells in the Texas
Instruments LinASIC™ library.
T2IN
R1OUT
1
C1 +
d-
3
VGC
2
2V CC -1.5V
4
C2+
5
C2-
11
^
O
14
T10U
.
10
12
6
-2VCC + 1.5V
7
>
^
R2OUT J
JT
13
T20L
R1IN
8
^
ov
-0"
R2IN
f 15
GND
tThis symbol Is ¡n accordance with ANSÍ/IEEE Std 91-1984 and I
Publ¡cation617-12.
The MAX232 is characterized for operation from
0°C to 70°C. The MAX232Í is characterized for
operation from -40°C to 85°C.
AVAILABLE OPTIONS
PACKAGED DEVICES
TA
SMALL
OUTLINE
(D)
SMALL
OUTLINE
(DW)
PLÁSTIC DIP
(N)
0°C to 70°C
MAX232D*
MAX232DWÍ
MAX232N
-40°C to 85°C
MAX232IDÍ
MAX232IDWÍ
MAX232IN
device is available taped and reeled by adding an R to the part number (¡.e., MAX232DR).
Please be aware that an ¡mportaní notice concerning availability, standard warranty, and use ¡n critica! appücatíons
Texas Instruments semiconductor producís and disclaimers thereto appears ai the end of thís data sheet.
LinASIC and LinBiCMOS are trademarks of Texas Instruments Incorporated.
PRODUCT10N DATA irtfomiation ís cirrent as o( pubficaiion date.
Producís conform lo specifícaüons per the lerms of Texas kisirumenis
standard warranty. Productíon processiig does not necessariy ¡nclude
testing oí all parameters.
«4
^EH
*\_^ Tt1 ~\F A O
Tf
Jl Jt-?V/Vo
INSTRUMENTS
POST OFRCE BOX 655303 • DALLAS, TEXAS 75265
Copyright © 1998, Texas Instruments Incorpo
DUAL EIA-232 DRIVER/RECEIVER
SLLS047G - FEBRUARY 1989 - REVISED AUGUST 1998
APPLICATION INFORMATION
5V
16
VCG
1
1 iiF ^p^
C1+
3
1 |IF ^¡^
vs+
C1-
4
C2+
5
—
2
.,
•
VS-
*- -8 5 V
C2-
From CMOSorTTL S
I
U
11
>
10
t>
^
^
JT
^-
To CMOSorTTL <^
14
13
8
ov
-0"
15
GND
Figure 4. Typical Operating Circuit
TEXAS
INSTRUMENTS
T
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
EIA-232 Output
EIA-232 Input
_,.
,
CD4051B, CD4052B, CD4053B
Semiconductor
August 1998
CMOS Analog Multiplexers/Demuftiplexers
with Logic Level Conversión
The CD4051 B, CD4052B, and CD4053B analog multiplexers
are digitally-controlled analog switches having low ON
impedance and very low OFF leakage current. Control of
analog signáis up to 20Vp-P can be achieved by digital
signal amplitudes of 4.5V to 20V (¡f V D rj-V ss = 3V, a
VDD~VEE of UP to 13V can be controlled; for VDD-VDD
level differences above 13V, a V D r_)-V DD of at least 4.5V is
required). For example, if Vrjrj = +4.5V, VQQ = OV, and
VDD = -13.5V, analog signáis from -13.5V to +4.5V can be
controlled by digital inputs of OV to 5V. These multiplexer
circuits dissípate extremely low quiescent power over the
full VDD-VQD and VrjD-Vprj supply-voltage ranges,
independent of the logic state of the control signáis. When
a logic "1" is present at the inhibit input terminal, all
channels are off.
File Number 902
Features
• Wide Range of Digital and Analog Signal Levéis
- Digital ..... ........... ....
..........
3V to
- Analog, .... ......... .... ........... . . <20V
• LowON Resistance, 125Q(Typ) Over ISVp.p Signal In
Range for V DD -V EE =18V
• High OFF Resistance, Channel Leakage of ±100pA (T
atV DD -V EE =18V
• Logic-Level Conversion'for Digital Addressing Signáis
3V to 20V (VDD-VSS = 3V to 20V) to Switch Analog
Signáis to 20VP_P (VDD-VEE = 20V)
• Matched Switch Characteristics, TON - 5H (Typ) for
V DD -V EE =15V
• Very Low Quiescent Power Dissipation Under All Digit
Control Input and Supply Conditions, 0.2jiW (Typ) at
= V DD -V EE =IOV
The CD4051B is a single 8-ChanneI mulíiplexer having three
binary control inputs, A, B, and C, and an inhibit input. The
three binary signáis select 1 of 8 channels to be turned on,
and connect one of the 8 inputs to the output.
• Binary Address Decoding on Chip
The CD4052B ¡s a differential 4-Channel multiplexer having
two binary control inputs, A and B, and an inhibit input. The
two binary input signáis select 1 of 4 pairs of channels to be
turned on and connect the analog inputs to the outputs.
• Máximum Input Current of 1 uA at 1 8V Over Full Pac
Temperature Range, lOOnA at 18V and 25°C
The CD4053B is a triple 2-Channei multiplexer having three
sepárate digital control inputs, A, B, and C, and an inhibit
input Each control input selects one of a pair of channels
which are connected ¡n a single-pole, double-throw
configuration.
When these devices are used as demultiplexers, the
"CHANNEL IN/OUT" termináis are the outputs and the
"COMMON OUT/IN" termináis are the inputs.
• 5V, 10V and 15V Parametric Ratings
• 1 0% Tested for Quiescent Current at 20 V
• Break-Before-Make Switching Eliminates Channel
Overlap
Applications
• Analog and Digital Multiplexing and Demultiplexing
• A/D and D/A Conversión
• Signal Gating
Orderíng Information
PART NUMBER
TEMP.
RANGE (°C)
PACKAGE
PKG.
NO.
CD4051BF, CD4052BF,
CD4053BF
-5510125
16LdCERDIP F16.3
CD4051BE, CD4052BE,
CD4053BE
-55to125
1GLd PDIP
E16.3
CD4051BM, CD4052BM,
CD4053BM
-55to125
16LdSOIC
M16.15
CAUTION: These devices are sensitiva to electrostatic discharge; follow proper IC Handiing Proced
Copyright © Harris Corporation
CD4051B, CD4052B, CD4053B
Pinouts
CD4052B (PDIP, CERDIP)
TOP VIEW
CD4051 B (PDIP, CERDIP, SOIC)
TOPVIEW
CHANNELS
IN/OUT
f
4
ü_
| e |~2~
COM OUT/IN [T
CHANNELS f 7 Li
IN/OUT \ [5
16]V D[
Y CHANNELS J ° Ll
IN/OUT S „ rr
15|2 '
Í4|1
CHANNELS IN/OUT
13] 0
Y CHANNELS /
IN/OUT
12]3
3
Li
13] COMMON "X" OUT/IN
INH [T
lT| A
INH
VEEL!
10] B
VEE[I
10 A
Vssfl
IB
CD4053B (PDIP, CERDIP)
TOP VIEW
r by[l
IN/OUT •< bx [T
15] OUT/IN b x O R b y
1U
U] OUT/IN ax OR ay
OUT/IN C X O R C Y [T
_,
> IN/OUT
12] ax]
IN7OUT CX [5
rf| A
INH f?
10] B
Functional Block Diagrams
CD4051 B
CHANNEL IN/OUT
INH
1 X CHANNELS
IN/OUT
COMMON "Y" OUT/IN \J_
. UÍÜJ
HIGH-VOLTAGE, HIGH-CURREN
DARLINGTON ARRA
Ideally suited for interfacing between low-level logic circuitry
múltiple peripheral power loads, the Series ULN20xxA/L high-volt
high-current Darlington arrays feature continuous load current ratin
to 500 mA for each of the seven drivers, At an appropriate duty cy
depending on ambient temperatura and nurnber of drivers turned Ó
simultaneously, typical power loads totaling over 230 W (350 mA
95 V) can be controlled. Typical loads include relays, solenoids,
stepping motors, magnetic print hammers, multiplexed LED and
incandescent displays, and heaters. All devices feature open-collec
outputs with integral clamp diodes.
The ULN2003A/L and ULN2023A/L have series input resistor
selected for operation directly with 5 Y TTL or CMOS. These dev
wül handle numerous interface needs — particularly those beyond
capabilities of standard logic buffers.
The ULN2004A/L and ULN2024A/L have series input resistor
operation directly from 6 to 15 V CMOS or PMOS logic outputs.
Dwg. No.A-9594
Note that the ULN20xxA series (dual in-line
package) and ULN20xxL series (small-outline
IC package) are electrically identical and share
a common terminal number assignment.
The ULN2003A/L and ULN2004A/L are the standard Darling
arrays. The outputs are capable of sinking 500 mA and will withst
at least 50 V in the OEF state. Outputs may be paralleled for highe
load current capability. The ULN2023A/L and ULN2024A/L will
withstand 95 Y in the OFF state.
ABSOLUTE MÁXIMUM RATINGS
These Darlington arrays are fumished in 16-pin dual in-line plá
packages (suffix "A") and 16-lead surface-mountable SOICs (suffi
"L"). All devices are pinned with outputs opposite inputs to facilít
ease of circuit board layout. All devices are rated for operation ove
temperatare range of -20°C to +85°C. Most (see matrix, next page
also available for operation to -40°C; to order, change the prefíx fr
"ULN" to "ULQ".
Output Yoltage, V^
(ULN200xA and ULN200xL) ........ 50 V
(UUSí202xAandULN202xL)
95 V
Input Yoltage, Y^
30 V
Continuous Output Curreut,
Ic
500 mA
Continuous Input Current, 1^
25 mA
Power Dissipation, PD
(one Darlington pair)
1.0 W
(total package)
See Graph
Operating Temperature Range,
TA
-20°Cto+85°C
Storage Temperature Range,
Ts
-55°C to +150°C
FE ATURES
•
•
•
•
•
TTL, DTL, PMOS, or CMOS-Compatible Inputs
Output Current to 500 mA
Output Yoltage to 95 Y
Transient-Protected Outputs
Dual In-Line Plástic Package or Small-OutLine IC Package
x = digit to identify specrñc device. Characteristic shown applies to famil
devices with remaining digits as shown. See matrix on next page.
DEVICE PART NUMBER DESIGNATION
VCE(MAX)
C(MAX)
50 V
95 V
500 mA
500 mA
Logic
Part Number
5V
TTL, CMOS
ULN2003A*
ULN2003L*
ULN2023A*
ULN2023L
6-1 5 V
CMOS, PMOS
ULN2004A*
ULN2004L*
ULN2024A
ULN2024L
* Also available for operation between -40°C and +85°C. To order, chan
prefix from "ULN" to "ULQ".
PARTIAL SCHEMATICS
ULN20x3A/L (Each Driver)
COM
2.VK
c:~K -
7.2K
"-N^rfV
3K
1
4—W^-i '
-w-
Dwg.No.A-9651
ULN20x4A/L (Each Driver)
COM
50
75
100
125
AMB1ENTTEMPERATUREIN °C
150
Dwg. GP-006A
Dwg, No. A-989SA
ífwCzz
Slicra Sysleins'Jnc^,
X = Digit to identify specifíc device. Specifícation shown applies to fami
devices with remaining digits as shown. See matríx above.
115 Northeast Cutoff, Box 15036
Worcester, Massachusetts 01615-0036 (508) 853-5000
Copyright© 1974,1998 AJIegro MicroSystems, Inc.
TYPICAL APPLICATIONS
INPUT CURRENT
AS A FUNCTION OF INPUT VOLTAGE
Types ULN2003A, ULN2003L, ULN2023A, and
ULN2023L
+vcc
2.5
x
2.0
^X
^
-^
jj>
E
•z.
1.5
X
'^
^£
^
0.5
OUTPUT
..
<r
1.0
TTL
/
^**^+.
.."'^' OÍ
'^
2
^
AHEAOFNOñMALOPERAT1ON
WFTHff FANOARC ORSCHCDTTKYTT L
Dwg.No.A-9S53A
2.0
3.0
4.0
5.0
INPLTT VOLTAGE
D«
Types ULN2004A, ULN2004L, ULN2024A, and
ULN2024L
TTL
OUTPUT
Dwg. No. A-10,175
ANEXO 4
Diagrama completo del circuito del equipo
Freddy R. Pérez J.
ANEXOS
Tablas con valores del TIMER y del registro
Adicional
Freddy R. Pérez I
TABLA CON LOS VALORES PARA EL REGISTRO DEL TIMER Y PARA EL REGISTRO AUXILIAR ADICIONAL
FRECUENCIAJTABLA REG
0.1
0.2
0.3
0.4
0.5
o.e
0.7
O.B
0.9
1
1.1
1.2
1.3
1.4
1.5
1.8
1.7
1.8
1.fl
2
2.1
2.2
2.3
2.4
2.5
Z6
2.7
2.8
2.9
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
5
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
e
6.1
6.2
Q.3
6.4
6.5
6.6
6.7
6.8
8.9
7
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.B
7.9
8
8.1
8.2
8.3
8.4
8.5
8.6
fi.7
8.8
8.9
9
Q.1
9.2
9.3
9.4
9.5
9.0
9.7
9.8
9.9
10
AD. ITABLAREG
153
77
51
39
31
26
22
19
17
16
14
13
12
11
11
10
9
9
8
8
8
7
7
7
7
6
6
6
6
6
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
TIMER FRECUENCIAlTABLA REG
125
10.1
200
10.2
54
10.3
237
10.4
143
10.5
165
10.6
71
10.7
0
10.8
31
10.9
209
52
92
86
45
231
138
25
153
11
114
207
35
113
183
249
53
108
160
208
253
39
78
115
150
183
214
243
15
41
66
90
113
135
155
175
194
212
229
246
6
21
36
50
64
77
89
102
114
125
136
147
157
167
177
186
195
204
213
221
229
237
244
252
3
10
17
24
30
37
43
49
55
60
66
2
71
77
2
82
2
87
92
97
102
2
2
2
2
2
2
2
2
2
2
2
2
106
111
115
120
124
128
132
136
140
11
11.1
11.2
11.3
11.4
11.5
11.8
11.7
11.8
11.9
12
1Z1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
12.9
13
13.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9
14
14.1
14.2
14.3
14.4
14.5
14.G
14.7
14.8
14.9
15
15.1
15.2
15,3
15.4
15.5
15.6
15.7
15.8
15.9
16
16.1
16.2
16.3
16.4
16.5
16.6
1Q.7
16.8
18.9
17
17.1
17.2
17.3
17.4
17.5
17.6
17.7
17.8
17.9
18
18.1
18.2
18.3
18.4
18.5
18.6
18,7
18.8
18.9
19
19.1
19.2
18.3
19.4
19.5
10.6
19.7
19.8
19.9
20
AD. ITABLA REG. TIMER
2
2
2
2
144
148
152
155
2
2
2
159
163
166
169
2
2
2
173
176
179
2
182
185
188
191
194
197
200
203
206
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
208
211
213
216
219
221
223
226
228
231
233
235
237
240
242
244
246
248
250
252
254
0
2
4
6
7
9
11
13
15
16
18
20
21
23
25
26
28
29
31
32
34
35
37
38
40
41
43
44
45
47
48
49
51
52
53
54
56
57
58
59
60
62
63
64
65
66
67
68
69
71
72
73
74
75
76
77
78
79
80
Freddy R. Pérez J.
Manual de Usuario
Este equipo permite realizar el control de frecuencia., intensidad y punto de impacto del
rayo láser de nitrógeno utilizado en un Espectrómetro de Masas MALDI del
Departamento de Física de la Escuela Politécnica Nacional. Este control se lo puede
realizar localmente desde el equipo o remotamente desde el computador.
1. Conexiones del equipo
Antes de encender o utilizar el equipo, se debe verificar que el láser se encuentre
encendido y que todos los seguros se encuentren deshabilitados, además, que todas las
conexiones se hayan realizado correctamente. El equipo posee una placa de conexiones
en la que se colocan: dos motores de pasos, dos sensores de posición referencial, un
conector de salida de disparo del láser, un pulsador opcional para disparos manuales,
alimentación del equipo. Además, posee un conector para comunicación serial con el
computador.
A continuación en la figura 1 se presenta la placa con las conexiones necesarias.
Freddy R. Pérez J.
Fig. 1 Conexiones del equipo.
2. Control local del equipo
Como ya se mencionó anteriormente el equipo se puede controlar tanto localmente o
remotamente, para realizar un control local se ha incluido un teclado y un indicador, con
el objeto de introducir datos para procesarlos y variar los parámetros deseados.
En el teclado se han definido teclas de función específica, para controlar la frecuencia,
intensidad, punto de impacto o punto de colisión, pulso de disparo, además posee teclas
con valores numéricos, punto decimal y una tecla de aceptar o enter. Los cambios
realizados se almacenan en memoria para recuperarlos cuando se requiera conocer el
valor actual de algún parámetro.
En la figura 2 se muestra el teclado, en el cual se encuentran señaladas las respectivas
teclas de función.
Freddy R. Pérez J.
2
Fig. 2 Teclado del equipo
2.1 Control de frecuencia de disparo.
Para realizar secuencias automáticas de disparo se dispone una tecla correspondiente a
la función frecuencia. Se debe presionar esta tecla para poner al equipo en modo de
disparo automático, luego se debe escoger el valor de la frecuencia de disparo deseada
el cual debe estar comprendido entre O y 20Hz. en incrementos de O.lHz. y cuando se
desee que comience la secuencia de disparos se debe presionar la tecla enter
Solamente para este caso, el punto decimal se activa, debido a que este es el único
parámetro que posee decimales.
2.2 Generación de pulsos de disparo.
Para realizar secuencias manuales de disparo se dispone una tecla correspondiente a la
función pulso. Se debe presionar esta tecla para que el equipo dispare un solo pulso
inmediatamente luego de ser presionada dicha tecla. Una vez escogida dicha función los
Fredd}' R. Pérez J.
3
disparos manuales del láser se los puede hacer mediante la tecla pulso, la tecla enter o
un pulsador opcional colocado en la placa de conexiones del equipo. El teclado
numérico se desactiva automáticamente al presionar la tecla correspondiente a la
función pulso.
2.3 Control de intensidad del rayo láser.
Para modificar la intensidad del láser o la posición del filtro de densidad variable se
dispone de una tecla correspondiente a la función intensidad, se debe presionar esta
tecla, luego se debe escoger el valor de la intensidad o posición del filtro de densidad
entre O y 200 en incrementos de 1 paso o 1.8 grados y cuando se desee que variar la
intensidad se debe presionar la tecla enter.
2.4 Control del punto de impacto del rayo láser.
Para evitar que los disparos sucesivos del láser que inciden sobre la muestra la agote, se
debe modificar el punto de impacto para lo que se dispone de una tecla correspondiente
a la función colisión, se debe presionar esta tecla, luego se debe escoger el valor del
punto de colisión entre un rango de O y 200 en incrementos de 1. Finalmente cuando se
desee que variar el punto de colisión se debe presionar la tecla enter.
2.5 Reseteo del equipo,
Si se desea se puede realizar un reseteo o retorno a condiciones iniciales del equipo,
mediante un pulsador previsto para este objetivo. Con esto se consigue que el equipo
Freddy R. Pérez I
.
4
regrese a sus condiciones iniciales, es decir tome nuevamente valores iniciales de
referencia para la intensidad, punto de impacto y frecuencia de disparo.
3. Control del equipo desde el computador.
Para realizar el control del equipo desde el computador se hace necesario que el cable
de conexión serial entre el equipo y el computador se encuentre correctamente
conectado.
Una vez verificada la conexión del cable serial., se puede iniciar el software en el
computador, el cual permite todas las opciones mencionadas en el control local del
equipo. Además, posee indicadores gráficos, que tienen la propiedad de dar una idea
clara del estado global sistema. Cabe señalar que cualquier cambio que se produzca en
el equipo es actualizado inmediatamente en el computador y viceversa.
En la figura 3 se muestra la pantalla principal del programa en el computador.
Fig. 3 Pantalla principal del programa residente en el computador.
Freddy R. Pérez J.
3.1 Control de frecuencia de disparo, intensidad y punto de impacto del rayo láser.
Para modificar cualquiera de estas variables el procedimiento es similar, cambiar al
valor deseado la variable a modificarse en sus rangos correspondientes y transmitir la
orden de cambio en el momento que se desee que este se produzca. La modificación de
las variables se debe realizar en forma individual,
Al igual que para el control local los cambios se almacenan y se mantienen en memoria.
3.2 Reseteo del equipo.
Al igual que en el control local, se ha provisto al computador de un botón que permita
regresar al estado inicial, este funciona de manera idéntica al pulsador de reseteo del
equipo.
Freddy R. Pérez J.
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA ELÉCTRICA
CONTROL DE DISPARO, INTENSIDAD Y PUNTO
DE IMPACTO DE UN RAYO LÁSER DE
NITRÓGENO
FREDDY RICARDO PÉREZ JTBAJA
PROGRAMAS RESIDENTES EN LOS MICROCONTROLADORES
PIC16F84#1 Y PIC16F84#2
Quito, marzo 2000
Programa residente en el microcontrolador PIC16F84 #1
El microcontrolador #1 realiza las siguientes tareas.
Kicrocontrolador P1C16F84 #1
PINES UTILIZADOS
Barrido de 4 displays _ t
c Manejo
, ™
RAO,RA1
de datos para los dispíays
• Manejo del Teclado »
EBOJRB1,KB2JSB3,RB4^B5,RB6,RB7
" -* ""
: RBO,KB1,RB2,RB3,RB4,RB5,RB6,BB7
•Decepción serial RS232" " .
RA4
. Transmisión serial BS232 ~ : _
KA2
Transmíslóa serial liacia el otro imcrocontrofador ^ f RA3
Total dcpines utilizados
-
-„
„ r ? - 13
Tabla 1 Tareas realizadas por el primer microcontrolador PIC16F84
A continuación se presenta el listado del programa residente en el microcontrolador #1
MICRO 1. ASM
LISTP=16F84
include
<pl 6f84.inc>
;Area de definición de etiquetas
TempC
TempD
TempE
PABuf
PBBuf
KeyFlag
Keyhit
DebnceOn
noentry
Debnce
NewKey
WBuffer
StatBufTer
OptionReg
PCL
el
c2
tempor
tempfre
contador
buffer
bufíerout
bandera
equ
equ
equ
equ
equ
equ
h'Oc1
h'Od1
h'Oe1
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
0
1
2
3
h'121
h'131
h'141
h'15!
1
2
h'16!
h'171
h'181
h'191
h'la1
h'lb1
h'lc1
h'ld'
Freddy R. Pérez J.
h'Of
h'10'
h'ir
c3
c4
Lsdl
Lsd2
Msd3
Msd4
Lsdlf
Lsd2f
Msd3f
Msd4f
Lsdlml
Lsd2ml
MsdSml
Msd4ml
Lsdlm2
Lsd2m2
Msd3m2
Msd4m2
Lsdlp
Lsd2p
Msd4p
cente
dece
mulplr
mulcnd
L_b3^te
H_byte
tempsud
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
h'le1
h'lf
h'201
h!21!
h'221
h'231
h'241
h'251
h'261
h'271
h'28!
h'291
h'2a'
h'2b'
h'2c'
h'2d'
h'2e'
h'2f
h'301
h'311
h'32'
h'33'
1V341
h'351
h'361
h'371
h'381
h'391
h'3a'
MICRO1.ASM
tempsuc
temp
uní
MsdScomp
Lsdlcomp
Lsd2comp
msd3g
Isd2g
Isdlg
aaa
bbb
resp
resi
tipo
bandera2
equ
equ
equ
equ
ri'3b'
h'3c'
h'3d'
h'3e'
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
h'401
h'411
h'42'
h'431
h'44'
h'45'
h'461
hl47'
h'48l
h'49'
clrf
clrf
clrf
movl^'
movwf
clrf
h'3f
movlw
; Aiea de definiciones de macxos
miút MAGRO bit
btísc
mulplr,bit
addwf H_byte,l
uf
H_byte,l
nf
L_byte,l
ENDM
pop
clrf
clrf
clrf
Msd4f
bandera
Lsdlml
Lsd2ml
Msd3ml
movlw
movwf
clrf
clrf
clrf
h'd1
Msd4ml
Lsdlm2
Lsd2m2
Msd3na2
movlw
mowi'f
clrf
clrf
clrf
clrf
clrf
bsf
cali
h'c1
Msd4m2
Lsdlp
Lsd2p
Msd3p
Msd4p
tempor
resex
trans
btfsc
cali
cali
KeyFlag}Sen7Key
SenáceKey
retardo
prueba 1
loop
clrf
#define RXserie PORTA,4
#defíne TXserie PORTA,3
#deñne TXseriel PORTAD
#defíne resex
bandera2,0
push
Lsd2
Msd3
Lsdlf
d'29'
Lsd2f
Msd3f
loop
macro
swapf StatBuffer?W
movwf STATUS
swapf WBuffer,W
endm
;Inicio del programa
org
O
goto
Start
;retardo de 5ms para barrido de displays
retardo
movlw d'100' -
movwf el
sal
í
4
movlw
mov^yf
decfsz
goto
decfsz
goto
return
h'7'
c2
cl?F
sal
c2,F
sal
bsf
movlw
movwf
clrf
bcf
bsf
clrf
bsf
STATUS;RPO
b'OOO 10000'
TRISA
TRISE
STATUS;RPO
PORTA,3
PORTB
PORTAD
INTERUP
InitPorts
Start
raovlw
movwf
cali
cali
movhv
mOA^-f
clrf
h'31
PCLATH
InitPorts
InitTimers
b'000010101
Msd4
Lsdl
Freddjr R. Pérez J.
MICRO1.ASM
bsf
clrf
bsf
retara
InitTimers
clrf
clrf
clrf
clrf
clrf
bsf
movlw
movwf
bcf
movlw
movwf
movlw
movwf
retñe
PORTA,!
tempfre
tempfre,3
Msd3
Msd4
Lsdl
Lsd2
KeyFlag
STATUS,RPO
B'101110001
OptionReg
STATUS,RPO
B'101000001
INTCON
h'ff
TMRO
prueba 1
push
cali Servicelnterrupts
pop
retfie
Senácelnterrupts
goto ServiceTMRO
return
SenaceTMRO
btfsc tempfre}0
cali ScanKeys
cali UpdateDisplay
return
ScanKeys
btfss
KeyFlag;DebnceOn
goto
Scanl
decfsz
Debnce, F
return
bcf KeyFla:.g,DebnceOn
return
Scanl
cali
SavePorts
B'momr
movlw
TempD
movwf
ScanNext
moví
PORTB;W
bcf
INTCONSRBIF
rrf
TempD, F
btfss
STATUS;C
gotoNoKey
TempD,W
moví
movwf
PORTB
nop
Freddy R. Pérez J.
btfss
goto
btfsc
goto
bsf
swapf
movwf
cali
movwf
bsf
bsf
movlw
rnovwf
SKreturn
cali
return
INTCON,RBIF
ScanNext
KeyFlag5ke3rhit
Skreturn
KeyFlag,keyhit
PORTB,W
TempE
GetKeyValue
NewKey
KeyFlag,ServKe3r
Ke}'Flag,DebnceOn
4
Debnce
RestorePorts
NoKey
bcf KeyFlag,keyhit
goto
SKrel"urn
GetKeyValue
clrf
TempC
TempD,3
btfss
goto RowValEnd
TempC, F
incf
TempD,2
btfss
RowValEnd
goto
incf
TempC. F
TempD, 1
btfss
goto
RowValEnd
incf
TempC, F
RowValEnd
btfss
TempE,0
GetValCom
goto
TempE, 1
btfss
goto
Get4567
TempE,2
btfss
goto
Get89ab
Getcdef
TempQ2
bsf
Get89ab
TempC,3
bsf
goto
GetValCom
Get4567
TempC;2
bsf
goto
GetValCom
SavePorts
moví
PORTA^W
PABuf
movf PORTB,W
PBBuf
movlw Oxff
movwf PORTB
bsf STATUS;RPO
bcf OptionReg,?
movlw B'l 1110000'
mov^í TRISB
bcf STATUS,RPO
MICROl.ASM
retum
RestorePorts
moví PBBuf,W
movwf PORTB
movf PABuf;W
movwf PORTA
bsf STATUS,RPO
bsf OptionReg,?
clrf TRISB
bcf STATUS,RPO
return
UpdateDispla}'
bcf PORTADO
bcf PORTA,!
movfw
tempfre
movwf TempC
bsf TempC,4
rrf TempC,F
btfss STATUS.C
bcf TempC,3
btfsc TempC,0
goto UpdateMsd
btfsc TempC,!
goto Update3 rdLsd
btfsc TempC,2
goto Update2ndLsd
UpdateLsd
movf LsdlfW
goto DisplayOut
Update2ndLsd
movf
Lsd2,W
goto DisplayOut
UpdateSrdLsd
movf Msd3,W
goto DisplayOut
UpdateMsd
movf Msd4,W
DisplayOut
cali LedTable
movwf PORTB
movf TempC, W
btfsc TempQO
goto UpdateMsdmx
btfsc TempC, 1
goto UpdateSrdLsdrnx
btfsc TempQ2
goto Update2ndLsdrnx
PORTA,0
bcf
PORTA,!
bcf
tempfre
clrf
tempfre, 3
bsf
goto
DisplayOutmx
UpdateMsdmx
bsf
bsf
clrf
bsf
PORTADO
PORTA,!
tempfre
tempfre,0
FreddyR. Pérez J.
goto
DisplayOutmx
Update3 rdLsdmx
bcf
PORTAD
bsf
PORTA,!
clrf
tempfre
bsf
tempfre, 1
goto
DisplayOutmx
Update2ndLsdmx
bsf
PORTA,0
PORTA,!
bcf
tempfre
clrf
tempfre,2
bsf
goto
DisplayOutmx
DisplayOutmx
return
SenaceKey
movf NewKey,W
movwJe TempE
xorlw h'Oa'
btfsc
STATUS32
iguala
goto
movf NewKey.W
xorlw h'Ob'
btfsc
STATUS,2
igualb
goto
movf NewKey,W
xorlw h'Oc1
btfsc
STATUS,2
iguale
goto
movf NewKey.W
xorlw h'Od1
btfsc
STATUS,2
goto
iguald
movf NewKey.W
xorlw h'Oe'
btfsc
STATUS,2
iguale
goto
movf NewKey,W
xorlw h'Of
btfsc
STATUS,2
goto
igualf
movfn ,' Msd4
xorlw h'Oa1
btfsc
STATUS,2
termino
goto
btfsc
goto
btfsc
cali
bandera, 2
ence
bandera,3
encepun
bcf
KeyFlag, ServKey
termino
MICROl.ASM
return
encepuni
bsf
return
bandera,2
clrf
clrf
movfw
movwf
bcf
bcf
goto
Lsd2
Msd3
NewKey
Lsdl
bandera,2
banderas
termino
movlw
movwf
clrf
clrf
clrf
bsf
cali
goto
IVa1
Msd4
Lsdl
Lsd2
Msd3
bandera,2
trans
termino
movlw
movwf
movfw
movwf
movfw
movwf
movfw
movwf
bsf
goto
Msd4
Msd3f
Msd3
Lsd2f
Lsd2
Lsdlf
Lsdl
bandera,2
termino
ence
xorlw
btfsc
goto
goto
igualbpunto
iguala
movlw h'c1
mOVWf Msd4
movfw Msd3m2
movwf Msd3
movfw Lsd2m2
movwf Lsd2
movfw Lsdlm2
movwf Lsdl
bandera^
bsf
termino
goto
iguald
movlw
movwf
movfw
movwf
rnovfw
movwf
movfw
movwf
bsf
goto
h'd1
Msd4
Msd3ml
Msd3
Lsd2ml
Lsd2
Lsdlml
Lsdl
bandera, 2
termino
iguale
Msd4
R. Pérez J.
btfsc
goto
btfsc
goto
movfw
addlw
movwf
bsf
goto
bandera,2
fínter
bandera,3
termino
Lsdl
d'29'
Lsdl
bandera,3
tenníno
movlw
addlw
movwf
movlw
movwf
movlw
movwf
bsf
bcf
goto
d'O'
d'291
Lsdl
d'O1
Msd3
d'O'
Lsd2
bandera,3
bandera,2
termino
movf\Ar
movwf
rnovf
movwf
xorlw
btfsc
goto
rnovf
xorlw
btfsc
goto
mo\^f
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
goto
Msd4
tempor
tempor3W
TempE
li'Oa1
STATUS,2
igualaguar
tempor, W
h'Ob1
STATUS,2
igualbguar
tempor.W
ri'Oc1
STATUS}2
igualcguar
tempor.W
h'Od'
STATUS,2
Igualdguar
tempor,W
h'Oe1
STATUS;2
igualeguar
tempor,W
h'Of
STATUS,2
igualfguar
termino
JSnter
igualb
iguale
tempor
h'Ob'
STATUS,2
igualbpunto
termino
igualf
igualaguar
cali
trans
MICROl.ASM
goto
igualbguar
btfss
goto
goto
termino
bandera,3
rotpun
norotpun
rotpun
Msd3
Msd3comp
Lsd2
Lsd2comp
Lsdl
Lsdlcomp
comparar 1
bandera, 1
sicambbl
nocambb
sicambbl
niovfw
mo'NTvf
movfw
addlw
movwf
movlw
movwf
goto
norotpun
movlw
sutwf
btfss
goto
cali
fred
movfw
movwf
movlw
subwf
movwf
movfvv
movwf
cali
btfss
goto
goto
Lsd2
Msd3
Lsdl
d'29T
Lsd2
d'O1
Lsdl
norotpun
d'10'
Lsdl,0
STATUS,0
fred
Is
Msd3
Msd3comp
d'29'
Lsd230
Lsd2comp
Lsdl
Lsdlcomp
comparar
bandera, 1
sicambb
nocambb
Is
movfw
movwf
movfw
movwf
movlw
movwf
return
Lsd2
Msd3
Lsdl
Lsd2
d'O'
Lsdl
sicambb
Freddy R. Pérez J.
movfw Msd4
Msd4f
Msd3
movwf Msd3f
movfn7 Lsd2
Lsd2f
Lsdl
Lsdlf
bandera>2
trans
termino
nocambb
Msd4f
Msd4
Msd3f
Msd3
Lsd2f
Lsd2
Lsdlf
Lsdl
bandera,2
trans
termino
igualcguar
movfw Msd3
Msd3comp
movfvv Lsd2
movwf Lsd2comp
movfn'' Lsdl
movwf Lsdlcomp
cali
comparar
btfss
bandera, 1
goto
sicambc
goto
nocambc
sicambc
Msd4
Msd4m2
Msd3
Msd3m2
Lsd2
Lsd2m2
Lsdl
Lsdlm2
banderaJ2
trans
termino
nocambc
movfw
movwf
movfw
movwf
movfw
movwf
movfw
movwf
bsf
Msd4m2
Msd4
Msd3m2
Msd3
Lsd2m2
Lsd2
Lsdlin2
Lsdl
bandera, 2
MICROl.ASM
goto
igualdguar
movfw
movwf
movfw
movwf
movfvv
movwf
cali
btfss
goto
goto
termino
Msd3
MsdScomp
Lsd2
Lsd2comp
Lsdl
Lsdlcomp
comparar
bandera,!
sicambd
nocambd
sicambd
movfw
movwf
movfw
movwf
movfw
movwf
movfw
movwf
bsf
cali
goto
Msd4
Msd4ml
Msd3
Msd3ml
Lsd2
Lsd2ml
Lsdl
Lsdlml
bandera32
trans
termino
nocambd
movfw
movwf
movfw
movwf
movfw
movwf
movfw
movwf
bsf
goto
Msd4ml
Msd4
MsdSinl
Msd3
Lsd2ml
Lsd2
Lsdlml
Lsdl
bandera,2
termino
comparar
íf
movfvv
sublw
btfsc
goto
goto
V;**
MsdSconip
d'2'
STATUS,0
mendcen
nocambg
mendcen
movlw d'2'
xorwf Msd3comp30
btfsc
STATUS^
ig2dcen
sicambg
igOddec
movlw
xorwf
btfsc
goto
goto
d'O1
LsdlcompjO
STATUS^
sicambg
nocambg
bcf
return
bandera, 1
sicambg
nocambg
bsf
return
comparar 1
movlw
xorwf
btfsc
goto
goto
bandera, 1
d'O1
Msd3comp,0
STATUS,2
uno
nocambgl
uno
movfw
sublw
btfsc
goto
goto
Lsdlcomp
d'21
STATUS,0
mendcenl
nocambgl
mendcenl
movlw
xorwf
btfsc
goto
goto
d'21
Lsd2comp,0
STATUS,2
ig2dcenl
sicambgl
ig2dcenl
movlw
xorwf
btfsc
goto
goto
d'O'
Lsdlcomp}0
STATUS,2
sicambgl
nocambgl
sicambgl
bcf
return
bandera. 1
nocambgl
bsf
return
bandera, 1
trans
»--
ig2dcen
movlw
xorwf
btfsc
goto
goto
d'O1
Lsd2conip,0
STATUS,2
igOddec
nocambg
Freddy R. Pérez J.
movlw
movwf
cali
movfw
movwf
d'2401
bufferout
SERIAL^RUT
Msd3f
cente
MICRO1.ASM
inovlw d'291
subwf Lsd2f,0
dece
Lsdlf
movwf uní
cali
mulval
mo'S'fw temp
mov\vf bufíerout
cali
SERIAL_RUT
movfw MsdSml
movwf cents
movfw Lsd2ml
dece
movfw Lsdlml
movwf uní
cali
mulval
mcn'fw temp
bufíerout
cali
SERIAL_RUT
movfw Msd3m2
inovwf cente
movf\ Lsd2m2
dece
movfw Lsdlm2
movwf uní
cali
mulval
movfw temp
bufferout
cali
SERIAL_RUT
resex
btfsc
igualence
goto
movlw h'a1
xorwf
STATUS,2
btfsc
golo
igualatrans
movlw h'b1
xorwf Msd4,0
btfsc
STATUSS2
goto
igualbtrans
movlw h'c!
xorwf
STATUS,2
btfsc
igualctrans
goto
igualdtrans
goto
igualatrans
rnovlw d'2041
bufferout
cali
SERIAL RUT
retura
igualbtrans
movlw d'201!
bufferout
SERIAL RUT
cali
return
igualctrans
movlw d'2031
bufferout
SERIAL RUT
cali
retum
Fredd>r R. Pérez J.
igualdtrans
movlw
movwf
cali
return
igualence
movlw
mo'S'wf
cali
bcf
return
igualeguar
goto
iguaffguar
goto
d'2021
bufferout
SERIAL_RUT
d'2051
bufferout
SERIALJRUT
resex
termino
termino
;Transmisión serial
SERIAL_RUT
cali
poní
cali
retardo2
cali
ponO
movlw d'91
mo'srwf contador
cali
retardo2
TXserial
decfsz
goto
goto
contador?F
sigueserial
fínserial
sigueserial
rrf
skpc
goto
envioOserie
;enviolserie
cali
cali
goto
poní
retardo2
TXserial
bufferout.F
envioOserie
cali
cali
goto
ponO
retardo2
TXserial
rrf
cali
cali
return
bufferout,F
poní
retardo2
btfss
bcf
bcf
return
bandera,?
TXseriel
TXserie
btfss
bsf
bandera, 7
TXseriel
fínserial
ponO
poní
MICRO!. ASM
bsf
retan
TXserie
movlw
movwf
movlw
movwf
decfsz
goto
decfsz
goto
return
d'181
c3
d'21
c4
c3,l
reta2
c4,1
reta2
movlw
movwf
movlw
movwf
decfsz
goto
decfsz
goto
return
d'135'
c3
dT
c4
c3,l
retal
c4,l
retal
movlw
xorwf
btfsc
goto
goto
retardo2
reta2
continua
iniciara4
aaa
separar
msdSg
Msd3f
Isd2g
d'291
Lsd2f
Isdlg
Lsdlf
retardo 1
retal
;Recepción serial
RX serie
bsf
movlw
movwf
explora 1
cali
btfsc
retan
nextbit
cali
Txserie
d'9'
contador
retardo 1
RXserie
retardo2
d'2401
buffer,0
STATUS.2
continua
fi
cali
movwf
cali
movfw
movwf
movfw
movwf
movfw
movwf
iniciara4
aaa
separar
msdjg
Msd3ml
Isd2g
Lsd2ml
Isdlg
Lsdlml
cali
iniciara4
aaa
caU
movfw
movwf
movf\~\
movwf
movfw
movwf
separar
msd3g
Msd3m2
Isd2g
Lsd2m2
Isdlg
Lsdlm2
cali
movwf
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
movlw
xorof
btfsc
iniciara4
tipo
d'2011
tipo,0
STATUS,2
casof
d'2021
tipo,0
STATUS,2
casoml
d'2031
tipo?0
STATUS,2
casom2
d'2041
tipo;0
STATUS?2
casopiú
d'205T
tipo,0
STATUS,2
RXserial
decfsz
goto
goto
contador,?
sigueRX
fínRX
setc
brfss
clrc
JOCserie
sigueRX
rrf
goto
buffer,F
nextbit
fínRX
btfss
bsf
RXserie
bandera, 0
return
;Atención de Interrupciones
ESTTERUP
clrf
buffer
cali
RX_serie
movfw buffer
Freddy R. Pérez J.
MICRO1.ASM
goto
goto
casoence
tip
movfw
movwf
movfw
movwf
mo-S'fw
movwf
movfw
movwf
bcf
goto
Msd4f
Msd4
Msd3f
Msd3
Lsd2f
Lsd2
Lsdlf
Lsdl
resex
tip
movfw
movwf
movfw
movwf
movfw
movwf
movfw
movwf
bcf
goto
Msd4ml
Msd4
Msd3ml
Msd3
Lsd2inl
Lsd2
clrf
clrf
clrf
bsf
goto
bandera, 2
bandera,?
trans
bandera,?
bcf
INTCON,TOIF
movlw h'fT
movwf TMRO
retfie
casoml
iniciara4
bcf
movlw
movwf
esp
bifes
goto
cali
movfw
retuní
mulval
movfw
mov\vf
movlw
movwf
cali
movf\
movwf
Lsdlml
Lsdl
resex
tip
casom2
Msd4m2
Msd4
Msd3m2
Msd3
Lsd2m2
Lsd2
Lsdlm2
Lsdl
resex
Üp
movlw
cali
movfw
movwf
movfw
casopul
movlw
movwf
clrf
clrf
clrf
bcf
goto
Lsdl
Lsd2
Msd3
resex
tip
h'a1
Msd4
Lsdl
Lsd2
Msd3
resex
tip
add\vf
movwf
retuní
1NTCONSTOIF
h'fP
TMRO
esp
RX_serie
buffer
dece
mulplr
d'10'
mulcnd
mpy__F
L_b)te
tempsud
cente
mulplr
d'1001
mulcnd
mpy_F
L_byte
tempsuc
uní
tempsud^O
ternpsuc=0
temp
separar
casoence
clrf
clrf
clrf
cirf
clrf
clrf
clrf
clrf
clrf
movlw
movwf
d'100'
bbb
divicion
Lsdlf
Lsd2f
MsdSf
Lsdlml
Lsd2ml
Msd3ml
Lsdlm2
Lsd2m2
Msd3m2
h'a'
Msd4
Freddy R. Pérez I
10
MICROl.ASM
movfw resi
movwf Isdlg
return
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
divicion
divi
clrf
clrf
movfw
subwf
bifes
goto
goto
resp
resi
bbb
aaa,l
STATUS,0
ponresi
aumresp
incf
goto
resp,l
divi
aumresp)
ponresi
movfw bbb
addwf aaa,0
movwf resi
return
;Multiplicación
rnpyJF clrf H_byte
clrf LJbyte
movf mulcnd,W
bcf STATUS,C
mult O
mult 1
mult 2
mult 3
mult 4
mult 5
mult 6
mult 7
retlw O
org
3A9
;Tabla para displays
LedTable
addwf PCL,F
retlw B'OOllllir
retlw B'000001101
retlw B'010110111
retlw B'OIOOHH 1
retlw B'011001101
retlw B'01101101'
;0
;1
;2
;3
;4
;5
retlw B'Olimor
;6
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
reüw
reüw
;7
;8
;9
;P
;F
;C
;I
;C
;F
;A
;b
;C
;d
B'OOOOOlll 1
B'Olimil 1
B'011001111
B'011100111
B'01110001'
B'OOlllOOr
B'00110000'
B'OOlllOOr
B'Ol 1100011
B'OHlOlir
B'011111001
B'OOlllOOr
B'OlOllllO 1
Freddy R. Pérez J,
B'011110011
B'OlllOllO 1
B'00110000'
B'001110001
B'010101001
B'010111001
B'01010000'
B'OllOllOr
;E
;H
;I
;L
;n
;o
;r
;S
retlw B'OmiOOO1
retlw B'OOlllllO 1
retlw B'lOllllir
;t
;u
;0.
retlw
retlw
retlw
retlw
retlw
B'10000110'
B'110110111
B'llOOllir
B'111001101
B'lllOllOl 1
;1.
;2.
;3.
;4.
;5.
retlw B'llimor
retlw B'lOOOOlll 1
;6.
;7.
retlw B'llllllir
retlw B1111001111
;Tabla para teclado
GetValCom
movf TempC;W
addwf PCL,F
retlw 1
retlw 2
retlw 3
reüw Oa
reüw 4
retlw 5
retlw 6
reüw Ob
reüw 7
retlw 8
retlw 9
reüw Oc
reüw Od
reüw O
reüw Oe
retlw Of
;8.
;9.
;Final del programa
end
11
MICROl.ASM
Programa residente en el microcontrolador PIC16F84 #2
El microcontrolador #2 realiza las siuientes tareas.
* nn A T»Tm A
•TAREA
__
'__ r \
- s- - ^ - :
.Recepción serial
'
/
PENDES UTILIZADOS
V J»
EBO
-Manejo del primer motor de pjisós
Entrada de señal del sensor de posición RA4
freferencial del primer-motor dre gasos- Manejó del segundo motor de'pasos - "
"-Entrada-de señal-del sensbríde posición.. referencia! del segundo motbrrdé~pasps 7 ~
, de salida de
frecuencia-
de pjnes-utilizados -^~
™ ™ ~-&
I' -: • RB3
"_*-£"=£• ^ r£ 12
Tabla 2 Tareas realizadas por el segundo microcontrolador PIC16F84
A continuación se presenta el listado del programa residente en el microcontrolador #2
MICR02.ASM
LISTP=16F84
include <pl6f84.inc>
)
;Area de definición de etiquetas
OptionReg
bandera2
rO
rl
rlO
rll
el
c2
contador
buffer
bufferout
bandera
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
Freddjr R. Pérez J.
1
OxOc
h'Od'
h'Oe1
h'Of
IV 10'
h'll1
h'121
h'131
h'14!
h'151
h.'16T
c3
c4
equ
equ
h'17!
h'181
rnotl
mor2
motla
mot2a
motlr
mot2r
tempor
templ
temp2
tempS
temp4
frec
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
h'19T
h'la1
h'lb1
h'lc1
li'ld1
h'le1
h'lf
h'201
h'211
K'22'
h'231
h'241
c5
c6
tiempo
regfrec
regf
h'25f
h'261
h'271
h'281
h'291
MICRO2.ASM
regfd
wserial
wpulso
tipo
teinpo
banderas
equ
equ
equ
equ
equ
equ
h'2a'
li'2b'
h'2c'
h'2d'
cali
ponerml
btfss
enm2e
goto
pfen
PORTE,!
btfsc
goto
m2encerado
movlw d'21
movwf moí2
bsf
mme
bsf
mm2e
cali
m2
cali
ponerm2
mmrnm'1
Me1
h'2f
#defíne RXserie PORTB,0
^define TXserie PORTB,2
#defme piúso
PORTB,3
#define ene
bandera2,0
#defme enmle bandera2,1
#defíne enm2e bandera2,2
#define mme bandera2,3
#defme mmle bandera2,4
#defíne mm2e bandera2,5
#defíne mmlh bandera2,6
^define mm2h bandera2;7
#defme resex banderas,O
pfen
cali
btfsc
goto
btfsc
goto
goto
;Inicio del programa
org O
goto Start
org 4
goto
INTEKÜP
Start
cali InitPorts
cali MtTimers
movlw d'l!
movwf motl
movlw d'l1
mot2
movlw b'110011001
movwf rO
movlw b'11001100'
rl
movlw b'llllllir
movwf bandera2
retardo
enmle
encerar
enm2e
encerar
finen
mlencerado
clrf
clrf
bcf
goto
motla
PORTA
enmle
pfen
m2 encerado
clrf
clrf
bcf
goto
mot2a
PORTE
enrn2e
pfen
finen
bcf
bcf
bcf
clrf
clrf
clrf
clrf
bcf
bcf
enmle
enm2e
ene
motla
mot2a
PORTA
PORTE
mme
resex
btfsc
goto
btfss
goto
cali
goto
resex
sires
mme
loop
motores
loop
movfvv
movwf
movfw
movwf
btfss
goto
cali
cali
motl
rlO
mot2
rll
mme
finmot
ponerl
mi
sires
bsf
bsf
bsf
cali
ene
loop
enmle
enm2e
poner
encerar
bsf
bsf
btfss
goto
btfsc
goto
movlw
movwf
bsf
bsf
cali
mmlh
mrn2h
enmle
mrnmm2
PORTAD
mlencerado
d'21
rnotl
mme
motores
mm
mmle
mi
Freddy R. Pérez J.
2
MCRO2.ASM
cali
cali
golo
nr2
poner
mm
mi
movfw
andlw
movwf
movfw
andlw
iorwf
movwf
PORTA
b'll 110000'
tempor
rO
b'OOOOllll'
ternpor}0
PORTA
mlO
movfw
andlw
movwf
movfw
andlw
iorwf
movwf
cali
return
PORTE
b'OOOOllll 1
tempor
m!2
rl
mil
poner
m2
b'11110000'
tempor^O
PORTO
retardo
rn!3
PORTA
b'11110000'
tempor
rO
b'OOOOllir
tempor,0
PORTA
PORTE
b'OOOOllll'
tempor
rl
b'111100001
tenipor,0
movwf PORTE
return
bcf
bcf
btfss
bcf
return
movmlh
btfss
goto
goto
hora
uno
cero
tres
mmle
motl,l
mlO
mil
movmlh
btfss
ram2e
retum
decfsz mot2,l
goto
m!2
goto
m!3
cali
movm2h
retum
btfss
bcf
return
ponerml
movfw
andlw
movwf
movfw
andlw
iorwf
movwf
retara
ponerm2I
movfw
andlw
movwf
movfw
andlw
blfss
return
decfsz
goto
goto
cali
return
mmle
mm2e
mane
mm2e
mmle
mine
mmlh
hora
antihora
btfsc
goto
goto
bsf
goto
bcf
rrf
cali
return
rO,0
uno
cero
STATUS,C
tres
STATUS,C
rO,l
incmla
btfsc
goto
goto
bsf
goto
bcf
rlf
cali
return
rO,7
unol
cerol
STATUS,C
tresl
STATUS,C
rO,l
decmla
btfss
goto
goto
mm2h
hora2
antihora2
btfsc
rl,0
antihora
ponerl
movfw
andlw
movwf
movfw
andlw
ior^í
movwf
PORTA
b'111100001
tempor
rO
b'OOOOllll'
tempor,0
PORTA
movfw
andlw
movwf
movíw
andlw
iorwf
movwf
return
PORTE
b'OOOOllll 1
tempor
rl
b'11110000'
tempor?0
PORTE
unol
cerol
tresl
hora2
Freddy R. Pérez J.
MTCRO2.ASM
uno2
cero2
tres2
goto
goto
bsf
goto
bcf
rrf
cali
retum
uno2
cero2
STATUS,C
tres2
STATUS,C
rl,l
incm2a
decm2a
ig4
antiliora2
btfsc
goto
goto
uno3 bsf
goto
cero3 bcf
tres3
rlf
cali
return
rl,7
uno3
cero3
STATÜS,C
tres3
STATUS,C
decf
movhv
xor^f
btfsc
goto
return
movlw
nxmvf
return
mot2a,l
d'255'
mot2a,0
STATUS,2
ig4
movlw
movwf
movlw
movwf
decfsz
d'120'
el
d'321
c2
cl;F
retardo
rl.l
decm2a
d'199'
mot2a
sal
finmot
cali
cali
clrf
clrf
bcf
return
retardo
poner
PORTA
PORTB
mme
incmla
niotla,!
incf
movlw d'2001
motl^O
btfsc
STATUS,2
goto
ig
return
movlw d'O'
movwf motla
return
incm2a
d'O1
mot2a
decmla
decf
rnotla,!
movlw d'255T
motla,0
btfsc
STATUS,2
goto
return
movlw
movwf
return
Fredd)' R. Pérez J.
return
retardofrec
movlw
mo^vf
movlw
mov^vf
salfirec decfsz
goto
decfsz
goto
return
d'120'
c5
h'7'
c6
c5,F
salfrec
c6,F
salfrec
InitPorts
bsf STATUS,KPO
movlw b'000100001
movwf TRISA
movlw b'OOOOOOll 1
mov\vf TRISB
bcf STATUS,RPO
clrf PORTA
clrf PORTB
movlw h'3'
movwf PCLATH
return
InitTimers
bsf STATUS.RPO
movlw B'lOOOOlll 1
moAr\A'f OptionReg
bcf STATUS?RPO
movlw B' 10010000'
mov\vf INTCON
retfie
;Atención a interrupciones
INTERUP
MICRO2.ASM
btfsc
goto
btfsc
goto
retfíe
bcf
bsf
goto
frec,0
STATUS,2
freccero
h'21
PCLATH
frec
frectabla
tiempo
TMRO
h'31
PCLATH
frec
regtabla
regfd
regf
INTCON/rOIF
INTCON;TOIE
finpreg
bcf
bcf
goto
INTCONfTOIF
rNTCONsTOIE
finpreg
bcf
bcf
INTCON,TOIF
INTCON,TOIE
movfw
xorwf
btfsc
goto
movfw
subwf
btfss
goto
goto
motlr
rnotla,0
STATUS,2
finpreg
motlr
motla,0
STATUS,0
mayorml
menorml
xorwf
btfsc
goto
movlw
movwf
movfw
cali
INTCON,INTF
externa
INTCON,TOIF
genfrec
externa
movwf wserial
clrf
buffer
cali
RXjserie
movfw buffer
movwf tempo
movlw d'2401
xorwf tempOjO
btfsc
STATUS,2
goto
contüiuarreci
goto
finpreg
movlw
movwf
movfw
cali
movwf
continuarreci
frecceroI
cali
movwf
cali
movwf
cali
movwf
cali
movwf
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
movlw
xorwf
btfsc
goto
goto
iiüciara4
frec
iniciara4
mot2r
iniciara4
motlr
miciara4
tipo
d'2011
tipo.O
STATUS.2
casof
d'2021
tiposO
STATUS,2
casom2
d'2031
tipo,0
STATÜS.2
casoml
d'204T
tipo,0
STATUSS2
casopul
d'205!
tipo,0
STATUS,2
casoence
finpreg
bsf
cali
bcf
bcf
bcf
goto
pulso
retardofrec
pulso
INTCON?TOIF
1KTCON,TOIE
fínpreg
casoml
pregral
mayorml
movfw motla
subwf motlr,0
movwf templ
movlw
subwf
btfss
goto
goto
d'1001
templ?0
STATUS,0
men
may
may
casopul
casof
movlw d'O1
Fredd}' R. Pérez J.
movlw d'2001
temp2
templ
subwf temp2,0
addlw d'l1
moArurf motl
bsf
mmlh
bsf
mme
bsf
mmle
MICRO2.ASM
goto
fínpreg
mayorm2
raen
movfw templ
addlw d'l'
niovwf motl
bcf
mmlh
mme
bsf
mmle
bsf
goto
fínpreg
v
subwf
movwf
movlw
subwf
btfss
goto
goto
mot2a
mot2rI0
temp3
d'100'
temp3,0
STATUS50
men3
ma)'3
movlw
movwf
movfw
subwf
addlw
rnovwf
bsf
bsf
bsf
goto
d'2001
temp4
íempS
temp4,0
d'l1
mot2
mm2h
mme
mm2e
fínpreg
movfw
addlw
mo'S'wf
bcf
bsf
bsf
goto
tempS
d'l1
niot2
mm7h
mme
mm2e
fínpreg
may3
menonnl
movfw
subwf
movwf
movlw
subwf
btfss
goto
goto
mayl
movlw
motlr
motla?0
templ
d'1001
templ,0
STATUS,0
menl
mayl
d'200'
temp2
movfw templ
subwf temp2,0
addlw d'l'
movwf motl
bcf
mmlh
bsf
mme
bsf
mmle
goto
fínpreg
menl
movfw templ
addlw d'l'
movwf motl
mmlh
bsf
bsf
mme
bsf
mmle
goto
fínpreg
men3
menorm2
movfw
subwf
movwf
movlw
subwf
btfss
goto
goto
mot2r
mot2a,0
temp4
d'1001
temp4,0
STATUS?0
men4
ma)4
fínpreg
bcf
INTCON.INIF
movfw wserial
retfíe
movlw d'200T
temp3
temp4
subwf temp3?0
addlw d'l1
mot2
bcf
mm2h
bsf
mine
bsf
mm2e
goto
fínpreg
casom2
bcf
bcf
INTCON5TOIF
INTCON/TOIE
movfw
xorwf
btfsc
goto
movfw
subwf
btfss
goto
goto
mot2r
mot2a,0
STATUS,2
finpreg
mot2r
mot2a,0
STATUS,0
mayorm2
menorm2
pregm2
Fredd}f R. Pérez J.
men4
addlw
mo^Af
bsf
bsf
bsf
temp4
dT
mot2
mm2h
mme
mm2e
MICR02.ASM
goto
casoence
bsf
bcf
bcf
goto
iniciara4
bcf
esp
btfss
goto
cali
movfw
retum
fínpreg
resex
INTCON,TOIF
INTCON,TOIE
fínpreg
INTCON,INTF
INTCON,INTF
esp
RX_serie
buffer
sigueserial
rrf
skpc
goto
;enviolserie
bsf
cali
goto
bufferout;F
eavioOserie
TXserie
retardo2
TXserial
envioOserie
bcf
cali
goto
TXserie
retardo2
TXserial
rrf
bsf
cali
return
bufferoutjF
Txserie
retardo2
movlw
movwf
movlw
movwf
decfsz
goto
decfsz
goto
return
d'181
c3
d'21
c4
c3,l
reta2
c4,l
reta2
fínserial
genfrec
movwf
bcf
bsf
decfsz
goto
goto
wpulso
INTCON;TOIF
INTCON,Gffi
regfd,!
cont
ence
retardo2
cont
bcf
INTCON/TOIF
bsf
USÍTCON/TOIE
movfw wpulso
retfie
reta2
bsf
cali
bcf
movíw
movwf
movfw
movwf
bcf
bsf
movfu7
retfie
retardo 1
movlw d'135l
mov^vf c3
movlw d'l1
movwf c4
retal
decfsz c33l
goto
retal
decfsz c4;l
goto
retal
return
;Recepción serial
RX_serie
movlw d'91
movwf contador
explora 1
cali
retardo 1
btfsc
RXserie
return
ence
pulso
retardofrec
pulso
tiempo
TMRO
regf
regfd
INTCON/TOIF
INTCON,TOIE
wpulso
¡Transmisión serial
SERIAL RUT
bsf
cali
bcf
movlw
movwf
cali
TXserie
retardo2
TXserie
d'91
contador
retardo2
TXserial
decfsz
goto
goto
contador,F
sigueserial
fínserial
Fredd}' R. Pérez J.
nextbit
cali
RXserial
decfsz
goto
goto
retardo2
contador?F
sigueRX
finRX
MICRO2.ASM
sigueRX
setc
btfss
clrc
rrf
goto
RXserie
burTer?F
nextbit
fínRX
btfss
bsf
return
RXserie
banderado
;Tabla para cargarse en el registro del TIMER
org
234
frectabla
addwf PCL,F
reüw d'1251 ;0
reüw d'1251 ;.l
reüw d'2001 ;.2
;.3
reüw d'541
retlw d'237 ;.4
rethv d'1431 ;.5
reüw d'1651
reüw d'71'
rethv d'O'
rethv d'31'
retlw d'209' ;1
rethv d'52T
retlw d'921
retlw d'86'
retiw d'451
retlw d'2311
rethv d'1381
retlw d'251
retlw d'1531
rethv d'll'
retiw d'114' ;2
reüw d'207
retiw d'35'
rethv d'113'
reüw d'183!
retlw d'249'
retiw d'53'
rethv d'1081
retiw d'1601
rethv d'2081
retlw d'253! ;3
retlw d'3 9'
retiw d'78'
reüw d'115'
retlw d'1501
rethv d'183!
retiw d'214'
retiw d'243'
retlw d'151
retiw d'411
;4
rethv d'66'
rethv d'901
rethv d'1131
rethv d'1351
Fredd3r R. Pérez J.
retiw
reüw
reüw
retlw
retlw
retlw
retlw
retlw
retlw
reüw
reüw
retlw
reüw
reüw
retiw
retiw
retiw
reüw
reüw
reüw
retlw
retlw
retlw
retlw
retiw
retiw
retlw
retlw
retlw
retiw
retiw
reüw
retlw
reüw
retiw
retiw
reüw
retlw
reüw
reüw
retiw
retlw
reüw
rethv
retlw
reüw
retiw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retiw
reüw
retiw
reüw
retlw
d'1551
d'1751
d'194!
d'212'
d'229'
d'246'
d'6!
d'21'
d'361
d'50'
d'64'
d'771
d'89'
d'102'
d'114'
d'125T
d'1361
d'147
d'157'
d'167*
d'177
d'1861
d'1951
d'204'
d'2131
d'221'
d'229'
d'237
d'244'
d'2521
d'3'
d'101
d'171
d'241
d'30!
d'37
d'43'
d'49'
d'551
d'60'
d'66'
d'711
d'771
d'82T
d'871
d'921
d'97
d'102'
d'106'
d'lll1
d'1151
d'120T
d'1241
d'1281
d'1321
d'1361
d'1401
d'1441
d'1481
d'1521
MICRO2.ASM
rethv
retlw
rethv
rethv
rethv
rethv
retlw
retlw
rethv
retlw
retlw
rethv
rethv
rethv
retlw
rethv
retlw
retlw
rethv
rethv
rethv
retlw
rethv
retlw
retlw
retlw
retiw
retlw
retlw
retlw
rethv
retlw
rethv
reílw
rethv
retlw
retlw
rethv
rethv
rethv
retlw
retlw
retlw
rethv
retlw
rethv
rethv
retlw
retlw
rethv
retlw
retlw
retlw
retlw
retlw
retlw
rethv
rethv
retlw
retlw
d'155!
d'1591
d'163!
d'166T
d'169'
d'1731
d'1761
d'1791
d'182'
d'1851
d'1881
d'1911
d'1941
d'197'
d'2001
d'203'
d'206'
d'208!
d'211!
d'2131
d'216'
d'2191
d'2211
d'2231
d'226!
d'2281
d'2311
d'2331
d'235T
d'237!
d'2401
d'2421
d'2441
d'246'
d'2481
d'2501
d'252'
d'254!
d'O'
d'2T
d'41
d'61
d'7
d'9'
d'll1
d'13!
d'151
d'16'
d'18'
d'201
d'211
d'231
d'25'
d'261
d'28!
d'291
d'311
d'321
d'34'
d'35'
Freddy R. Pérez J.
retlw
rethv
rethv
rethv
retlw
retlw
rethv
retlw
rethv
rethv
retlw
rethv
retlw
retlw
retlw
rethv
retlw
rethv
retlw
retlw
rethv
rethv
retlw
retlw
retlw
retlw
rethv
rethv
retlw
retlw
rethv
rethv
retlw
retlw
retlw
retlw
retlw
d'371
d'38!
d'40'
d'411
d'431
d'441
d'45'
d'47!
d'48'
d'49'
d'51!
d'521
d'531
d'54'
d'56!
d'57'
d'58'
d'591
d'601
d'621
d'631
d'64'
d'651
d'66'
d'671
d'681
d'69f
d'71'
d'72!
d'731
d'741
d'751
d'76!
d'771
d'781
d'79'
d'801
;20
;Tabla para cargarse en el registro adicional
;para generación de rrecuencia de disparo
org
300
regtábla
addwf PCL5F
rethv
d'1531 ;0
d'153!
retlw
rethv
d'771
rethv
d'511
retlw
d'391
rethv
d'311
d'26'
rethv
d'22!
retlw
retlw
d'191
rethv
d'lTrethv
d'16'
;1
d'14!
retlw
d'131
retlw
rethv
d'121
d'll1
retlw
retlw
d'll 1
d'10'
rethv
MICRO2.ASM
^^^^
^ ^ ^ ^ ^ ^ ^ ^ ^
r
r
t
O
u
Descargar