17
Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Informática Electrónica Trabajo Práctico Final: Motorización de montura ecuatorial alemana Autores: Nombre y Apellido Nº de Legajo Renzo Morzán M-5822/1 Nicolás Francisco Rigalli R-3695/1

Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Universidad Nacional de Rosario

Facultad de Ciencias Exactas, Ingeniería y Agrimensura

Escuela de Ingeniería Electrónica

Informática Electrónica

Trabajo Práctico Final:Motorización de montura ecuatorial

alemana

Autores:

Nombre y Apellido Nº de LegajoRenzo Morzán M-5822/1Nicolás Francisco Rigalli R-3695/1

Page 2: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

IndiceIntroduccion..........................................................................................................................................3Objetivos...............................................................................................................................................3Breve descripción de la montura ecuatorial alemana...........................................................................3Motorización de la montura..................................................................................................................5

Elección de los motores...................................................................................................................5Control de motores paso a paso.......................................................................................................6Transmisión......................................................................................................................................8Mecánica de Seguimiento y Traslación...........................................................................................9

Implementación de la solución...........................................................................................................11Elección del microcontrolador.......................................................................................................11Elección del Entorno de Desarrollo...............................................................................................12Funcionamiento del programa.......................................................................................................12Rutina de decodificacion de comandos.........................................................................................13Configuracion de Timers y manejo de salidas...............................................................................13Calculos de timers para efectuar la operación de seguimiento......................................................14Funciones implementadas para el control de motores...................................................................15

Mejoras propuestas.............................................................................................................................16Bibliografía.........................................................................................................................................17

2

Page 3: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

IntroducciónEn el presente trabajo se describe el diseño e implementación de un sistema de control de posiciónpara una montura de telescopio de tipo ecuatorial.La motivación surge de la posibilidad de aprovechar los conocimientos adquiridos a lo largo de laasignatura para la mejora de las prestaciones del conjunto montura y telescopio de uno de losintegrantes del equipo.

ObjetivosSe pretende diseñar e implementar un sistema microcontrolado que debe desempeñar las siguientesfunciones:

• Comunicarse con una PC, desde la cual se comanda el movimiento del telescopio.• Generar como salidas, las señales de control digitales que configuran al driver y este dirige

el movimiento de los motores.Como se vera en el desarrollo del trabajo, el primer punto se logra mediante una comunicación USBdonde el microcontrolador se comporta como un un USB communication device class (USB CDC),aprovechando el modulo implementado en el microcontrolador para tal fin.Para el segundo punto, se emplean puertos GPIO, gobernados por la lógica del programadesarrollado.

Breve descripción de la montura ecuatorial alemana

Antes de comenzar con la electrónica y la programación, el susbistema mecánico (montura,motores, y transmisión) deben operar correctamente y cumplir ciertos requisitos que se explican acontinuación.

Todo telescopio debe ir provisto de un mecanismo que permita articular el tubo para dirigirlo acualquier punto de la bóveda celeste. La montura es la parte mecánica del telescopio cuya funciónconsiste en permitir la orientación y posterior seguimiento del objeto observado.

Puesto que la Tierra gira sobre sí misma en el espacio, la montura tiene la función de compensareste movimiento de rotación, para conseguir que el objeto celeste observado permanezca en elcampo visual del telescopio.

Mientras mas rígida y estable sea la montura, menos afectado se vera el telescopio por vibraciones yviento, permitiendo obtenermejores imágenes, sobre todoimágenes de larga exposición, ysacar mejor provecho al sistema.

Existen diferentes tipos demonturas, aquí se trabaja sobreuna montura alemana ecuatorial.

La principal ventaja de la monturaecuatorial es su capacidad decompensar el movimiento de

3

Figura 1: Montura Ecuatorial Alemana. Marca: SkyWatcher, modelo: NEQ5. El telescopio se ubica anclado a la parte superiorde la misma. Sobre esta montura se opera en el presente trabajo.

Page 4: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

rotación terrestre, consiguiendo que los objetos observados permanezcan en el campo visual deltelescopio. Posee los siguientes ejes de giro:

• El eje de acimut, o movimiento horizontal de la base, permite que el telescopio pueda

girarse 360º. Este movimiento en acimut se usa para colocar el telescopio en dirección alpolo Norte celeste.

