Caso práctico: Lógica de bloqueo de alarma con NAND

Prototipo de Lógica de bloqueo de alarma con NAND (Maker Style)

Nivel: Básico – Construye un indicador de alarma activo en alto usando puertas NAND 74HC00 para comprender la lógica universal y la inversión de señales.

Objetivo y caso de uso

Construirás un circuito lógico digital donde tanto un sensor de alarma como un interruptor de habilitación (enable) deben activarse para encender un LED de advertencia, implementado en su totalidad con un único chip de puertas NAND 74HC00.

Este circuito es muy útil para demostrar conceptos digitales fundamentales:
* Demuestra el concepto de «puertas universales», mostrando cómo una puerta NAND puede cablearse como una puerta NOT (inversor) para lograr una función lógica AND.
* Ilustra cómo funciona una señal de habilitación («enable»), que es un método estándar en la industria para autorizar o bloquear de forma segura las operaciones de un sistema.
* Proporciona práctica directa en el manejo de niveles lógicos CMOS y en la configuración de redes pull-down para un funcionamiento fiable de los interruptores.

Resultado esperado:
* La señal intermedia (la salida de la primera puerta NAND) emitirá un nivel lógico BAJO (0 V) solo cuando ambas entradas estén en ALTO (5 V).
* La salida final será un nivel lógico ALTO (5 V) y encenderá el LED estrictamente cuando ambas entradas, Alarma (Alarm) y Habilitación (Enable), estén en ALTO.
* Verificarás en la práctica la tabla de verdad combinada de una puerta NAND y una puerta NOT.

Público objetivo: Principiantes en electrónica digital que están aprendiendo a manipular puertas lógicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • SW1: Interruptor SPST, función: Disparador de alarma
  • SW2: Interruptor SPST, función: Señal de habilitación
  • R1: Resistencia de 10 kΩ, función: pull-down para el nodo ALARM
  • R2: Resistencia de 10 kΩ, función: pull-down para el nodo ENABLE
  • R3: Resistencia de 330 Ω, función: limitador de corriente para el LED
  • U1: Cuádruple puerta NAND de 2 entradas 74HC00, función: evaluación lógica e inversión
  • D1: LED rojo, función: Indicador de alarma

Pin-out del CI utilizado

74HC00 (Cuádruple puerta NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada 1 de NAND A Nodo ALARM (desde SW1)
2 1B Entrada 2 de NAND A Nodo ENABLE (desde SW2)
3 1Y Salida de NAND A Nodo INTERMEDIATE
4 2 A Entrada 1 de NAND B Nodo INTERMEDIATE
5 2B Entrada 2 de NAND B Nodo INTERMEDIATE
6 2Y Salida de NAND B Nodo VOUT
7 GND Tierra (Ground) Nodo 0
14 VCC Voltaje de alimentación Nodo VCC

(Nota: El 74HC00 contiene cuatro puertas NAND independientes. En este circuito, utilizamos las puertas A y B. Las entradas no utilizadas de las puertas C y D deben conectarse a tierra).

Guía de conexionado

  • V1: se conecta entre VCC y 0.
  • SW1: se conecta entre VCC y ALARM.
  • R1: se conecta entre ALARM y 0.
  • SW2: se conecta entre VCC y ENABLE.
  • R2: se conecta entre ENABLE y 0.
  • U1 Pin 14 (VCC): se conecta a VCC.
  • U1 Pin 7 (GND): se conecta a 0.
  • U1 Pin 1 (1 A): se conecta a ALARM.
  • U1 Pin 2 (1B): se conecta a ENABLE.
  • U1 Pin 3 (1Y): se conecta a INTERMEDIATE.
  • U1 Pin 4 (2 A): se conecta a INTERMEDIATE.
  • U1 Pin 5 (2B): se conecta a INTERMEDIATE.
  • U1 Pin 6 (2Y): se conecta a VOUT.
  • D1: El ánodo se conecta a VOUT, el cátodo se conecta a NODE_LED.
  • R3: se conecta entre NODE_LED y 0.
  • Conexión de seguridad: Conecta los pines 9, 10, 12 y 13 de U1 a 0 (GND) para evitar que las puertas no utilizadas queden flotantes.

Diagrama de bloques conceptual

Conceptual block diagram — PIN Alarm Blocking Logic
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

VCC --> [ SW1 ] --(ALARM)--> [ U1: Pin 1 (1 A) ]
           |                      |
         [ R1 ]                   |
           |                 [ U1: Gate 1 (NAND) ] --(INTERMEDIATE)--> [ U1: Pins 4,5 (2 A,2B) ]
          GND                     |                                         |
                                  |                                    [ U1: Gate 2 (NAND) ] --(VOUT)--> [ D1: LED ] --(NODE_LED)--> [ R3 ] --> GND
VCC --> [ SW2 ] --(ENABLE)-> [ U1: Pin 2 (1B) ]
           |
         [ R2 ]
           |
          GND

* Power & Safety Connections:
VCC --> [ U1: Pin 14 (VCC) ]
GND <-- [ U1: Pin 7 (GND) ]
GND <-- [ U1: Pins 9, 10, 12, 13 (Unused) ]
Esquema Eléctrico

Tabla de verdad

Alarma (SW1) Habilitación (SW2) Nodo intermedio (1Y) Nodo de salida (2Y) Estado del LED
0 0 1 0 APAGADO
0 1 1 0 APAGADO
1 0 1 0 APAGADO
1 1 0 1 ENCENDIDO


Mediciones y pruebas

  1. Usa un multímetro para verificar que la fuente de alimentación sea exactamente de 5 V entre los nodos VCC y 0.
  2. Mide los nodos ALARM y ENABLE con respecto a 0. Verifica que marquen exactamente 0 V cuando sus respectivos interruptores estén abiertos, y 5 V cuando estén cerrados.
  3. Mide el nodo INTERMEDIATE. Debería marcar ~5 V cuando uno o ambos interruptores estén abiertos, y caer a ~0 V estrictamente cuando ambos interruptores estén cerrados.
  4. Mide el nodo VOUT. Siempre debería mostrar exactamente el nivel lógico opuesto al del nodo INTERMEDIATE.
  5. Confirma visualmente que el LED se enciende si y solo si ambos interruptores se cambian a la posición cerrada (activa).

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Alarm Lockout Logic with NAND

* Main DC Supply
V1 VCC 0 DC 5

* Control signals to simulate user pressing the switches (Testing Truth Table)
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: SPST switch (Alarm trigger)
S1 VCC ALARM ctrl1 0 SW_MODEL

* SW2: SPST switch (Enable signal)
S2 VCC ENABLE ctrl2 0 SW_MODEL
.model SW_MODEL SW(VT=2.5 VH=0.5 RON=0.1 ROFF=100MEG)

* Pull-down resistors for logic inputs
R1 ALARM 0 10k
R2 ENABLE 0 10k

* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

* Alarm Lockout Logic with NAND

* Main DC Supply
V1 VCC 0 DC 5

* Control signals to simulate user pressing the switches (Testing Truth Table)
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: SPST switch (Alarm trigger)
S1 VCC ALARM ctrl1 0 SW_MODEL

* SW2: SPST switch (Enable signal)
S2 VCC ENABLE ctrl2 0 SW_MODEL
.model SW_MODEL SW(VT=2.5 VH=0.5 RON=0.1 ROFF=100MEG)

* Pull-down resistors for logic inputs
R1 ALARM 0 10k
R2 ENABLE 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate
* Pinout: 1:1A, 2:1B, 3:1Y, 4:2A, 5:2B, 6:2Y, 7:GND, 8:3Y, 9:3A, 10:3B, 11:4Y, 12:4A, 13:4B, 14:VCC
XU1 ALARM ENABLE INTERMEDIATE INTERMEDIATE INTERMEDIATE VOUT 0 NC8 0 0 NC11 0 0 VCC HC00_DIP14

* D1: Red LED (Alarm indicator)
D1 VOUT NODE_LED DLED
.model DLED D(IS=1e-20 N=2.2 RS=15)

* R3: LED current limiting resistor
R3 NODE_LED 0 330

* Subcircuit for 74HC00 (Quad 2-Input NAND Gate)
.subckt HC00_DIP14 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Gate 1
B1 3_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(1)-2.5))))*(1/(1+exp(-50*(V(2)-2.5)))))
R1 3_int 3 50
* Gate 2
B2 6_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(4)-2.5))))*(1/(1+exp(-50*(V(5)-2.5)))))
R2 6_int 6 50
* Gate 3
B3 8_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(9)-2.5))))*(1/(1+exp(-50*(V(10)-2.5)))))
R3 8_int 8 50
* Gate 4
B4 11_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(12)-2.5))))*(1/(1+exp(-50*(V(13)-2.5)))))
R4 11_int 11 50
.ends

* Analysis directives
.tran 1u 500u
.print tran V(ALARM) V(ENABLE) V(VOUT) V(NODE_LED)
.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The transient simulation shows the output node (VOUT) and LED node (NODE_LED) going high (approx 4.66V and 2.22V respectively) only when both ALARM and ENABLE inputs are high (approx 5V). When either or both inputs are low, the output is near 0V. This matches the intended AND logic behavior created by using two NAND gates in series.
Show raw data table (691 rows)
Index   time            v(alarm)        v(enable)       v(vout)         v(node_led)
0	0.000000e+00	4.999500e-04	4.999500e-04	1.047185e-47	-6.91142e-47
1	1.000000e-08	4.999500e-04	4.999500e-04	7.268458e-64	-4.79767e-63
2	2.000000e-08	4.999500e-04	4.999500e-04	-7.26994e-64	4.797672e-63
3	4.000000e-08	4.999500e-04	4.999500e-04	-7.41841e-68	-2.28156e-77
4	8.000000e-08	4.999500e-04	4.999500e-04	-7.41841e-68	-2.51468e-77
5	1.600000e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
6	3.200000e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
7	3.750000e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
8	4.712500e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
9	4.978906e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
10	5.445117e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
11	5.574158e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
12	5.799979e-07	4.999500e-04	4.999500e-04	-7.41841e-68	-2.44808e-77
13	6.049995e-07	4.999950e+00	4.999950e+00	4.662865e+00	2.225088e+00
14	6.550027e-07	4.999950e+00	4.999950e+00	4.662939e+00	2.224602e+00
15	7.550091e-07	4.999950e+00	4.999950e+00	4.662792e+00	2.225571e+00
16	9.550219e-07	4.999950e+00	4.999950e+00	4.662792e+00	2.225574e+00
17	1.000000e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
18	1.040003e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
19	1.120008e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
20	1.280018e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
21	1.600038e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
22	2.240079e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
23	3.240079e-06	4.999950e+00	4.999950e+00	4.662786e+00	2.225611e+00
... (667 more rows) ...


Netlist SPICE de referencia (ngspice)

* Alarm Lockout Logic with NAND

* Main DC Supply
V1 VCC 0 DC 5

* Control signals to simulate user pressing the switches (Testing Truth Table)
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: SPST switch (Alarm trigger)
S1 VCC ALARM ctrl1 0 SW_MODEL

* SW2: SPST switch (Enable signal)
S2 VCC ENABLE ctrl2 0 SW_MODEL
.model SW_MODEL SW(VT=2.5 VH=0.5 RON=0.1 ROFF=100MEG)

* Pull-down resistors for logic inputs
R1 ALARM 0 10k
R2 ENABLE 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate
* Pinout: 1:1A, 2:1B, 3:1Y, 4:2A, 5:2B, 6:2Y, 7:GND, 8:3Y, 9:3A, 10:3B, 11:4Y, 12:4A, 13:4B, 14:VCC
XU1 ALARM ENABLE INTERMEDIATE INTERMEDIATE INTERMEDIATE VOUT 0 NC8 0 0 NC11 0 0 VCC HC00_DIP14

* D1: Red LED (Alarm indicator)
D1 VOUT NODE_LED DLED
.model DLED D(IS=1e-20 N=2.2 RS=15)

* R3: LED current limiting resistor
R3 NODE_LED 0 330

