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: Activación de motor con doble seguridad

Prototipo de Activación de motor con doble seguridad (Maker Style)

Nivel: Básico — Implementar un sistema donde un motor solo funciona cuando se presionan dos botones simultáneamente.

Objetivo y caso de uso

En esta sesión, construirás un circuito lógico de seguridad utilizando un 74HC00 (cuádruple puerta NAND de 2 entradas) para controlar un motor de CC. El motor solo se activará cuando se accionen dos pulsadores separados al mismo tiempo, imitando un dispositivo de seguridad de «mando a dos manos».

Por qué es útil:
* Seguridad industrial: Evita que los operarios introduzcan las manos en una prensa hidráulica o máquina de corte mientras está en movimiento.
* Prevención de accidentes: Asegura que ambas manos estén ocupadas en los controles durante la fase peligrosa de la operación.
* Composición lógica: Demuestra cómo crear una función AND utilizando puertas NAND universales.

Resultado esperado:
* Estado de reposo: La salida lógica es LOW (0 V); el motor está APAGADO.
* Pulsación única: La salida lógica permanece en LOW (0 V); el motor permanece APAGADO.
* Pulsación dual: La salida lógica pasa a HIGH (5 V); el relé se activa; el motor funciona.
* Manejo de corriente: La puerta lógica excita un transistor, que conmuta de forma segura la bobina del relé de alta corriente.

Público objetivo y nivel:
Estudiantes de electrónica básica y aficionados interesados en aplicaciones de lógica digital.

Materiales

  • V1: Fuente de tensión de 5 V CC, función: Alimentación de la lógica y la bobina del relé.
  • V2: Fuente de tensión de 12 V CC, función: Alimentación del motor.
  • U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas.
  • S1: Pulsador (normalmente abierto), función: Interruptor de seguridad de mano izquierda.
  • S2: Pulsador (normalmente abierto), función: Interruptor de seguridad de mano derecha.
  • R1: Resistencia de 10 kΩ, función: Pull-down para S1.
  • R2: Resistencia de 10 kΩ, función: Pull-down para S2.
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base para Q1.
  • Q1: Transistor NPN 2N2222, función: Controlador del relé.
  • D1: Diodo 1N4007, función: Protección flyback para la bobina del relé.
  • K1: Relé SPDT de 5 V, función: Interfaz de conmutación de alta potencia.
  • M1: Motor de 12 V CC, función: Actuador (carga).

Pin-out del CI utilizado (74HC00)

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

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A (Puerta 1) Conectado a S1 (Nodo BTN_L)
2 1B Entrada B (Puerta 1) Conectado a S2 (Nodo BTN_R)
3 1Y Salida (Puerta 1) Conectado a entradas de la Puerta 2 (Nodo NAND_INTER)
4 2 A Entrada A (Puerta 2) Conectado al Nodo NAND_INTER
5 2B Entrada B (Puerta 2) Conectado al Nodo NAND_INTER
6 2Y Salida (Puerta 2) Conectado a R3 (Nodo LOGIC_OUT)
7 GND Tierra (Masa) Conectado al Nodo 0
14 VCC Alimentación Conectado al Nodo VCC

Nota: Los pines del 8 al 13 no se utilizan y deberían conectarse idealmente a GND o VCC en una instalación permanente para evitar ruido, aunque se dejan flotantes para este ejercicio básico en protoboard.

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos. Asegúrate de que la fuente de alimentación esté apagada mientras construyes.

Alimentación y entradas:
* V1 (+): Se conecta al nodo VCC.
* V1 (-) / V2 (-): Se conecta al nodo 0 (Tierra común).
* S1: Se conecta entre VCC y el nodo BTN_L.
* R1: Se conecta entre el nodo BTN_L y 0.
* S2: Se conecta entre VCC y el nodo BTN_R.
* R2: Se conecta entre el nodo BTN_R y 0.

Procesamiento lógico (Usando U1 como puerta AND):
* U1 (Pin 14): Se conecta a VCC.
* U1 (Pin 7): Se conecta a 0.
* U1 (Pin 1): Se conecta al nodo BTN_L.
* U1 (Pin 2): Se conecta al nodo BTN_R.
* U1 (Pin 3): Se conecta al nodo NAND_INTER (Salida de la primera etapa).
* U1 (Pin 4 y Pin 5): Ambos se conectan al nodo NAND_INTER (Configura la Puerta 2 como inversor).
* U1 (Pin 6): Se conecta al nodo LOGIC_OUT.

