Invertir lógica de relés de arduino

Buenos días, soy nuevo con arduino y aunque he buscado mucho sobre esto no he encontrado nada. Os comento:

Compré un bloque de 8 relés como este KKmoon 5V Active Low 8 Channel Relay Module Board for Arduino PIC AVR MCU DSP ARM de 5v con opto acopladores, posibilidad de alimentar los relés con fuente externa (ya que 75 mA x 8 relés = 600 mA, más de lo que puede dar Arduino por USB) y lógica inversa.

Y esto último es lo que me da problemas, la lógica inversa. La forma más fácil, conectar los elementos al contacto NC del relé, ¿pero que pasa si desconecto el arduino? Que todo se quedaría conectado, así que no me vale.

La segunda opción que he encontrado, poner en HIGH todas las salidas de Arduino. Así los relés quedarían desactivados y los activaría con LOW. El problema, que hay relés que no pueden quedar activos al mismo tiempo en mi proyecto, y al enchufar Arduino hay un ligero retardo entre que activo las salidas y las pongo en HIGH, por lo que hay un momento que todos los relés se activan.

Conclusión, ninguna de las dos soluciones típicas me valen. Mi intención es, mediante algún elemento intercalado entre el relé y el pin que lo acciona, invertir la lógica, de forma que los relés se mantengan apagados hasta que les mande una señal HIGH. Pero estoy empezando con Arduino y de electrónica tengo poca idea.

¿Qué me recomendáis para revertir la lógica de los relés? Gracias de antemano. :wink:

Me autorespondo porque después de probar varias cosas he encontrado la solución.

Para invertir la lógica de la placa de Relés he utilizado un transistor P2N2222A con una resistencia de 220 Ohm. El emisor del transistor lo he conectado a GND, la base la conecté al PIN de salida de Arduino mediante una resistencia de 220 Ohm y el colector lo conecté al PIN de entrada del relé (que en realidad metería el optoacoplador con una señal LOW).

Cuando el PIN de arduino está LOW, el transistor no comunica GND con el PIN del relé, por tanto el relé se mantiene desconectado. Y al contrario, cuando el PIN de arduino está HIGH, el transistor comunica el GND a la placa del relé y el relé se activa.

Hola

Puedes hacer lo mismo con un integrado. Un 74HC240, por ejemplo,no hace falta que pongas ninguna resistencia.

saludos

Entiendo que si meto 5V por un data input de 74HC240 (p.ej. de 1A0) ¿me saldría GND por bus output (en el ej. 2Y0) y viceversa? Es que estoy empezando y de electrónica tengo poca idea.

Si es como digo me vendría bien para no tener que poner un transistor y una resistencia por relé.

omogashaki:
Entiendo que si meto 5V por un data input de 74HC240 (p.ej. de 1A0) ¿me saldría GND por bus output (en el ej. 2Y0) y viceversa?

No, viceversa, no. Si la entrada es 5V, la salida es 0V. Si la entrada es 0V, la salida es de alta impedancia, con lo que no se enciende el LED del optoacoplador, el transistor de salida de este no conduce y el relé queda en reposo.

Saludos.

Perdón, me expresé mal, quería decir que con el resto de entradas/salidas funcionaría igual, gracias por la aclaración. Lo apuntaré para comprarlo, ya que es mucha mejor solución que la de los transistores.

omogashaki:
Me autorespondo porque después de probar varias cosas he encontrado la solución.

Para invertir la lógica de la placa de Relés he utilizado un transistor P2N2222A con una resistencia de 220 Ohm. El emisor del transistor lo he conectado a GND, la base la conecté al PIN de salida de Arduino mediante una resistencia de 220 Ohm y el colector lo conecté al PIN de entrada del relé (que en realidad metería el optoacoplador con una señal LOW).

Cuando el PIN de arduino está LOW, el transistor no comunica GND con el PIN del relé, por tanto el relé se mantiene desconectado. Y al contrario, cuando el PIN de arduino está HIGH, el transistor comunica el GND a la placa del relé y el relé se activa.

¿Y el circuito así te funciona?

Mejor malo conocido que bueno por conocer...
Lo mejor es enemigo de lo bueno...

Tengo una mala experiencia con los integrados para controlar relés, me lié con un 74HC595 (bueno, en realidad con muchos, en un montón de pruebas, jeje) y he abandonado el intento, pero claro, lo mismo soy yo el problema, jaja.

lo que se me ocurre así sin pensarlo mucho: en este link hay el esquema basico del control de los reles, porqué no pruebas que la entrada IN1, IN2, IN3-----IN8 sea al anodo de cada opto y los catodos a masa comun? puedes hacerlo por la parte de arriba cortando la patilla con cablecillo wire up (o algo así) y modificando el circuito