* Subcircuit for 74HC00 (Quad 2-Input NAND Gate)
.subckt HC00_DIP14 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Gate 1
B1 3_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(1)-2.5))))*(1/(1+exp(-50*(V(2)-2.5)))))
R1 3_int 3 50
* Gate 2
B2 6_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(4)-2.5))))*(1/(1+exp(-50*(V(5)-2.5)))))
R2 6_int 6 50
* Gate 3
B3 8_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(9)-2.5))))*(1/(1+exp(-50*(V(10)-2.5)))))
R3 8_int 8 50
* Gate 4
B4 11_int 7 V=V(14)*(1-(1/(1+exp(-50*(V(12)-2.5))))*(1/(1+exp(-50*(V(13)-2.5)))))
R4 11_int 11 50
.ends

* Analysis directives
.tran 1u 500u
.print tran V(ALARM) V(ENABLE) V(VOUT) V(NODE_LED)
.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The transient simulation shows the output node (VOUT) and LED node (NODE_LED) going high (approx 4.66V and 2.22V respectively) only when both ALARM and ENABLE inputs are high (approx 5V). When either or both inputs are low, the output is near 0V. This matches the intended AND logic behavior created by using two NAND gates in series.

Errores comunes y cómo evitarlos

  1. Dejar entradas no utilizadas flotantes: Los chips CMOS como el 74HC00 son muy sensibles a la estática y al ruido ambiental. Las entradas de puertas no utilizadas (pines 9, 10, 12, 13) deben conectarse explícitamente a tierra (0) o a VCC.
  2. Omitir las resistencias pull-down: Sin R1 y R2, los pines de entrada quedarán flotantes cuando los interruptores estén abiertos, lo que provocará un comportamiento impredecible y parpadeos en el LED. Asegúrate siempre de que las resistencias pull-down de 10 kΩ estén firmemente conectadas a tierra.
  3. Conectar el LED sin una resistencia en serie: Conectar D1 directamente entre VOUT y 0 consumirá una corriente excesiva, lo que podría destruir el LED y quemar la etapa de salida del chip 74HC00. R3 es obligatoria.


Solución de problemas

  • Síntoma: El LED nunca se apaga, sin importar las posiciones de los interruptores.
  • Causa: Una de las resistencias pull-down de entrada está suelta, lo que hace que el chip lea un ALTO falso, o el nodo intermedio no está cableado correctamente a ambas entradas de la segunda puerta.
  • Solución: Verifica las conexiones de R1 y R2 a tierra. Asegúrate de que el Pin 3 de U1 se dirija con precisión tanto al Pin 4 como al Pin 5.
  • Síntoma: El brillo del LED parpadea cuando se mueve una mano cerca del circuito.
  • Causa: Una entrada flotante está actuando como antena y captando ruido ambiental.
  • Solución: Comprueba que todas las entradas no utilizadas en el CI estén conectadas a tierra y asegúrate de que R1 y R2 estén asentadas firmemente en la protoboard.
  • Síntoma: El CI se calienta al tacto.
  • Causa: La fuente de alimentación está conectada al revés, o el nodo de salida está cortocircuitado directamente a tierra o a VCC.
  • Solución: Desconecta la alimentación inmediatamente. Verifica que el Pin 14 de U1 vaya estrictamente a +5 V y el Pin 7 vaya estrictamente a tierra.

Posibles mejoras y extensiones

  1. Interruptor de anulación maestra (Master Override): Introduce un tercer interruptor y utiliza una de las puertas NAND libres (por ejemplo, la Puerta C) para crear una «Anulación maestra» que fuerce el apagado del LED independientemente de las señales de Alarma y Habilitación.
  2. Añadir un circuito de retardo: Incorpora una red RC (una resistencia y un condensador) entre uno de los interruptores y su pin de entrada. Esto requiere que el interruptor se mantenga cerrado durante una duración específica antes de que la puerta lógica registre una señal en ALTO, evitando falsas alarmas.

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal del circuito descrito en el artículo?




Pregunta 2: ¿Qué chip específico se utiliza para implementar el circuito en su totalidad?




Pregunta 3: ¿Qué concepto fundamental demuestra el uso de la puerta NAND en este circuito?




Pregunta 4: ¿Para qué sirve la señal de habilitación ('enable') en este contexto?




Pregunta 5: ¿Qué función lógica se logra al cablear una puerta NAND como un inversor (NOT) después de otra NAND?




Pregunta 6: Según el resultado esperado, ¿cuándo emitirá un nivel lógico BAJO (0 V) la señal intermedia (salida de la primera NAND)?




Pregunta 7: ¿Bajo qué condiciones se encenderá el LED de advertencia (salida final en ALTO)?




Pregunta 8: ¿Cuál es el nivel de dificultad de este proyecto?




Pregunta 9: ¿Para qué se configuran redes pull-down en este circuito?




Pregunta 10: ¿Qué nivel de voltaje se considera un nivel lógico ALTO en la descripción de este circuito?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:


Caso práctico: Alarma de puerta abierta con inhibición

Prototipo de Alarma de puerta abierta con inhibición (Maker Style)

Nivel: Básico – Diseñar un circuito lógico utilizando una puerta NAND 74HC00 para activar una alarma LED solo cuando la puerta esté abierta y el sistema esté habilitado.

Objetivo y caso de uso

Lo que construirá es un controlador lógico de sistema de seguridad básico utilizando el chip universal NAND 74HC00. El circuito procesa dos entradas discretas (un sensor de puerta y un interruptor de habilitación) para activar una alarma visual estrictamente cuando el sistema está armado y se produce una apertura.

Por qué es útil:
* Demuestra cómo se pueden combinar múltiples puertas NAND para formar una puerta lógica AND.
* Ilustra el concepto de una señal de «habilitación/inhibición» (enable/inhibit) por hardware, comúnmente utilizada en electrónica industrial y digital.
* Proporciona experiencia práctica en la interconexión de interruptores mecánicos con entradas digitales CMOS sin estados flotantes.

Resultado esperado:
* Cuando el interruptor de la puerta está abierto (1 lógico) Y el interruptor de habilitación está cerrado (1 lógico), el LED se ENCIENDE.
* Si el interruptor de habilitación está abierto (0 lógico), la alarma permanece inhibida (LED APAGADO) independientemente del estado de la puerta.
* Los voltajes de nivel alto (VCC) y nivel bajo (0 V) lógicos se pueden medir claramente en los nodos de salida de los interruptores.
* La señal lógica intermedia entre las dos puertas NAND mostrará correctamente el estado invertido de la salida final.

Público objetivo y nivel: Principiantes en electrónica que aprenden lógica digital y circuitos combinacionales.

Materiales

  • V1: fuente de alimentación de 5 V CC, función: alimentación principal del circuito
  • SW1: interruptor SPST, función: sensor de puerta (cerrado = 0 lógico, abierto = 1 lógico)
  • SW2: interruptor SPST, función: habilitación del sistema (inhibido = 0 lógico, armado = 1 lógico)
  • R1: resistencia de 10 kΩ, función: pull-down para SW1 en el nodo DOOR
  • R2: resistencia de 10 kΩ, función: pull-down para SW2 en el nodo EN
  • R3: resistencia de 330 Ω, función: limitación de corriente del LED
  • U1: cuádruple puerta NAND de 2 entradas 74HC00, función: procesamiento lógico
  • D1: LED rojo, función: indicador visual de alarma

Pin-out del CI utilizado