Etapa de salida:
* R3: Se conecta entre el nodo LOGIC_OUT y el nodo BASE.
* Q1 (Base): Se conecta al nodo BASE.
* Q1 (Emisor): Se conecta al nodo 0.
* Q1 (Colector): Se conecta al nodo RELAY_COIL_LO.
* K1 (Bobina +): Se conecta a VCC.
* K1 (Bobina -): Se conecta al nodo RELAY_COIL_LO.
* D1 (Ánodo): Se conecta al nodo RELAY_COIL_LO.
* D1 (Cátodo): Se conecta a VCC (Paralelo a la bobina, polarización inversa).

Circuito del motor:
* V2 (+): Se conecta al contacto Común de K1 (COM).
* K1 (NO – Normalmente Abierto): Se conecta al nodo MOTOR_POS.
* M1 (+): Se conecta al nodo MOTOR_POS.
* M1 (-): Se conecta 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

+-----------------------------------------------------------------------------+
|                  DUAL SAFETY MOTOR ACTIVATION BLOCK DIAGRAM                 |
+-----------------------------------------------------------------------------+

1. INPUTS & LOGIC STAGE (5 V Domain)
   (Both buttons must be pressed to activate the output)

   V1(5 V)
     |
                                                                                             +---> [ S1: Left Button ] ---+--(BTN_L)------\
                                  |                \
                                  v                 \
                               [ R1: 10k ]           +---> [ U1:A (NAND) ] --(NAND_INTER)--> [ U1:B (NOT*) ] --(LOGIC_OUT)-->
                                  |                 /       (Pins 1 & 2)                      (Pins 4 & 5)          |
                                 GND               /                                         *Wired as Inverter     |
                                                  /                                                                 |
   V1(5 V)                                        /                                                                  |
     |                                          /                                                                   |
     +---> [ S2: Right Button ] --+--(BTN_R)---/                                                                    |
                                  |                                                                                 |
                                  v                                                                                 |
                               [ R2: 10k ]                                                                          |
                                  |                                                                                 |
                                 GND                                                                                |
                                                                                                                    |
+-------------------------------------------------------------------------------------------------------------------+
|                                                                                                                   |
| 2. RELAY DRIVER STAGE (5 V Domain)                                                                                 |
|    (Low-Side Transistor Switch)                                                                                   |
|                                                                                                                   |
|    (From Logic Above)                                                                                             |
|            |                                         V1(5 V)                                                       |
|            v                                           |                                                          |
|      [ R3: 1k ]                                        |                                                          |
|            |                                           v                                                          |
|            +----------------------------------> [ Q1: Base ]                                                      |
|                                                        :                                                          |
|                                             (Controls Current Flow)                                               |
|                                                        :                                                          |
|                                      +-----------------+                                                          |
|                                      |                                                                            |
|                              [ Q1: Collector ]                                                                    |
|                                      ^                                                                            |
|                                      |                                                                            |
|                             (Node: RELAY_COIL_LO)                                                                 |
|                                      |                                                                            |
|                    +-----------------+-----------------+                                                          |
|                    |                                   |                                                          |
|           [ K1: Relay Coil ]                    [ D1: Diode ]                                                     |
|           (Control Side)                        (Protection)                                                      |
|                    |                            (Anode to Coll)                                                   |
|                    |                            (Cathode to VCC)                                                  |
|                    +-----------------+-----------------+                                                          |
|                                      ^                                                                            |
|                                      |                                                                            |
|                                    V1(5 V)                                                                         |
|                                                                                                                   |
|                              [ Q1: Emitter ]                                                                      |
|                                      |                                                                            |
|                                      v                                                                            |
|                                     GND                                                                           |
|                                                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
|                                                                                                                   |
| 3. MOTOR OUTPUT STAGE (12 V Domain)                                                                                |
|    (High Power Load)                                                                                              |
|                                                                                                                   |
|                       (Magnetic Link from K1 Coil Above)                                                          |
|                                      |                                                                            |
|                                      v                                                                            |
|    V2(12 V) ---------> [ K1: Switch (COM to NO) ] --(MOTOR_POS)--> [ M1: 12 V Motor ] ----> GND                     |
|                                                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Activación de motor con doble seguridad
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

Estamos utilizando dos puertas NAND. La primera combina las entradas; la segunda invierte el resultado para crear una función AND.

S1 (Izquierda) S2 (Derecha) U1 Pin 3 (1Y) U1 Pin 6 (2Y) Estado del motor
0 (OFF) 0 (OFF) 1 (Alto) 0 (Bajo) PARADO
0 (OFF) 1 (ON) 1 (Alto) 0 (Bajo) PARADO
1 (ON) 0 (OFF) 1 (Alto) 0 (Bajo) PARADO
1 (ON) 1 (ON) 0 (Bajo) 1 (Alto) EN MARCHA

