URE foro pequeñas
Mando de rotor con ...
 
Notificaciones
Limpiar todo

Mando de rotor con Arduino

EA2J
 EA2J
Mensajes: 3764
#348186  - 25 mayo, 2020 21:26 

Estoy trabajando en un sketch para el mando de un rotor Yaesu G-600 o equivalente, con Arduino. En síntesis un rotor cuya orientacióin se realice por medio de un potenciómetro.

Básicamente, un rotor con mando manual y un display digital que indique el rumbo y el giro. El código está bastante avanzado y funciona, quiero añadirle un preselector con un encoder que es lo que tengo pendiente en este momento.

El objetivo de este mando sería el sustituir el analógico por uno digital de bajo coste. Sin contar con el trafo, la caja y los botones de los mandos manuales, los materiales no llegarían a los 25€.

El código es sencillo y tan exacto como cualquier otro que se haya escrito para Arduino solo que serviría únicamente para un modelo de rotor que se podría ampliar en el futuro añadiendo la opción overlap para G-650 y similares.

Si alguien con experiencia en programación C++ quiere colaborar, con mi agradecimiento estaría encantado de compartir el trabajo a todos sus efectos.

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema
EA3FNM
Mensajes: 1743
#348190  - 25 mayo, 2020 22:39 

@ea2j

Hola Enio,

Bonito proyecto. Yo acabo de rehacer el mando digital del rotor AR500 porque el micro murió, aprovechando el display de 7 segmentos, teclado matricial entrándolo por un solo puerto analógico y grabado de posición, y lo he metido dentro de la caja original aprovechando la botonera existente, electrónica de alimentación, reles y el display de posición.

Te lo comento solo por si no consideras reaprovechar el mando original y dotarlo de esa electrónica avanzada. En todo este tipo de proyectos lo que al final cuesta hacer, o por lo menos a mi, es el acabado final. Igual colocando un display de 7 segmentos tras el marcados de posición... una idea.... Se que no es lo que pides pero me he querido tomar la libertad de comentártelo.

😉

Ahora estoy liado con el mando de la LOOP y el mayor problema es que la caja quede chula y no se como hacerlo... Por ahora lo pondré en una caja normalita pero queda demasiado home-made.

 

EA3FNM
ex-ec3ccq
Pedro
Barcelona
ea3fnm@gmail.com

ResponderCitar
EA2J
 EA2J
Mensajes: 3764
#348192  - 25 mayo, 2020 23:23 

No hay nada que no resuelva una impresora 3D. Los displays estandar 1602 y 2004, son cómodos de programar, si te complicas la vida ¿Porqué no con una Nextion de pantalla táctil?. Crear de 0 un mando digital de rotor no es demasiado difícil pero da trabajo, ¿porque complicarse la vida?

No se puede reutilizar el mando original, es el de 360º y es demasiado grande, una caja Minibox es suficiente, en la imagen un mando completo con el código de K3NG, unas 16.000 líneas. 

Cuando temine el código que estoy escribiendo, tendrá menos de 1000 y hará lo mismo.

imagen cabina

 

 

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema
EA2J
 EA2J
Mensajes: 3764
#348279  - 27 mayo, 2020 15:36 

Acabo de probar una primera versión del mando pelado y funciona sin problemas, solo es rotación manual con pulsadores y he calculado un error menor de un 1% (6 partes raw entre 940) y hace todo lo que hace un mando original analógico, con sólo 180 líneas de código. No muestra el rumbo de forma tan gráfica como el dial de 360º pero más que la del instrumento. El display muestra el rumbo con la rosa de los vientos de 16 direcciones y en gados con dos décimas. Lo mismo en estático que en giro.

Ahora me pongo a trabajar con un preselector de rumbo con un encoder, nunca lo he hecho pero no creo que se demasiado difícil, alguna ayuda no vendría de más y si alguien quiere probar el código gastará un correo o un mensaje,

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema
EA3FNM
Mensajes: 1743
#348284  - 27 mayo, 2020 16:15 

Sobre el preselector,

Yo me volví loco con el KY040 y al final identifiqué que el mío era de 30 pasos y el "bueno" de 20 pasos. Ahora tengo uno nuevo para probar que ya indicaba que era de 30 pasos.

No es difícil si yo lo he hecho tú también 😉

Hay algunos tutos en YouTube y puedes hacerlo por librería o por código.  Yo ahora lo tengo por librería porque por código es más difícil y me volví loco pero es también muy fácil, eso sí, preferible los que usan interrupciones para que en el momento que lo nuevas atienda el comando y depreferencia.

Slts,

EA3FNM
ex-ec3ccq
Pedro
Barcelona
ea3fnm@gmail.com

ResponderCitar
EA2J
 EA2J
Mensajes: 3764
#348298  - 27 mayo, 2020 19:10 

Gracias Pedro, tenga varios de 20 pasos, ya estuve haciendo pruebas para ver como funcionan, muy interesante e ingenioso. Estoy diseñando la lógica (mientras estoy pendiente de las aperturas en 6 metros y de 28). Me preocupa la velocidad de respuesta. Se trata de cargar un destino en una variable a base de contar desplazamientos del encoder y luego activar el relé correspondiente hasta que la posición actual coincida con el destino. Creo que me voy a divertir.

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema
EA2J
 EA2J
Mensajes: 3764
#348299  - 27 mayo, 2020 19:15 

Gracias Pedro, tenga varios de 20 pasos, ya estuve haciendo pruebas para ver como funcionan, muy interesante e ingenioso. Estoy diseñando la lógica (mientras estoy pendiente de las aperturas en 6 metros y de 28). Me preocupa la velocidad de respuesta. Se trata de cargar un destino en una variable a base de contar desplazamientos del encoder y luego activar el relé correspondiente hasta que la posición actual coincida con el destino. Creo que me voy a divertir.

Prefiero hacerlo por código. No he probado, pero lo más lógico sería leer estado de las dos entradas y al detectar el cambio identificar el sentido e iniciar el proceso de lectura de desplazamiento. Lo bueno de un mando es que todo el sistema está quieto esperando que pulses un botón o muevas el encoder.

 

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema
EA3FNM
Mensajes: 1743
#348311  - 27 mayo, 2020 22:42 
Publicado por: @ea2j

Gracias Pedro, tenga varios de 20 pasos, ya estuve haciendo pruebas para ver como funcionan, muy interesante e ingenioso. Estoy diseñando la lógica (mientras estoy pendiente de las aperturas en 6 metros y de 28). Me preocupa la velocidad de respuesta. Se trata de cargar un destino en una variable a base de contar desplazamientos del encoder y luego activar el relé correspondiente hasta que la posición actual coincida con el destino. Creo que me voy a divertir.

Prefiero hacerlo por código. No he probado, pero lo más lógico sería leer estado de las dos entradas y al detectar el cambio identificar el sentido e iniciar el proceso de lectura de desplazamiento. Lo bueno de un mando es que todo el sistema está quieto esperando que pulses un botón o muevas el encoder.

 

Respecto al movimiento, tendrías dos opciones al menos pensando rápido, con una boolean para decidir si sumas o restas y con el switch del encoder lo mandas girar esos pasos y otra es que el encoder sume o reste grados a la posición actual y con el swich el programa mira si es mayor o menor y activas CCW o CW mientras se de la condición. Yo lo hago así con las memorias del mío y son dos 3 if, uno para CW otro para CCW y otro para paro que llaman a sus respectivas funciones.

Una pregunta, la velocidad lenta de los rotor se hacen bajando algo la tensión o dando pulsos rollo PWM o el propio motor lleva ya un bobinado concreto para esto?

Respecto a usar interrupciones es que si está en un bucle moviéndose y quieres parar, con la interrupción te lo detecta al momento pero no es necesario, claro....

Si!, te vas a divertir. 

 

EA3FNM
ex-ec3ccq
Pedro
Barcelona
ea3fnm@gmail.com

ResponderCitar
EA2J
 EA2J
Mensajes: 3764
#348315  - 27 mayo, 2020 23:05 

La velocidad de arranque y parada se modifica en las salidas PWM, mediante un variador externo. Supongo porque nunca lo he estudiado.

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema
EA2J
 EA2J
Mensajes: 3764
#348513  - 1 junio, 2020 10:03 

Acabo de resolver un problema que tenía un poco desconcertado. El Yaesu G-600 como algunos otros rotores, solo permite un giro de 360º y dispone de dos interruptores de fin de carrera cuando se gira totalmente en sentido de las agujas del reloj y contrario. En la última compilación activé la característica de la emulación Yaesu GS 232B y no conseguía que el rotor girara en sentido CCW para pasar de una posición de, por ejemplo, 90º a 270ª.

El problema consiste en que las versiones modernas del K3NG, cuando se activa la opción de emulación Yaesi GS232B no se graba en la EPROM del Arduino los límites de giro y se restablecen los 450º por defecto.

Para corregirlo, es necesario ingresar desde el Monitor serie la opción 360º y el comando /E para que se grabe en la EPROM o, simplemente dejar activada la emulación GS232A.

Creo que esta semana me llega la nueva placa MEGA 2560 PRO (5 USD), estoy diseñando circuito embebido (shield) para el mando. Con esta placa podré activar el sistema de depuración y conocer mejor la lógica del programa leyendo los valores de las variables en tiempo real.

Por otra parte, el mando simple está en marcha.

La cultura del esfuerzo se cultiva desde la motivación, no mediante el castigo como algunos quisieran.
http://www.enioea2hw.wordpress.com
73, Enio

ResponderCitar
Inició el tema

QDURE - https://qsl.ure.es


Imprime y confirma tus QSL en tan solo tres click.

Nunca fue tan fácil y cómodo
el confirmar tus contactos.

TIENDA ONLINE URE


Publicaciones, mapas, polos, camisetas, gorras, tazas, forros polares y mucho más...

WEBCLUSTER EA4URE


Conoce el nuevo WebCluster de URE, ahora con nuevos filtros e información y compatible con GDURE