CI utilizado: 74HC00 (Cuádruple puerta NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A de la Puerta 1 Nodo DOOR (desde SW1)
2 1B Entrada B de la Puerta 1 Nodo EN (desde SW2)
3 1Y Salida de la Puerta 1 Nodo NAND_OUT
4 2 A Entrada A de la Puerta 2 Nodo NAND_OUT (unido a 2B)
5 2B Entrada B de la Puerta 2 Nodo NAND_OUT (unido a 2 A)
6 2Y Salida de la Puerta 2 Nodo ALARM
7 GND Referencia de tierra Nodo 0
14 VCC Alimentación positiva Nodo VCC

(Nota: Los pines de entrada no utilizados 9, 10, 12 y 13 deben conectarse a tierra en los montajes físicos para evitar la oscilación CMOS).

Guía de conexionado

  • V1: se conecta entre VCC (positivo) y 0 (GND).
  • SW1: se conecta entre VCC y DOOR.
  • R1: se conecta entre DOOR y 0.
  • SW2: se conecta entre VCC y EN.
  • R2: se conecta entre EN y 0.
  • U1:
  • El pin 1 se conecta a DOOR.
  • El pin 2 se conecta a EN.
  • El pin 3 se conecta a NAND_OUT.
  • El pin 4 se conecta a NAND_OUT.
  • El pin 5 se conecta a NAND_OUT.
  • El pin 6 se conecta a ALARM.
  • El pin 7 se conecta a 0.
  • El pin 14 se conecta a VCC.
  • R3: se conecta entre ALARM y LED_IN.
  • D1: el ánodo se conecta a LED_IN, el cátodo se conecta a 0.

Diagrama de bloques conceptual

Conceptual block diagram — NAND1 NAND gate
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

VCC --> [ SW1: Door Sensor ] --+--(DOOR)----->+
                               |              |
                         [ R1: 10 kΩ ]         v
                               |        [ U1: NAND1 ] --(NAND_OUT)--> [ U1: NAND2 ] --(ALARM)--> [ R3: 330 Ω ] --(LED_IN)--> [ D1: Red LED ] --> GND
                              GND       [ Pins 1,2->3 ]               [ Pins 4,5->6 ]
                                              ^
                                              |
VCC --> [ SW2: Sys Enable ] ---+--(EN)------->+
                               |
                         [ R2: 10 kΩ ]
                               |
                              GND
Esquema Eléctrico

Tabla de verdad

DOOR (SW1) EN (SW2) NAND_OUT (Pin 3) ALARM (Pin 6) Estado del LED
0 (Bajo) 0 (Bajo) 1 (Alto) 0 (Bajo) APAGADO
0 (Bajo) 1 (Alto) 1 (Alto) 0 (Bajo) APAGADO
1 (Alto) 0 (Bajo) 1 (Alto) 0 (Bajo) APAGADO
1 (Alto) 1 (Alto) 0 (Bajo) 1 (Alto) ENCENDIDO (Alarma activa)


Mediciones y pruebas

  1. Validación de la alimentación: Mida el voltaje entre VCC y 0. Asegúrese de que sea de 5 V estables.
  2. Estados de entrada: Use un multímetro para medir los nodos DOOR y EN con respecto a tierra (0). Verifique que marquen 0 V cuando el interruptor esté abierto y 5 V cuando el interruptor esté cerrado.
  3. Lógica intermedia: Cierre tanto SW1 como SW2. Mida el nodo NAND_OUT. Debería caer a 0 V (Nivel bajo lógico) solo cuando ambos interruptores estén cerrados.
  4. Salida final: Mida el nodo ALARM. Debería marcar 5 V (Nivel alto lógico) solo cuando ambos interruptores estén cerrados, confirmando que U1B invirtió correctamente la señal de U1 A.
  5. Comprobación de la carga: Verifique que la caída de voltaje a través de D1 sea aproximadamente de 1.8 V a 2.2 V cuando esté iluminado.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Practical case: Open door alarm with inhibition
.width out=256

* Main Power Supply
V1 VCC 0 DC 5

* Door Sensor (SW1) - Modeled as a voltage-controlled switch with a pulse source
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC DOOR ctrl1 0 mySW
R1 DOOR 0 10k

* System Enable (SW2) - Modeled as a voltage-controlled switch with a slower pulse source
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC EN ctrl2 0 mySW
R2 EN 0 10k

* 74HC00 Quad 2-input NAND gate
* Wiring: 1->DOOR, 2->EN, 3->NAND_OUT, 4->NAND_OUT, 5->NAND_OUT, 6->ALARM, 7->0, 14->VCC
XU1 DOOR EN NAND_OUT NAND_OUT NAND_OUT ALARM 0 VCC 74HC00

* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

* Practical case: Open door alarm with inhibition
.width out=256

* Main Power Supply
V1 VCC 0 DC 5

* Door Sensor (SW1) - Modeled as a voltage-controlled switch with a pulse source
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC DOOR ctrl1 0 mySW
R1 DOOR 0 10k

* System Enable (SW2) - Modeled as a voltage-controlled switch with a slower pulse source
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC EN ctrl2 0 mySW
R2 EN 0 10k

* 74HC00 Quad 2-input NAND gate
* Wiring: 1->DOOR, 2->EN, 3->NAND_OUT, 4->NAND_OUT, 5->NAND_OUT, 6->ALARM, 7->0, 14->VCC
XU1 DOOR EN NAND_OUT NAND_OUT NAND_OUT ALARM 0 VCC 74HC00

* Alarm LED indicator
R3 ALARM LED_IN 330
D1 LED_IN 0 DLED

* Models and Subcircuits
.model mySW SW(Ron=1 Roff=100Meg Vt=2.5)
.model DLED D(IS=1e-15 N=2 RS=10)

* 74HC00 Subcircuit implementation (using robust continuous B-sources for logic)
.subckt 74HC00 1 2 3 4 5 6 7 14
* Gate 1 (Pins 1, 2 -> 3)
B1 3 7 V = 5 * (1 - (1 / (1 + exp(-50*(V(1,7)-2.5)))) * (1 / (1 + exp(-50*(V(2,7)-2.5)))))
* Gate 2 (Pins 4, 5 -> 6)
B2 6 7 V = 5 * (1 - (1 / (1 + exp(-50*(V(4,7)-2.5)))) * (1 / (1 + exp(-50*(V(5,7)-2.5)))))
* Dummy loads to prevent floating pins
R1 1 7 100Meg
R2 2 7 100Meg
R3 4 7 100Meg
R4 5 7 100Meg
R5 14 7 100Meg
.ends

* Analysis Directives
.op
.tran 1u 300u
.print tran V(DOOR) V(EN) V(ALARM) V(LED_IN)
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The simulation results show that when both DOOR and EN are high (approx 5V), ALARM goes high (5V) and LED_IN reaches about 1.65V, indicating the LED is ON. When either DOOR or EN is low (approx 0V), ALARM is low (0V) and LED_IN is 0V, indicating the LED is OFF. This perfectly matches the intended truth table for the alarm with inhibition.
Show raw data table (412 rows)
Index   time            v(door)         v(en)           v(alarm)        v(led_in)
0	0.000000e+00	4.999000e-04	4.999000e-04	-7.41841e-68	4.091162e-30
1	1.000000e-08	4.999000e-04	4.999000e-04	-7.41841e-68	2.688961e-41
2	2.000000e-08	4.999000e-04	4.999000e-04	-7.41841e-68	-2.68896e-41
3	4.000000e-08	4.999000e-04	4.999000e-04	-7.41841e-68	-8.83675e-52
4	8.000000e-08	4.999000e-04	4.999000e-04	-7.41841e-68	3.534698e-52
5	1.600000e-07	4.999000e-04	4.999000e-04	-7.41841e-68	1.858568e-62
6	3.200000e-07	4.999000e-04	4.999000e-04	-7.41841e-68	-4.64651e-63
7	3.562500e-07	4.999000e-04	4.999000e-04	-7.41841e-68	-7.41842e-68
8	4.196875e-07	4.999000e-04	4.999000e-04	-7.41841e-68	-7.41841e-68
9	4.372461e-07	4.999000e-04	4.999000e-04	-7.41841e-68	-7.41841e-68
10	4.679736e-07	4.999000e-04	4.999000e-04	-7.41841e-68	-7.41841e-68
11	5.019934e-07	4.999500e+00	4.999500e+00	5.000000e+00	1.651140e+00
12	5.700330e-07	4.999500e+00	4.999500e+00	5.000000e+00	1.651062e+00
13	7.061121e-07	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
14	9.782703e-07	4.999500e+00	4.999500e+00	5.000000e+00	1.650725e+00
15	1.000000e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
16	1.043459e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
17	1.130378e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
18	1.304216e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
19	1.651892e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
20	2.347244e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
21	3.347244e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
22	4.347244e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
23	5.347244e-06	4.999500e+00	4.999500e+00	5.000000e+00	1.650721e+00
... (388 more rows) ...


Netlist SPICE de referencia (ngspice)

* Practical case: Open door alarm with inhibition
.width out=256

* Main Power Supply
V1 VCC 0 DC 5

* Door Sensor (SW1) - Modeled as a voltage-controlled switch with a pulse source
V_ctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC DOOR ctrl1 0 mySW
R1 DOOR 0 10k

* System Enable (SW2) - Modeled as a voltage-controlled switch with a slower pulse source
V_ctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC EN ctrl2 0 mySW
R2 EN 0 10k

* 74HC00 Quad 2-input NAND gate
* Wiring: 1->DOOR, 2->EN, 3->NAND_OUT, 4->NAND_OUT, 5->NAND_OUT, 6->ALARM, 7->0, 14->VCC
XU1 DOOR EN NAND_OUT NAND_OUT NAND_OUT ALARM 0 VCC 74HC00

* Alarm LED indicator
R3 ALARM LED_IN 330
D1 LED_IN 0 DLED

* Models and Subcircuits
.model mySW SW(Ron=1 Roff=100Meg Vt=2.5)
.model DLED D(IS=1e-15 N=2 RS=10)

* 74HC00 Subcircuit implementation (using robust continuous B-sources for logic)
.subckt 74HC00 1 2 3 4 5 6 7 14
* Gate 1 (Pins 1, 2 -> 3)
B1 3 7 V = 5 * (1 - (1 / (1 + exp(-50*(V(1,7)-2.5)))) * (1 / (1 + exp(-50*(V(2,7)-2.5)))))
* Gate 2 (Pins 4, 5 -> 6)
B2 6 7 V = 5 * (1 - (1 / (1 + exp(-50*(V(4,7)-2.5)))) * (1 / (1 + exp(-50*(V(5,7)-2.5)))))
* Dummy loads to prevent floating pins
R1 1 7 100Meg
R2 2 7 100Meg
R3 4 7 100Meg
R4 5 7 100Meg
R5 14 7 100Meg
.ends

* Analysis Directives
.op
.tran 1u 300u
.print tran V(DOOR) V(EN) V(ALARM) V(LED_IN)
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The simulation results show that when both DOOR and EN are high (approx 5V), ALARM goes high (5V) and LED_IN reaches about 1.65V, indicating the LED is ON. When either DOOR or EN is low (approx 0V), ALARM is low (0V) and LED_IN is 0V, indicating the LED is OFF. This perfectly matches the intended truth table for the alarm with inhibition.

Errores comunes y cómo evitarlos

  • Entradas CMOS flotantes: Olvidar las resistencias pull-down (R1, R2) dejará las entradas flotantes cuando los interruptores estén abiertos, provocando parpadeos impredecibles del LED y un consumo excesivo de corriente del CI. Asegúrese siempre de que los interruptores mecánicos estén emparejados con resistencias pull-up o pull-down.
  • Dejar puertas no utilizadas flotantes: El 74HC00 contiene cuatro puertas. Dejar las entradas de las puertas 3 y 4 desconectadas puede causar oscilaciones de alta frecuencia. Conecte los pines 8, 9, 12 y 13 a tierra (0).
  • Malinterpretar la lógica NAND como NOT: Para utilizar una puerta NAND como inversor (puerta NOT), debe unir ambas entradas (como se hace en los pines 4 y 5). Suministrar la señal a un solo pin mientras se deja el otro flotante resultará en una lógica defectuosa.

Solución

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal del circuito descrito en el texto?




Pregunta 2: ¿Qué componente principal se utiliza para construir este circuito lógico?




Pregunta 3: ¿Bajo qué condiciones específicas se encenderá el LED de alarma?




Pregunta 4: ¿Qué concepto de electrónica ilustra este circuito con el uso del interruptor de habilitación?




Pregunta 5: ¿Qué función lógica se forma al combinar múltiples puertas NAND en este proyecto?




Pregunta 6: ¿Qué ocurre si el interruptor de habilitación está abierto (0 lógico)?




Pregunta 7: Según el texto, ¿qué valor lógico representa el interruptor de la puerta cuando se encuentra abierto?




Pregunta 8: ¿Qué problema evita este circuito al conectar interruptores mecánicos con entradas digitales CMOS?




Pregunta 9: ¿Cuál es el nivel de dificultad asignado a este diseño de circuito lógico?




Pregunta 10: ¿Qué tipo de entradas procesa el circuito para activar la alarma?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:


Caso práctico: Sistema de parada de emergencia

Prototipo de Sistema de parada de emergencia (Maker Style)

Nivel: Básico – Utilizar la salida de nivel bajo de una puerta NAND para detener un proceso si dos sensores detectan peligro simultáneamente.

Objetivo y caso de uso

En este caso práctico, construirás un circuito de enclavamiento de seguridad digital utilizando una puerta NAND 74HC00. El sistema evalúa dos sensores de peligro independientes y activa un relé de nivel bajo (active-low) para detener un proceso solo cuando ambos sensores detectan una condición crítica.

Por qué es útil:
* Seguridad industrial: Detener maquinaria pesada si dos protecciones de seguridad separadas se omiten o abren simultáneamente.
* Control de procesos: Activar una parada de emergencia en una planta química si tanto la presión como la temperatura superan los umbrales críticos.
* Validación redundante: Evitar que falsas alarmas apaguen un sistema al requerir que dos sensores independientes coincidan antes de tomar medidas.

Resultado esperado:
* Cuando ambos sensores registran un nivel lógico ALTO (indicando peligro), la salida de la puerta NAND caerá a un nivel lógico BAJO (~0 V).
* La señal de 0 V activará un módulo de relé de nivel bajo, accionando la parada de emergencia.
* Si uno o ambos sensores leen un nivel lógico BAJO (condición segura), la salida NAND se mantiene ALTA (~5 V), manteniendo el relé inactivo y el proceso en marcha.

Público objetivo y nivel: Principiantes en electrónica digital y control lógico industrial.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • SW1: Interruptor SPST, función: sensor de peligro 1
  • SW2: Interruptor SPST, función: sensor de peligro 2
  • R1: Resistencia de 10 kΩ, función: pull-down para SW1
  • R2: Resistencia de 10 kΩ, función: pull-down para SW2
  • U1: CI 74HC00 con cuatro puertas NAND de 2 entradas
  • RLY1: Módulo de relé de 5 V de nivel bajo (active-low), función: parada de emergencia del proceso

Pin-out del CI utilizado

Utilizaremos el 74HC00 (Cuatro puertas NAND de 2 entradas).

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada 1 de la Puerta 1 Nodo VA (desde SW1)
2 1B Entrada 2 de la Puerta 1 Nodo VB (desde SW2)
3 1Y Salida de la Puerta 1 Nodo VOUT (hacia IN de RLY1)
7 GND Tierra (Masa) Nodo 0
14 VCC Alimentación Nodo VCC

Guía de conexionado

  • V1: se conecta entre el nodo VCC y el nodo 0 (GND).
  • SW1: se conecta entre el nodo VCC y el nodo VA.
  • R1: se conecta entre el nodo VA y el nodo 0.
  • SW2: se conecta entre el nodo VCC y el nodo VB.
  • R2: se conecta entre el nodo VB y el nodo 0.
  • U1: El pin 14 se conecta al nodo VCC; el pin 7 se conecta al nodo 0.
  • U1: El pin 1 se conecta al nodo VA.
  • U1: El pin 2 se conecta al nodo VB.
  • U1: El pin 3 se conecta al nodo VOUT.
  • RLY1: El pin VCC se conecta al nodo VCC, el pin GND se conecta al nodo 0 y el pin de señal/IN se conecta al nodo VOUT.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC00 NAND gate
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

POWER SUPPLY:
[ V1: 5 V DC Power Supply ] --(VCC)
                           --(GND)

SENSOR 1 INPUT PATH:
VCC --> [ SW1: Danger Sensor 1 ] --(Node VA)--> [ U1: 74HC00 NAND (Pin 1) ]
[ Node VA ] --> [ R1: 10 kΩ Pull-down ] --> GND

SENSOR 2 INPUT PATH:
VCC --> [ SW2: Danger Sensor 2 ] --(Node VB)--> [ U1: 74HC00 NAND (Pin 2) ]
[ Node VB ] --> [ R2: 10 kΩ Pull-down ] --> GND

LOGIC TO EMERGENCY STOP PATH:
[ U1: 74HC00 NAND (Pin 3) ] --(Node VOUT)--> [ RLY1: Relay Module (IN) ]

IC & MODULE POWER CONNECTIONS:
VCC --> [ U1: 74HC00 NAND (Pin 14) ]
GND <-- [ U1: 74HC00 NAND (Pin 7) ]

VCC --> [ RLY1: Relay Module (VCC) ]
GND <-- [ RLY1: Relay Module (GND) ]
Esquema Eléctrico

Tabla de verdad

Nota: El módulo de relé en este caso es de nivel bajo (active-low), lo que significa que activa la parada de emergencia cuando recibe un 0.

SW1 (Nodo VA) SW2 (Nodo VB) VOUT (Salida NAND) Estado del Relé (Nivel Bajo) Estado del Proceso
0 (Seguro) 0 (Seguro) 1 (ALTO) APAGADO (OFF) En marcha
0 (Seguro) 1 (Peligro) 1 (ALTO) APAGADO (OFF) En marcha
1 (Peligro) 0 (Seguro) 1 (ALTO) APAGADO (OFF) En marcha
1 (Peligro) 1 (Peligro) 0 (BAJO) ENCENDIDO (Activado) DETENIDO


Mediciones y pruebas

  1. Estados lógicos de entrada: Utilizando un multímetro digital, mide la tensión en CC en los nodos VA y VB con respecto al nodo 0. Verifica que marquen ~0 V cuando los interruptores estén abiertos, y ~5 V cuando estén cerrados.
  2. Nivel de tensión de salida: Mide el nodo VOUT. Confirma que se mantiene cerca de 5 V durante el funcionamiento normal (cuando uno o ningún interruptor está cerrado).
  3. Activación del sistema: Cierra tanto SW1 como SW2 simultáneamente. Mide el nodo VOUT para asegurarte de que cae a ~0 V.
  4. Accionamiento del relé: Escucha el «clic» audible del relé (u observa su LED indicador integrado) precisamente cuando VOUT cae a 0 V, confirmando que el comando de parada de emergencia se ha ejecutado físicamente.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Practical case: Emergency stop system
.width out=256

* Main 5V DC power supply
V1 VCC 0 DC 5

* SW1 (Danger sensor 1) and its pull-down resistor
S1 VCC VA ctrl1 0 sw_mod
Vctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
R1 VA 0 10k

* SW2 (Danger sensor 2) and its pull-down resistor
S2 VCC VB ctrl2 0 sw_mod
Vctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)
R2 VB 0 10k