Mediciones y pruebas

  1. Comprobación en reposo: Enciende V1. No presiones ningún botón. Mide el voltaje en LOGIC_OUT (Pin 6). Debería ser ~0 V. El motor debería estar parado.
  2. Validación de entradas: Presiona solo S1. Mide el voltaje en el Pin 1. Debería ser 5 V. El Pin 2 debería ser 0 V. La salida en el Pin 6 debe permanecer en 0 V.
  3. Prueba activa: Presiona y mantén presionados ambos botones S1 y S2 simultáneamente.
    • Escucha el «clic» del relé K1.
    • Observa a M1 girando.
    • Mide el voltaje en LOGIC_OUT; debería estar cerca de 5 V.
  4. Prueba de liberación: Suelta solo un botón. El motor debe detenerse inmediatamente.

Netlist SPICE y simulación

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

* Practical case: Logic AND gate controlling a relay and motor

* ==============================================================================
* COMPONENT MODELS
* ==============================================================================
* Generic NPN Transistor Model (2N2222)
.model 2N2222MOD NPN(Is=14.34f Xti=3 Eg=1.11 Vaf=74.03 Bf=255.9 Ne=1.307 Ise=14.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1 Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje=22.01p Mje=.377 Vje=.75 Tr=46.91n Tf=411.1p Itf=.6 Vtf=1.7 Xtf=3 Rb=10)

* Generic Diode Model (1N4007)
.model D1N4007 D(IS=7.02767n RS=0.0341512 N=1.80803 EG=1.11 XTI=3 BV=1000 IBV=10m CJO=10p VJ=0.7 M=0.5 FC=0.5 TT=100n)

* Ideal Switch Model for Buttons and Relay Contact
* Vt=2.5V (Logic Threshold), Ron=0.1 Ohm, Roff=10 MegOhm
.model SW_IDEAL SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=10Meg)

* ==============================================================================
* POWER SUPPLIES
* ==============================================================================
* V1: 5V DC Supply for Logic and Relay Coil
V1 VCC 0 DC 5
* ... (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: Logic AND gate controlling a relay and motor

* ==============================================================================
* COMPONENT MODELS
* ==============================================================================
* Generic NPN Transistor Model (2N2222)
.model 2N2222MOD NPN(Is=14.34f Xti=3 Eg=1.11 Vaf=74.03 Bf=255.9 Ne=1.307 Ise=14.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1 Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje=22.01p Mje=.377 Vje=.75 Tr=46.91n Tf=411.1p Itf=.6 Vtf=1.7 Xtf=3 Rb=10)

* Generic Diode Model (1N4007)
.model D1N4007 D(IS=7.02767n RS=0.0341512 N=1.80803 EG=1.11 XTI=3 BV=1000 IBV=10m CJO=10p VJ=0.7 M=0.5 FC=0.5 TT=100n)

* Ideal Switch Model for Buttons and Relay Contact
* Vt=2.5V (Logic Threshold), Ron=0.1 Ohm, Roff=10 MegOhm
.model SW_IDEAL SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=10Meg)

* ==============================================================================
* POWER SUPPLIES
* ==============================================================================
* V1: 5V DC Supply for Logic and Relay Coil
V1 VCC 0 DC 5

* V2: 12V DC Supply for Motor
V2 V_MOTOR_RAIL 0 DC 12

* ==============================================================================
* INPUT STAGE (Safety Switches)
* ==============================================================================
* Simulation of User Pressing Buttons:
* We use Pulse sources (V_ACT_...) to control ideal switches (S1, S2).
* This preserves the Pull-down resistor topology.

* S1: Left Safety Switch (Pushbutton NO)
* Connects VCC to BTN_L when pressed.
* Pulse Pattern: Period 120us, Pulse 50us (Tests asynchronous press)
V_ACT_L ACT_L 0 PULSE(0 5 10u 1u 1u 50u 120u)
S1 VCC BTN_L ACT_L 0 SW_IDEAL
R1 BTN_L 0 10k

* S2: Right Safety Switch (Pushbutton NO)
* Connects VCC to BTN_R when pressed.
* Pulse Pattern: Period 100us, Pulse 50us
V_ACT_R ACT_R 0 PULSE(0 5 20u 1u 1u 50u 100u)
S2 VCC BTN_R ACT_R 0 SW_IDEAL
R2 BTN_R 0 10k