• El eje de altitud permite el movimiento vertical del telescopio para situarlo desde la

horizontal hasta 90º. Este ajuste se utiliza para alinear la montura sobre el polo celeste; elángulo formado por la montura y el polo celeste es igual a su latitud del lugar deobservación.

Estos dos primeros ejes mencionados se ajustan antes de realizar la observación ypermanecen fijos durante la misma. Estando correctamente ajustados, se dice que elconjunto montura-telescopio “esta en estación” o que “esta alineado”.

• El eje de giro principal recibe el nombre de eje de ascensión recta , eje horario o eje polar.

Este debe ser colocado paralelo al eje de giro de la Tierra y, posteriormente, orientado haciael polo norte celeste.

Haciendo girar el telescopio sobre este eje y a una velocidad constante que compense el movimiento de rotación terrestre, mantendremos el objeto en el campo visual constantemente. Esto es valido solo si el conjunto montura-telescopio esta “en estación”.

• El eje de declinación gira en un plano normal al del eje de ascensión recta. Este movimiento

es el que permite el ajuste vertical y sigue las líneas verticales dibujadas en los mapascelestes. Permite que el telescopio se mueva hacia arriba o hacia abajo en el cielo y permitelocalizar cualquier estrella hacia el norte o el sur.

Los sistemas ecuatoriales son imprescindibles para realizar astrofotografía, ya que se necesitantiempos de exposiciones generalmente largos y, al mismo tiempo, un seguimiento sumamentepreciso.

4

Figura 2: Ejes de giro de una montura ecuatorial

Page 5: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Motorización de la monturaLa sección anterior describe el funcionamiento de la montura ecuatorial, sin embargo para proseguircon las restantes explicaciones, simplemente se debe recordar que:

• La montura posee cuatro ejes, dos de los cuales se fijan una sola vez y no se vuelven a

mover (acimut y altitud);

• Una vez localizado un astro, para mantenerlo enfocado en el campo de visión, se debe rotar

el telescopio contrarrestando la velocidad de rotación de la tierra. Si el telescopio esta enestación (Ejes de acimut y eje de altitud correctamente ajustados), el seguimiento del astrose realiza girando solo el eje de ascensión recta.

• Los restantes dos ejes (ascensión recta y declinación) deben moverse ambos para desplazar

el campo de visión desde un astro a otro;

Por lo tanto, interesa motorizar solo los ejes de ascensión recta y declinación. Tal es así que lamontura proporciona acoples para motores solo para estos dos ejes.

Elección de los motoresLa elección del tipo de transmisión empleada, de los motores elegidos y de su forma de operaciónencuentran justificación a partir de los requerimientos astronómicos y mecánicos de la montura:

• Un seguimiento exitoso se logra cuando el astro observado aparenta permanecer “quieto” enel campo de visión del telescopio. Para lograr esto, el eje de ascensión recta debe poderavanzar con una resolución de segundos de arco.

• Resulta imperativo entonces poder contar con un control muy preciso del angulo girado porlos motores.

• El punto anterior puede lograrse mediante motores paso a paso o bien mediante motores decorriente continua, con motoreduccion y encoders para realimentación de posición.

Decidimos emplear motores paso a paso debido a que, con sus drivers correspondientes, se puedelograr un control muy preciso de la posición sin necesidad de realimentacion de la misma,facilitando la implementación. Ademas, los miembros del equipo ya poseen experiencia en elmanejo de estos motores, acortando los tiempos de desarrollo.

Ambosmotores

5

Figura 3: Etiqueta con características del motor elegido

Figura 4: Diagrama de conexión del motor paso motor elegido.

Page 6: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

paso a paso empleados poseen las siguientes características.• Corriente nominal: 1,7 A• Resistencia de fase: 1,8 Ohm• Inductancia de fase: 3,5 mH• Holding torque: 42 N.cm• Detent torque: 2,2 N.cm• Inercia del rotor: 68 g.cm2• Numero de cables: 4 (configuración bipolar)• Peso: 350 g.• 1,8 grados/ paso (200 pasos por vuelta).