* U1: 74HC00 Quad 2-Input NAND gate IC (Using pins 1, 2, 3, 7, 14)
XU1 VA VB VOUT VCC 0 NAND_74HC00

* RLY1: 5V Active-low relay module
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

* Practical case: Emergency stop system
.width out=256

* Main 5V DC power supply
V1 VCC 0 DC 5

* SW1 (Danger sensor 1) and its pull-down resistor
S1 VCC VA ctrl1 0 sw_mod
Vctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
R1 VA 0 10k

* SW2 (Danger sensor 2) and its pull-down resistor
S2 VCC VB ctrl2 0 sw_mod
Vctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)
R2 VB 0 10k

* U1: 74HC00 Quad 2-Input NAND gate IC (Using pins 1, 2, 3, 7, 14)
XU1 VA VB VOUT VCC 0 NAND_74HC00

* RLY1: 5V Active-low relay module
XRLY1 VOUT VCC 0 RELAY_MOD

* --- Subcircuits ---

.subckt NAND_74HC00 INA INB OUT VCC GND
* Behavioral NAND gate using continuous sigmoid functions for robust convergence
B1 OUT_int 0 V = 5 * (1 - (1/(1+exp(-20*(V(INA)-2.5)))) * (1/(1+exp(-20*(V(INB)-2.5)))))
R1 OUT_int OUT 100
C1 OUT 0 10p
.ends

.subckt RELAY_MOD IN VCC GND
* Simple resistive model for the relay module to satisfy load requirements
R_in IN GND 10k
R_vcc VCC GND 1k
.ends

* --- Models ---
.model sw_mod SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* --- Analysis Directives ---
.tran 1u 300u
.print tran V(VA) V(VB)
.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The ngspice transient analysis shows nodes VA and VB toggling between approximately 0V and 5V, consistent with the PULSE sources driving the switches. This correctly simulates the different combinations of the danger sensors (SW1 and SW2) being triggered or safe.
Show raw data table (501 rows)
Index   time            v(va)           v(vb)
0	0.000000e+00	4.999500e-04	4.999500e-04
1	1.000000e-08	4.999500e-04	4.999500e-04
2	2.000000e-08	4.999500e-04	4.999500e-04
3	4.000000e-08	4.999500e-04	4.999500e-04
4	8.000000e-08	4.999500e-04	4.999500e-04
5	1.600000e-07	4.999500e-04	4.999500e-04
6	3.200000e-07	4.999500e-04	4.999500e-04
7	3.562500e-07	4.999500e-04	4.999500e-04
8	4.196875e-07	4.999500e-04	4.999500e-04
9	4.372461e-07	4.999500e-04	4.999500e-04
10	4.679736e-07	4.999500e-04	4.999500e-04
11	4.795524e-07	4.999500e-04	4.999500e-04
12	4.902290e-07	4.999500e-04	4.999500e-04
13	5.023412e-07	4.999950e+00	4.999950e+00
14	5.111724e-07	4.999950e+00	4.999950e+00
15	5.196372e-07	4.999950e+00	4.999950e+00
16	5.247062e-07	4.999950e+00	4.999950e+00
17	5.271308e-07	4.999950e+00	4.999950e+00
18	5.277087e-07	4.999950e+00	4.999950e+00
19	5.280739e-07	4.999950e+00	4.999950e+00
20	5.285244e-07	4.999950e+00	4.999950e+00
21	5.292184e-07	4.999950e+00	4.999950e+00
22	5.299733e-07	4.999950e+00	4.999950e+00
23	5.306602e-07	4.999950e+00	4.999950e+00
... (477 more rows) ...


Netlist SPICE de referencia (ngspice)

* Practical case: Emergency stop system
.width out=256

* Main 5V DC power supply
V1 VCC 0 DC 5

* SW1 (Danger sensor 1) and its pull-down resistor
S1 VCC VA ctrl1 0 sw_mod
Vctrl1 ctrl1 0 PULSE(0 5 0 1u 1u 50u 100u)
R1 VA 0 10k

* SW2 (Danger sensor 2) and its pull-down resistor
S2 VCC VB ctrl2 0 sw_mod
Vctrl2 ctrl2 0 PULSE(0 5 0 1u 1u 100u 200u)
R2 VB 0 10k

* U1: 74HC00 Quad 2-Input NAND gate IC (Using pins 1, 2, 3, 7, 14)
XU1 VA VB VOUT VCC 0 NAND_74HC00

* RLY1: 5V Active-low relay module
XRLY1 VOUT VCC 0 RELAY_MOD

* --- Subcircuits ---

.subckt NAND_74HC00 INA INB OUT VCC GND
* Behavioral NAND gate using continuous sigmoid functions for robust convergence
B1 OUT_int 0 V = 5 * (1 - (1/(1+exp(-20*(V(INA)-2.5)))) * (1/(1+exp(-20*(V(INB)-2.5)))))
R1 OUT_int OUT 100
C1 OUT 0 10p
.ends

.subckt RELAY_MOD IN VCC GND
* Simple resistive model for the relay module to satisfy load requirements
R_in IN GND 10k
R_vcc VCC GND 1k
.ends

* --- Models ---
.model sw_mod SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* --- Analysis Directives ---
.tran 1u 300u
.print tran V(VA) V(VB)
.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The ngspice transient analysis shows nodes VA and VB toggling between approximately 0V and 5V, consistent with the PULSE sources driving the switches. This correctly simulates the different combinations of the danger sensors (SW1 and SW2) being triggered or safe.

Errores comunes y cómo evitarlos

  • Entradas flotantes: Olvidar las resistencias pull-down (R1 y R2). Sin ellas, las entradas de la puerta lógica quedarán flotantes y captarán ruido ambiental, provocando que el relé se active aleatoriamente.
  • Malinterpretar la lógica de nivel bajo (active-low): Esperar que el relé se active cuando la salida es de 5 V. En este caso, la salida NAND cae a 0 V al detectar peligro mutuo, lo que encaja perfectamente con un módulo de relé de nivel bajo. Asegúrate de que tu módulo de relé es realmente de nivel bajo.
  • Omitir las conexiones de alimentación del CI: Olvidar cablear los pines 14 (VCC) y 7 (GND) del 74HC00. El CI no procesará la lógica sin alimentación y puede comportarse de forma errática si se alimenta de forma parásita a través de sus pines de entrada.


Solución de problemas

  • Síntoma: El relé nunca hace clic, incluso cuando ambos interruptores están cerrados.
    • Causa: El pin de salida del 74HC00 no puede absorber suficiente corriente, o el módulo de relé es de nivel alto (active-high) en lugar de nivel bajo.
    • Solución: Asegúrate de estar utilizando un módulo de relé (con un transistor controlador integrado) en lugar de un relé mecánico desnudo. Verifica la lógica de activación del módulo (algunos tienen un puente para seleccionar entre nivel alto y nivel bajo).
  • Síntoma: El relé repiquetea rápidamente o se activa aleatoriamente sin interacción humana.
    • Causa: Entradas flotantes en el nodo VA o VB.
    • Solución: Comprueba dos veces que R1 y R2 están correctamente asentadas en la protoboard y conectadas directamente a GND (nodo 0).
  • Síntoma: El relé siempre está ENCENDIDO y el proceso está permanentemente detenido.
    • Causa: La salida NAND está permanentemente atascada en 0 V. Esto puede suceder si ambas entradas están en cortocircuito a VCC, o si la puerta lógica está dañada.
    • Solución: Mide VA y VB. Si marcan 0 V pero VOUT sigue siendo 0 V, reemplaza el CI 74HC00.

Posibles mejoras y extensiones

  • Antirrebote por hardware (debouncing): Añade un condensador de 1 µF en paralelo a cada interruptor para evitar que el rebote de los contactos genere transiciones lógicas rápidas e involuntarias durante el milisegundo en que se acciona el interruptor.
  • Indicadores visuales de estado: Conecta un LED y una resistencia limitadora de corriente de 330 Ω al nodo VOUT para proporcionar un indicador visual claro en un panel de control cuando el sistema está en un estado seguro (LED ENCENDIDO) frente a un estado de emergencia (LED APAGADO).

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Cuál es el componente principal utilizado para la lógica de este circuito de seguridad?




Pregunta 2: ¿Bajo qué condición el sistema detiene el proceso?




Pregunta 3: ¿Qué tipo de módulo de relé se utiliza en este caso práctico?




Pregunta 4: ¿Qué nivel lógico registran los sensores cuando detectan peligro?




Pregunta 5: ¿Cuál es el voltaje aproximado a la salida de la puerta NAND cuando ambos sensores detectan peligro?




Pregunta 6: ¿Por qué es útil este sistema en la validación redundante?




Pregunta 7: En el contexto de control de procesos, ¿qué variables podrían activar la parada de emergencia en una planta química según el texto?




Pregunta 8: ¿Qué sucede con la salida de la puerta NAND si solo un sensor detecta peligro (nivel ALTO) y el otro no (nivel BAJO)?




Pregunta 9: ¿Cuál es el propósito principal de este circuito de enclavamiento de seguridad?




Pregunta 10: ¿Qué acción física realiza el relé cuando recibe la señal de 0 V de la puerta NAND?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:


Caso práctico: Inversor lógico usando Puerta NAND

Prototipo de Inversor lógico usando Puerta NAND (Maker Style)

Nivel: Básico – Demostrar la universalidad de la puerta NAND configurándola como una puerta NOT básica.

Objetivo y caso de uso

En este caso práctico, construirás un inversor digital (puerta NOT) utilizando una puerta NAND 74HC00 estándar cortocircuitando sus entradas entre sí.

