Control de Movimiento y Posicionado para la Cúpula del Telescopio

Anuncio
Control de Movimiento y Posicionado para la Cúpula del
Telescopio de 0.84m, Versión 1.0 Ethernet
F. Lazo-Valencia
S. Zazueta-Rubio
F. Murillo-Bracamontes
J. L. Ochoa-Abundis
J.M. Murillo Cárdenas
Índice
1. Introducción………………………………….……….……........
1
2. Antecedentes…………………………..………….…………..……
1
3. Situación Problemática……………………………..…….………
2
4. Objetivo………………………………………………..…..….....…
3
5. Descripción del Sistema……..…………………..……….…..…
3
6. Programa de Control………………………………..…….………
4
7. Descripción del Algoritmo de Movimiento…………..........…
4
8. Pruebas y Resultados……………………..…………..……….…
5
9. Conclusiones………………………………………….…….………
5
10. Referencias…………………………………………………………
6
Apéndice A. Protocolo de Comunicación………………………….
7
Apéndice B. Diagrama Eléctrico de la Tarjeta Madre Interfaz
del Sistema de Control de Posición de la
cúpula……..………………………………………..…
Apéndice C. Diagrama de las Mascarillas de la Tarjeta Madre
Interfaz del Sistema de Control de Posición de
la cúpula………………………………………….……
8
9
ii
1. Introducción
El objetivo de este trabajo es dar una descripción del control del
control de movimiento y posicionado de la cúpula, así como también una
descripción de la evolución que ha tenido la automatización de está;
primeramente se da una serie de antecedentes, la situación de la cúpula y
forma de resolverla, después se presentan los resultados y por último las
conclusiones.
2. Antecedentes
En el año de 1972 se terminó la instalación del telescopio de 0.84m e
inicio la operación de éste. El edificio donde está el telescopio cuenta con una
cúpula que tiene un diámetro interior igual a 7.48 m., una altura de 5.70 m.
y una ventana de 2.31 m. de ancho (figura 1, figura 2). La cúpula está
soportada por rodamientos y montada sobre un redondel de madera. Para
realizar el giro de la cúpula se le acoplaron un par de motores, a 180 grados
uno del otro, a través de transmisiones; los motores utilizados fueron de
0.25 Hp cada uno alimentado con 120 VAC y para activar el movimiento de
giro se le instaló una paleta. Cuando se realizó esta instalación no se pensó
que la cúpula se moviera en forma automática, debido a que se contaba con
un asistente de cúpula, quien se encargaba de moverla a la posición donde
estaba apuntando el telescopio, manteniendo así al telescopio dentro de la
ventana de observación.
Posteriormente surgió la necesidad de mover la cúpula de manera
automática, entonces se planteó realizar un control automático de
movimiento empleando un microcontrolador, que se pudiera comunicar a una
PC a través de RS-232, y que recibiera las órdenes de posicionado desde la
interfaz de usuario de la consola del telescopio. Este nuevo diseño, debería
contar con una rampa de aceleración hasta llegar a la velocidad de calaje de
la cúpula y de desaceleración hasta llegar al punto de reposo; esto debido a
que en el esquema de movimiento anterior, el mecanismo de acoplamiento
entre el motor y la cúpula periódicamente se dañaba, porque las
aceleraciones, al momento de iniciar el movimiento de la cúpula, eran muy
bruscas y además no estaba coordinado el movimiento de los motores al
arranque; también se propuso instalar un codificador absoluto para conocer
siempre la posición de la cúpula, ante todo esto, se diseño y realizó el control
de la cúpula el cual se denominó “Control de movimiento y posicionado del
domo del telescopio de 0.84 m”, [1]
1
Fig. 1 Cúpula y telescopio de 0.84m
Fig. 2 Cúpula del telescopio de 0.84m
3. Situación Problemática
El control realizado funcionó de forma satisfactoria, pero
posteriormente encontramos que existía otro problema mecánico; el
acoplamiento entre el codificador de posición absoluta y la cremallera donde
gira la cúpula se perdía momentánea y aleatoriamente, esto, debido a
atorones bruscos al momento de iniciar el movimiento o en velocidad de
calaje de la cúpula, ocasionando que se fuera perdiendo la posición de la
cúpula con el paso del tiempo; y dado que ya solamente existía un solo
motor con su transmisión, y que al no estar bien alineado, la cúpula
presentaba los atorones; perdiéndose la posición de la cúpula con el paso del
tiempo, y por lo tanto se tenía que ajustar la posición de la cúpula
periódicamente para que la ventana de ésta estuviera a donde apunta el
telescopio en operación.
Para resolver este problema, la solución que se le dio fue utilizar un
codificador de posición relativa, para actualizar la posición de la cúpula cada
vez que ésta tocara un interruptor, evitando así, que ésta perdiera su
posición con el paso del tiempo.
Una característica importante que se debe tener en cuenta para el
programa de control, es que, dada la forma de acoplamiento entre el
codificador de posición y la cúpula, el codificador cuenta positivo cuando el
giro es contrario a las manecillas del reloj.
Con el advenimiento de nueva tecnología, se pensó en el diseño y
construcción de un nuevo control de movimiento para esta cúpula, utilizando
un nuevo microcontrolador, más poderoso que el anterior, que fuera sencillo,
robusto, confiable y que contara con comunicación Ethernet. Se decidió
utilizar un módulo microcontrolador RCM3700 [2], que cuenta con un sistema
operativo cooperativo multitareas, puertos de entrada/salida configurables,
comunicación Ethernet y la programación de éste en leguaje C.
2
4. Objetivo
Diseñar y construir un nuevo sistema de movimiento y posicionado
para la cúpula del telescopio de 0.84m, con un error máximo de 0.5 grados
en el posicionado empleando comunicación Ethernet.
5. Descripción del Sistema
En base a las especificaciones antes mencionadas se diseñó y
construyó un nuevo sistema de control para el movimiento y posicionado de
la cúpula del telescopio de 0.84 m., El control está compuesto por una mini
computadora dedicada, i. e. , un microcontrolador del tipo “RabbitCore
RCM3700 C-Programmable Core Module with Ethernet” (figura 3) [2], con los
programas de control implementados en lenguaje C, una tarjeta madre
interfaz que alberga al microntrolador, un codificador de posición relativa de
500 pulsos por revolución tipo TRD-NH500-RZWD [3], un manejador de
potencia para el giro del motor, 125 series Variable Speed CD Control [4] y
relevadores que proporcionan el sentido de giro de la cúpula (figura 4).
Fig. 3 Módulo Microcontrolador
RCM3700.
Fig. 4 Diagrama a bloques del
control de la cúpula.
El módulo RCM3700 cuenta con memoria RAM y EEPROM donde se
ejecutan y alojan las rutinas del programa de control; el módulo se conecta a
la tarjeta madre, a través de un conector de 40 terminales.
Desde una interfaz de utilería en Linux o desde la interfaz de usuario
de la consola del telescopio es posible mover a la cúpula a la posición
deseada. En operación normal, se utiliza la interfaz de usuario para mover al
telescopio y al mismo tiempo, la interfaz, envía la posición en grados al
control de movimiento de la cúpula para que la ventana esté al centro a
donde apunta el telescopio.
La tarjeta madre interfaz se encarga de adecuar las señales de
entrada/salida del microcontrolador: hacia el manejador de potencia del
3
motor, a los relevadores, al codificador de posición al interruptor que indica
el origen de la cúpula, etc.
El programa de control está montado en un kernel multitareas y se
encarga de mover y posicionar a la cúpula a la posición proporcionada en
grados, de 0 a 360, de girar en el sentido más corto para llegar a la posición
indicada, buscar el origen, actualizar la posición cada vez que pasa por un
interruptor y de atender el protocolo de la comunicación a través de
Ethernet.
6. Programa de Control
El programa está compuesto por una serie de rutinas como son:
atender mensajes, mover la cúpula a la posición deseada, observar si se
presionó el interruptor que actualiza la posición, observar si la cuenta es
mayor o menor de 360 grados para empezar a incrementar o a decrementar
la posición, enviar mensaje de error si la cúpula no se movió cuando se le
mandó a una posición, cancelar todo movimiento si se recibió la orden de
cancelación o de detener la cúpula, por alguna causa externa, cuando está en
movimiento , etc.
Estas rutinas se comunican entre ellas a través de banderas, para
evitar que el control se quede un lazo infinito, el programa está en un
ambiente multitareas, es decir, las rutinas son atendidas en una rebanada de
tiempo de dos milisegundos aproximadamente. El proceso de atención a las
rutinas es el siguiente; el sistema operativo va a la primer rutina, y de una
tabla toma el estado de donde ésta se había quedado, ejecuta instrucciones
durante su rebanada de tiempo, posteriormente gurda su estado en la misma
tabla y continúa con la siguiente rutina haciendo lo mismo que con la
anterior, este proceso se repite hasta volver a atender a la primera rutina
Si la rutina que se está atendiendo no tiene nada que hacer, ésta cede
su tiempo para que se ejecute la siguiente rutina, esto ocasiona que las
rutinas sean atendidas más rápidamente. El sistema es de tiempo real
porque se ejecutan acciones de control entre cada evento del proceso que se
está observando, en este caso el movimiento y posicionado de la cúpula.
7.- Descripción del Algoritmo de Movimiento
Para cualquier movimiento, se manda girara la cúpula hasta que el
error sea menor o igual a 3 pulsos del codificador, después se deshabilita el
movimiento, este número de pulsos equivale a un error de posición de
0.54°, equivalente a 3 cm de error. El valor de 3 pulsos se determinó así
para tener un error de medio grado.
4
El perímetro, p = d * Pi; si: d=7.48 & Pi=3.14 entonces el perímetro
es igual a 23.499
8. Pruebas y Resultados
Se determinó el número máximo de pulsos proporcionado por la
cúpula en una revolución completa, para ello se le hizo girar 3 veces en un
sentido y otras 3 en sentido contrario, obteniendo un valor de 2000 p/rev.
Entonces 360° = 2000 pulsos del codificador, 1° = 5.55 pulsos, el diámetro
de la cúpula es d = 7.48m
Se envío a la cúpula a diferentes posiciones desde diferentes puntos,
encontrándose un error de posicionado de 0.52 grados en cualquier sentido
equivalente a 3.52 cm.
Se verificó que cada vez que la cúpula tocaba el interruptor de
actualiza posición ésta se actualizara, evitando así la perdida de la posición
con el paso del tiempo, se probaron tanto las rutinas de comunicación así
como todos los mandos del protocolo de comunicación (apéndice A).
Desde la consola de usuario se apuntó el telescopio a diferentes
posiciones, y simultáneamente se mandó a posicionar a la cúpula a la
posición del telescopio. El telescopio siempre quedó dentro de la ventana de
observación de la cúpula.
Se mando mover a la cúpula a diferentes posiciones, y siempre siguió
la trayectoria más corta.
Se hicieron pruebas para verificar que la cúpula no se moviera
aleatoriamente al momento de encender o apagar el sistema.
9. Conclusiones
El control de movimiento y posicionado de la cúpula, realizado, cumple
con las especificaciones indicadas en el objetivo planteado; este nuevo
control es robusto, sencillo, confiable y de bajo costo, se le realizaron las
pruebas de funcionamiento y de depuración hasta llegar al punto óptimo de
su operación.
5
10. Referencias
[1]
F. Lazo, S. Zazueta, G. Sierra. Reporte técnico RT-2004-28 Control de
movimiento y posicionado del domo del telescopio de 84cm.
Publicaciones Técnicas del Instituto de Astronomía, UNAM, 2004.
[2]
Rabbit Core RCM3700, C-Programmable Core Module with
Ethernet User’s Manual019–0136 • 030910–A
http://www.rabbit.com/redirect.jsp
[3]
TRD-NH500-RZWD Encoder, incremental, 50mm diameter body, 500
pulses
per
revolution,
5-30
VDC,
push-pull
output,
http://www.automationdirect.com/static/specs/encodermd.pdf
[4]
125 Series Variable Speed DC Control, This 125 Series is a compact,
cost efficient, reliable control for PM, shunt wound, and universal
motors that incorporates up - to date design and engineering into a
compact package. www.dartcontrols.com
6
Apéndice A.
Protocolo de Comunicación
Dirección
192.168.0.109
:P;
:G;
:O;
:J+;
:J-;
:S;
:R;
:Mxxx;
:Cxxx;
Puerto 4545
:PRxxx;
":?PR:"
:ZMxxx;
":?ZM:"
:TAxxx;
":?TA:"
Proporciona la posición en pulsos.
Proporciona la posición en grados.
Gira el domo a la derecha hasta encontrar el origen.
Gira el domo a la derecha.
Gira el domo a la izquierda.
Para el movimiento del domo.
Inicializa completamente el sistema de control.
Mueve a una posición ( de 0 a 360 grados), xxx = posición
Pone el contador del codificador en la posición indicada por xxx
El valor es en grados de 0 a 360.
Pulsos por revolución.
Regresa el numero de Pulsos por Revolución.
Zona Muerta.
Regresa el valor de la Zona Muerta.
Tiempo de Arranque
Regresa el valor del Tiempo de Arranque.
Ejemplos,
:J-;
Gira a la izquierda hasta que recibe el mando :S;
:O;
Gira a la derecha, y cuando llega pone el contador de posición
en cero.
7
Apéndice B.
Diagrama Eléctrico de la Tarjeta Madre Interfaz del
Sistema de Control de Posición de la cúpula
1.- Diagrama eléctrico
8
Apéndice C.
Diagrama de las Mascarillas de la Tarjeta Madre
Interfaz del Sistema de Control de la Cúpula
2.- Mascarilla de impreso PCB, lado soldadura
3.- Mascarilla de impreso PCB, lado componentes.
9
Descargar