Una elección rigurosa del motor debe incluir un calculo del torque requerido para mover eltelescopio en las condiciones mas desfavorables. Se realizaría con un modelo del sistema yaplicando la segunda Ley de Newton, para el movimiento rotacional, teniendo en cuenta la situaciónde máxima aceleración del telescopio, las fricciones mecánicas, y los momentos de inercia de todaslas partes en rotación.No realizamos ese calculo, nos basamos en el hecho de que hay gente que ha enfrentado tareassimilares y ha determinado que, con motores paso a paso NEMA 14 (en general no sobrepasan los32 N.cm de holding torque, del mismo fabricante que el que se utilizo aquí) es suficiente para estamontura.El motor aquí empleado es un NEMA 17 de 42 N.cm de holding torque, cumplimentandosobradamente este requisito. Este torque se logra para la corriente nominal que debe poder serprovista por la fuente. A continuación se observa una imagen de un motor, montado en su soporteconfeccionado a la medida.

Control de motores paso a pasoEl manejo de motores paso a paso constituye un campo de estudio en si mismo.El motor da los pasos energizando y desenergizando sus devanados según una secuencia y con undeterminado sentido de corriente que depende del modo en que este operando (paso completo,medio paso, o microstepping, en sentido horario o antihorario). Ademas, se debe ejercer un precisocontrol de corriente de los devanados. Frecuentemente se emplea un puente H por cada devanado,para poder invertir la corriente por el mismo a partir de una fuente simple. Los puentes soncomandados por la lógica de control , que podría ser efectuada en este trabajo por elmicrocontrolador, o bien por un circuito dedicado. Se eligió la segunda alternativa para abstraernosde la complejidad del manejo del motor.

6

Figura 5: Motor que impulsa el eje de declinación, montado en su soporte con el tornillo empleado para su ajuste contra la montura.

Page 7: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Para controlar los motores paso a paso se optó por las placas basadas en el integrado A4988popularmente conocido como Pololu. Tienen la particularidad de incorporar los dos puentes H(potencia) y la lógica de control en un solo encapsulado. Puede suministrar hasta 1A por fase sinrefrigeración y 2A con refrigeración por circulación forzada de aire. Permite microstepping hasta1/16 de paso y opera desde 8V a 35V en los bobinados del motor y de 3V a 5V en el circuito lógico.Todas las configuraciones se realizan a través de pines dedicados.

En la figura anterior se observa el diagrama típico de conexión para el A4988. Se distinguen laalimentación del motor (arriba a la derecha), alimentación de la lógica (arriba a la izquierda),resistencias de sensado de corriente conectadas a SENSE1 y SENSE2, para el ajuste de corrientepor los devanados, y las señales interfaz al microcontrolador:

• MS1, MS2 y MS3: Seleccionan el modo paso completo, medio paso, o microstepping(1/4, 1/8 o 1/16 de paso).

• STEP: Aplicando un pulso el motor da un paso, medio paso o micro paso, según sea el modo.

• DIR: Elección del sentido de giro.• ENABLE: Habilita la circulación de corriente por los devanados.

7

Figura 6: Placa driver de Motor paso a paso

Figura 7: Diagrama de conexión del driver para motores paso a paso.

Page 8: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Se manejan estas seis señales para cada motor, con lo cual se emplean doce GPIO para el manejo delos motores. RESET y SLEEP fueron conectados directamente a Vdd ya que su uso no fue imprescindible.

TransmisiónLa transmisión de movimiento desde el eje de un motor al eje de ascensión recta o Declinación, consta de dos etapas:

1_ Transmisión desde el eje de entrada a la montura al eje de salida.2_ Transmisión desde el eje del motor al eje de entrada a la montura.

El primer ítem queda definido por la construcción de la montura como viene de fabrica.

1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra lafigura. Una rotación del tornillo sobre su propio eje, provoca un desplazamiento angular de la ruedaen el angulo correspondiente n dientes, donde n es el numero de hélices presentes en el tornillo.En la montura empleada, se tiene un tornillo de una hélice y una rueda de 144 dientes, por lo cual lareducción es 1/144.Este tipo de transmisión tiene la interesante propiedad de que el tornillo puede fácilmente hacerrotar la rueda, pero la rueda no puede rotar el tornillo. En su lugar, la rueda ejerce una fuerzaprácticamente a lo largo del eje longitudinal del tornillo, fuerza contrarrestada por los cojinetes deleste último. Esto libera al motor de tener que soportar el torque de reacción del telescopio a travésde la transmisión.

2. La transmisión desde los ejes de los motores a los ejes de entrada a la montura, se realizo a travésdel mecanismo ruedas dentadas-correa dentada, por las propiedades mencionadas a continuación:

• Es el mecanismo que mas fácilmente se adapta a la geometría de la montura, teniendo en cuenta la ubicación de los motores y los ejes de entrada.

• Permite variar la relación de transmisión simplemente cambiando los números de dientes de las poleas conductora y conducida.

• Cumple el requisito fundamental en este trabajo, de no sufrir el fenómeno de resbalamiento (como en las correas no dentadas). Esto permite asegurar la relación de transmisión.

• Prácticamente no hay holgura en el engrane entre las poleas y la correa, evitando el fenómeno de “retroceso ” o “Backlash” presente por ejemplo en las ruedas dentadas.

8

Figura 8: Transmisión de tipo tornillo sin fin rueda helicoidal

Page 9: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Se decidió emplear una polea conductora (la del motor) de 16 dientes, y una polea conducida (la deentrada a la montura) de 48 dientes, logrando una relación de transmisión de 1/3. Esta fue la mejorsolución de compromiso entre la relación de transmisión deseada (no era exactamente 1/3) y ladisponibilidad de poleas dentadas. Las imágenes de los motores montados y la transmisión porpolea se ven a continuación:

Mecánica de Seguimiento y TraslaciónEl sistema provee al usuario dos funciones que producen movimiento de los motores, Tracking (Seguimiento) y GoTo (Traslación).

• Tracking: Una vez ubicado un astro en el ocular, el seguimiento consiste en rotar el eje de ascensión recta compensando exactamente la velocidad de rotación de la tierra. Esto permitemantener enfocado el astro (se supone que el astro no se mueve en la esfera celeste durante la observación, esta aproximación es válida para planetas y estrellas).

• GoTo: Esta función permite trasladar el punto enfocado por el telescopio a una coordenada

9

Figura 10: Se aprecia el sistema motriz del ejede ascensión recta. El mecanismo de ajuste y latransmisión son análogas al caso del eje dedeclinación.

Figura 9: Se observa el sistema motriz del eje dedeclinación. Consta de un motor paso a paso, fijo ala montura mediante un soporte confeccionado a lamedida. El motor se fija al soporte mediantetornillos Allen M3. El soporte se ajusta a la monturamediante tornillo y tuerca. El agujero pasante de lamontura permite cierto desplazamiento del soporteen la dirección vertical, para lograr la tensiónnecesaria en la correa.

Page 10: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

particular en la esfera celeste, a una velocidad arbitraria factible para el mecanismo.

Los motores, drivers, y transmisión por correa dentada fueron elegidos pensando en lograrefectivamente la función más crítica en cuanto a precisión del movimiento (Tracking). Se pretendióque un paso completo, por segundo, del motor paso a paso rotara el eje de ascensión recta justo a lavelocidad de rotación de la tierra o “velocidad sidérea”. De esa manera, empleando microsteppingpor 1/16, y realizando 16 microsteps por segundo, se lograra la velocidad sidérea con unmovimiento “suave” del telescopio. Esto no se logró exactamente, como se muestra en lossiguientes cálculos:

• Un giro completo de la tierra, en relación a una estrella fija, dura 23 horas, 56 minutos y 4 segundos.

23h∗3600seg

hora+56min∗60

segmin

+4 seg=86164 seg

• Un giro completo, en segundos:

360grad∗60arcmingrad

∗60arcsegarcmin

=1296000arcseg .

• Velocidad de rotación de la Tierra:1296000arcseg

86164 seg=15.04108444

arcsegseg

Entonces se desea que 1 paso→15.04108444arcseg en el eje de ascensión recta.

• Siendo el motor de 200 pasos por giro:

(1296000arcseggiro

)/ (200pasosgiro

)=6480arcsegpaso

Por lo tanto, se desea que 6480 arcseg en el eje del motor ----> 15.04108444 arcseg en el eje de ascensión recta.

• La reducción total desde el eje del motor al eje de ascensión recta debe ser:n=6480arcseg/15,04108444 arcseg=430,82