Comprender esta configuración es muy útil por varias razones:
* Optimización de la lista de materiales (BOM): Reduce el número de circuitos integrados únicos necesarios en un diseño; si tienes puertas NAND libres en una placa, no necesitas añadir un chip de puerta NOT dedicado.
* Universalidad lógica: Demuestra de forma práctica que las puertas NAND son «universales», lo que significa que cualquier función lógica se puede construir utilizando únicamente puertas NAND.
* Simplificación del circuito: Ayuda a optimizar el enrutamiento en las placas de circuito impreso reutilizando puertas no utilizadas cercanas en lugar de trazar pistas hacia un CI diferente.

Resultado esperado:
* Cuando el interruptor de entrada proporciona un nivel lógico BAJO (0 V) a las entradas cortocircuitadas, la salida pasará a nivel ALTO (aprox. 5 V), encendiendo el LED indicador.
* Cuando el interruptor de entrada proporciona un nivel lógico ALTO (5 V) a las entradas cortocircuitadas, la salida pasará a nivel BAJO (0 V), apagando el LED indicador.
* El circuito replicará perfectamente el comportamiento de una puerta NOT 74HC04 estándar.

Público objetivo: Principiantes en electrónica que aprenden álgebra de Boole fundamental e implementación de hardware digital.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • U1: Puerta NAND cuádruple de 2 entradas 74HC00
  • SW1: Interruptor de palanca SPST o pulsador, función: selector de estado de entrada
  • R1: Resistencia de 10 kΩ, función: pull-down para el nodo VA
  • R2: Resistencia de 330 Ω, función: limitadora de corriente para el LED de salida
  • D1: LED rojo, función: indicador del estado de VOUT

Pin-out del CI utilizado

