Abrir salidas de colector con puertas lógicas que causan un escenario de bucle infinito

6

Acerca de mi proyecto:

Estoy trabajando en un proyecto que involucra el control de varios LED con dos microcontroladores Intel Edison y un circuito comparador. Hay cinco LEDs totales controlados por cuatro relés. Tres LEDs están conectados a la N.O. Pin en cada relé mientras los LED de error / estado están conectados a la N.O. y N.C. pins en el mismo relevo. Por favor, vea el esquema a continuación.

El primer chip Edison se instala en una placa Mini-Breakout que controla cuándo se encienden los LED a través de los relés activados por los pines GPIO. El segundo Edison se monta en la placa de arranque Arduino que mide el voltaje en los LED utilizando entradas analógicas.

Usando el LM2903 como un comparador de ventanas, y algunos divisores de voltaje como entradas, el circuito está diseñado para encender un LED de falla (el relé 4 es NC) cuando la tensión en los tres LED principales cae fuera de los valores mínimos y máximos recomendados de la hoja de datos del LED.

Estoy utilizando las puertas lógicas de la serie 7400LS junto con un cambiador de nivel bidireccional de Sparkfun ( BOB-12009 ) . La palanca de cambio de nivel se usa para aumentar el voltaje de la placa Mini-Breakout que usa la lógica de 1.8V.

El problema:

La idea principal es indicar un fallo en el sistema mediante la desactivación de los tres LED a menos que se cumplan ciertas condiciones, es decir, el cuarto relé solo se puede activar si la salida del circuito del comparador y del circuito del comparador es alta. Sin embargo, cuando la salida del comparador (colector abierto) se dispara (baja), el relé se desactiva, lo que a su vez apaga los relés a los tres LEDS, lo que hace que la salida del comparador vuelva a un estado alto porque, cuando el chip comparador está apagado su estado de salida es alto debido a una entrada flotante a la puerta AND o una resistencia de pull-up de 10k. Entonces, cuando el comparador vuelve a estar alto, los relés se vuelven a habilitar y todo el proceso se repite.

Estoy empezando a pensar que la única forma en que este circuito puede funcionar es permitiendo que el LED de falla se encienda una vez y exigir al usuario que reinicie el circuito para volver a habilitar los LED. Puedo encender el LED de falla conectando directamente la salida del comparador a la puerta del MOSFET de canal p (IRDF9210) en el pin NC del relé 4 pero luego tanto el LED de estado (que indica que no hay problemas) como el LED de error pueden estar al mismo tiempo.

Mis preguntas:

  1. Si es posible, ¿cómo puedo desactivar los LED cuando hay un fallo y restaurarles la funcionalidad automáticamente cuando se solucione el problema?
  2. ¿Es posible incorporar un transistor que servirá como un interruptor entre la entrada de la compuerta AND y la salida del comparador?
  3. ¿Hay otros chips de comparación más adecuados para esta aplicación en particular?

simular este circuito : esquema creado usando CircuitLab

    
pregunta kprince

2 respuestas

1

Necesitas un flip-flop y un botón de reinicio. No necesita nada sofisticado como un pestillo o un flip-flop maestro-esclavo (llamado flip-flop en 7400 términos). Simplemente 2 puertas NAND o NOR harán.

    
respondido por el Goswin von Brederlow
0
  1. El problema es que el estímulo para el fallo se apaga una vez que se detecta un fallo. Una vez que los LED están apagados, no hay voltaje para probar y no hay manera de reiniciarse automáticamente.
  2. Un flip flop básico de dos transistores funcionaría. Por ejemplo. Alternativamente, se podría agregar un solo IC, como un 74AHCT74, después de su última compuerta AND para proporcionar una función de enganche. La salida de falla se conectaría a PRESET, el interruptor de reinicio conectado a CLEAR. La entrada y el reloj serían "no importa" y estarían conectados a la alimentación o a tierra.
  3. El problema es el circuito de retroalimentación creado por la salida de error que afecta a la entrada de voltaje y no está relacionada con sus comparadores.
respondido por el user7823241

Lea otras preguntas en las etiquetas