* ==============================================================================
* LOGIC STAGE (U1: 74HC00 Quad NAND)
* ==============================================================================
* Implementing logic using Behavioral Voltage Sources (B-Sources) with continuous
* sigmoid functions for convergence robustness.
* Logic High = 5V, Logic Low = 0V. Threshold ~ 2.5V.

* U1 Gate 1: Inputs BTN_L (Pin 1), BTN_R (Pin 2) -> Output NAND_INTER (Pin 3)
* Function: NAND(BTN_L, BTN_R)
B_U1_G1 NAND_INTER 0 V=5 * (1 - ( (1/(1+exp(-20*(V(BTN_L)-2.5)))) * (1/(1+exp(-20*(V(BTN_R)-2.5)))) ))

* U1 Gate 2: Inputs NAND_INTER (Pin 4, 5) -> Output LOGIC_OUT (Pin 6)
* Function: NAND(NAND_INTER, NAND_INTER) = NOT(NAND_INTER)
* Combined Function: AND(BTN_L, BTN_R)
B_U1_G2 LOGIC_OUT 0 V=5 * (1 - ( (1/(1+exp(-20*(V(NAND_INTER)-2.5)))) * (1/(1+exp(-20*(V(NAND_INTER)-2.5)))) ))

* ==============================================================================
* OUTPUT DRIVER STAGE
* ==============================================================================
* R3: Base current limiting
R3 LOGIC_OUT BASE 1k

* Q1: 2N2222 Relay Driver
* Emitter to GND, Collector to RELAY_COIL_LO
Q1 RELAY_COIL_LO BASE 0 2N2222MOD

* ==============================================================================
* RELAY STAGE (K1)
* ==============================================================================
* Relay Coil Configuration:
* Connected between VCC and RELAY_COIL_LO.
* Modeled as Inductor + Series Resistor.
L_K1 VCC K1_NODE 10m
R_K1 K1_NODE RELAY_COIL_LO 100

* D1: Flyback Diode (1N4007)
* Anode to RELAY_COIL_LO, Cathode to VCC (Reverse biased)
D1 RELAY_COIL_LO VCC D1N4007

* Relay Contact (Switch):
* Logic: Switch closes when Coil is energized.
* Coil is energized when Q1 is ON (RELAY_COIL_LO is Low).
* Control Voltage = V(VCC) - V(RELAY_COIL_LO).
* If Q1 ON: 5V - 0.2V = 4.8V (> 2.5V Threshold) -> Switch CLOSED.
* If Q1 OFF: 5V - 5V = 0V (< 2.5V Threshold) -> Switch OPEN.
B_K1_CTRL K1_CTRL 0 V = V(VCC) - V(RELAY_COIL_LO)
S_K1 V_MOTOR_RAIL MOTOR_POS K1_CTRL 0 SW_IDEAL

* ==============================================================================
* LOAD (Motor M1)
* ==============================================================================
* M1: 12V DC Motor connected between MOTOR_POS and 0
* Modeled as Resistor + Inductor
R_M1 MOTOR_POS M1_INT 20
L_M1 M1_INT 0 5m

* ==============================================================================
* ANALYSIS COMMANDS
* ==============================================================================
.op
* Transient analysis: 1us step, 500us total time
.tran 1u 500u