CI: 74HC00 (Puerta NAND cuádruple de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A de la Puerta 1 Nodo VA (cortocircuitado a 1B)
2 1B Entrada B de la Puerta 1 Nodo VA (cortocircuitado a 1 A)
3 1Y Salida de la Puerta 1 Nodo VOUT
7 GND Tierra Nodo 0
14 VCC Fuente de alimentación positiva Nodo VCC

(Nota: Los pines 4, 5, 9, 10, 12 y 13 son entradas no utilizadas en este ejercicio específico e idealmente deberían conectarse a Tierra en un circuito físico final para evitar problemas de entradas CMOS flotantes).

Guía de conexionado

  • V1: Se conecta entre el nodo VCC (+5 V) y el nodo 0 (GND).
  • U1 VCC/GND: Conecta el pin 14 al nodo VCC y el pin 7 al nodo 0.
  • SW1: Se conecta entre el nodo VCC y el nodo VA.
  • R1: Se conecta entre el nodo VA y el nodo 0 (asegura un nivel BAJO definitivo cuando el interruptor está abierto).
  • Entradas U1: Conecta el pin 1 (1 A) al nodo VA y conecta el pin 2 (1B) al nodo VA. Esto une ambas entradas de la primera puerta NAND.
  • Salida U1: El pin 3 (1Y) proporciona la señal invertida y se conecta al nodo VOUT.
  • R2: Se conecta entre el nodo VOUT y el ánodo de D1.
  • D1: Conecta el cátodo al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC00 NAND gate
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

VCC --> [ SW1: Switch ] --(Node VA)--> [ U1: 74HC00 NAND (Pins 1 & 2) ] --(VOUT)--> [ R2: 330 Ω ] --> [ D1: Red LED ] --> GND
                               |
                          [ R1: 10 kΩ ]
                               |
                              GND
Esquema Eléctrico

Tabla de verdad

Entrada (VA) Salida (VOUT) Estado del LED (D1)
0 (BAJO) 1 (ALTO) ENCENDIDO
1 (ALTO) 0 (BAJO) APAGADO


Mediciones y pruebas

  1. Medición de voltaje de entrada: Usa un multímetro para medir el voltaje en el nodo VA con respecto al nodo 0. Verifica que marque ~0 V cuando SW1 esté abierto, y ~5 V cuando SW1 esté cerrado.
  2. Medición de voltaje de salida: Mueve la sonda del multímetro al nodo VOUT. Confirma que marque ~5 V cuando VA sea 0 V, y marque ~0 V cuando VA sea 5 V.
  3. Verificación funcional: Alterna el interruptor varias veces. Asegúrate de que D1 se comporte de manera inversa a la acción física del interruptor (por ejemplo, si presionar el botón envía una señal ALTA, el LED debería apagarse al presionarlo).

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Practical case: Logic inverter using NAND gate

* Power Supply
V1 VCC 0 DC 5V

* Switch SW1 (VCC to VA)
* Modeled as a voltage-controlled switch to simulate user interaction
S_SW1 VCC VA SW_CTRL 0 sw_mod
.model sw_mod SW(vt=2.5 vh=0.2 ron=0.1 roff=100Meg)
V_SW_CTRL SW_CTRL 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Pull-down resistor R1
R1 VA 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate (using 1 gate)
* Pin 14: VCC, Pin 7: 0
* Pin 1: VA, Pin 2: VA, Pin 3: VOUT
XU1 VA VA VOUT VCC 0 NAND2_74HC00

* R2: Current limiting resistor
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

* Practical case: Logic inverter using NAND gate

* Power Supply
V1 VCC 0 DC 5V

* Switch SW1 (VCC to VA)
* Modeled as a voltage-controlled switch to simulate user interaction
S_SW1 VCC VA SW_CTRL 0 sw_mod
.model sw_mod SW(vt=2.5 vh=0.2 ron=0.1 roff=100Meg)
V_SW_CTRL SW_CTRL 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Pull-down resistor R1
R1 VA 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate (using 1 gate)
* Pin 14: VCC, Pin 7: 0
* Pin 1: VA, Pin 2: VA, Pin 3: VOUT
XU1 VA VA VOUT VCC 0 NAND2_74HC00

* R2: Current limiting resistor
R2 VOUT N1 330

* D1: Red LED
D1 N1 0 DLED

* Models
.model DLED D(IS=1e-15 N=1.8 RS=10)

* Subcircuit for NAND Gate
.subckt NAND2_74HC00 1A 1B 1Y VCC GND
RinA 1A GND 1G
RinB 1B GND 1G
Rvcc VCC GND 100Meg
B1 Y_int GND V = 5 * (1 - (1/(1+exp(-50*(V(1A)-2.5)))) * (1/(1+exp(-50*(V(1B)-2.5)))))
Rout Y_int 1Y 50
.ends

* Analysis
.tran 1u 600u
.print tran V(VA) V(VOUT) V(N1) I(V1)
.op

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The transient simulation shows that when the input VA is LOW (~0V), the output VOUT is HIGH (~4.54V) and the LED node N1 is at ~1.48V (LED ON). When VA goes HIGH (~5V), VOUT goes LOW (~0V) and N1 goes to ~0V (LED OFF). This perfectly matches the expected logic inverter behavior.
Show raw data table (704 rows)
Index   time            v(va)           v(vout)         v(n1)           v1#branch
0	0.000000e+00	4.999400e-04	4.537182e+00	1.482582e+00	-9.99950e-08
1	1.000000e-08	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
2	2.000000e-08	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
3	4.000000e-08	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
4	8.000000e-08	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
5	1.600000e-07	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
6	3.200000e-07	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
7	6.400000e-07	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
8	1.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
9	2.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
10	3.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
11	4.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
12	5.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
13	6.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
14	7.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
15	8.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
16	9.280000e-06	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
17	1.000000e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
18	1.010000e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
19	1.030000e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
20	1.034750e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
21	1.043062e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
22	1.045363e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
23	1.049390e-05	4.999400e-04	4.537182e+00	1.482580e+00	-9.99950e-08
... (680 more rows) ...


Netlist SPICE de referencia (ngspice)

* Practical case: Logic inverter using NAND gate

* Power Supply
V1 VCC 0 DC 5V

* Switch SW1 (VCC to VA)
* Modeled as a voltage-controlled switch to simulate user interaction
S_SW1 VCC VA SW_CTRL 0 sw_mod
.model sw_mod SW(vt=2.5 vh=0.2 ron=0.1 roff=100Meg)
V_SW_CTRL SW_CTRL 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Pull-down resistor R1
R1 VA 0 10k

* U1: 74HC00 Quad 2-Input NAND Gate (using 1 gate)
* Pin 14: VCC, Pin 7: 0
* Pin 1: VA, Pin 2: VA, Pin 3: VOUT
XU1 VA VA VOUT VCC 0 NAND2_74HC00

* R2: Current limiting resistor
R2 VOUT N1 330

* D1: Red LED
D1 N1 0 DLED

* Models
.model DLED D(IS=1e-15 N=1.8 RS=10)

* Subcircuit for NAND Gate
.subckt NAND2_74HC00 1A 1B 1Y VCC GND
RinA 1A GND 1G
RinB 1B GND 1G
Rvcc VCC GND 100Meg
B1 Y_int GND V = 5 * (1 - (1/(1+exp(-50*(V(1A)-2.5)))) * (1/(1+exp(-50*(V(1B)-2.5)))))
Rout Y_int 1Y 50
.ends

* Analysis
.tran 1u 600u
.print tran V(VA) V(VOUT) V(N1) I(V1)
.op

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Análisis: The transient simulation shows that when the input VA is LOW (~0V), the output VOUT is HIGH (~4.54V) and the LED node N1 is at ~1.48V (LED ON). When VA goes HIGH (~5V), VOUT goes LOW (~0V) and N1 goes to ~0V (LED OFF). This perfectly matches the expected logic inverter behavior.

Errores comunes y cómo evitarlos

  • Dejar las entradas CMOS flotantes: El 74HC00 es un CI CMOS. Si olvidas usar la resistencia pull-down R1, al abrir SW1 dejarás las entradas 1 A y 1B flotantes, lo que provocará una conmutación de salida errática y un alto consumo de energía. Usa siempre una resistencia pull-up o pull-down.
  • Olvidar la resistencia limitadora de corriente del LED: Conectar D1 directamente entre VOUT y 0 sin R2 consumirá una corriente excesiva, lo que podría destruir tanto el LED como la etapa de salida del CI 74HC00.
  • Cortocircuitar entradas incorrectamente: Cortocircuitar por error una entrada con una salida (por ejemplo, puentear los pines 2 y 3 en lugar de 1 y 2) creará un bucle de retroalimentación o un conflicto lógico, impidiendo que el circuito funcione.


Solución de problemas

  • Síntoma: El LED nunca se enciende.
    • Causa: El LED (D1) podría estar insertado al revés, o el CI no tiene alimentación.
    • Solución: Comprueba la polaridad del LED (ánodo a R2, cátodo a 0). Mide el voltaje entre los pines 14 y 7 para confirmar que el CI recibe 5 V.
  • Síntoma: El LED siempre está encendido, independientemente de la posición del interruptor.
    • Causa: El interruptor está mal cableado, o la configuración pull-up/pull-down es incorrecta (por ejemplo, el nodo VA está atascado en nivel BAJO).
    • Solución: Verifica que SW1 aplique 5 V al nodo VA cuando se activa. Comprueba que R1 tenga una conexión sólida a Tierra.
  • Síntoma: El CI se calienta muchísimo.
    • Causa: La fuente de alimentación está invertida o hay un cortocircuito directo en la salida.
    • Solución: Desconecta la alimentación inmediatamente. Verifica que el pin 14 vaya a VCC y el pin 7 vaya a 0. Asegúrate de que R2 esté presente en la ruta de salida.

Posibles mejoras y extensiones

  • Añadir un indicador de entrada: Conecta un segundo LED y una resistencia directamente al nodo VA. Esto te permite comparar visualmente el estado de entrada y el estado de salida uno al lado del otro (cuando un LED esté ENCENDIDO, el otro estará APAGADO).
  • Construir una puerta AND: Conecta en cascada este inversor recién construido a una segunda puerta NAND. Conecta la salida de una puerta NAND estándar a las entradas cortocircuitadas de tu puerta NOT basada en NAND para crear una puerta AND funcional, demostrando aún más la lógica universal.

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal de este caso práctico?




Pregunta 2: ¿Cómo se configura la puerta NAND para que funcione como una puerta NOT?




Pregunta 3: ¿Qué circuito integrado estándar se utiliza en este ejercicio para la puerta NAND?




Pregunta 4: ¿Qué significa que las puertas NAND sean 'universales'?




Pregunta 5: ¿Cómo ayuda esta configuración a la optimización de la lista de materiales (BOM)?




Pregunta 6: ¿De qué manera esta técnica simplifica el diseño de placas de circuito impreso (PCB)?




Pregunta 7: Según el resultado esperado, ¿qué sucede cuando el interruptor de entrada proporciona un nivel lógico BAJO (0 V)?




Pregunta 8: Si la entrada de la puerta NOT (NAND configurada) recibe un nivel lógico ALTO, ¿cuál será el estado de la salida?




Pregunta 9: En este circuito, ¿a qué voltaje aproximado corresponde el nivel lógico ALTO en la salida?




Pregunta 10: Si tienes puertas NAND libres en tu placa y usas esta configuración, ¿qué componente evitas añadir al diseño?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:


Caso práctico: Conmutación de luz desde dos puntos

Prototipo de Conmutación de luz desde dos puntos (Maker Style)

Nivel: Medio. Implemente una función lógica XOR utilizando puertas NAND universales para controlar una fuente de luz desde dos ubicaciones independientes.

Objetivo y caso de uso

En este caso, construirá un circuito lógico digital que replica un sistema de conmutación residencial de 2 vías (luz de pasillo) utilizando un solo CI 74HC00 de cuádruple puerta NAND. Al combinar cuatro puertas NAND, sintetizará la función O-Exclusiva (XOR), demostrando que las puertas NAND son bloques de construcción «universales».

Por qué es útil:
* Simulación de cableado residencial: Demuestra cómo dos interruptores pueden alternar independientemente una sola carga (lógica de pasillo/escalera).
* Síntesis de lógica digital: Enseña cómo construir lógica compleja (XOR) a partir de puertas universales básicas (NAND).
* Circuitos aritméticos: Esta topología XOR específica es el componente fundamental de un «Semisumador» digital utilizado en las ALU de las CPU.
* Detección de errores: La lógica XOR se utiliza para calcular bits de paridad para la transmisión de datos.

Resultado esperado:
* Estado 00: Cuando ambos interruptores están OFF, el LED está OFF.
* Estado 01/10: Cuando solo un interruptor está ON, el LED está ON (Nivel lógico alto > 3.5 V).
* Estado 11: Cuando ambos interruptores están ON, el LED está OFF.
* Universalidad: Demostración exitosa de que 4 puertas NAND = 1 puerta XOR.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con las puertas lógicas básicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas.
  • S1: Interruptor SPST, función: Entrada A (Interruptor 1).
  • S2: Interruptor SPST, función: Entrada B (Interruptor 2).
  • R1: Resistencia de 10 kΩ, función: Pull-down para Entrada A.
  • R2: Resistencia de 10 kΩ, función: Pull-down para Entrada B.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente del LED.
  • D1: LED rojo, función: Indicador de salida (Luz).

Pin-out del CI utilizado

Chip seleccionado: 74HC00 (Cuádruple puerta NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Puerta 1 Conectar al nodo INPUT_A
2 1B Entrada Puerta 1 Conectar al nodo INPUT_B
3 1Y Salida Puerta 1 Nodo interno NAND_1_OUT
4 2 A Entrada Puerta 2 Conectar al nodo INPUT_A
5 2B Entrada Puerta 2 Conectar al nodo NAND_1_OUT
6 2Y Salida Puerta 2 Nodo interno NAND_2_OUT
7 GND Tierra Conectar al nodo 0 (GND)
8 3Y Salida Puerta 3 Nodo interno NAND_3_OUT
9 3 A Entrada Puerta 3 Conectar al nodo NAND_1_OUT
10 3B Entrada Puerta 3 Conectar al nodo INPUT_B
11 4Y Salida Puerta 4 Conectar al nodo FINAL_OUT
12 4 A Entrada Puerta 4 Conectar al nodo NAND_2_OUT
13 4B Entrada Puerta 4 Conectar al nodo NAND_3_OUT
14 VCC Alimentación Conectar al nodo VCC (+5 V)

Guía de conexionado

  • V1: Conectar el terminal positivo al nodo VCC y el terminal negativo al nodo 0.
  • U1 (Alimentación): Conectar el Pin 14 a VCC y el Pin 7 a 0.
  • S1: Conectar un lado a VCC y el otro al nodo INPUT_A.
  • R1: Conectar entre el nodo INPUT_A y el nodo 0.
  • S2: Conectar un lado a VCC y el otro al nodo INPUT_B.
  • R2: Conectar entre el nodo INPUT_B y el nodo 0.
  • U1 (Puerta 1): Conectar el Pin 1 a INPUT_A, el Pin 2 a INPUT_B. El Pin 3 es el nodo NAND_1_OUT.
  • U1 (Puerta 2): Conectar el Pin 4 a INPUT_A, el Pin 5 a NAND_1_OUT. El Pin 6 es el nodo NAND_2_OUT.
  • U1 (Puerta 3): Conectar el Pin 10 a INPUT_B, el Pin 9 a NAND_1_OUT. El Pin 8 es el nodo NAND_3_OUT.
  • U1 (Puerta 4): Conectar el Pin 12 a NAND_2_OUT, el Pin 13 a NAND_3_OUT. El Pin 11 es el nodo FINAL_OUT.
  • R3: Conectar entre el nodo FINAL_OUT y el Ánodo de D1.
  • D1: Conectar el Cátodo al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC00 NAND gate
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

Title: Practical case: Light switching from two points (XOR Logic)

INPUT STAGE                  LOGIC PROCESSING (74HC00)                  OUTPUT STAGE
(User Controls)              (NAND-based XOR Circuit)                   (Indicator)

                                     (Pin 4)
VCC --> [ S1 ] --(Node A)----------> [ U1:Gate 2 ] --(NAND_2)--\
          |                          (Pin 5,6)                  \
       [ R1 ]                            ^                       \
          v                              |                        \
         GND                        (NAND_1_OUT)                   \
                                         |                          \
                                         |                           \
(Node A) & (Node B) -----------> [ U1:Gate 1 ]                        --> [ U1:Gate 4 ] --(FINAL)--> [ R3 ] --> [ D1: LED ] --> GND
                                 (Pin 1,2->3)                        /    (Pin 12,13->11)
                                         |                          /
                                         |                         /
                                    (NAND_1_OUT)                  /
          ^                              |                       /
       [ R2 ]                            v                      /
          |                          (Pin 9)                   /
VCC --> [ S2 ] --(Node B)----------> [ U1:Gate 3 ] --(NAND_3)-/
                                     (Pin 10,8)
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Conmutación de luz desde dos puntos
Generado desde la netlist SPICE validada del caso.

🔒 Este diagrama eléctrico es premium. Con la suscripción mensual (7 días gratis) podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Ver planes de acceso premium

Tabla de verdad

Interruptor A (S1) Interruptor B (S2) Estado del LED (D1) Función lógica
0 (OFF) 0 (OFF) OFF (0) Sin entrada activa
0 (OFF) 1 (ON) ON (1) Entradas diferentes
1 (ON) 0 (OFF) ON (1) Entradas diferentes
1 (ON) 1 (ON) OFF (0) Entradas coinciden

Mediciones y pruebas

  1. Comprobación del estado inicial: Asegúrese de que ambos S1 y S2 estén abiertos. Mida el voltaje en el Pin 11 (FINAL_OUT). Debería ser < 0.5 V (Lógica 0). D1 debería estar apagado.
  2. Conmutación del primer interruptor: Cierre solo S1. Mida el voltaje en el Pin 11. Debería estar cerca de 5 V (Lógica 1). D1 debería encenderse.
  3. Conmutación del segundo interruptor: Abra S1 y cierre S2. Observe D1. Debería encenderse de nuevo (Lógica 1).
  4. Comprobación de colisión: Cierre S1 y S2 simultáneamente. Mida el voltaje en el Pin 3 (NAND_1_OUT). Dado que ambas entradas están en Alto (High), el Pin 3 debe estar en Bajo (Low). En consecuencia, el Pin 11 (FINAL_OUT) debería pasar a Bajo (Low), apagando D1.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Practical case: Light switching from two points
* Title: Light switching from two points

* ==============================================================================
* COMPONENT MODELS
* ==============================================================================

* Simple LED Model
.model DLED D(IS=1e-22 RS=10 N=1.5 CJO=10p BV=5 IBV=10u)

* Voltage Controlled Switch Model for Buttons
* Vt=2.5V threshold, Ron=1 ohm, Roff=10Meg ohm
.model SW_PUSH SW(Vt=2.5 Ron=1 Roff=10Meg)

* ==============================================================================
* MAIN CIRCUIT
* ==============================================================================

* --- Power Supply ---
* V1: 5 V DC power supply
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con la suscripción mensual (7 días gratis) tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Practical case: Light switching from two points
* Title: Light switching from two points

* ==============================================================================
* COMPONENT MODELS
* ==============================================================================

* Simple LED Model
.model DLED D(IS=1e-22 RS=10 N=1.5 CJO=10p BV=5 IBV=10u)

* Voltage Controlled Switch Model for Buttons
* Vt=2.5V threshold, Ron=1 ohm, Roff=10Meg ohm
.model SW_PUSH SW(Vt=2.5 Ron=1 Roff=10Meg)

* ==============================================================================
* MAIN CIRCUIT
* ==============================================================================

* --- Power Supply ---
* V1: 5 V DC power supply
V1 VCC 0 DC 5

* --- Input A (Switch 1) ---
* Simulating physical switch S1 connecting VCC to INPUT_A
* Controlled by V_ACT_S1 (User pressing the button)
* Timing: Period 100us, Width 50us (Toggles faster)
V_ACT_S1 S1_CTRL 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC INPUT_A S1_CTRL 0 SW_PUSH

* R1: 10 kΩ pull-down for Input A
R1 INPUT_A 0 10k

* --- Input B (Switch 2) ---
* Simulating physical switch S2 connecting VCC to INPUT_B
* Controlled by V_ACT_S2 (User pressing the button)
* Timing: Period 200us, Width 100us (Toggles slower)
V_ACT_S2 S2_CTRL 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC INPUT_B S2_CTRL 0 SW_PUSH

* R2: 10 kΩ pull-down for Input B
R2 INPUT_B 0 10k

* --- Logic IC U1: 74HC00 ---
* Quad 2-input NAND gate IC
* Pin connections per Wiring Guide:
* P1=INPUT_A, P2=INPUT_B, P3=NAND_1_OUT
* P4=INPUT_A, P5=NAND_1_OUT, P6=NAND_2_OUT
* P7=0 (GND)
* P8=NAND_3_OUT, P9=NAND_1_OUT, P10=INPUT_B
* P11=FINAL_OUT, P12=NAND_2_OUT, P13=NAND_3_OUT
* P14=VCC
XU1 INPUT_A INPUT_B NAND_1_OUT INPUT_A NAND_1_OUT NAND_2_OUT 0 NAND_3_OUT NAND_1_OUT INPUT_B FINAL_OUT NAND_2_OUT NAND_3_OUT VCC 74HC00

* --- Output Stage ---
* R3: 330 Ω resistor
R3 FINAL_OUT LED_NODE 330

* D1: Red LED
D1 LED_NODE 0 DLED

* ==============================================================================
* SUBCIRCUITS
* ==============================================================================

* Subcircuit for 74HC00 Quad 2-Input NAND Gate
* Uses continuous behavioral sources for robust convergence
* Pinout: 1=1A, 2=1B, 3=1Y, 4=2A, 5=2B, 6=2Y, 7=GND, 8=3Y, 9=3A, 10=3B, 11=4Y, 12=4A, 13=4B, 14=VCC
.subckt 74HC00 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    * Gate 1 (1,2 -> 3)
    * Logic: Vout = VCC * (1 - (High(A) * High(B)))
    Bg1 3 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(1,7)-2.5))))*(1/(1+exp(-50*(V(2,7)-2.5)))))}

    * Gate 2 (4,5 -> 6)
    Bg2 6 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(4,7)-2.5))))*(1/(1+exp(-50*(V(5,7)-2.5)))))}

    * Gate 3 (9,10 -> 8)
    Bg3 8 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(9,7)-2.5))))*(1/(1+exp(-50*(V(10,7)-2.5)))))}

    * Gate 4 (12,13 -> 11)
    Bg4 11 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(12,7)-2.5))))*(1/(1+exp(-50*(V(13,7)-2.5)))))}
