IC que llevaría la salida al suelo, ¿quizás NO a la puerta?

8

Tengo una placa con cuatro relés en ella. Tiene un estándar de Vcc, Gnd, y In1-In4 pines. Quiero controlarlo con Arduino o en mi caso con un ESP32. Sin embargo, me di cuenta de que cuando el pin de salida de mi controlador se pone ALTO, no ocurre nada cuando se presiona LOW el relé se activará.

Este es un problema cuando la placa se reinicia debido a que todos los conmutadores de relé se activarán hasta que esto no sea lo que quiero. Después de algunas excavaciones, hice esto:

Estofuncionacomosedesea,siemprehay5Venelreléyelreléestádesactivadotodoeltiempo.CuandoenvíounaseñalalabasedelQ1,tirarádelasalidaalsueloyelreléseactivará.

Ahoramismotengocuatrodeestosrelésyprontotendrémás.Porlotanto,megustaríaresolverestoconunIC.Enparticular,estabamirandoelIC7404queesunmontóndepuertasNO,sinembargo,noestoysegurodequeestosolucionemiproblema.

Entonces,¿hayunICquetirelasalidaalsuelocuandolaseñalestápresenteenlaentrada?¿Funcionaráel7404ynoestoyviendoalgo?:)

Editar: Este es el módulo de retransmisión que estoy usando . No pude encontrar ninguna hoja de datos útil en él.

    
pregunta BigWhale

3 respuestas

2

El hecho de que los relés se activen durante el reinicio cuando los pines deben estar en un modo de alta impedancia es preocupante, y es algo que debe comprender completamente para validar su sistema y repararlo.

Editar: ahora que está claro que se trata de un error de software en su código, para resolver el bajo nivel de error involuntario durante el inicio, configure el bit de registro de datos de salida del pin a alto antes de configuras el pin para que sea una salida.

Dicho esto, una respuesta literal a tu pregunta original sería un chip que contiene varios open collector inverters .

El 74xx05 es un ejemplo.

El 74xx06 es similar pero permite aplicar un voltaje aceptable a la salida, incluso cuando esto excede el voltaje de suministro, por ejemplo, puede operar la pieza en 3.3v pero levante las salidas de 5v.

Pero estas no son la solución a su problema actual .

    
respondido por el Chris Stratton
0

La solución más sencilla es intercambiar las conexiones de los pines NO y NC del relé.

La siguiente opción es invertir la lógica de programación para ese pin. Puedes agregar algunas constantes

#define RELAY_ON LOW
#define RELAY_OFF HIGH

Para desviar los relés a un cierto estado durante el reinicio (mientras que el pin de salida es de alta impedancia) puede agregar una resistencia de subida o bajada según sea necesario. El pin IO superará fácilmente la corriente que se filtró a través de la resistencia y aún cambiará correctamente el relé.

Usando esas 2 técnicas, puede elegir que el estado predeterminado del relé sea el estado sin alimentación. Ya sea porque es la que se usa la mayor parte del tiempo o porque es la opción a prueba de fallos.

    
respondido por el ratchet freak
0

Aquí hay un "Manual de usuario" para su relé. Realmente nunca debes diseñar un sistema sin tener todas las hojas de datos primero.

Desde el esquema suministrado allí se puede ver claramente que simplemente puede conectar su controlador directamente a los pines InX. Es decir, no se necesita ninguno de los esquemas que usted ideó.

Dado que la entrada de los optoacopladores es capaz de operar en el modo open-collector , le sugiero que simplemente mantenga los pines correspondientes de su uC como entrada / High-Z cuando desee mantener los relés en NC.

Como no estoy familiarizado con su controlador, aquí hay algunos pseudocódigos para ayudarle:

Inicialización, para cada pin que controla un relé:

Set direction to input
Set level to "0" (do NOT change direction to output)

Transmisión de comando a NO:

Set direction to output

Comando el relé de nuevo a NC:

Set direction to input

Por lo general, un uC se activará con sus pines ya como entrada, por lo que la primera línea de la inicialización es redundante, pero siempre es más seguro realizarla para asegurarse de que el sistema se encuentre en un estado conocido. Asegúrese de no tener algún código que haga un inicio general de todos los pines a algunos valores como parte de algún código de placa de caldera; se sabe que los principiantes cometen este error.

P.S. Para el momento en que usted en realidad necesitará un poco de inversión del controlador actual, ¡simplemente use algo como ULN2003A !

    
respondido por el Equilibrius

Lea otras preguntas en las etiquetas