* Print results for batch processing
* Inputs: BTN_L, BTN_R
* Output: MOTOR_POS (Load Voltage)
* Debug: LOGIC_OUT, RELAY_COIL_LO
.print tran V(BTN_L) V(BTN_R) V(MOTOR_POS) V(LOGIC_OUT) V(RELAY_COIL_LO) I(L_M1)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms the AND logic behavior. The motor voltage (v(motor_pos)) only goes high (~12V) when both inputs (v(btn_l) and v(btn_r)) are high (~5V) simultaneously (e.g., around time index 60-100 and 300-340). When only one or neither is high, the motor voltage remains near zero.
Show raw data table (1202 rows)
Index   time            v(btn_l)        v(btn_r)        v(motor_pos)    v(logic_out)    v(relay_coil_lo l_m1#branch
0	0.000000e+00	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
1	1.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
2	2.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
3	4.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
4	8.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
5	1.600000e-07	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
6	3.200000e-07	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
7	6.400000e-07	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
8	1.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
9	2.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
10	3.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
11	4.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
12	5.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
13	6.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
14	7.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
15	8.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
16	9.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
17	1.000000e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
18	1.010000e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
19	1.027500e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
20	1.032344e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
21	1.040820e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
22	1.043167e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
23	1.047272e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
... (1178 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 provoca que las entradas de la puerta NAND queden flotantes, a menudo leyéndose como «Alto» debido al ruido. Solución: Asegúrate de que las resistencias pull-down estén firmemente conectadas a Tierra.
  2. Falta del diodo flyback: Omitir D1 crea picos de voltaje cuando el relé se apaga, lo que puede destruir Q1 o reiniciar el chip lógico. Solución: Coloca siempre un diodo a través de la bobina del relé (Cátodo al positivo).
  3. Accionamiento directo: Intentar accionar el motor o el relé directamente desde el pin de salida del 74HC00. Solución: Utiliza siempre un transistor (Q1) para amplificar la corriente para cargas inductivas como relés.

Solución de problemas

  • El motor funciona inmediatamente al encender: Comprueba si S1 o S2 están cableados como Normalmente Cerrados en lugar de Normalmente Abiertos, o si el transistor Q1 está en cortocircuito.
  • El relé hace clic pero el motor no funciona: Comprueba la fuente de alimentación V2 y las conexiones en los contactos del relé (COM y NO).
  • La lógica funciona pero se calienta: Comprueba si VCC (Pin 14) y GND (Pin 7) están invertidos. Desconecta la alimentación inmediatamente.
  • Comportamiento errático: Añade un condensador de desacoplo de 100 nF entre el Pin 14 y el Pin 7 del CI, cerca del chip.

Posibles mejoras y extensiones

  1. Parada de emergencia: Añade un botón de enclavamiento Normalmente Cerrado (NC) en serie con la bobina del relé o la resistencia de base R3 para cortar la alimentación instantáneamente independientemente del estado lógico.
  2. Retroalimentación visual: Añade un LED verde (con una resistencia de 330 Ω) conectado al nodo LOGIC_OUT para indicar cuándo se cumple la condición de seguridad, incluso si la alimentación del motor (V2) está apagada.

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é componente lógico principal se utiliza para construir el circuito de seguridad?




Pregunta 3: ¿Qué función lógica se busca imitar utilizando las puertas NAND universales?




Pregunta 4: ¿Cuál es la utilidad principal de este sistema en un entorno industrial?




Pregunta 5: ¿Qué sucede con el motor si solo se presiona uno de los pulsadores?




Pregunta 6: ¿Qué voltaje se espera en la salida lógica cuando se realiza una 'Pulsación dual'?




Pregunta 7: ¿Qué estado tiene la salida lógica en el 'Estado de reposo'?




Pregunta 8: ¿Qué tipo de dispositivo de seguridad imita este circuito?




Pregunta 9: ¿Qué ocurre con el relé cuando la salida lógica pasa a HIGH?




Pregunta 10: ¿Cuál es el nivel de dificultad asignado a este proyecto según el contexto?




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 votación con veto

Prototipo de Sistema de votación con veto (Maker Style)

Nivel: Básico
Implemente un circuito lógico donde una propuesta se aprueba solo si dos miembros votan «Sí» y un tercer miembro otorga su aprobación (sin veto), utilizando un único CI 74HC00.

Objetivo y caso de uso

En este caso práctico, construirá un circuito de toma de decisiones utilizando lógica digital. El sistema representa un comité donde el Miembro A y el Miembro B deben votar a favor para que se apruebe una moción, pero el Miembro C (el Presidente) posee una «Llave de autorización». Si el Miembro C no activa su interruptor (Lógica Baja), el voto es vetado independientemente de A y B.

  • Gobierno corporativo: Modela una junta directiva donde se necesita el apoyo de la mayoría, pero el CEO tiene la aprobación final.
  • Enclavamientos de seguridad: Representa una prensa mecánica donde dos operadores deben presionar botones (A y B), pero se debe insertar una llave de Habilitación Maestra (C) para que la máquina funcione.
  • Acceso de seguridad: Requiere dos llaves de usuario distintas más una señal de autorización del servidor central.

Resultado esperado:
* Salida Alta (LED ENCENDIDO): Solo cuando la Entrada A es Alta, la Entrada B es Alta Y la Entrada C es Alta.
* Salida Baja (LED APAGADO): Cualquier otra combinación (por ejemplo, si A o B votan «No», o si C ejerce el veto poniendo su entrada en Bajo).
* Público objetivo: Estudiantes y aficionados que aprenden a construir funciones lógicas complejas (AND de 3 entradas) utilizando puertas NAND universales.

Materiales

  • U1: 74HC00 (Cuádruple puerta NAND de 2 entradas)
  • SW1: Interruptor DIP de 3 posiciones (o tres interruptores SPST individuales), función: Entradas A, B y C
  • R1: Resistencia de 10 kΩ, función: pull-down para la Entrada A
  • R2: Resistencia de 10 kΩ, función: pull-down para la Entrada B
  • R3: Resistencia de 10 kΩ, función: pull-down para la Entrada C
  • R4: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: Indicador de salida lógica
  • V1: Fuente de alimentación de 5 V CC

Pin-out del CI utilizado

Chip: 74HC00 (Cuádruple NAND de 2 entradas)
Este proyecto utiliza las cuatro puertas dentro del chip para crear una función AND de 3 entradas (Y = A · B · C).

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Conectar al Interruptor A
2 1B Entrada Conectar al Interruptor B
3 1Y Salida Salida de la Puerta 1 (\overlineA · B)
4 2 A Entrada Conectar al Pin 3 (1Y)
5 2B Entrada Conectar al Pin 3 (1Y)
6 2Y Salida Salida de la Puerta 2 (1Y invertida \to A · B)
7 GND Tierra Conectar a la Fuente de Alimentación 0 V
8 3Y Salida Salida de la Puerta 3 (\overline(A · B) · C)
9 3 A Entrada Conectar al Interruptor C
10 3B Entrada Conectar al Pin 6 (2Y)
11 4Y Salida Salida final (controla el LED)
12 4 A Entrada Conectar al Pin 8 (3Y)
13 4B Entrada Conectar al Pin 8 (3Y)
14 VCC Alimentación Conectar a +5 V

Guía de conexionado

  • VCC: Conectar el terminal positivo de V1, el pin 14 de U1 y el lado común de SW1.
  • GND: Conectar el terminal negativo de V1, el pin 7 de U1, R1 (parte inferior), R2 (parte inferior), R3 (parte inferior) y D1 (cátodo).
  • Input_A: Conectar SW1 (Interruptor 1) a R1 (parte superior) y al pin 1 de U1.
  • Input_B: Conectar SW1 (Interruptor 2) a R2 (parte superior) y al pin 2 de U1.
  • Input_C (Veto): Conectar SW1 (Interruptor 3) a R3 (parte superior) y al pin 9 de U1.
  • Node_NAND1: Conectar el pin 3 de U1 (Salida 1) al pin 4 de U1 y al pin 5 de U1 (Entradas de la Puerta 2).
  • Node_AND_AB: Conectar el pin 6 de U1 (Salida 2) al pin 10 de U1 (Entrada de la Puerta 3).
  • Node_NAND_FINAL: Conectar el pin 8 de U1 (Salida 3) al pin 12 de U1 y al pin 13 de U1 (Entradas de la Puerta 4).
  • Vout: Conectar el pin 11 de U1 (Salida Final) a R4 (un lado).
  • LED_Anode: Conectar R4 (el otro lado) a D1 (ánodo).

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

Practical Case: Veto Voting System (74HC00 Logic Flow)

INPUTS (Active High)           LOGIC PROCESSING (74HC00 Quad NAND)                               OUTPUT
=======================================================================================================

[ SW A + R1 ] --(Pin 1)-->+
                          |
                    [ U1: Gate 1 ] --(Pin 3)--> [ U1: Gate 2 ] --(Pin 6)---+
                    [ 2-In NAND  ]              [ NAND as NOT]             |
                          |                     (Pins 4+5)                 |
[ SW B + R2 ] --(Pin 2)-->+                                                |
                                                                           |
                                                                           v
                                                                     [ U1: Gate 3 ] --(Pin 8)--> [ U1: Gate 4 ] --(Pin 11)--> [ R4: 330R ] --> [ D1: LED ] --> GND
                                                                     [ 2-In NAND  ]              [ NAND as NOT]
                                                                     (Pin 10)      \             (Pins 12+13)
                                                                                    \
[ SW C + R3 ] -------------------------------------------------------(Pin 9)---------+
(Veto/Enable)

=======================================================================================================
Logic Summary:
1. Gate 1 & 2 form an AND gate for Inputs A & B.
2. Gate 3 & 4 form an AND gate for (Result of A/B) & Input C.
3. Final Function: LED turns ON only if A AND B AND C are all High.
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Sistema de votación con veto
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

El circuito implementa la función lógica Y = A · B · C.
* A/B: Votantes
* C: Presidente/Autorización (0 = Veto/Bloqueo, 1 = Permitir)

Entrada A (Votante 1) Entrada B (Votante 2) Entrada C (Autorización) Salida Y (LED) Resultado
0 0 0 0 Fallo
0 1 1 0 Fallo (Falta de votos)
1 0 1 0 Fallo (Falta de votos)
1 1 0 0 VETADO
1 1 1 1 Aprobado

Mediciones y pruebas

  1. Verificación de alimentación: Antes de insertar el CI, verifique 5 V entre las líneas VCC y GND en su protoboard.
  2. Estado predeterminado: Asegúrese de que todos los interruptores estén en OFF (apagados). Encienda la alimentación. El LED debe estar APAGADO.
  3. Prueba de veto: Ponga el Interruptor A y el Interruptor B en ON (Alto). Mantenga el Interruptor C en OFF (Bajo).
    • Observación: El LED debe permanecer APAGADO. Esto confirma que el Veto está activo.
  4. Prueba de aprobación: Con A y B aún en ON, ponga el Interruptor C en ON.
    • Observación: El LED debe encenderse (Lógica Alta, aprox. 3.5 V – 4.5 V).
  5. Prueba de voto único: Ponga el Interruptor A en OFF mientras B y C están en ON.
    • Observación: El LED debe apagarse.

Netlist SPICE y simulación

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

* Practical case: Veto Voting System
.width out=256

* ==============================================================================
* Components and Models
* ==============================================================================

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

* 74HC00 Quad 2-Input NAND Gate Subcircuit
* Pins: 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
* Logic Threshold (2.5V) and Gain (20)
.param Vth=2.5
.param K=20
* Gate 1: Inputs 1,2 -> Output 3
B1 3 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(1,7)-Vth)))) * (1/(1+exp(-K*(V(2,7)-Vth)))))
* Gate 2: Inputs 4,5 -> Output 6
B2 6 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(4,7)-Vth)))) * (1/(1+exp(-K*(V(5,7)-Vth)))))
* ... (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: Veto Voting System
.width out=256

* ==============================================================================
* Components and Models
* ==============================================================================

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

* 74HC00 Quad 2-Input NAND Gate Subcircuit
* Pins: 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
* Logic Threshold (2.5V) and Gain (20)
.param Vth=2.5
.param K=20
* Gate 1: Inputs 1,2 -> Output 3
B1 3 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(1,7)-Vth)))) * (1/(1+exp(-K*(V(2,7)-Vth)))))
* Gate 2: Inputs 4,5 -> Output 6
B2 6 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(4,7)-Vth)))) * (1/(1+exp(-K*(V(5,7)-Vth)))))
* Gate 3: Inputs 9,10 -> Output 8
B3 8 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(9,7)-Vth)))) * (1/(1+exp(-K*(V(10,7)-Vth)))))
* Gate 4: Inputs 12,13 -> Output 11
B4 11 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(12,7)-Vth)))) * (1/(1+exp(-K*(V(13,7)-Vth)))))
.ends 74HC00