La reducción total comprende la reducción por la transmisión de polea (n1, incógnita) y la reducción por tornillo sin fin- rueda helicoidal (n2 = 144)

n=n1∗n2→ 430,80=n1∗144→n1=2,9918056

Se deduce entonces que la reducción n1 proporcionada por la transmisión a poleas y correasdentadas debe ser 2.9918056. Este valor debería ser igual al cociente entre los números de dientesde las poleas conducida/conductora. Es difícil de lograr para una cantidad de dientes del orden delas decenas. Adoptando 48 dientes / 16 dientes (disponibles comercialmente) se logra n1=3.

• Aceptando que n1=3, y realizando los cálculos inversos, se tiene que:1 paso del motor → 15 segundos de arco en el eje de ascensión recta (exactos)Por lo tanto , un microstep (1/16 de paso completo) produce una rotación de

10

Page 11: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

15/16 segundos de arco en el eje de ascensión recta.

• Para lograr la velocidad siderea se deben efectuar:15.04108444 / 15 =1.002738963 pasos completos por segundo del motor, o bien 1.002738963 * 16=16.0438234 microsteps por segundo (1/16).

Estos cálculos son importantes para configurar los valores hasta los cuales cuentan los módulos Timer, que se emplean para generar los pulsos de reloj para cada driver de los motores.

Implementación de la solución

Se abordó el diseño electrónico planteado realizando un esquema del sistema completo, enfatizandola comunicación entre los distintos dispositivos.

En primer lugar, se observa una comunicación bidireccional entre una PC y el microcontrolador.Dicha comunicación se implementa mendiante USB, comportándose este último como dispositivoUSB. Si bien los programas de Astronomía soportan puerto Serie, comúnmente RS232, el USBCDC en el estándar POSIX puede configurarse para que se comporte de la misma manera. Esto esútil ya que admite el uso de notebooks, lo cual es más adecuado a la tarea en campo. En segundo lugar, se observa un control unidireccional desde el microcontrolador hasta losmotores. Esto implica que no hay realimentación de posición desde los motores, como se vió en lasección Elección de los motores.

Elección del microcontrolador Para la realización del trabajo se optó por la placa de desarrollo TM4C123G de Texas Instruments(TI) cuyo microcontrolador es el TM4C123GH6PM, este microcontrolador de 32 bits dearquitectura ARM M4F brinda la posibilidad de que el dispositivo tenga conexión USB nativa a lacomputadora para la comunicación como un USB CDC. A su vez provee de timers que facilitan elmanejo de los motores paso a paso y paso.

11

Figura 11: Esquema del sistema completo.

Page 12: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Elección del Entorno de Desarrollo Para su programación existen varias opciones de desarrollo, uno de ellos es el IDE Energía quepermite programar C++ estándar con la posibilidad de incluir librerías Arduino y compila el códigousando gcc. Otro IDE existente es PlatformIO, que se encuentra centrado en el desarrollo dedispositivos para el Internet of Things. Otra opción es el IDE Code Composer Studio que es unflavor de Eclipse que permite utilizar el compilador de TI y el compilador gcc. Se optó por el IDECode Composer Studio. Este IDE, al estar basado en Eclipse, tiene las facilidades comoautocompletado de código y da la opción de depurar en el kit instrucción a instrucción proyectos ,tanto propios como proyectos desarrollados con el IDE Energía.Funcionamiento del programa El puerto USB nativo crea en la computadora una terminal virtual serie que es soportada por losprogramas actuales de astronomía. Para conectarse a estos programas el dispositivo debe implementar uno de los protocolos estándaren la comunicación de monturas Go-To. Se eligió el protocolo NexStar de Celestron cuyadocumentación lo describe como una comunicación serie en forma de oraciones, cada una con susintaxis particular que debe decodificar la montura, dar una respuesta adecuada y tomar las accionescorrespondientes. A su vez el microcontrolador dispone de timers configurables para el manejo de los motores. Para el programa se hace uso de las interrupciones de los timers y la interrupción de recepción depaquetes USB. En la interrupción de recepción de paquetes USB se chequea que se esté recibiendo un dato y enese caso se setea la bandera de dato recibido y se almacena el dato en un buffer. Los timers se activan y desactivan según sea necesario para cada comando. Para seguimiento enRA por ejemplo se activa el timer que maneja el motor de ascensión recta y se mantiene hasta quese recibe el comando de detención. En la interrupción de los timers se da un paso o micropaso al motor según el modo de seguimientoseleccionado y se actualiza la posición actual del telescopio, si se está trasladando se actualiza uncontador inherente a esa función y si se llegó a la cuenta requerida se detiene el movimiento. La rutina main sigue el siguiente diagrama de flujo

