Publicidad Google grande + Astroradio
URE foro pequeñas
Mando rotor Arduino...
 

Mando rotor Arduino KeNG proyectos, dudas  

  RSS
EA2HW
Mensajes: 2255
15 enero, 2020 08:00     #342032

He abierto un hilo para tratar el tema de los controladores con Arduino.

Si consideramos montar un mando para un rotor sencillo, únicamente acimut, por ejemplo:

Indicador acimut con potenciómetro.

Preselector con encoder.

Display 1602 o 2004.

Comunicación USB con PC

Al cual se le pueden añadir algunas prestaciones sencillas, por ejemplo:

Overlap.

Freno.

Otras necesarias algo más complejas:

Velocidad inicial y de paro variable.

El Hardware completo es muy sencillo.

La primera decisión es la placa de Arduino que vamos a utilizar. Para un rotor básico, por ejemplo: Yaesu o Kenpro G-400, 450, 600, 650, etc que utilizan motores de CA de 26-30V, algunos permiten overlap, el sensor de acimut  es un potenciómetro de 500 ohmios y la tensión de control es de 5Vcc, con freno. Es suficiente una placa de Arduino NANO. Esta placa tiene un par de salidas analógicas más que el UNO y es más pequeño.

Si se desea utilizar el debugger que incorpora, entonces la memoria sería escasa o bien si necesita más entradas o salidas digitales, sería necesario un MEGA.

Mi proyecto actual es para el mando de un G-650 (únicamente overlap, sin freno)

Los circuitos están realizados con placa perforada, en cuatro módulos, el primero es el de la placa de Arduino con los conectores Molex KK254

 

1579071657-modulo_arduino_2020_V1.jpg

Comment is free, but facts are sacred. (C.P.Scott)
http://www.enioea2hw.wordpress.com

ResponderCitar
EA2HW
Mensajes: 2255
15 enero, 2020 08:07     #342033

El software, a falta de ajustar algunos detalles está funcionando. Adaptar el código a cada rotor es sencillo y cuando haya comprobado que funciona perfectamente pudo facilitar el listado de "rotator_features.h", "rotator_settings.h" y "rotator_pines.h" o bien los tres archivos junto con el *.ino

Comment is free, but facts are sacred. (C.P.Scott)
http://www.enioea2hw.wordpress.com

ResponderCitar
EC4AGT
Mensajes: 156
15 enero, 2020 09:24     #342034

Hola . 

Muy interesante . Me puedes decir que es overlap ?

Por otro lado tengo pregunta , se puede usar el driver BTS 7960 para controlar el motor ?

Y potenciómetro tipo Hall ?

 

 

Saludos 

EC4AGT

Wojtek 

1579077377-1713850591-1790193405.jpg
Esta publicación fue modificada hace 3 días 2 veces por EC4AGT
ResponderCitar
EA2HW
Mensajes: 2255
15 enero, 2020 15:25     #342040

Bueno... overlap en relación a un rotor define la posibilidad de que gire más de 360º. El controlador en este caso debe conocer la posición y debe poder avivar al usuario de que el rotor está en esta posición, generalmente mediante un diodo led encendido o intermitente.- Estos aspectos son sencillos de controlar con el software de K3NG.

Es evidente que un BT7960 puede controlar un motor. Lo que no tengo ni idea es si algún fabricante utiliza estos componentes en concreto. Lo mismo digo para un medidor de corriente de tipo Hall. Yo los he utilizado para medir el consumo de amplificador lineal y entiendo que desde un punto de la física un medidor de este tipo puede controlar el motor de un rotor. Es posible que los haya pero yo lo desconozco.

He revisado superficialmente los tipo de sensores que incluye el software de K3NG y no he encontrado ninguno de los que citas. Potenciómetros, decodificadores de varios tipos y sobre todo brújulas (compases) digitales de diferentes fabricantes.

El problema de adaptar un código de terceros para un microprocesador y periféricos, en mi opinión, no es únicamente el tipo de componente sino, sobre todo, las librerías de comunicación. Por esto me he limitado a unos tipo de rotor de sencillos, que no es poco.

Comment is free, but facts are sacred. (C.P.Scott)
http://www.enioea2hw.wordpress.com

ResponderCitar
EA2HW
Mensajes: 2255
15 enero, 2020 15:48     #342042

Por ejemplo:

¿qué display vamos a utilizar?,  ¿un estándar de dos líneas y 16 columnas, de 4 líneas y 20 columnas o una pantalla táctil? La información necesaria es:

Con la antena estática, el rumbo actual. Con la antena en movimiento la dirección de rotación y el rumbo dinámico. Para esta información dos líneas de 16 columnas son suficientes, ahorro de espacio, tiempo y dinero, aunque evidentemente, un indicador gráfico, incluso un teclado virtual en una pantalla táctil sería mucho más estético, aunque más caro y complicado. Sobre todo porque las librerías que se utilizan en el software para toas las pantallas posibles crean confusión (por lo menos a este servidor), por lo que lo más seguro es utilizar el viejo y manido bus de 4 bit con la librería LiquidCrystal.h

 

1579099727-modulo_display_V1.jpg

Comment is free, but facts are sacred. (C.P.Scott)
http://www.enioea2hw.wordpress.com

ResponderCitar
EA2HW
Mensajes: 2255
15 enero, 2020 15:50     #342044

El diseño del módulo adaptador del bus de 4 bit:

 

1579099999-modulo_display_icircuito.jpg
Esta publicación fue modificada hace 3 días por EA2HW

Comment is free, but facts are sacred. (C.P.Scott)
http://www.enioea2hw.wordpress.com

ResponderCitar
EC4AGT
Mensajes: 156
15 enero, 2020 15:50     #342045

Este potenciómetro usa un amigo mío para control de posición . Usa un Nano y software k3ng. Yo en principio pensaba que da pulsos pero al parecer es un potenciómetro que da tensión 0-5 V.  No se porque ha elegido este tipo de potenciómetro , le tendré que preguntar . No  se más detalles 

 

PS

Lo de display yo quisiera  usar con el módulo i2c pero no llegue activar en el programa , finalmente he tenido que pedir ayuda 

 

El adaptador que tú has hecho es para conectar como i2c ? Es equivalente a los módulos que venden para los lcd ?

 

EC4AGT

 

Esta publicación fue modificada hace 3 días 3 veces por EC4AGT
ResponderCitar
EC4AGT
Mensajes: 156
15 enero, 2020 17:23     #342046

Según me comenta , le usa porque es más exacto , es un potenciómetro digital - analógico . Por otro lado se ve que está mejor hecho mecánicamente que un potenciómetro tradicional . Me imagino que no tiene pista de carbono o alambre con lo cual tendrá menos desgaste y estará más duradero . 

ResponderCitar
EA2SN
Mensajes: 2221
15 enero, 2020 17:52     #342048

Hola a todos.

El uso de visualizadores con comando por I2C reduce mucho el cableado. La mayor parte de los "conversores I2C-paralelo" usan el PCF8574T (con una dirección por defecto 0x27) o el PCF8574AT (dirección 0x3F). La librería LiquidCrystal_I2C resuelve el problema en la mayoría de los casos pero hay otras. Y siempre se puede cargar un "escaneador de direcciones I2C" para probar que el visualizador está conectado y en qué dirección...

Lo del potenciómetro por efecto Hall es un invento.

jon, ea2sn

 

Esta publicación fue modificada hace 3 días por EA2SN

Jon, EA2SN / AE2SN / ARRL-VEC VE

ResponderCitar
EC4AGT
Mensajes: 156
15 enero, 2020 18:02     #342050

Es complicado activar lo de i2c ? Yo tengo activado el display con todo el cableado 

 

Ya lo he conseguido . Poco a poco se aprende lago más 

Esta publicación fue modificada hace 3 días por EC4AGT
ResponderCitar
EA2SN
Mensajes: 2221
15 enero, 2020 18:54     #342053

Normalmente el cambio requiere:

tener la librería accesible

cambiar el #include de LiquidCrystal.h por LiquidCrystal_I2C.h

definir el lcd en función de la librería, puede ser  LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);// dirección I2C y patillas usadas

definiendo después en el setup el tamaño con  lcd.begin(16,2);

escribiendo después en el loop con comandos del tipo:

lcd.setCursor(0,0); //posicionando el cursor
lcd.print(" EJEMPLO "); 

 

Otra definición que he encontrado para esta librería (que tiene muchas versiones) sería:

LiquidCrystal_I2C lcd(0x20,16,2); // dirección I2C, tamaño de línea y número de líneas

inicializando después en el setup con  lcd.init(); 

y escribiendo después en el loop.

La "traducción" desde LiquidCrystal a LiquidCrystal_I2C se puede ver leyendo los ejemplos que vienen con la librería que consigamos.

 

Suerte con las pruebas.

jon, ea2sn

Esta publicación fue modificada hace 3 días 2 veces por EA2SN

Jon, EA2SN / AE2SN / ARRL-VEC VE

ResponderCitar
EA2HW
Mensajes: 2255
15 enero, 2020 19:14     #342055

Bueno... como bien indica Jon los conversores del bus de 4 bit a serie I2C reducen el cableado (de 8 a 4) y liberan 4 I/O digitales. La detección es simple con una pequeña aplicación libre IC2 Scanner. Personalmente utilizo preferentemente este puerto de comunicación con el display, incluso con una pantalla Nextion táctil. Hay varias librerías para este este conversor, personalmente utilizo Liquid_Crystal_I2C de Frank de Brabander.

https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

Peeero... K3NG utiliza para las salidas al display una clase escrita por él: rotator_k3ngdisplay.cpp en la que llama a las librerías I2C para los displays YOURDUINO_I2C_LCD, RFROBOT_I2C_DISPLAY, YWROBOT_I2C_DISPLAY y SAINSMART_I2C_LCD y ninguno de estos displays están a mano ni tampoco estás seguro de la librería o de la versión que estás utilizando porque no tienes control y modificar los accesos al compilador es causa de muchos problemas. Sopesando los pros y los contras, lo más segurola es utilizar el bus de 4 bit que lleva una librería básica en el IDE. Evidentemente, es posible (tampoco es tan difícil) modificar el código para meter la librería que conoces y manejas con un determinado display, pero, en mi opinión, no merece la pena para el un pequeño rotor.

No he estudiado la forma de eludir la clase K3ngdisplay y crear un objeto independiente que permita utilizar los métodos de una libraría conocida.

En cuanto al potenciómetro de posición acimut que indica EC4AGT,  es evidente que cuanto mayor calidad mecánica y electrónica tenga mayor precisión tendrá. Creí que tu pregunta trataba del driver driver BTS 7960 utilizado con motores de potencia. Este potenciómetro tiene una condición importante, está situado en el interior del rotor y su desmultiplicación adaptada a la corona del rotor. No creo que sea sencillo sustituir un potenciómetro por otro de diferente diseño que el original, habría que adaptar mecánicamente los componentes aunque desconozco si algún fabricante ofrece potenciómetros especiales para algunos rotores.

 

Comment is free, but facts are sacred. (C.P.Scott)
http://www.enioea2hw.wordpress.com

ResponderCitar
EC4AGT
Mensajes: 156
15 enero, 2020 19:29     #342057

Lo de sustituir el potenciometro no es ningún problema ya que el rotor es de fabricación  casera . Como escribí antes , he conseguido que funciona con display i2c ,  con pulsadores izqu / der . También con el encoder rotativo de mando . Tampoco conseguido que esta encendido la iluminación del display ( solo se enciende cuando se carga el programa ) 

Pero , como digo , poco a poco estoy aprendiendo y resolviendo los problemas. 

Esta publicación fue modificada hace 3 días por EC4AGT
ResponderCitar

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...

EA4URE-5 - DX CLUSTER


Recibe en tiempo real las estaciones activas en las bandas de radioaficionado

Por favor Iniciar sesión o Registro