* ==============================================================================
* Main Circuit Wiring
* ==============================================================================

* Power Supply (V1)
V1 VCC 0 DC 5

* Inputs (Simulating Switches SW1 positions A, B, C)
* Generating dynamic pulses to test the truth table (000 to 111)
* Input A (LSB, Period 100us)
Va Input_A 0 PULSE(0 5 10u 1u 1u 50u 100u)
* Input B (Period 200us)
Vb Input_B 0 PULSE(0 5 10u 1u 1u 100u 200u)
* Input C (MSB, Period 400us)
Vc Input_C 0 PULSE(0 5 10u 1u 1u 200u 400u)

* Pull-down Resistors (R1, R2, R3)
R1 Input_A 0 10k
R2 Input_B 0 10k
R3 Input_C 0 10k

* Logic IC U1 (74HC00)
* Connectivity based on Wiring Guide:
* Pin 1 (In A) -> Input_A
* Pin 2 (In B) -> Input_B
* Pin 3 (Out 1) -> Node_NAND1
* Pin 4 (In 2A) -> Node_NAND1
* Pin 5 (In 2B) -> Node_NAND1
* Pin 6 (Out 2) -> Node_AND_AB
* Pin 7 (GND)   -> 0
* Pin 8 (Out 3) -> Node_NAND_FINAL
* Pin 9 (In 3A) -> Input_C
* Pin 10 (In 3B)-> Node_AND_AB
* Pin 11 (Out 4)-> Vout
* Pin 12 (In 4A)-> Node_NAND_FINAL
* Pin 13 (In 4B)-> Node_NAND_FINAL
* Pin 14 (VCC)  -> VCC
XU1 Input_A Input_B Node_NAND1 Node_NAND1 Node_NAND1 Node_AND_AB 0 Node_NAND_FINAL Input_C Node_AND_AB Vout Node_NAND_FINAL Node_NAND_FINAL VCC 74HC00