.ends

* ==============================================================================
* ANALYSIS COMMANDS
* ==============================================================================

.op
.tran 1u 500u

* Print critical nodes including Inputs and the Output driving the LED
.print tran V(INPUT_A) V(INPUT_B) V(FINAL_OUT) V(LED_NODE)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation confirms the XOR logic behavior required for 2-way switching. When inputs differ (e.g., t=51us: A=0, B=1 -> Out=5V; t=101us: A=1, B=1 -> Out=0V; t=180us: A=1, B=0 -> Out=5V), the LED is ON (approx 1.88V drop). When inputs match (0,0 or 1,1), the output is near 0V.
* bom_vs_spice equivalences ignored:
*   - Physical switches S1 and S2 are modeled as voltage-controlled switches (SW_PUSH) driven by PULSE sources (V_ACT_S1, V_ACT_S2) to simulate user interaction.
*   - The 74HC00 Quad NAND IC is modeled as a behavioral subcircuit using mathematical expressions for logic gates.
*   - The LED D1 is modeled as a generic diode DLED with specific parameters.
* overall_comment: The circuit is a classic XOR implementation using four NAND gates, correctly wired to simulate a 2-way light switch (staircase switch). The SPICE netlist accurately represents the BOM and wiring guide. The simulation results perfectly match the provided truth table: the LED lights up only when the switch states are different.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms the XOR logic behavior required for 2-way switching. When inputs differ (e.g., t=51us: A=0, B=1 -> Out=5V; t=101us: A=1, B=1 -> Out=0V; t=180us: A=1, B=0 -> Out=5V), the LED is ON (approx 1.88V drop). When inputs match (0,0 or 1,1), the output is near 0V.
Show raw data table (773 rows)
Index   time            v(input_a)      v(input_b)      v(final_out)    v(led_node)
0	0.000000e+00	4.995005e-03	4.995005e-03	-3.70921e-68	-1.32951e-36
1	1.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	-3.37339e-37
2	2.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	1.661518e-37
3	4.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	2.976605e-37
4	8.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	8.146600e-38
5	1.600000e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-2.74917e-38
6	3.200000e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-1.00046e-38
7	3.562500e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-9.54478e-40
8	4.196875e-07	4.995005e-03	4.995005e-03	-3.70921e-68	1.440911e-39
9	4.372461e-07	4.995005e-03	4.995005e-03	-3.70921e-68	5.873353e-40
10	4.679736e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-1.64244e-40
11	5.019934e-07	4.999500e+00	4.999500e+00	-3.70921e-68	5.471353e-16
12	5.700330e-07	4.999500e+00	4.999500e+00	-3.70921e-68	1.883035e-16
13	7.061121e-07	4.999500e+00	4.999500e+00	-3.70921e-68	-1.89304e-16
14	9.782703e-07	4.999500e+00	4.999500e+00	-3.70921e-68	1.713539e-16
15	1.000000e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-8.76370e-17
16	1.043459e-06	4.999500e+00	4.999500e+00	-3.70921e-68	2.969253e-18
17	1.130378e-06	4.999500e+00	4.999500e+00	-3.70921e-68	1.336375e-17
18	1.304216e-06	4.999500e+00	4.999500e+00	-3.70921e-68	1.285658e-18
19	1.651892e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-4.38731e-19
20	2.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-3.76487e-20
21	3.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	3.641502e-21
22	4.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	3.034717e-22
23	5.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-2.04956e-23
... (749 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten», a menudo leyéndose como Alto (High) debido al ruido electromagnético. Solución: Asegúrese siempre de que las entradas estén conectadas a Tierra (Ground) cuando el interruptor esté abierto.
  2. Retroalimentación de puerta incorrecta: Cablear la salida del Pin 3 a las entradas incorrectas en las Puertas 2 o 3 destruye la lógica. Solución: Verifique dos veces que la salida de la primera NAND (Pin 3) se conecte TANTO a la segunda (Pin 5) como a la tercera (Pin 9) puerta.
  3. Olvidar la alimentación: Los chips lógicos no funcionan pasivamente. Solución: Verifique 5 V en el Pin 14 y continuidad a Tierra en el Pin 7 antes de insertar señales.

Solución de problemas

  • Síntoma: El LED está siempre ON, independientemente de la posición del interruptor.
    • Causa: Error de cableado en la puerta NAND final (Puerta 4) o salida cortocircuitada a VCC.
    • Solución: Compruebe las conexiones en los Pines 11, 12 y 13. Asegúrese de que el Pin 11 no esté tocando el riel positivo.
  • Síntoma: El LED se comporta como una puerta OR (permanece ON cuando ambos interruptores están ON).
    • Causa: La primera puerta NAND (Puerta 1) no está inhibiendo la señal eficazmente.
    • Solución: Compruebe la continuidad en los Pines 1, 2 y 3. Si la salida de la Puerta 1 permanece en Alto (High) cuando las entradas están en Alto, la lógica XOR falla.
  • Síntoma: El circuito funciona de forma errática al tocar los cables.
    • Causa: Faltan resistencias pull-down (entradas flotantes).
    • Solución: Verifique que R1 y R2 estén conectadas firmemente entre los pines de entrada y Tierra.

Posibles mejoras y extensiones

  1. Conmutación de 3 vías: Añada un tercer interruptor y otra etapa XOR (utilizando un segundo 74HC00 o un 74HC86) para controlar la luz desde tres ubicaciones.
  2. Comparación con CI dedicado: Construya el mismo circuito utilizando un 74HC86 (Cuádruple XOR) junto a este para comparar el retardo de propagación y la complejidad del cableado.

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal del circuito descrito en el contexto?




Pregunta 2: ¿Qué circuito integrado específico se utiliza para este proyecto?




Pregunta 3: ¿Qué función lógica se sintetiza al combinar las cuatro puertas NAND?




Pregunta 4: ¿Por qué se consideran las puertas NAND como bloques de construcción 'universales'?




Pregunta 5: Según el resultado esperado, ¿cuál es el estado del LED cuando ambos interruptores están OFF (00)?




Pregunta 6: ¿En qué tipo de circuito aritmético de las CPU se utiliza fundamentalmente esta topología XOR?




Pregunta 7: ¿Cuál es la aplicación de la lógica XOR en la transmisión de datos mencionada en el texto?




Pregunta 8: ¿Cuántas puertas NAND del CI se combinan para sintetizar la función XOR en este caso?




Pregunta 9: En la lógica de conmutación de pasillo (XOR), ¿qué ocurre si las entradas son diferentes (01 o 10)?




Pregunta 10: ¿Qué demuestra este proyecto sobre la relación entre interruptores y carga?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme:


Caso práctico: Latch SR antirrebote con NAND

Prototipo de Latch SR antirrebote con NAND (Maker Style)

Nivel: Medio – Construye un circuito de memoria estable para eliminar el ruido de interruptores mecánicos usando compuertas NAND acopladas en cruz.

Objetivo y caso de uso

En este caso práctico, construirás un Latch Set-Reset (SR) utilizando un CI 74HC00. Al disponer dos compuertas NAND en una topología de retroalimentación acoplada en cruz, el circuito crea un elemento de memoria biestable que ignora el ruido mecánico de «rebote» generado cuando se cierran los contactos de un interruptor físico.

Por qué es útil:
* Interfaz con interruptores mecánicos: Esencial para leer botones en sistemas digitales sin disparos falsos.
* Interrupciones de microcontrolador: Proporciona un flanco limpio (subida/bajada) para disparar interrupciones de hardware de manera confiable.
* Retención de estado: Mantiene el último estado conocido (Set o Reset) incluso después de que se libera el disparador de entrada (retorno a reposo).
* Control industrial: Utilizado en circuitos de control de motores «Marcha/Parada» donde la estabilidad es crítica para la seguridad.

Resultado esperado:
* Salida Q: Permanece en ALTO (5 V) cuando se dispara Set y se mantiene en ALTO hasta que se dispara Reset.
* Salida Q_bar: Siempre la inversa de Q (Lógica BAJA cuando Q es ALTA).
* Retroalimentación visual: Dos LEDs (Verde y Rojo) indicando claramente el estado almacenado.
* Inmunidad al ruido: La salida transiciona una vez limpiamente, incluso si los contactos del interruptor rebotan múltiples veces en milisegundos.

Público objetivo y nivel: Estudiantes de electrónica y aficionados de nivel intermedio.

Materiales

  • V1: Fuente de alimentación de 5 V DC
  • U1: 74HC00 (Cuádruple compuerta NAND de 2 entradas)
  • SW1: Interruptor SPDT (Un Polo Doble Tiro), función: selector Set/Reset
  • R1: Resistencia de 10 kΩ, función: pull-up para SET_N
  • R2: Resistencia de 10 kΩ, función: pull-up para RESET_N
  • R3: Resistencia de 330 Ω, función: limitación de corriente LED para Q
  • R4: Resistencia de 330 Ω, función: limitación de corriente LED para Q_bar
  • D1: LED Verde, función: Indicador para Estado Q (Activo)
  • D2: LED Rojo, función: Indicador para Estado Q_bar (Inactivo)
  • C1: Condensador de 100 nF, función: desacople para pines de alimentación de U1

Pin-out del CI utilizado

Chip: 74HC00 (Cuádruple compuerta NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Conecta al Nodo SET_N
2 1B Entrada Conecta al Nodo Q_BAR (Retroalimentación)
3 1Y Salida Conecta al Nodo Q
4 2 A Entrada Conecta al Nodo RESET_N
5 2B Entrada Conecta al Nodo Q (Retroalimentación)
6 2Y Salida Conecta al Nodo Q_BAR
7 GND Tierra Conecta al Nodo 0
14 VCC Alimentación Conecta al Nodo VCC (5 V)

Guía de conexionado

  • Fuente de Alimentación:
  • Conecta el terminal positivo de V1 al nodo VCC.
  • Conecta el terminal negativo de V1 al nodo 0 (GND).
  • Conecta C1 entre VCC y 0 (cerca de U1).
  • Conecta el pin 14 de U1 a VCC.
  • Conecta el pin 7 de U1 a 0.

  • Etapa de Entrada (Interruptor y Pull-ups):

  • Conecta R1 entre VCC y el nodo SET_N.
  • Conecta R2 entre VCC y el nodo RESET_N.
  • Conecta el terminal Común de SW1 al nodo 0.
  • Conecta el terminal Normalmente Abierto (NO) de SW1 al nodo SET_N.
  • Conecta el terminal Normalmente Cerrado (NC) de SW1 al nodo RESET_N. (Nota: Alternar SW1 lleva una línea a Bajo mientras la otra permanece en Alto).

  • Núcleo Lógico (NANDs acopladas en cruz):

  • Conecta el pin 1 (1 A) de U1 al nodo SET_N.
  • Conecta el pin 2 (1B) de U1 al nodo Q_BAR.
  • Conecta el pin 3 (1Y) de U1 al nodo Q.
  • Conecta el pin 4 (2 A) de U1 al nodo RESET_N.
  • Conecta el pin 5 (2B) de U1 al nodo Q.
  • Conecta el pin 6 (2Y) de U1 al nodo Q_BAR.

  • Etapa de Salida (Indicadores):

  • Conecta R3 entre el nodo Q y el Ánodo de D1.
  • Conecta el Cátodo de D1 al nodo 0.
  • Conecta R4 entre el nodo Q_BAR y el Ánodo de D2.
  • Conecta el Cátodo de D2 al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC00 Feedback: Q sends state to …
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

Title: Practical case: Debouncing SR Latch with NAND

      INPUT STAGE (Switch & Pull-ups)           LOGIC CORE (74HC00 Latch)               OUTPUT STAGE (Indicators)
      ================================          =========================               =========================

      [ VCC ]
         |
         V
      [ R1: 10k Pull-up ]
         |
         V
      (Node: SET_N) --------------------------> [ U1: NAND Gate A ] --(Signal: Q)-----> [ R3: 330 ] --> [ D1: Green LED ] --> GND
         ^                                      ^       |
         |                                      |       |
      [ SW1: SPDT Switch ]                      |       +--(Feedback: Q sends state to Gate B)
      (Connects GND to SET_N or RESET_N)        |
         |                                      +--(Feedback: Q_BAR maintains state of Gate A)
         v                                              |
      (Node: RESET_N) ------------------------> [ U1: NAND Gate B ] --(Signal: Q_BAR)-> [ R4: 330 ] --> [ D2: Red LED ] ----> GND
         ^
         |
      [ R2: 10k Pull-up ]
         |
         ^
         |
      [ VCC ]


      POWER & DECOUPLING:
      [ VCC ] --(Power)--> [ U1: Pin 14 ]
      [ GND ] --(Ground)--> [ U1: Pin 7 ]
      [ VCC ] --(Filter)--> [ C1: 100nF ] --> [ GND ]
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Latch SR antirrebote con NAND
Generado desde la netlist SPICE validada del caso.

🔒 Este diagrama eléctrico es premium. Con la suscripción mensual (7 días gratis) podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Ver planes de acceso premium

Tabla de verdad

Las entradas del Latch SR NAND son Activas en Bajo.

SET_N (Entrada) RESET_N (Entrada) Q (Salida) Q_bar (Salida) Descripción del estado
1 (Alto) 1 (Alto) Q Anterior Q_bar Anterior Retención (Memoria)
0 (Bajo) 1 (Alto) 1 0 Set
1 (Alto) 0 (Bajo) 0 1 Reset
0 (Bajo) 0 (Bajo) 1 1 Inválido (Evitar)

Mediciones y pruebas

  1. Encendido inicial: Enciende la fuente de 5 V. Asegúrate de que SW1 esté en una posición específica.
  2. Verificar Reset: Alterna SW1 para llevar RESET_N a Bajo (y SET_N a Alto).
    • Confirma que el LED Rojo (D2, Q_bar) se ENCIENDE.
    • Confirma que el LED Verde (D1, Q) se APAGA.
    • Mide el voltaje en Q: debería ser aprox 0 V.
  3. Verificar Set: Alterna SW1 para llevar SET_N a Bajo.
    • Confirma que el LED Verde (D1, Q) se ENCIENDE.
    • Confirma que el LED Rojo (D2, Q_bar) se APAGA.
    • Mide el voltaje en Q: debería ser aprox 5 V.
  4. Prueba de antirrebote: Mientras mueves el interruptor, observa los LEDs. Deberían cambiar de estado instantáneamente sin parpadear, incluso si el contacto del interruptor es imperfecto.
  5. Prueba de desconexión (Estado de retención): Si desconectas los cables del interruptor para que ambas entradas sean llevadas a Alto por R1/R2, los LEDs deben mantener su último estado válido.

Netlist SPICE y simulación

Netlist SPICE de referencia (ngspice) — extractoNetlist SPICE completo (ngspice)

* Title: Practical case: Debouncing SR Latch with NAND
* NGSPICE Netlist
.width out=256

* --- Power Supply ---
V1 VCC 0 DC 5
C1 VCC 0 100n

* --- Input Stage (Switch and Pull-ups) ---
* R1 Pull-up for SET_N
R1 VCC SET_N 10k
* R2 Pull-up for RESET_N
R2 VCC RESET_N 10k

* --- Switch Simulation (SW1 SPDT) ---
* Control Signal Source
V_SW_CTRL CTRL 0 PULSE(0 5 100u 1u 1u 200u 600u)

* Inverted control signal for the NC contact
B_SW_INV CTRL_N 0 V=5-V(CTRL)
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con la suscripción mensual (7 días gratis) tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Title: Practical case: Debouncing SR Latch with NAND
* NGSPICE Netlist
.width out=256

* --- Power Supply ---
V1 VCC 0 DC 5
C1 VCC 0 100n

* --- Input Stage (Switch and Pull-ups) ---
* R1 Pull-up for SET_N
R1 VCC SET_N 10k
* R2 Pull-up for RESET_N
R2 VCC RESET_N 10k

* --- Switch Simulation (SW1 SPDT) ---
* Control Signal Source
V_SW_CTRL CTRL 0 PULSE(0 5 100u 1u 1u 200u 600u)

* Inverted control signal for the NC contact
B_SW_INV CTRL_N 0 V=5-V(CTRL)

* Switch Models (Threshold 2.5V)
.model SW_MECH SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=100Meg)

* S1 (NO Contact): Connects SET_N to 0 when CTRL is High
S1 SET_N 0 CTRL 0 SW_MECH

* S2 (NC Contact): Connects RESET_N to 0 when CTRL_N is High (CTRL is Low)
S2 RESET_N 0 CTRL_N 0 SW_MECH

* --- Logic Core (74HC00 Quad 2-Input NAND) ---
* Subcircuit for 74HC00 using robust behavioral NAND gates
* Pinout: 1=1A, 2=1B, 3=1Y, 4=2A, 5=2B, 6=2Y, 7=GND, 14=VCC
.subckt 74HC00 1 2 3 4 5 6 7 14
    * Gate 1 (Pins 1, 2 -> Output 3)
    * Logic: NAND. Implementation: Sigmoid-based continuous function for convergence.
    * Vout = VCC * (1 - (Sigmoid(A) * Sigmoid(B)))
    B_NAND1 3 7 V=V(14) * (1 - ( (1/(1+exp(-50*(V(1)-2.5)))) * (1/(1+exp(-50*(V(2)-2.5)))) ))

    * Gate 2 (Pins 4, 5 -> Output 6)
    B_NAND2 6 7 V=V(14) * (1 - ( (1/(1+exp(-50*(V(4)-2.5)))) * (1/(1+exp(-50*(V(5)-2.5)))) ))
.ends

* --- Instantiate U1 ---
* Wiring per guide: 1=SET_N, 2=Q_BAR, 3=Q, 4=RESET_N, 5=Q, 6=Q_BAR, 7=0, 14=VCC
XU1 SET_N Q_BAR Q RESET_N Q Q_BAR 0 VCC 74HC00

* --- Output Stage (Indicators) ---
* R3 between node Q and D1 Anode
R3 Q D1_A 330
* D1 Green LED (Q Active)
D1 D1_A 0 LED_GREEN

* R4 between node Q_BAR and D2 Anode
R4 Q_BAR D2_A 330
* D2 Red LED (Q_BAR Inactive)
D2 D2_A 0 LED_RED

* LED Models
.model LED_GREEN D(Is=1e-22 Rs=5 N=1.5 Eg=2.1)
.model LED_RED D(Is=1e-22 Rs=5 N=1.5 Eg=1.8)

* --- Simulation Commands ---
.op
.tran 1u 1ms

* --- Measurements ---
* Listing SET_N (Input) and Q (Output) first
.print tran V(SET_N) V(Q) V(RESET_N) V(Q_BAR) V(CTRL)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation confirms correct SR Latch behavior. At t=0, SET_N is Low and RESET_N is High, resulting in Q=High (Set state). At t=100us, the switch toggles: SET_N goes High and RESET_N goes Low, causing Q to go Low and Q_BAR to go High (Reset state). The latch holds state correctly between transitions.
* bom_vs_spice equivalences ignored:
*   - SW1 (SPDT Switch) is modeled using a voltage-controlled switch pair (S1, S2) driven by a PULSE source (V_SW_CTRL) and its inverse.
*   - U1 (74HC00 Quad NAND) is modeled using a behavioral subcircuit with sigmoid-based voltage sources.
* overall_comment: The circuit is a textbook example of a NAND-based SR latch used for switch debouncing. The SPICE implementation faithfully follows the wiring guide, using a clever behavioral model for the 74HC00 and a dual-switch setup to simulate the SPDT action. The transient analysis clearly demonstrates the Set and Reset actions corresponding to the switch position, matching the provided truth table perfectly.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms correct SR Latch behavior. At t=0, SET_N is Low and RESET_N is High, resulting in Q=High (Set state). At t=100us, the switch toggles: SET_N goes High and RESET_N goes Low, causing Q to go Low and Q_BAR to go High (Reset state). The latch holds state correctly between transitions.
Show raw data table (1072 rows)
Index   time            v(set_n)        v(q)            v(reset_n)      v(q_bar)        v(ctrl)
0	0.000000e+00	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
1	1.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
2	2.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
3	4.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
4	8.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
5	1.600000e-07	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
6	3.200000e-07	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
7	6.400000e-07	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
8	1.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
9	2.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
10	3.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
11	4.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
12	5.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
13	6.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
14	7.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
15	8.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
16	9.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
17	1.028000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
18	1.128000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
19	1.228000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
20	1.328000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
21	1.428000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
22	1.528000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
23	1.628000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
... (1048 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar entradas flotando: Si quitas el interruptor y no tienes las resistencias R1/R2, las entradas flotan, causando oscilación impredecible. Solución: Usa siempre resistencias pull-up (10 kΩ) en las entradas del latch NAND.
  2. Confundir Activo en Bajo vs. Activo en Alto: Los usuarios a menudo esperan que un «1» active el latch. Un latch NAND se activa cuando la entrada va a «0». Solución: Recuerda que los latches NAND se disparan con pulsos a tierra (Bajo).
  3. Estado prohibido: presionar dos botones simultáneamente (si se usan botones en lugar de SPDT) crea un 0 Lógico en ambas entradas, forzando ambas salidas a Alto. Solución: Evita mecánicamente las pulsaciones simultáneas o diseña lógica para priorizar una entrada.

Solución de problemas

  • Ambos LEDs están ENCENDIDOS:
    • Causa: Tanto SET_N como RESET_N están conectados a Tierra (Lógica 0) simultáneamente.
    • Solución: Revisa el cableado del interruptor; asegúrate de no estar cortocircuitando ambas entradas a tierra.
  • El circuito no retiene el estado (los LEDs parpadean o siguen al interruptor vagamente):
    • Causa: Falta la conexión de retroalimentación.
    • Solución: Asegúrate de que el cable del Pin 3 (Q) vaya al Pin 5, y el del Pin 6 (Q_BAR) vaya al Pin 2.
  • El chip se calienta:
    • Causa: Cortocircuito en la salida o polaridad de alimentación invertida.
    • Solución: Comprueba que R3 y R4 estén presentes (no conectes LEDs directamente a las salidas) y verifica que el Pin 14 sea 5 V y el Pin 7 sea GND.

Posibles mejoras y extensiones

  1. Latch SR con habilitación (Gated): Agrega dos compuertas NAND extra (usando las dos restantes en el 74HC00) para añadir una señal de «Enable» (Habilitación), convirtiéndolo en una celda de memoria síncrona.
  2. Controlador de contador digital: Usa la salida Q para manejar la entrada de reloj de un contador CD4017 o 74HC4017, demostrando que la pulsación manual del botón genera exactamente un pulso de reloj limpio.

Más Casos Prácticos en Prometeo.blog

Encuentra este producto y/o libros sobre este tema en Amazon

Ir a Amazon

Como afiliado de Amazon, gano con las compras que cumplan los requisitos. Si compras a través de este enlace, ayudas a mantener este proyecto.

Quiz rápido

Pregunta 1: ¿Qué circuito integrado se utiliza en este caso práctico para construir el Latch SR?




Pregunta 2: ¿Cuál es el objetivo principal de usar este circuito con interruptores mecánicos?




Pregunta 3: ¿Qué topología de conexión se utiliza entre las compuertas NAND?




Pregunta 4: ¿Qué característica define a este circuito como un elemento de memoria 'biestable'?




Pregunta 5: ¿Qué sucede con la salida Q cuando se dispara la entrada Set en este circuito?




Pregunta 6: ¿Por qué es útil este circuito para las interrupciones de un microcontrolador?




Pregunta 7: ¿Qué ocurre con el estado del circuito cuando se libera el disparador de entrada (retorno a reposo)?




Pregunta 8: ¿En qué aplicación de control industrial es crítico este tipo de circuito por seguridad?




Pregunta 9: ¿Qué problema físico de los botones resuelve este circuito?




Pregunta 10: ¿Cuántas entradas de control principales tiene típicamente un Latch SR básico?




Carlos Núñez Zorrilla
Carlos Núñez Zorrilla
Electronics & Computer Engineer

Ingeniero Superior en Electrónica de Telecomunicaciones e Ingeniero en Informática (titulaciones oficiales en España).

Sígueme: