Enfocador con Arduino (otro)

Aqui pueden meter todo lo que crean que es algo curioso o una Locura que inventaron

Enfocador con Arduino (otro)

Postby augustohdzalbin » 16 September 2017 13:07

Tema
Enfocador con Arduino emulado al "FocusLynx" y con comunicación "Wifi"

Objetivo
Viendo el proyecto de "zeuzmac" y Rainer me quedé con la curiosidad de construir uno para 2 de mis telescopios. El Epsilon de 8" y el FSQ106. En ambos telescopios tengo el problema que el enfocador que tengo, el FocusLynx de la empresa Optec, no tiene el torque suficiente para mover el enfoque con certidumbre.

También ya había yo comprado CPU's Arduino y Raspberry PI y tenía la curiosidad de usarlos y recordar mis épocas de estudiante. Hace 40 años estudié la carrera de electrónica y maestría de Control de Procesos. Ya había microprocesadores (Z80, 6800, 68000, 6502,...) pero eran difíciles de usar. Trabajé con el CPU 6502 con compilador de ensamblador, chip de entrada y salida digital y construí mi propio convertidor analógico de entrada y salida de 8 bits. Con este equipo controlábamos un modelo de "Distribución de Agua" en una computadora analógica.


Pasos

Adquisición del HARDWARE

- Selección del Motor de paso: encontré un motor Nema 17 para el "Epsilon" y Nema 8 para el FSQ106
- Diseñe con José Villicana una base fundida para apoyar el enfocar en el Epsilon
- Encontré micro poleas para banda dentada para mover el enfocador
- Compre el hardware necesario: CPU Arduino Uno, controlador de motor de paso, sensor de temperatura, interfase WIFI, gabinete de aluminio para contenerlo

Desarrollo del software
Par el desarrollo del software tome en en cuenta el protocolo de comunicación y la funcionalidad a construir.

Protocolo de comunicación
Decidí No hacer la programación ASCOM del enfocador (en windows) sino emular un enfocador "FocusLynx" y usar el ASCOM del FocusLynx. Me evito el driver y me evito programar en Windows.

La parte difícil del proyecto es hacer que la computadora maneje el enfocador. Es la parte difícil no tanto para mover el motor sino por los bugs (o errores) de programación y el manejo los eventos de excepción. En el desarrollo de software dedicamos como el 10% de código en hacer la solución y el 90% en el manejo de excepciones (errores de: datos, del usuario, de la comunicación, de la plataforma, del cambio de reglas).

Para simplificar y evitar estos errores estoy programando el Arduino para que emule al "FocosLynx" que tengo. Conseguí un documento del protocolo de comunicación entre la caja de control del FocusLynx y el protocolo Ascom del FocusLynx (http://optecinc.com/astronomy/catalog/f ... g_rev3.pdf).
El documento tiene una versión inicial del protocolo. Tuve que poner un programa analizador (en windows) del flujo de datos de la interfase serial para identificar nuevos comandos y cambios.

Funcionalidad

La funcionalidad programada es la misma que la funcionalidad del FocusLynx. La funcionalidad es:

- Syncronización de posición
- Movimiento a una posición
- Manejo de backslash para asegurar que el juego de engranes, banda y base tome el juego del mismo lado
- Ajuste por cambio de temperatura.

Para manejar el cambio de posición No estoy usando las rutinas (o clases) estándar de Arduino ("Stepper"). Conseguí en internet una biblioteca gratuita que manejo el movimiento tomando coeficientes de aceleración y velocidad máxima. Esto reduce el brinco de pasos por la inercia del objeto a mover. Esto tal vez no es importante para el enfocador por que la masa a mover es muy baja.


Resultados

- Ya controlo el motor de pasos desde el Software de Control del FocusLynx y desde el software "
Sequence Generator " que controla la ejecución del telescopio. Para el software y CPU es como si estuviera un FocusLynx operado.
- Contiene el manejo del backslash y control de temperatura con base en la misma configuración del Focuslynx.

Próximos pasos

- A nivel programa meterle un chip de memoria "EE" para que cuando se apague el equipo no pierda la configuración asi como la rutina de lectura de temperatura.
- Fundir en metal la base del enfocador para el Epsilon
- A nivel de hardware terminar la base de sustento del Epsilon y por el motor, poleas y banda. Y construirle una caja que lo contenga.
- Ensamblar la caja de control, ponerle los sockets de control y alimentación y construir el cable entre la caja el motor.
- Probar a nivel de casa
- Finalmente, esperar que deje de llover y hacer la prueba tomando fotos.

También me falta el protocolo para manejarlo vía Wifi. Compre la interfase de Wifi del FocusLynx para estudiar, conocer y re-programar el protocolo. La gente de Optec tiene una aplicación en el iPhone y Androide para controlar el enfocador. Si emulo el protocolo puedo usar esta aplicación para mis enfocadores.
You do not have the required permissions to view the files attached to this post.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa

Re: Enfocador con Arduino (otro)

Postby Rainer » 16 September 2017 13:40

Hola Augusto,

Excelente

:woohoo:
Saludos Rainer

" Ab ove maiori discit arare minor "
User avatar
Rainer
Site Admin
 
Posts: 6753
Joined: 14 January 2008 19:10
Location: San Luis Potosí, México

Re: Enfocador con Arduino (otro)

Postby zeuzmac » 19 September 2017 10:47

Muy buena propuesta!, ¿que tarjeta controladora estas usando para el wifi?
User avatar
zeuzmac
 
Posts: 35
Joined: 07 April 2015 13:31
Location: San Luis Potosi

Re: Enfocador con Arduino (otro)

Postby augustohdzalbin » 20 September 2017 19:52

Esa parte todavía no la tengo. Te aviso cuando la tenga funcionando para que valga la pena.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa

Re: Enfocador con Arduino (otro)

Postby augustohdzalbin » 03 December 2017 20:23

He continuado con el proyecto del enfocador del Arduino.

Inicialmente me enfoqué a:
- Control del motor de paso
- Software de manejo de Aceleración y Des-Aceleración paulatina. Empece a programarlo y después encontré una biblioteca que lo maneja mejor.
- Emulación de la comunicación con el protocolo ASCOM del FOCUSLYNX.

Después le empece a incluir:
- Comunicación serial con USB estándar
- Control de temperatura
- Manejo de guardado de datos de parametrización y operación en memoria EEPROM

Tengo pendiente la interfase WIFI. Hasta este sábado me llegaron los chips de Wifi.

Encontré que manejar todas estas tareas para un solo Arduino Nano. Interrumpia la operación. Sobre todo que la comunicación con ASCOM es cada 0.5seg.

Estoy cambiando la arquitectura de CPU para tener un Arduino Maestro y 2 Arduinos esclavos (uno para el motor y otro para la comunicación ASCOM). Los Arduino Nano que son pequeños y baratos. Para la comunicación entre CPU estoy aprendiendo y usando el protocolo SPI que es muy rápido.

Pude haber puesto un Arduino más rápido pero el reto del proceso distribuido (maestro y esclavos) está muy interesante. Sobre todo para futuros proyectos como un "Montaje ecuatorial" y eventualmente el control del Observatorio.

Creo que la distribución del las tareas en varios CPU chicos puede ser más eficiente que el control de todo con un CPU rápido.

Por el momento, para probar mis motores montados, lo simplifiqué y puse un "Encoder" tipo potenciometro para controlar manualmente el enfocador. También habilité motores de paso en el telescopio "Epsilon" que me vendió Alberto Levi y en el Rich Chretien de 12". Voy a hacer el circuito impreso de esta sencilla solución porque es muy práctica para enfoque manual.

En el cableado del enfocador estoy copiando la distribución del motor y cable del FOCUSLYNX para mantenerlo compatible. Es decir: puedo usar el control de FOCUSLYNX para controlar los nuevos motores y con el controlador Arduino puedo mover los motores de FOCUSLYNX. Ya lo probe y funciona muy bien.
You do not have the required permissions to view the files attached to this post.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa

Re: Enfocador con Arduino (otro)

Postby Rainer » 04 December 2017 07:47

Hola Augusto,

Muy bien muy bien. ¿ como le hiciste con esos 2 motores que según mi saber tienen diferentes voltajes de alimentación ?

Saludos
Saludos Rainer

" Ab ove maiori discit arare minor "
User avatar
Rainer
Site Admin
 
Posts: 6753
Joined: 14 January 2008 19:10
Location: San Luis Potosí, México

Re: Enfocador con Arduino (otro)

Postby augustohdzalbin » 04 December 2017 16:44

Rainer:

Te comentario es válido. El controlador del motor de paso DRV8825 que utilizo tiene un potenciómetro que limita la corriente máxima independiente al voltaje. La corriente la deje limitada a 150 mA. Es la corriente la que energiza las bobinas que mueven el motor.

Efectivamente el motor grande puede trabajar con mayor corriente que el chico. Sin embargo para mover el enfocador esta corriente es suficiente. Si estuviéramos moviendo motor de un montaje si tendría que configurar una corriente mayor.
You do not have the required permissions to view the files attached to this post.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa

Re: Enfocador con Arduino (otro)

Postby Rainer » 04 December 2017 17:07

augustohdzalbin wrote:Rainer:

Te comentario es válido. El controlador del motor de paso DRV8825 que utilizo tiene un potenciómetro que limita la corriente máxima independiente al voltaje. La corriente la deje limitada a 150 mA. Es la corriente la que energiza las bobinas que mueven el motor.

Efectivamente el motor grande puede trabajar con mayor corriente que el chico. Sin embargo para mover el enfocador esta corriente es suficiente. Si estuviéramos moviendo motor de un montaje si tendría que configurar una corriente mayor.


Hola Augusto,

OK, entonces está utlizando el modo de control por corriente no de control por voltaje para accionar el motor.

:thumbsup:

Gracias y saludos
Saludos Rainer

" Ab ove maiori discit arare minor "
User avatar
Rainer
Site Admin
 
Posts: 6753
Joined: 14 January 2008 19:10
Location: San Luis Potosí, México

Re: Enfocador con Arduino (otro)

Postby augustohdzalbin » 01 January 2018 13:11

He estado trabajando en los enfocadores. A nivel de hardware le agregué motores de paso a: Astrotech 65mm, al Rich Chretien de 12" y al Stellarvue de 80mm. Todos tienen el cableado como el enfocador Optec Lynx por lo que son compatibles con su controlador.

Los motores son más grandes de lo necesario pero es mejor que sobre que falte. Además que los motores grandes son más baratos.
You do not have the required permissions to view the files attached to this post.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa

Re: Enfocador con Arduino (otro)

Postby augustohdzalbin » 01 January 2018 13:14

También sigo con el desarrollo del controlador con Arduino. Para esto me he tardado por el trabajo, por la instalación de los motores, aprendiendo el protocolo de comunicación entre Arduinos y separando la aplicación de control para que trabaje en los dos CPU intercomunicandose.

La tarjeta de de control va a quedar muy chica porque uso Arduinos UNO, el control del motor y de comunicación de WIFI son muy pequeños.
You do not have the required permissions to view the files attached to this post.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa

Re: Enfocador con Arduino (otro)

Postby Rainer » 01 January 2018 20:04

augustohdzalbin wrote:También sigo con el desarrollo del controlador con Arduino. Para esto me he tardado por el trabajo, por la instalación de los motores, aprendiendo el protocolo de comunicación entre Arduinos y separando la aplicación de control para que trabaje en los dos CPU intercomunicandose.

La tarjeta de de control va a quedar muy chica porque uso Arduinos UNO, el control del motor y de comunicación de WIFI son muy pequeños.


Hola Augusto,

Interesante proyecto el que estás armando. Veo puros NANO y ningún UNO :nixweiss: :nixweiss: :nixweiss: :rofl:

:fixit:
Saludos Rainer

" Ab ove maiori discit arare minor "
User avatar
Rainer
Site Admin
 
Posts: 6753
Joined: 14 January 2008 19:10
Location: San Luis Potosí, México

Re: Enfocador con Arduino (otro)

Postby augustohdzalbin » 02 January 2018 11:31

EL proyecto te lo copie a ti. Estoy usando 2 arduinos nanos en lugar uno tipo "UNO" y más veloz. La idea es distribuir las tareas. Uno para la comunicación y otro para el control del motor. Esto porque la interfase ASCOM del enfocador es muy latosa y se comunica cada segundo y hace consumir CPU en la comunicación. Aun un chip veloz se va a ver afectado.

También me permite desarrollar el software de "Control Distribuido" que puede estar muy interesante.
Saludos,

Augusto
User avatar
augustohdzalbin
 
Posts: 422
Joined: 24 November 2015 18:57
Location: Mexico D.F, Cuajimalpa


Return to Curiosidades y Locuras Astronómicas

Who is online

Users browsing this forum: No registered users and 2 guests

cron