12

Figura 12: Placa de desarrollo TM4C123G

Page 13: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Rutina de decodificacion de comandosPara decodificar la sintaxis de los comandos se hace uso de una rutina que analiza el buffer enbúsqueda de una cabecera de comando. Esta rutina tiene cargada un diccionario ordenado con todos los comandos que soporta el protocolo.Al llamar esta rutina hace una búsqueda binaria del contenido del buffer en el diccionariodevolviendo la cabecera correspondiente, si se trata de una porción de cabecera o si lo recibido noes un comando ni parte de uno. Cuando se tiene un comando completo con sus parámetros si los hubiera se procede a actuar enconsecuencia. Si se debe mover la montura se activan los contadores y setean las variablesespecíficas a cada tipo de movimiento. Para el tracking no se setean variables mientras que para lostraslados se setean variables que indican la cantidad de pasos a realizar que viene dada por laposición actual y la posición a moverse. Se envía una respuesta a la computadora que suele consistiren el carácter '#' y los números si se le requirió información a la montura sobre su posición porejemplo.

Configuracion de Timers y manejo de salidas

Como se comentara en la sección “Control de motores paso a paso”, se emplean 12 pines de entradasalida generales (GPIO) del microcontrolador para el manejo de los motores paso a paso. Semuestra a continuación la elección de pines en función de su disponibilidad para conexión en laplaca de desarrollo.

13

Figura 13: Diagrama de flujo del main

Page 14: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Por cuestiones de practicidad y facilidad a la hora de realizar el conexionado, se decidió emplear lacabecera (conjunto de postes) de la izquierda para manejar el driver de motor de ascensión recta, yla cabecera de la derecha para la declinación. Las conexiones a drivers son:

Cabecera izquierda (Ascención recta):

• PD0: ENABLE• PD1: MS1• PD2: MS2• PD3: MS3• PE1: CLOCK• PE2: SENTIDO

Cabecera derecha (Declinación):• PC4: ENABLE• PC5: MS1• PC6: MS2• PC7: MS3• PA2: CLOCK• PA3: SENTIDO

Cada uno de los clock genera la señal de pasos (clock )para su correspondiente motor. Esta señalposee un factor de servicio de 50% y se genera a partir del uso de dos módulos Timer einterrupciones.Para la generación de la señal de clock del eje de Ascención recta se emplea el Timer0, para laDeclinación se usa el Timer1. Cada uno de estos timer esta compuesto de dos contadores de 16 bits(Timer0A, Timer0B, Timer1A, Timer1B), pudiéndose configurar para operar en cascada, lograndotimers de 32 bits.

Calculos de timers para efectuar la operación de seguimiento

Como se explicara en la seccion “Mecanica de seguimiento y translación”, la operación deseguimiento o tracking, se realiza con los motores operando en microstepping 1/16 para lograr lamayor suavidad posible en el movimiento. Se concluyó que se debe lograr una señal de 16.0438234microsteps por segundo.

Los timers operan tomando como reloj de entrada, la frecuencia del BUS del microcontrolador,que es de 40MHz. La cuenta a la que deben llegar, para temporizar un periodo, es:

Cuenta (periodo tracking) = 40.000.000 Hz / 16.0438234 Hz = 2493171

Se ha debido redondear la cuenta, ya que solo se pueden contar enteros. Los timer en realidad deben contabilizar semiperiodos, por lo cual la cuenta es:

Cuenta (Semiperíodo Tracking) = 1246586

14

Figura 14: Vista superior de la placa de desarrollo.

Page 15: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Funciones implementadas para el control de motores

A partir de lo explicado hasta aquí, se puede ahora explicar brevemente las funciones implementadas para el manejo de los motores:

• void initmotores(void)

Se invoca en main() al comenzar el programa. Habilita los puertos A,C,D E y F como GPIO,luego habilita los pines correspondientes como salidas. Configura los módulos Timer0 yTimer1 para operación en 32 bits.

• void TrackRA(float velocidad, int8_t sentido)

Es invocada al recibir un comando válido de seguimiento en el eje de Ascención Recta (verfigura 12).Se debe indicarle el sentido del movimiento y la velocidad de seguimiento, enunidades de velocidad sidérea. Por lo comun, la velocidad sera 1. Configura el timercorrespondiente para interrumpir al contar hasta el semiperíodo deseado. Define el estado delas señales al driver de ascención recta para realizar el seguimiento.

• void TrackDEC(float velocidad, int8_t sentido):

Es invocada al recibir un comando válido de seguimiento en el eje de Declinación. Análoga a la función anterior.

• void StopTrackRA(void)

Detiene y deshabilita el timer de Ascención Recta.

• void StopTrackDEC(void)

Detiene y deshabilita el timer de Declinación.

• void Goto(uint32_t RAd,uint32_t DECd)

Es invocada al recibir un comando válido de traslación. Recibe como argumento la posicióndeseada. Calcula cuanto y en que sentido debe desplazarse en cada eje a partir de la posiciónactual. Configura los timer para interrumpir al contar hasta el semiperíodo deseado (Setoma, como velocidad de traslación aceptable, 20 veces la velocidad sidérea). Define elestado de las señales de ambos drivers para realizar la traslación (en particular, los motoresse configuran para operar en paso completo). Los servicios de atención de interrupción delos Timers se encargan de verificar cuando la traslación ha finalizado y detener los timer.

• void Timer0IntHandler(void)

Servicio de atención de interrupción del Timer0, para el eje de Ascención Recta. Cambia elestado de clock de dicho eje, generando asi la señal de reloj. En caso de estar efectuándoseuna traslación, verifica si la misma ha finalizado o no, y detiene los timer en el primer caso.Actualiza la posición actual, al dar cada paso.

• void Timer1IntHandlerdeclinación(void)

Servicio de atención de interrupción del TimerO, para el eje de Declinación. Análoga al servicio para la interrupcion del timer0.

15

Page 16: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Mejoras propuestas La implementación de los comandos faltantes del protocolo. En su versión actual interpreta todoslos comandos del protocolo pero solo actúa frente a los comandos de seguimiento, sincronización ytraslado. La incorporación de finales de carrera que eliminen la necesidad de una sincronización gruesa alcomenzar la observación. La inclusión de un magnetómetro solidario al eje de RA para facilitar la puesta en estación deltelescopio. Al implementarle los comandos de tracking variable es posible incorporándole una cámaraconectada al ocular o a un telescopio de guía para tener la función de autoguider. Este es unprograma en la computadora que, tomando la imagen del telescopio se le fija un objeto en el campovisual y se encarga de centro en el campo visual y seguirlo. A su vez con una cámara en el ocular es posible obtener un patrón de corrección de error periódico(PEC). Para obtenerlo se debe setear el modo tracking sobre un objeto celeste visible y grabar unvideo. De este video se observan las derivas que tiene el objeto celeste en la grabación, midiendoamplitud y duración. Estas derivas tienen un período y amplitud que, cuantificadas, permitenobtener el error periódico. En base a este error se le incorpora al firmware un patrón de velocidadesdependientes de la posición absoluta de la montura llamado PEC que permite anular casicompletamente los errores de seguimiento mecánicos introducidos por la mecánica de la montura.

16

Page 17: Trabajo Práctico Final: Motorización de montura ecuatorial ... · 1. Se trata de una transmisión del tipo tornillo sin fin-rueda dentada helicoidal, como muestra la figura. Una

Bibliografía• http://www.ti.com/tool/ek-tm4c123gxl• www.astroguia.org• Teleskop-ABC, Ein Handbuch für Fernrohr-Besitzer (manual del telescopio) • Documentación del protocolo Nexstar• stellarium.org• Datasheet de A4988 y Pololu• Datasheet de TM4C123GPH6• Documentación y ejemplos de Code Composer Studio• Datasheet de motores paso a paso• Apuntes de cátedra de Informática Electrónica.• C Programming Language, Brian W. Kernighan & Dennis M. Ritchie. Editorial Prentice

Hall

17