* Output Stage
R4 Vout LED_Anode 330
D1 LED_Anode 0 DLED

* ==============================================================================
* Simulation Commands
* ==============================================================================

.op
.tran 1u 500u

* Print Inputs and Output to check logic (Vout should be High only when A, B, C are High)
.print tran V(Input_A) V(Input_B) V(Input_C) V(Vout)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation successfully sweeps inputs A, B, and C. Vout is High (5V) only when A, B, and C are all High (e.g., around 33us, 301us, 559us). In all other states (000, 011, 101, 110, etc.), Vout remains Low (~0V). This matches the logic Y = A · B · C.
Show raw data table (671 rows)
Index   time            v(input_a)      v(input_b)      v(input_c)      v(vout)
0	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
1	1.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
2	2.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
3	4.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
4	8.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
5	1.600000e-07	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
6	3.200000e-07	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
7	6.400000e-07	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
8	1.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
9	2.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
10	3.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
11	4.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
12	5.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
13	6.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
14	7.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
15	8.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
16	9.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
17	1.000000e-05	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
18	1.010000e-05	5.000000e-01	5.000000e-01	5.000000e-01	-6.01853e-36
19	1.030000e-05	1.500000e+00	1.500000e+00	1.500000e+00	-6.01853e-36
20	1.048757e-05	2.437858e+00	2.437858e+00	2.437858e+00	-6.01853e-36
21	1.071179e-05	3.558937e+00	3.558937e+00	3.558937e+00	5.000000e+00
22	1.085965e-05	4.298271e+00	4.298271e+00	4.298271e+00	5.000000e+00
23	1.099537e-05	4.976846e+00	4.976846e+00	4.976846e+00	5.000000e+00
... (647 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar las resistencias pull-down (R1, R2, R3). Sin ellas, las entradas CMOS del 74HC00 flotarán, causando conmutación errática u oscilación.
  2. Confundir el pinout: El pinout del 74HC00 es estándar, pero mezclar los pines de Entrada (por ejemplo, 1 A/1B) con los pines de Salida (por ejemplo, 1Y) es común. Verifique dos veces el diagrama de la hoja de datos.
  3. Malinterpretar el «Veto»: En este diseño, la Entrada C es una línea de «Habilitación» (Activa Alta). Si piensa en el Veto como «Interruptor ON para Bloquear» (lógica Activa Baja), el cableado del Interruptor C necesitaría ser invertido. Aquí, Interruptor C ON significa «Autorizar».

Solución de problemas

  • El LED nunca se enciende: Compruebe que la polaridad del LED sea correcta (Ánodo a la resistencia, Cátodo a GND). Verifique que U1 esté alimentado (Pin 14 a 5 V, Pin 7 a GND).
  • El LED permanece encendido incluso cuando los interruptores están en OFF: Compruebe si faltan o están desconectadas R1, R2 o R3. Asegúrese de no estar utilizando interruptores NC (Normalmente Cerrados) por error.
  • El circuito funciona para A y B pero C no tiene efecto: Compruebe el cableado en la Puerta 3 (Pines 8, 9, 10). Asegúrese de que el pin 9 se conecte al Interruptor C y el pin 10 se conecte a la salida de la etapa anterior (Pin 6).

Posibles mejoras y extensiones

  1. Indicador de veto: Añada un segundo LED (Verde) controlado por una puerta no utilizada (o un transistor) conectado a la Entrada C, indicando «Sesión Abierta» (Autorización Concedida) o «Sesión Bloqueada» (Veto).
  2. Modificación de voto por mayoría: Rediseñe el circuito para permitir que la propuesta se apruebe si cualesquiera dos de los tres miembros (A, B, C) votan Sí, eliminando el poder de veto específico y haciendo que todos los miembros sean iguales.

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 específico se utiliza para implementar la lógica del sistema?




Pregunta 2: ¿Cuál es la función del Miembro C (Presidente) en el circuito propuesto?




Pregunta 3: ¿Qué condición es necesaria para que la salida sea Alta (LED ENCENDIDO)?




Pregunta 4: ¿Qué tipo de puertas lógicas contiene internamente el CI 74HC00?




Pregunta 5: ¿Qué sucede si el Miembro C pone su entrada en Bajo (Lógica Baja)?




Pregunta 6: ¿Qué función lógica final se busca construir utilizando el CI 74HC00 en este ejercicio?




Pregunta 7: ¿Cuál es un ejemplo de uso de 'Enclavamientos de seguridad' mencionado en el texto?




Pregunta 8: ¿Qué nivel de dificultad se asigna a este ejercicio práctico según el contexto?




Pregunta 9: ¿Qué representa el sistema en el ejemplo de 'Gobierno corporativo'?




Pregunta 10: ¿Cuántos miembros deben votar 'Sí' (además de la aprobación del tercero) para que la propuesta se apruebe?




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: