URE foro pequeñas
Controles para relé...
 
Notificaciones
Limpiar todo

Controles para relés (Drivers)

  RSS
EA2J
 EA2J
Mensajes: 3605
13 abril, 2022 11:30     #374734

Estoy diseñando un decodificador automático de antena para un K3. El equipo utiliza un sistema de codificación BCD para identificar la banda de trabajo entre los 180m y los 6m. Identificar la banda y seleccionar un relé de salida no es ningún problema con un Arduino, incluso para un módulo UNO. La programación también es sencilla.

Lo cierto es que ya existen módulos decodificadores, incluso uno de Elecraft, el KRC2. La mayoría de las publicaciones se refieren a sistemas de puertas lógicas y algunos orientados al control de LEDs y displays con matriz de 7 segmentos. Únicamente Remote QTH ofrece un kit de decodificador universal basado en un Arduino NANO.

https://elecraft.com/collections/krc2-band-decoder-with-relays-k-line-and-k2_compatible-products/products/krc2-band-decoder-with-relays-k-line-and-k2

https://remoteqth.com/arduino-band-decoder-hamshop.php

Lo cierto es que es raro necesitar en una misma instalación decodificador polivalente y es mucho más sencillo resolver cada sistema por su lado. Ya he publicado un decodificador para CI-V de Icom, y un sistema de identificación por tensión variable. Este último sistema, con variaciones, lo utilizan los equipos de Icom y alguno de los modelos de Yaesu. El sistema BCD lo utilizan tanto Elecraft como Yaesu.

https://www.ebay.es/itm/274308484272

Mis dudas se centran en los sistemas de control de los relés. Utilizo un sistema de conmutador remoto compuesto por un kit de OZ2ZI con dos relés. las tomas de las bobinas que conectan a negativo están conectadas, por esta razón no me es posible utilizar un sistema de colector abierto. Bien es cierto que la polaridad de las bobinas de los relés están condicionadas por el diodo de protección en paralelo, pero sería muy complicado desmontar el conmutador y sustituir los diodos.

Por esta razón tengo que descartar el uso de un array de Darlington tipo ULN2003 o de optoacopladores y el driver UDN2981 que utilizaba por estar descatalogado. Se me ocurren dos posibles soluciones, buscar un sustituto del UDN2981 que controle el positivo de los relés, o bien utilizan un MOSFET tipo IRF9540 en el Drain.

Consideraciones: La te tensión de control del Arduino es de 5V, la tensión de alimentación de los relés es de 12V, con un consumo de unos 40mA. La fuente utilizada es la misma, lo que hace que el masa sea común, por lo que no está justificado utilizar un sistema de aislamiento de fuentes. El uso de un array de drivers ahorra espacio en la placa en relación al uso de un semiconductor por canal, pero un MOSFET, ofrece una solución`´on sencilla y fiable desde un punto de vista de los parámetros de control (tensión y consumo), con la ventaja de que se puede utilizar  programación de lógica positiva o negativa.

Agradeceré cualquier aportación, en principio me inclino por el uso de un MOSFET.

image
Este tema fue modificado hace 3 meses por EA2J

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
EA1AWY
Mensajes: 492
14 abril, 2022 10:06     #374764

Entiendo que quieres que el relé se excite cuando el Arduíno entregue un cero lógico.

Yo creo que con ese esquema se te va a accionar el relé todo el tiempo. Si "miras" desde el punto de vista del mosfet (canal P), cuando el Arduíno entregue un cero lógico, la tensión surtidor-puerta será de casi -12V (-12x10/11=-10,9) y va a conducir, pero cuando entregue un uno lógico (+5V), la tensión surtidor puerta sera -(12-5)x10/11=-6,36V y va a conducir también.

Yo sustituiría el mosfet por un transistor bipolar PNP (el emisor a +12V, el colector al relé y la base al divisor resistivo). Además, pondría ambas resistencias de 1k y añadiría en serie a la que va al Arduíno un diodo zener de 8,2V (cátodo "mirando" a la base del transistor).

Como transistor pondría un BC327 o similar.

 

Javier Muriedas

ResponderCitar
EA2J
 EA2J
Mensajes: 3605
15 abril, 2022 10:27     #374793

Gracias por la respuesta Javier. Ya he encontrado la solución pues tenía en un cajón un par de UDN2981 y he terminado la primera parte del decodificador. Ha sido sencillo como esperaba pero ahora viene la letra pequeña, cuando las salidas BCD (BAND0, BAND1, BAND2 y BAND3) del terminal ACC, el comportamiento del K3 varia. Decodifica bien las bandas, aunque en la transición hay lecturas erróneas. Es cuestión de revisar literatura.

En cuanto a la lógica de control es indiferente que la conducción del transistor se realice cuando la tensión en base sea positiva o negativa pues se controla por programación. Los pulsos se reciben en cuatro entrada digitales, luego se decodifica la banda y después las salidas de control de los relés se pueden llevar a nivel bajo o a nivel alto, según lo requiera el circuito.

En síntesis, tal como tengo el circuito de los relés del conmutador remoto, con todas las masas unidas sólo puede alimentar con el positivo de 12V uno u otro relé. Con el UDN 2981, es sencillo, cada salida es un conmutador de la alimentación común. Con el sistema de colector abierto tendría que aislar los terminales de los relés que van a masa con las entradas de los positivos unidos.

No me explico cómo no puedo encontrar un reemplazo para el UDN2981 aunque sea con otro formato.

Esta es la función que decodifica la banda de trabajo del K3

uint8_t read_band () {
  uint8_t b0 = digitalRead (BAND0) == LOW ? 0 : 1; 
  uint8_t b1 = digitalRead (BAND1) == LOW ? 0 : 1;
  uint8_t b2 = digitalRead (BAND2) == LOW ? 0 : 1;
  uint8_t b3 = digitalRead (BAND3) == LOW ? 0 : 1;
  return b0 + (b1 * 2) + (b2 * 4) + (b3 * 8);
}

(Se podría transformar directamente la lectura sin necesidad de utilizar una operación ternaria en cada lectura, pero así queda más claro)

b0-b3, lee las salidas lógicas BCD BAND0-3 del conector ACC y devuelve un número de 8bit correspondiente a la banda, de acuerdo con la siguiente codificación:

image

Como ejemplo, si el VFO A del equipo está sintonizando la banda de 20m, las lecturas de las salidas serían b0 = 0, b1=1, b2 = 0, b3 = 1, lo que nos daría el número 0101 en base binaria. Su transformación en base decimal sería = b0 + (b1*2)+(b2*4)+(b3*8) = 5, es decir, banda de 20m. La base numeración binaria se aplica a la maquina, en programación se puede utilizar cualquiera de las tres bases, binaria, decimal o hexadecimal. 

A partir de aquí solo es necesario asignar las bandas correspondientes a cada antena y llevar las salidas de los relés al estado lógico necesario (LOW=0) o (HIHG=1), por medio de la instrucción digitalRead (numeroIO, estado). De esta forma se puede trabajar un circuito con lógica positiva o negativa.

Esta publicación fue modificada hace 3 meses 3 veces por EA2J

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
EA1AWY
Mensajes: 492
17 abril, 2022 23:33     #374850

Me alegro de que lo hayas solucionado. Gracias por la detallada explicación.

Javier Muriedas

ResponderCitar
EA5HW
Mensajes: 2
21 abril, 2022 12:00     #374938

UNA PREGUNTA, ALGUIEN ME PUEDE DECIR O EXPLICAR POR QUE AL CONECTAR MI INTERFEIX AL ORDENADOR ESTE SE ME QUEDA SIN  SONIDO O SEA SER MUDO GRACIAS.

 

ResponderCitar
EA2ET
Mensajes: 6453
22 abril, 2022 02:54     #374971

Gracias por los datos

Si quieres buenas respuestas haz buenas preguntas

73 de Angel, EA2ET.

ResponderCitar
  EA2W me gusta
EA2J
 EA2J
Mensajes: 3605
22 abril, 2022 15:52     #374986

Gracias a ti José Angel. He encontrado la forma de sustituir el UDN2981 para el control de relés con un driver a base de un transistor en emisor, invirtiendo la entrada con otro pilotando la base y tú me diste la idea hace tiempo en el foro. 

EA5HW, es difícil ayudar sin más información. En cualquier caso, si el SO del ordenador es Windows, deberías revisar la fuente de sonido. Si, por ejemplo, el equipo es un IC7300, éste tiene una tarjea de sonido propia que añade a las fuentes.

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
EA5HW
Mensajes: 2
22 abril, 2022 19:39     #374990

Hola amigo gracias por tu ayuda mi equipo es un ICOM IC-706 y si mi PC es windous 10 no se si podras aportarme algun comentario más gracias y 73

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

WEBCLUSTER EA4URE


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

Bienvenida/o a la información básica sobre las cookies de la página web responsabilidad de la entidad:

UNIÓN DE RADIOAFICIONADOS ESPAÑOLES

Una cookie o galleta informática es un pequeño archivo de información que se guarda en tu ordenador, “smartphone” o tableta cada vez que visitas nuestra página web. Algunas cookies son nuestras y otras pertenecen a empresas externas que prestan servicios para nuestra página web.

Las cookies pueden ser de varios tipos: las cookies técnicas son necesarias para que nuestra página web pueda funcionar, no necesitan de tu autorización y son las únicas que tenemos activadas por defecto. Por tanto, son las únicas cookies que estarán activas si solo pulsas el botón ACEPTAR.

El resto de cookies sirven para mejorar nuestra página, para personalizarla en base a tus preferencias, o para poder mostrarte publicidad ajustada a tus búsquedas, gustos e intereses personales. Todas ellas las tenemos desactivadas por defecto, pero puedes activarlas en nuestro apartado CONFIGURACIÓN DE COOKIES: toma el control y disfruta de una navegación personalizada en nuestra página, con un paso tan sencillo y rápido como la marcación de las casillas que tú quieras.

Si quieres más información, consulta la POLÍTICA DE COOKIES de nuestra página web.

CONFIGURACIONES DE PRIVACIDAD GUARDADAS!
Configuración de Cookies

Desde aquí podrás configurar las cookies propias y de terceros, y modificar parámetros que afectarán directamente a tu experiencia de navegación en esta web.

Estas cookies son importantes para darte acceso seguro a zonas con información personal o para reconocerte cuando inicias sesión. Activadas por defecto.


Estas cookies son necesarias para que la página web funcione, por lo que no se pueden desactivar. Por lo general, solo se configuran en respuesta a sus acciones realizadas al solicitar servicios, como establecer sus preferencias de privacidad, iniciar sesión o completar formularios, en ningún caso almacenan información de identificación personal. En caso de que configure su navegador para bloquear estas cookies, la página web no funcionaría correctamente.

  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • wp-settings-1
  • wp-settings-time-1
  • wpf_read_forums
  • wpf_read_topics

RECHAZAR TODOS
ACEPTAR TODOS