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

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 el pase de 7 días o la suscripción mensual 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

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 el pase de 7 días o la suscripción mensual 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:


Caso práctico: Control de nivel de tanque de agua

Prototipo de Control de nivel de tanque de agua (Maker Style)

Nivel: Básico. Implementa una parada de seguridad lógica para una bomba de agua usando una compuerta NAND.

Objetivo y caso de uso

En esta sesión, construirás un circuito digital de seguridad utilizando una compuerta NAND 74HC00. El circuito monitorea dos sensores de nivel de líquido y corta automáticamente la energía a una «bomba» (simulada por un LED) solo cuando ambos sensores indican que el tanque está peligrosamente lleno.

  • Llenado de tanques industriales: Previene derrames químicos asegurando que los sensores redundantes coincidan antes de activar un apagado de emergencia.
  • Sistemas de bombas de sumidero: Previene el quemado del motor o desbordamientos gestionando estados lógicos entre las marcas de nivel alto y desbordamiento crítico.
  • Domótica: Lógica simple para la gestión de depósitos sin necesidad de un microcontrolador.

Resultado esperado:
* Operación normal: El LED (bomba) permanece ENCENDIDO (Lógica Alta, ~5 V) cuando el tanque está vacío o parcialmente lleno.
* Parada de emergencia: El LED se APAGA (Lógica Baja, ~0 V) inmediatamente cuando ambas entradas de interruptor están en Lógica Alta (simulando detección de agua).
* Validación: Se verificará una Tabla de verdad específica donde solo la condición de entrada 1, 1 resulta en una salida de 0.

Público objetivo: Estudiantes de electrónica de nivel básico y aficionados.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC00, función: CI de cuatro compuertas NAND de 2 entradas.
  • S1: Interruptor de palanca SPST, función: Simulador de sensor de nivel alto.
  • S2: Interruptor de palanca SPST, función: Simulador de sensor de nivel de seguridad.
  • 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 330 Ω, función: Limitación de corriente para el LED de estado de la bomba.
  • D1: LED verde, función: Indicador de estado de la bomba (ENCENDIDO = Funcionando, APAGADO = Detenida).

Pin-out del CI utilizado

Chip: 74HC00 (Cuatro compuertas NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A Conectado al Sensor S1
2 1B Entrada B Conectado al Sensor S2
3 1Y Salida Y Conectado al LED (Bomba)
7 GND Tierra Conectado a 0 V
14 VCC Alimentación Conectado a 5 V

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.

  • Riel de alimentación: Conecta el terminal positivo de V1 al nodo VCC y el terminal negativo al nodo 0 (GND).
  • Alimentación del CI: Conecta el pin 14 de U1 a VCC y el pin 7 a 0.
  • Sensor 1 (Entrada A):
    • Conecta S1 entre VCC y el nodo SENSOR_HI.
    • Conecta R1 entre SENSOR_HI y 0 (Pull-down).
    • Conecta el pin 1 de U1 al nodo SENSOR_HI.
  • Sensor 2 (Entrada B):
    • Conecta S2 entre VCC y el nodo SENSOR_SAFE.
    • Conecta R2 entre SENSOR_SAFE y 0 (Pull-down).
    • Conecta el pin 2 de U1 al nodo SENSOR_SAFE.
  • Control de bomba (Salida):
    • Conecta el pin 3 de U1 al nodo PUMP_CTRL.
    • Conecta D1 (Ánodo) al nodo PUMP_CTRL.
    • Conecta D1 (Cátodo) al nodo LED_NODE.
    • Conecta R3 entre LED_NODE y 0.

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: Water tank level control

      INPUTS (Sensors)                       PROCESSING (U1: 74HC00)                  OUTPUT (Pump Indicator)
   ======================                  ===========================              ===========================

   [ VCC ]
      |
   [ S1: High Sensor ]
      |
                      +--(Node: SENSOR_HI)---------------> [ U1: Pin 1 (Input A) ]
      |                                             |
   [ R1: 10k Pull-Down ]                            |
      |                                             v
   [ GND ]                                     [ NAND Gate ] --(Node: PUMP_CTRL)--> [ D1: Green LED ]
                                                    ^                                       |
                                                    |                               (Node: LED_NODE)
   [ VCC ]                                          |                                       |
      |                                             |                                  [ R3: 330R ]
   [ S2: Safe Sensor ]                              |                                       |
      |                                             |                                    [ GND ]
+--(Node: SENSOR_SAFE)-------------> [ U1: Pin 2 (Input B) ]
      |
   [ R2: 10k Pull-Down ]
      |
   [ GND ]

   (Note: U1 Power Connections -> Pin 14: VCC, Pin 7: GND)
Esquema Eléctrico

Tabla de verdad

El 74HC00 actúa como un bloqueo de seguridad. La bomba funciona (Salida 1) por defecto y solo se detiene (Salida 0) cuando se cumple la condición de peligro específica (1, 1).

S1 (Nivel alto) S2 (Nivel de seguridad) Voltaje en Pin 3 Estado de bomba (LED) Estado lógico
0 (Seco) 0 (Seco) Alto (~5 V) ENCENDIDO Seguro
0 (Seco) 1 (Húmedo) Alto (~5 V) ENCENDIDO Error de sensor/Seguro
1 (Húmedo) 0 (Seco) Alto (~5 V) ENCENDIDO Nivel de advertencia
1 (Húmedo) 1 (Húmedo) Bajo (~0 V) APAGADO PARADA (Peligro)

Mediciones y pruebas

  1. Comprobación del estado por defecto: Asegúrate de que S1 y S2 estén abiertos (OFF). Enciende el circuito. Mide el voltaje en el nodo PUMP_CTRL con respecto a GND. Debería leer aproximadamente 5 V. El LED verde debería estar encendido.
  2. Prueba de un solo sensor: Cierra solo S1. El LED debería permanecer ENCENDIDO. Abre S1 y cierra solo S2. El LED debería permanecer ENCENDIDO.
  3. Prueba de parada de seguridad: Cierra ambos S1 y S2 simultáneamente.
    • Mide el voltaje en el nodo PUMP_CTRL. Debería caer a cerca de 0 V (< 0.1 V).
    • Confirma que el LED se APAGA inmediatamente.
  4. Recuperación: Abre cualquiera de los interruptores; el LED debería volver a ENCENDERSE.

Netlist SPICE y simulación

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

* Practical case: Water tank level control
.width out=256

* --- Models ---
* Generic Green LED Model
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)
* Ideal Voltage-Controlled Switch Model
.model SW_IDEAL sw(vt=2.5 vh=0 ron=1 roff=10Meg)

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

* --- Input Sensors (Switches + Pull-downs) ---
* S1: High Level Sensor simulator
* Modeled as a switch connected to VCC, controlled by a pulse source (V_ACT1)
* Timing: Period 100us, covers logic states quickly
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC SENSOR_HI ACT1 0 SW_IDEAL
R1 SENSOR_HI 0 10k
* ... (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 el pase de 7 días o la suscripción mensual 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: Water tank level control
.width out=256

* --- Models ---
* Generic Green LED Model
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)
* Ideal Voltage-Controlled Switch Model
.model SW_IDEAL sw(vt=2.5 vh=0 ron=1 roff=10Meg)

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

* --- Input Sensors (Switches + Pull-downs) ---
* S1: High Level Sensor simulator
* Modeled as a switch connected to VCC, controlled by a pulse source (V_ACT1)
* Timing: Period 100us, covers logic states quickly
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC SENSOR_HI ACT1 0 SW_IDEAL
R1 SENSOR_HI 0 10k

* S2: Safety Level Sensor simulator
* Modeled as a switch connected to VCC, controlled by a pulse source (V_ACT2)
* Timing: Period 200us, provides different state combinations with S1
V_ACT2 ACT2 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC SENSOR_SAFE ACT2 0 SW_IDEAL
R2 SENSOR_SAFE 0 10k

* --- Logic IC: U1 (74HC00 Quad 2-Input NAND Gate) ---
* Wiring Guide connections:
* Pin 1 (Input A) -> SENSOR_HI
* Pin 2 (Input B) -> SENSOR_SAFE
* Pin 3 (Output)  -> PUMP_CTRL
* Pin 7 (GND)     -> 0
* Pin 14 (VCC)    -> VCC

.subckt 74HC00 1 2 3 7 14
    * Behavioral NAND implementation using continuous sigmoid functions for convergence
    * V(3) = VCC * (1 - (Sigmoid(In1) * Sigmoid(In2)))
    * Threshold is set to VCC/2 (approx 2.5V)
    B_NAND 3 7 V = V(14) * (1 - ( (1/(1+exp(-50*(V(1)-0.5*V(14))))) * (1/(1+exp(-50*(V(2)-0.5*V(14))))) ))
.ends

XU1 SENSOR_HI SENSOR_SAFE PUMP_CTRL 0 VCC 74HC00

* --- Output Stage ---
* D1: Pump Status LED (Green)
* R3: Current limiting resistor
D1 PUMP_CTRL LED_NODE DLED
R3 LED_NODE 0 330

* --- Simulation Directives ---
.op
* Transient analysis for 500us to capture full truth table sequence
.tran 1u 500u

* --- Output Printing ---
* Required to generate simulation log
.print tran V(SENSOR_HI) V(SENSOR_SAFE) V(PUMP_CTRL) V(LED_NODE)

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation successfully cycles through all 4 logic states. When both inputs are High (~5V), the output PUMP_CTRL goes Low (~0V) and the LED voltage drops to ~0V (OFF). In all other states (00, 01, 10), the output is High (~5V) and the LED node is ~3.46V (ON).
Show raw data table (810 rows)
Index   time            v(sensor_hi)    v(sensor_safe)  v(pump_ctrl)    v(led_node)
0	0.000000e+00	4.995005e-03	4.995005e-03	5.000000e+00	3.463208e+00
1	1.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
2	2.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
3	4.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
4	8.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
5	1.600000e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
6	3.200000e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
7	3.562500e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
8	4.196875e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
9	4.372461e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
10	4.679736e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
11	4.795524e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
12	4.902290e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
13	5.023412e-07	4.999500e+00	4.999500e+00	4.417025e-69	-7.81556e-01
14	5.138120e-07	4.999500e+00	4.999500e+00	4.417025e-69	1.002344e-01
15	5.170059e-07	4.999500e+00	4.999500e+00	4.417025e-69	3.466376e-02
16	5.182905e-07	4.999500e+00	4.999500e+00	4.417025e-69	2.349502e-02
17	5.201200e-07	4.999500e+00	4.999500e+00	4.417025e-69	1.345184e-02
18	5.222326e-07	4.999500e+00	4.999500e+00	4.417025e-69	7.036188e-03
19	5.244685e-07	4.999500e+00	4.999500e+00	4.417025e-69	3.539225e-03
20	5.268938e-07	4.999500e+00	4.999500e+00	4.417025e-69	1.673565e-03
21	5.291278e-07	4.999500e+00	4.999500e+00	4.417025e-69	8.446489e-04
22	5.313933e-07	4.999500e+00	4.999500e+00	4.417025e-69	4.221950e-04
23	5.337647e-07	4.999500e+00	4.999500e+00	4.417025e-69	2.037947e-04
... (786 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 resulta en conmutaciones erráticas porque las entradas CMOS captan ruido eléctrico cuando los interruptores están abiertos. Solución: Asegúrate siempre de que las entradas estén conectadas a Tierra a través de resistencias cuando el interruptor esté abierto.
  2. Polaridad del LED: Conectar el LED al revés evita que se encienda incluso cuando la lógica es Alta. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia el pin de salida del CI.
  3. Cortocircuitar la salida a Tierra: Conectar el Pin 3 directamente a Tierra para «probarlo» dañará el CI cuando intente emitir una salida Alta. Solución: Mide siempre el voltaje con un multímetro en paralelo, nunca fuerces un nodo a tierra con un cable.

Solución de problemas

  • Síntoma: El LED siempre está ENCENDIDO, incluso cuando ambos interruptores están cerrados.
    • Causa: Las resistencias R1/R2 podrían estar conectadas a VCC en lugar de GND, o el CI está puenteado.
    • Solución: Verifica que R1 y R2 se conecten al riel negativo (0) y los interruptores se conecten a VCC.
  • Síntoma: El LED nunca se ENCIENDE.
    • Causa: LED invertido o R3 tiene un valor demasiado alto/abierto.
    • Solución: Verifica la orientación de D1 y la continuidad de R3.
  • Síntoma: El circuito se comporta de manera errática al tocar los cables.
    • Causa: Entradas flotantes (Faltan resistencias pull-down).
    • Solución: Verifica que R1 y R2 estén conectados firmemente al nodo 0.

Posibles mejoras y extensiones

  1. Alarma visual y sonora: Conecta un zumbador activo adicional (a través de un controlador de transistor) a la salida, pero invierte la señal primero para que el zumbador suene cuando la bomba se detenga.
  2. Accionamiento de motor: Reemplaza el LED con un transistor NPN (como el 2N2222) y un relé para controlar un motor de bomba de agua de CC real, añadiendo un diodo flyback para protecció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: ¿Qué componente principal se utiliza para construir el circuito digital de seguridad?




Pregunta 2: ¿Qué elemento físico simula la 'bomba de agua' en este circuito?




Pregunta 3: ¿Cuál es la condición lógica de entrada que provoca que la bomba (LED) se apague?




Pregunta 4: ¿Qué voltaje aproximado representa el estado de 'Operación normal' (LED encendido)?




Pregunta 5: ¿Qué ventaja se menciona sobre el uso de este circuito en domótica?




Pregunta 6: ¿Cuál es el propósito de la 'Parada de emergencia' descrita?




Pregunta 7: ¿Qué tipo de lógica se utiliza para gestionar el depósito según el contexto?




Pregunta 8: ¿Qué previene el sistema en el caso de uso de 'Sistemas de bombas de sumidero'?




Pregunta 9: ¿Qué ocurre en 'Operación normal' si el tanque está vacío o parcialmente lleno?




Pregunta 10: ¿Por qué se menciona el 'Llenado de tanques industriales' como caso de uso?




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 seguridad con sensor de ventana

Prototipo de Alarma de seguridad con sensor de ventana (Maker Style)

Nivel: Básico | Construye un sistema de alarma a prueba de fallos utilizando lógica NAND para detectar ventanas abiertas.

Objetivo y caso de uso

En este caso práctico, construirás un circuito lógico digital que monitorea dos sensores de ventana. La alarma permanecerá en silencio (LED APAGADO) solo cuando ambas ventanas estén cerradas de forma segura. Si se abre alguna ventana —o si se corta un cable— la alarma se activa (LED ENCENDIDO).

  • Seguridad en el hogar: Monitoreo de múltiples puntos de entrada (ventanas/puertas) donde todos deben estar cerrados para asegurar el perímetro.
  • Seguridad en maquinaria: Asegurar que todas las guardas de seguridad o compuertas de mantenimiento estén cerradas antes de que una máquina pueda operar (o señalar un fallo si se abren).
  • Diseño a prueba de fallos: Demostración de cómo los bucles activos en alto (active-high) detectan cables rotos o interruptores abiertos como condiciones de alarma.

Resultado esperado:
* Estado seguro: Cuando ambos interruptores (ventanas) están cerrados (Lógica 1), la Salida es 0 V (LED APAGADO).
* Estado de alarma: Si el Interruptor 1 O el Interruptor 2 se abren (Lógica 0), la Salida sube a ≈ 5 V (LED ENCENDIDO).
* Verificación lógica: Confirmación del comportamiento de la tabla de verdad NAND donde la Salida es BAJA (LOW) solo si todas las entradas son ALTAS (HIGH).

Público objetivo: Estudiantes de electrónica y aficionados que aprenden sobre puertas lógicas digitales básicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación principal del circuito
  • U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas
  • SW1: Interruptor SPST, función: Sensor de ventana 1 (Cerrado = Ventana cerrada)
  • SW2: Interruptor SPST, función: Sensor de ventana 2 (Cerrado = Ventana cerrada)
  • R1: Resistencia de 10 kΩ, función: Pull-down para SW1
  • R2: Resistencia de 10 kΩ, función: Pull-down para SW2
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED
  • D1: LED rojo, función: Indicador de alarma

Pin-out del CI utilizado

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

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A Conectado al Nodo SENS1
2 1B Entrada B Conectado al Nodo SENS2
3 1Y Salida Conectado al Nodo ALARM_OUT
7 GND Tierra Conectado al Nodo 0 (GND)
14 VCC Alimentación Conectado al Nodo VCC (5 V)

Guía de conexionado

Esta guía utiliza nombres de nodos específicos para ayudarte a visualizar las conexiones en una protoboard.

  • Riel de alimentación: Conecta el terminal positivo de V1 al nodo VCC y el terminal negativo al nodo 0.
  • Alimentación del CI: Conecta el pin 14 de U1 a VCC y el pin 7 de U1 a 0.
  • Sensor 1: Conecta SW1 entre VCC y el nodo SENS1.
  • Pull-down 1: Conecta R1 entre SENS1 y 0.
  • Sensor 2: Conecta SW2 entre VCC y el nodo SENS2.
  • Pull-down 2: Conecta R2 entre SENS2 y 0.
  • Entrada lógica: Conecta el pin 1 (1 A) de U1 a SENS1 y el pin 2 (1B) de U1 a SENS2.
  • Salida lógica: Conecta el pin 3 (1Y) de U1 al nodo ALARM_OUT.
  • Indicador: Conecta R3 entre ALARM_OUT y el Ánodo de D1.
  • Tierra del LED: Conecta el Cátodo de D1 al nodo 0.

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: Window sensor security alarm

(Input Stage: Sensors)                  (Processing Stage: Logic)             (Output Stage: Alarm)

[ VCC ]
   |
[ SW1: Window 1 ]
   |
+--(SENS1)-------+-----------------> [ U1: Pin 1 (Input A) ]
                    |                                         |
                 [ R1: 10k ]                                  v
                    |                                 [ U1: NAND Gate ] --(ALARM_OUT)--> [ R3: 330 Ω ] --> [ D1: LED ] --> GND
                 [ GND ]                                      ^
                                                              |
[ VCC ]             |                                         |
   |                |                                         |
[ SW2: Window 2 ]   |                                         |
   |                |                                         |
+--(SENS2)-------+-----------------> [ U1: Pin 2 (Input B) ]
                    |
                 [ R2: 10k ]
                    |
                 [ GND ]
Esquema Eléctrico

Tabla de verdad

El 74HC00 implementa la función NAND. En este contexto de seguridad, Lógica 1 representa una «Ventana cerrada» (Seguro), y Lógica 0 representa una «Ventana abierta» (Intrusión).

Ventana 1 (SW1) Ventana 2 (SW2) Entrada A (Pin 1) Entrada B (Pin 2) Salida Y (Pin 3) Estado LED Estado
Cerrada Cerrada 1 (Alto) 1 (Alto) 0 (Bajo) OFF Seguro
Abierta Cerrada 0 (Bajo) 1 (Alto) 1 (Alto) ON ALARMA
Cerrada Abierta 1 (Alto) 0 (Bajo) 1 (Alto) ON ALARMA
Abierta Abierta 0 (Bajo) 0 (Bajo) 1 (Alto) ON ALARMA

Mediciones y pruebas

Sigue estos pasos para validar tu sistema de alarma:

  1. Encendido inicial: Asegúrate de que ambos interruptores (SW1, SW2) estén cerrados. Enciende la fuente de 5 V. El LED D1 debería estar APAGADO.
  2. Verificación de voltaje (Seguro): Usa un multímetro para medir el voltaje en el nodo ALARM_OUT. Debería estar cerca de 0 V (< 0.2 V).
  3. Prueba de intrusión 1: Abre SW1 mientras mantienes SW2 cerrado. El LED debería ponerse en ON (Encendido). Mide ALARM_OUT; debería leer cerca de 5 V.
  4. Prueba de intrusión 2: Cierra SW1 y abre SW2. El LED debería ponerse en ON.
  5. Intrusión total: Abre ambos interruptores. El LED debería permanecer en ON.

Netlist SPICE y simulación

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

* Practical case: Window sensor security alarm
.width out=256
* ngspice netlist

* --- Component Models ---
* Switch model for SW1 and SW2 (Sensors)
* Vt=2.5V: Switch closes when control voltage > 2.5V
* Ron=1m: Low resistance when closed
* Roff=100Meg: High resistance when open
.model SW_MOD SW(Vt=2.5 Ron=1m Roff=100Meg)

* LED model for D1
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=10p BV=5)

* --- Power Supply ---
* V1: 5 V DC power supply connected to VCC and 0 (GND)
V1 VCC 0 DC 5

* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* ... (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 el pase de 7 días o la suscripción mensual 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: Window sensor security alarm
.width out=256
* ngspice netlist

* --- Component Models ---
* Switch model for SW1 and SW2 (Sensors)
* Vt=2.5V: Switch closes when control voltage > 2.5V
* Ron=1m: Low resistance when closed
* Roff=100Meg: High resistance when open
.model SW_MOD SW(Vt=2.5 Ron=1m Roff=100Meg)

* LED model for D1
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=10p BV=5)

* --- Power Supply ---
* V1: 5 V DC power supply connected to VCC and 0 (GND)
V1 VCC 0 DC 5

* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* Logic: High (5V) = Window Closed, Low (0V) = Window Open
* Timing: Toggles every 100us (Period 200us)
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: Connects VCC to SENS1 when window is closed
S1 VCC SENS1 ACT1 0 SW_MOD

* R1: Pull-down resistor for SENS1 (10k)
R1 SENS1 0 10k

* --- Window Sensor 2 ---
* Control source V_ACT2 simulates Window 2
* Timing: Toggles every 200us (Period 400us) to test all truth table combinations
V_ACT2 ACT2 0 PULSE(0 5 0 1u 1u 200u 400u)

* SW2: Connects VCC to SENS2 when window is closed
S2 VCC SENS2 ACT2 0 SW_MOD

* R2: Pull-down resistor for SENS2 (10k)
R2 SENS2 0 10k

* --- Logic IC: U1 (74HC00) ---
* Quad 2-input NAND gate. We instantiate one gate.
* Pin mapping according to wiring guide:
* Pin 1 (Input A) -> SENS1
* Pin 2 (Input B) -> SENS2
* Pin 3 (Output Y) -> ALARM_OUT
* Pin 7 -> GND (0), Pin 14 -> VCC
XU1 SENS1 SENS2 ALARM_OUT 0 VCC 74HC00_GATE

* Subcircuit for NAND Gate using robust continuous functions
.subckt 74HC00_GATE A B Y GND VCC
* Logic: Y = NAND(A, B) = NOT(A AND B)
* Implemented using sigmoid functions for convergence:
* 1 / (1 + exp(-k*(V-Vth))) acts as a smooth logical comparator.
* Vth = 2.5V, k = 20
B_NAND Y GND V = V(VCC) * (1 - ( (1/(1+exp(-20*(V(A)-2.5)))) * (1/(1+exp(-20*(V(B)-2.5)))) ))
.ends

* --- Alarm Output Indicator ---
* R3: Current limiting resistor (330 Ohm)
R3 ALARM_OUT LED_ANODE 330

* D1: Red LED connected to Ground
D1 LED_ANODE 0 LED_RED

* --- Simulation Commands ---
.op
* Transient analysis for 500us to capture all logic states
.tran 1u 500u

* Output configuration
* We print the Sensor inputs and the Alarm output
.print tran V(SENS1) V(SENS2) V(ALARM_OUT) V(LED_ANODE)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation correctly implements the NAND logic truth table. When both sensors are High (5V, Closed), the Output is Low (~0V). If either or both sensors are Low (Open), the Output goes High (5V), activating the LED (approx 1.83V at anode).
Show raw data table (657 rows)
Index   time            v(sens1)        v(sens2)        v(alarm_out)    v(led_anode)
0	0.000000e+00	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
1	1.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
2	2.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
3	4.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
4	8.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
5	1.600000e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
6	3.200000e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
7	3.562500e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
8	4.196875e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
9	4.372461e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
10	4.679736e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
11	4.795524e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
12	4.902290e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
13	5.023412e-07	5.000000e+00	5.000000e+00	3.894872e-36	1.057689e+00
14	5.138120e-07	5.000000e+00	5.000000e+00	3.894872e-36	-7.61250e-02
15	5.160398e-07	5.000000e+00	5.000000e+00	3.894872e-36	-3.72798e-02
16	5.172425e-07	5.000000e+00	5.000000e+00	3.894872e-36	-2.57490e-02
17	5.188923e-07	5.000000e+00	5.000000e+00	3.894872e-36	-1.54585e-02
18	5.214063e-07	5.000000e+00	5.000000e+00	3.894872e-36	-6.97976e-03
19	5.238372e-07	5.000000e+00	5.000000e+00	3.894872e-36	-3.25627e-03
20	5.261078e-07	5.000000e+00	5.000000e+00	3.894872e-36	-1.60566e-03
21	5.281984e-07	5.000000e+00	5.000000e+00	3.894872e-36	-8.40881e-04
22	5.304310e-07	5.000000e+00	5.000000e+00	3.894872e-36	-4.20300e-04
23	5.328536e-07	5.000000e+00	5.000000e+00	3.894872e-36	-1.97001e-04
... (633 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten» cuando los interruptores están abiertos, provocando un parpadeo errático del LED. Solución: Asegúrate siempre de que las entradas tengan un camino a tierra (vía resistencias pull-down) cuando el interruptor esté abierto.
  2. Polaridad del LED: Conectar el LED al revés evita que se ilumine incluso cuando la alarma está activa. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia la resistencia y la salida del CI.
  3. Cableado incorrecto del interruptor: Colocar el interruptor en paralelo con la resistencia en lugar de en serie con la fuente de voltaje crea un cortocircuito. Solución: Sigue la guía de conexionado: VCC -> Interruptor -> Nodo -> Resistencia -> GND.

Solución de problemas

  • Síntoma: El LED está siempre ENCENDIDO, incluso cuando los interruptores están cerrados.
    • Causa: Uno de los interruptores no está haciendo contacto, o un cable de entrada está suelto.
    • Solución: Verifica la continuidad en SW1 y SW2; asegúrate de que el pin 1 y el pin 2 realmente reciban 5 V.
  • Síntoma: El LED nunca se ENCIENDE.
    • Causa: El LED está invertido, el CI no está alimentado o R3 es demasiado alta.
    • Solución: Verifica que haya 5 V en el pin 14. Invierte el LED. Verifica que R3 sea de 330 Ω, no de 330 kΩ.
  • Síntoma: La lógica funciona al revés (LED ENCENDIDO cuando es seguro, APAGADO cuando está abierto).
    • Causa: Puedes estar usando una puerta AND (74HC08) en lugar de NAND, o la lógica de tus interruptores/resistencias está invertida (Pull-ups en lugar de Pull-downs).
    • Solución: Verifica que el número del chip sea 74HC00.

Posibles mejoras y extensiones

  1. Alarma audible: Conecta la base de un transistor NPN a ALARM_OUT para controlar un zumbador activo de 5 V, añadiendo sonido a la luz.
  2. Alarma con enclavamiento: Usa las puertas restantes en el 74HC00 para construir un Latch SR. Esto mantendría la alarma sonando incluso si el ladrón cierra la ventana inmediatamente después de entrar.

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 es fundamental para el funcionamiento de este sistema de alarma?




Pregunta 3: ¿En qué estado debe estar el LED cuando ambas ventanas están cerradas de forma segura?




Pregunta 4: ¿Qué sucede si se corta un cable en el sistema de sensores?




Pregunta 5: ¿Qué nivel lógico representan los interruptores cerrados en este diseño?




Pregunta 6: ¿Cuál es el voltaje de salida esperado en el 'Estado seguro' (ventanas cerradas)?




Pregunta 7: ¿Qué tipo de diseño de seguridad demuestra este circuito?




Pregunta 8: ¿Según la lógica del sistema, qué ocurre si el Interruptor 1 se abre?




Pregunta 9: ¿Cuál es una aplicación industrial mencionada para este tipo de circuito?




Pregunta 10: ¿Qué nivel de dificultad se asigna a este proyecto en 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: Aislamiento de circuito de alta potencia

Prototipo de Aislamiento de circuito de alta potencia (Maker Style)

Nivel: Básico – Controlar una carga de alta potencia usando una señal de bajo voltaje mediante aislamiento galvánico.

Objetivo y caso de uso

Construirás un circuito controlador que utiliza una pequeña señal de 5 V para activar un relé electromecánico, el cual a su vez conmuta un circuito separado de alta potencia de 12 V que alimenta una bombilla.

  • Por qué es útil:

    • Sistemas automotrices: Permite que una señal de ECU de baja corriente conmute faros de alta corriente.
    • Seguridad: Mantiene el alto voltaje/corriente (el lado de la carga) físicamente separado de la lógica de control sensible (el lado del usuario).
    • Interfaz: Permite a microcontroladores (como Arduino/ESP32) controlar equipos industriales o electrodomésticos de CA (simulados aquí con 12 V).
  • Resultado esperado:

    • La bombilla de 12 V se enciende (ON) solo cuando el interruptor de control de 5 V está cerrado.
    • Se escucha un «clic» audible del componente relé al cambiar de estado.
    • Mediciones: 0 V en la carga cuando la señal de control es 0 V; ~12 V en la carga cuando la señal de control es 5 V.
  • Público objetivo: Estudiantes que tratan con interfaces electromecánicas y protección de circuitos.

Materiales

  • V1: Fuente de voltaje de 5 V CC, función: Suministro de lógica de control
  • V2: Fuente de voltaje de 12 V CC, función: Suministro de carga de alta potencia
  • S1: Interruptor de palanca SPST, función: Disparador de control
  • R1: Resistencia de 1 kΩ, función: Limitador de corriente de base para Q1
  • Q1: Transistor BJT NPN 2N2222, función: Controlador de bobina de relé
  • D1: Diodo 1N4007, función: Protección flyback (snubber)
  • K1: Relé SPST de 5 V (resistencia de bobina ~70 Ω), función: Interruptor de aislamiento galvánico
  • L1: Bombilla incandescente de 12 V / 10 W, función: Carga de alta potencia

Guía de conexionado

Esta guía utiliza nombres de nodos específicos para asegurar conexiones correctas en la simulación y el montaje. El circuito tiene dos lados aislados: el Lado de Control (Nodos: V_CTRL, 0) y el Lado de Carga (Nodos: V_HV, GND_LOAD).

Lado de Control (Baja Potencia):
* V1 (+): Se conecta al Nodo V_CTRL.
* V1 (-): Se conecta al Nodo 0 (Tierra Común).
* S1: Se conecta entre V_CTRL y el Nodo V_TRIG.
* R1: Se conecta entre V_TRIG y el Nodo V_BASE.
* Q1 (Base): Se conecta al Nodo V_BASE.
* Q1 (Emisor): Se conecta al Nodo 0.
* Q1 (Colector): Se conecta al Nodo COIL_LOW.
* K1 (Pin 1 de la bobina): Se conecta al Nodo V_CTRL.
* K1 (Pin 2 de la bobina): Se conecta al Nodo COIL_LOW.
* D1 (Ánodo): Se conecta al Nodo COIL_LOW.
* D1 (Cátodo): Se conecta al Nodo V_CTRL (Polarización inversa a través de la bobina).

Lado de Carga (Alta Potencia):
* V2 (+): Se conecta al Nodo V_HV.
* V2 (-): Se conecta al Nodo GND_LOAD (Aislado del Nodo 0).
* K1 (Contacto Común): Se conecta al Nodo V_HV.
* K1 (Contacto Normalmente Abierto): Se conecta al Nodo BULB_IN.
* L1: Se conecta entre el Nodo BULB_IN y el Nodo GND_LOAD.

Diagrama de bloques conceptual

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

Esquemático

+-------------------------------------------------------------------------+
|               PRACTICAL CASE: HIGH POWER CIRCUIT ISOLATION              |
+-------------------------------------------------------------------------+

===========================================================================
  PART 1: CONTROL SIDE (5 V Logic)
  Nodes: V_CTRL, V_TRIG, V_BASE, COIL_LOW, 0 (GND)
===========================================================================

  (Trigger Signal Path)
  [ V1: 5 V (+) ] --> [ S1: Switch ] --> [ R1: 1k Ohm ] --> [ Q1: Base ]
                                                               |
                                                               | (Controls)
                                                               v
  (Coil Power Path)                                    [ Q1: Collector ]
  [ V1: 5 V (+) ] ---------> [ K1: Relay Coil ] --------------> |
                            [ || D1 Diode    ]                 |
                            [ (Rev Biased)   ]                 | (Conducts to)
                                                               |
                                                               v
                                                       [ Q1: Emitter ]
                                                               |
                                                               v
                                                       [ Node 0 (GND) ]


             ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
             ~      MAGNETIC LINK (GALVANIC ISOLATION)   ~
             ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~


===========================================================================
  PART 2: LOAD SIDE (12 V High Power)
  Nodes: V_HV, BULB_IN, GND_LOAD
===========================================================================

  (High Current Path)

  [ V2: 12 V (+) ] --> [ K1: Relay Switch ] --> [ L1: 12 V Bulb ] --> [ GND_LOAD ]
                      [   (COM -> NO)    ]
Esquema Eléctrico

Mediciones y pruebas

Sigue estos pasos para validar el aislamiento y la capacidad de conmutación:

  1. Prueba de voltaje de bobina:

    • Cierra el interruptor S1.
    • Mide el voltaje entre V_CTRL y COIL_LOW.
    • Resultado: Debería leer aproximadamente 5 V (indicando que el transistor está drenando corriente).
  2. Activación de carga:

    • Mantén S1 cerrado.
    • Observa L1 (Bombilla).
    • Resultado: La bombilla se ilumina. Mide el voltaje a través de L1; debería ser ~12 V.
  3. Latencia de conmutación (Requiere osciloscopio):

    • Conecta el Canal 1 a V_TRIG y el Canal 2 a BULB_IN.
    • Conmuta S1 de OFF a ON.
    • Resultado: Observarás un retraso (típicamente 5–15 ms) entre la subida de la señal en el Ch1 y la aparición de energía en el Ch2. Este es el tiempo de conmutación mecánica de la armadura del relé.

Netlist SPICE y simulación

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

* High power circuit isolation
*
* This netlist simulates a relay driver circuit with a high-power load.
* It includes a low-voltage control side (5V) and an isolated high-voltage load side (12V).
*

* --- Analysis Setup ---
.tran 10u 10m
.print tran V(V_TRIG) V(BULB_IN) V(COIL_LOW) I(L_K1_COIL)

* --- Control Side (Low Power) ---

* Supply V1: 5V DC
V1 V_CTRL 0 DC 5

* Switch S1: Modeled as a Pulse Voltage Source to simulate user actuation
* Connects to V_TRIG to drive the base resistor.
* Timing: Off for 1ms, On for 4ms, then Off.
V_S1 V_TRIG 0 PULSE(0 5 1m 10u 10u 4m 10m)

* ... (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 el pase de 7 días o la suscripción mensual 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.

* High power circuit isolation
*
* This netlist simulates a relay driver circuit with a high-power load.
* It includes a low-voltage control side (5V) and an isolated high-voltage load side (12V).
*

* --- Analysis Setup ---
.tran 10u 10m
.print tran V(V_TRIG) V(BULB_IN) V(COIL_LOW) I(L_K1_COIL)

* --- Control Side (Low Power) ---

* Supply V1: 5V DC
V1 V_CTRL 0 DC 5

* Switch S1: Modeled as a Pulse Voltage Source to simulate user actuation
* Connects to V_TRIG to drive the base resistor.
* Timing: Off for 1ms, On for 4ms, then Off.
V_S1 V_TRIG 0 PULSE(0 5 1m 10u 10u 4m 10m)

* Resistor R1: 1k Base Current Limiter
R1 V_TRIG V_BASE 1k

* Transistor Q1: 2N2222 NPN Relay Driver
* Connections: Collector=COIL_LOW, Base=V_BASE, Emitter=0
Q1 COIL_LOW V_BASE 0 2N2222MOD

* Relay Coil K1 (Coil Side)
* Modeled as Inductance + Resistance in series between V_CTRL and COIL_LOW
R_K1_COIL V_CTRL INT_COIL 70
L_K1_COIL INT_COIL COIL_LOW 50m

* Diode D1: Flyback protection (Snubber)
* Anode=COIL_LOW, Cathode=V_CTRL
D1 COIL_LOW V_CTRL 1N4007MOD

* --- Load Side (High Power) ---

* Ground Isolation: High resistance path to global ground 0 to prevent singular matrix
R_ISO GND_LOAD 0 100Meg

* Supply V2: 12V DC
V2 V_HV GND_LOAD DC 12

* Relay Contact K1 (Switch Side)
* Modeled as a Voltage Controlled Switch
* Controlled by the voltage across the coil: V(V_CTRL) - V(COIL_LOW)
* Connects V_HV to BULB_IN when coil is energized
S_K1 V_HV BULB_IN V_CTRL COIL_LOW RELAY_SW_MOD

* Load L1: 12V / 10W Bulb
* Resistance ~ 14.4 Ohms (R = V^2 / P = 144 / 10)
R_L1 BULB_IN GND_LOAD 14.4

* --- Component Models ---

* NPN Transistor Model
.model 2N2222MOD NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8E-12 CJE=25E-12 TR=46.91E-9 TF=411.1E-12 ITF=0.6 VTF=1.7 XTF=3 RB=10 RC=0.3 RE=0.2)

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

* Relay Switch Model
* Threshold Vt=2.5V (Coil is 5V), Hysteresis Vh=0.5V
.model RELAY_SW_MOD SW(Vt=2.5 Vh=0.5 Ron=0.1 Roff=100Meg)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows the trigger signal (V_TRIG) going high (5V) between 1ms and 5ms. During this window, the coil current (I(L_K1_COIL)) rises, causing the relay switch to close and V(BULB_IN) to switch to ~12V. After 5ms, the trigger drops, coil current decays (snubber active), and the load voltage returns to near zero.
Show raw data table (4100 rows)
Index   time            v(v_trig)       v(bulb_in)      v(coil_low)     l_k1_coil#branc
0	0.000000e+00	0.000000e+00	1.722670e-06	5.000000e+00	1.002664e-11
1	1.000000e-07	0.000000e+00	1.722670e-06	5.000000e+00	1.002626e-11
2	2.000000e-07	0.000000e+00	1.722670e-06	5.000000e+00	1.002547e-11
3	4.000000e-07	0.000000e+00	1.722670e-06	5.000000e+00	1.002342e-11
4	8.000000e-07	0.000000e+00	1.722670e-06	5.000000e+00	1.001814e-11
5	1.600000e-06	0.000000e+00	1.722670e-06	5.000000e+00	1.000316e-11
6	3.200000e-06	0.000000e+00	1.722670e-06	5.000000e+00	9.969744e-12
7	6.400000e-06	0.000000e+00	1.722670e-06	5.000000e+00	1.000801e-11
8	1.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	1.002921e-11
9	2.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	9.970357e-12
10	3.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	1.004993e-11
11	4.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	9.955463e-12
12	5.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	1.004077e-11
13	6.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	9.984500e-12
14	7.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	1.001134e-11
15	8.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	1.001578e-11
16	9.280000e-05	0.000000e+00	1.722670e-06	5.000000e+00	1.000519e-11
17	1.028000e-04	0.000000e+00	1.722670e-06	5.000000e+00	1.003686e-11
18	1.128000e-04	0.000000e+00	1.722670e-06	5.000000e+00	9.961732e-12
19	1.228000e-04	0.000000e+00	1.722670e-06	5.000000e+00	1.005266e-11
20	1.328000e-04	0.000000e+00	1.722670e-06	5.000000e+00	9.963169e-12
21	1.428000e-04	0.000000e+00	1.722670e-06	5.000000e+00	1.003205e-11
22	1.528000e-04	0.000000e+00	1.722670e-06	5.000000e+00	9.984436e-12
23	1.628000e-04	0.000000e+00	1.722670e-06	5.000000e+00	1.001919e-11
... (4076 more rows) ...

Errores comunes y cómo evitarlos

  1. Omitir el diodo flyback (D1):

    • Error: El transistor Q1 falla permanentemente después de unas pocas conmutaciones.
    • Solución: Coloca siempre un diodo en polarización inversa en paralelo a la bobina del relé para absorber el pico de alto voltaje generado cuando el campo magnético colapsa.
  2. Compartir tierras involuntariamente:

    • Error: Conectar GND_LOAD al Nodo 0 en la protoboard.
    • Solución: Aunque el circuito funcionará, pierdes el aislamiento galvánico. Mantén la ruta de retorno de alta potencia físicamente separada de la tierra lógica.
  3. Corriente de base insuficiente:

    • Error: Usar una resistencia R1 demasiado alta (p. ej., 100 kΩ). El relé no hace clic o lo hace débilmente.
    • Solución: Asegúrate de que el transistor esté en saturación. Para un 2N2222 controlando un relé estándar, 1 kΩ suele ser suficiente.

Solución de problemas

  • Síntoma: El relé hace clic, pero la bombilla no se enciende.

    • Causa: Problema en el Lado de Carga (circuito secundario).
    • Solución: Revisa el suministro V2, verifica que la bombilla L1 no esté fundida y asegúrate de que las conexiones a los pines COM/NO del relé estén firmes.
  • Síntoma: No hay sonido del relé, Bombilla APAGADA.

    • Causa: La bobina no se está energizando.
    • Solución: Revisa el voltaje en el Nodo V_BASE. Si es 0 V, revisa S1. Si es ~0.7 V, revisa si Q1 está instalado correctamente (pinout E-B-C).
  • Síntoma: El transistor se calienta extremadamente.

    • Causa: La corriente de la bobina es demasiado alta para el transistor seleccionado.
    • Solución: Verifica la resistencia de la bobina del relé. Si consume >600 mA, el 2N2222 podría tener poca potencia; usa un transistor de potencia (p. ej., TIP31) o un MOSFET.

Posibles mejoras y extensiones

  1. Indicador de estado: Añade un pequeño LED y una resistencia de 330 Ω en paralelo con la bobina del relé para indicar visualmente cuando la señal de control está activa.
  2. Actualización a estado sólido: Reemplaza el relé mecánico (K1) y el controlador de transistor con un Optoacoplador y un MOSFET (o Triac para CA) para eliminar el desgaste mecánico y reducir la latencia de conmutació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 artículo?




Pregunta 2: ¿Qué componente se utiliza para separar físicamente el circuito de control del circuito de carga?




Pregunta 3: ¿Qué voltaje tiene la fuente de alimentación destinada a la carga de alta potencia (la bombilla)?




Pregunta 4: ¿Qué sonido característico se espera escuchar cuando el relé cambia de estado?




Pregunta 5: ¿Qué medición de voltaje se espera en la carga cuando la señal de control es de 0 V?




Pregunta 6: ¿Por qué es útil este circuito en sistemas automotrices?




Pregunta 7: ¿Cuál es el estado de la bombilla cuando el interruptor de control de 5 V está cerrado?




Pregunta 8: ¿Qué ventaja de seguridad ofrece este circuito según el texto?




Pregunta 9: ¿Qué tipo de dispositivos pueden usar este circuito como interfaz para controlar equipos industriales?




Pregunta 10: ¿Qué voltaje se espera medir en la carga cuando la señal de control es de 5 V?




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: Inversión de giro de motor DC

Prototipo de Inversión de giro de motor DC (Maker Style)

Nivel: Básico – Entender cómo usar dos relés SPDT para cambiar la polaridad y dirección de un motor de CC.

Objetivo y caso de uso

En este caso, construirá un circuito de puente en H basado en relés para controlar un motor de CC. Usando dos relés de un polo y doble tiro (SPDT), podrá accionar el motor en sentido horario, antihorario o frenarlo utilizando pulsadores simples.

  • Escenarios del mundo real:
  • Elevalunas automotrices: Invertir el motor para subir o bajar el vidrio.
  • Robótica: Controlar la dirección de las ruedas para el movimiento hacia adelante y hacia atrás.
  • Cintas transportadoras industriales: Cambiar la dirección de una banda para enrutar productos.
  • Cortinas motorizadas: Mecanismos de apertura y cierre.

  • Resultado esperado:

  • Estado de reposo: Cuando no se presionan botones, los terminales del motor están conectados a tierra (diferencia de 0 V), resultando en un freno dinámico (el motor se detiene).
  • Estado de avance: Presionar el Botón A aplica +5 V al motor; gira en sentido horario (CW).
  • Estado de retroceso: Presionar el Botón B aplica -5 V (cambio de polaridad) al motor; gira en sentido antihorario (CCW).
  • Frenado/Seguridad: Si ambos botones se presionan simultáneamente, ambos terminales del motor se conectan a VCC, resultando en una diferencia de 0 V y el motor permanece detenido.

Público objetivo: Aficionados y estudiantes que se inician en el control electromecánico.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Fuente de energía principal.
  • M1: Motor de 5 V CC, función: El actuador a controlar.
  • K1: Relé SPDT de 5 V, función: Controla el lado «Positivo» del motor.
  • K2: Relé SPDT de 5 V, función: Controla el lado «Negativo» del motor.
  • S1: Pulsador momentáneo (NO), función: Activa el Relé K1 (Avance).
  • S2: Pulsador momentáneo (NO), función: Activa el Relé K2 (Retroceso).
  • D1: Diodo 1N4007, función: Protección flyback para la bobina de K1.
  • D2: Diodo 1N4007, función: Protección flyback para la bobina de K2.

Guía de conexionado

Esta guía utiliza nombres de nodos para describir las conexiones.
Nodos: VCC (Alimentación 5 V), 0 (Tierra), COIL_A, COIL_B, MOT_A, MOT_B.

  • Fuente de alimentación:
  • V1 (+): Conecta al nodo VCC.
  • V1 (-): Conecta al nodo 0.

  • Circuito de control (Bobinas):

  • S1: Conecta entre VCC y COIL_A.
  • K1 (Bobina): Conecta entre COIL_A y 0.
  • D1: Cátodo a COIL_A, Ánodo a 0 (Protege contra picos inductivos).
  • S2: Conecta entre VCC y COIL_B.
  • K2 (Bobina): Conecta entre COIL_B y 0.
  • D2: Cátodo a COIL_B, Ánodo a 0.

  • Circuito de potencia (Accionamiento del motor):

  • K1 (Normalmente Abierto – NO): Conecta a VCC.
  • K1 (Normalmente Cerrado – NC): Conecta a 0.
  • K1 (Común – COM): Conecta al nodo MOT_A.
  • K2 (Normalmente Abierto – NO): Conecta a VCC.
  • K2 (Normalmente Cerrado – NC): Conecta a 0.
  • K2 (Común – COM): Conecta al nodo MOT_B.
  • M1: Conecta entre MOT_A y MOT_B.

Diagrama de bloques conceptual

Conceptual block diagram — Relay H-Bridge Motor Control
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

+-------------------------------------------------------------------------+
|                DC MOTOR REVERSING CIRCUIT (H-BRIDGE)                    |
+-------------------------------------------------------------------------+

[ CONTROL SUBSYSTEM ]                                [ POWER SUBSYSTEM ]

      (Forward Input)                                   (Left Side Drive)
VCC --> [ S1 Button ]                                  VCC (NO)
            |                                             |
            v                                             v
    [ Node: COIL_A ]                               [ K1 Switch (COM) ] --(MOT_A)--+
            |                                      [  (Relay 1)      ]            |
            +--> [ K1 Coil || D1 ] --> GND                ^                       |
            |    (D1 is Reverse Biased)                   |                       |
            |                                             |                       |
            +----------(Magnetic Link)--------------------+                       |
                                                          |                       |
                                                  GND (NC) +                      |
                                                                                  v
                                                                           [ DC MOTOR ]
                                                                           [    M1    ]
                                                                                  ^
                                                  GND (NC) +                      |
                                                          |                       |
            +----------(Magnetic Link)--------------------+                       |
            |                                             |                       |
            |    (D2 is Reverse Biased)                   |                       |
            +--> [ K2 Coil || D2 ] --> GND         [ K2 Switch (COM) ] --(MOT_B)--+
            |                                      [  (Relay 2)      ]
    [ Node: COIL_B ]                                      ^
            ^                                             |
            |                                             |
VCC --> [ S2 Button ]                                  VCC (NO)
      (Reverse Input)                                   (Right Side Drive)

+-------------------------------------------------------------------------+
| LOGIC KEY:                                                              |
| 1. Idle: Both Switches connect COM to NC (GND). Motor is braked (0 V).   |
| 2. Press S1: K1 switches to NO (VCC). Current: VCC->MOT_A->MOT_B->GND.  |
| 3. Press S2: K2 switches to NO (VCC). Current: VCC->MOT_B->MOT_A->GND.  |
+-------------------------------------------------------------------------+
Esquema Eléctrico

Mediciones y pruebas

Para validar el circuito, realice los siguientes pasos usando un multímetro e inspección visual:

  1. Verificación en reposo: Asegúrese de que ni S1 ni S2 estén presionados. Mida el voltaje entre MOT_A y MOT_B.
    • Resultado: Debe ser 0 V. Ambos terminales están conectados a GND a través de los contactos NC. El motor está bloqueado (difícil de girar a mano debido al cortocircuito de la fuerza contraelectromotriz).
  2. Accionamiento de avance: Mantenga presionado S1.
    • Resultado: K1 hace clic. Mida el voltaje desde MOT_A (Sonda roja) a MOT_B (Sonda negra). El voltaje debe ser aproximadamente +5 V. El motor gira en sentido horario.
  3. Accionamiento de retroceso: Suelte S1, luego mantenga presionado S2.
    • Resultado: K2 hace clic. Mida el voltaje desde MOT_A a MOT_B. El voltaje debe ser aproximadamente -5 V. El motor gira en sentido antihorario.
  4. Doble pulsación (Prueba de seguridad): Presione S1 y S2 simultáneamente.
    • Resultado: Ambos relés hacen clic. El voltaje entre MOT_A y MOT_B es 0 V (Ambos a potencial de 5 V). El motor no se mueve.

Netlist SPICE y simulación

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

* Practical case: DC Motor Reversing
.width out=256
* Ngspice Netlist
*
* Description: H-Bridge configuration using two SPDT relays to control a DC motor.
* Logic:
* - S1 Pressed -> K1 Active -> MOT_A = 5V, MOT_B = 0V (Forward)
* - S2 Pressed -> K2 Active -> MOT_A = 0V, MOT_B = 5V (Reverse)
* - None Pressed -> MOT_A = 0V, MOT_B = 0V (Stop/Brake)
*
* Simulation Time: 10ms (Captures S1 pulse at 1ms and S2 pulse at 5ms)
.tran 10u 10m

* -----------------------------------------------------------------------------
* Power Supply
* -----------------------------------------------------------------------------
* V1: 5V DC Power Supply, function: Main energy source.
* Connected between VCC (+) and 0 (-).
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 el pase de 7 días o la suscripción mensual 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: DC Motor Reversing
.width out=256
* Ngspice Netlist
*
* Description: H-Bridge configuration using two SPDT relays to control a DC motor.
* Logic:
* - S1 Pressed -> K1 Active -> MOT_A = 5V, MOT_B = 0V (Forward)
* - S2 Pressed -> K2 Active -> MOT_A = 0V, MOT_B = 5V (Reverse)
* - None Pressed -> MOT_A = 0V, MOT_B = 0V (Stop/Brake)
*
* Simulation Time: 10ms (Captures S1 pulse at 1ms and S2 pulse at 5ms)
.tran 10u 10m

* -----------------------------------------------------------------------------
* Power Supply
* -----------------------------------------------------------------------------
* V1: 5V DC Power Supply, function: Main energy source.
* Connected between VCC (+) and 0 (-).
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* User Inputs (Pushbuttons)
* -----------------------------------------------------------------------------
* Modeled as Voltage Controlled Switches (S1, S2) driven by Pulse Sources.
* This strictly simulates the user pressing the button at specific times.

* Stimulus for S1 (Forward Request)
* Pulse: 0V to 5V, starts at 1ms, duration 2ms.
V_USER_S1 CTRL_S1 0 PULSE(0 5 1m 1u 1u 2m 10m)

* Stimulus for S2 (Reverse Request)
* Pulse: 0V to 5V, starts at 5ms, duration 2ms.
V_USER_S2 CTRL_S2 0 PULSE(0 5 5m 1u 1u 2m 10m)

* S1: Momentary Pushbutton (NO)
* Connects VCC to COIL_A when activated by V_USER_S1.
S1 VCC COIL_A CTRL_S1 0 SW_PUSH

* S2: Momentary Pushbutton (NO)
* Connects VCC to COIL_B when activated by V_USER_S2.
S2 VCC COIL_B CTRL_S2 0 SW_PUSH

* -----------------------------------------------------------------------------
* Control Circuit (Relay Coils)
* -----------------------------------------------------------------------------
* Relay K1 Coil Circuit
* K1 Coil: Connects between COIL_A and 0. Modeled as L+R.
L_K1 COIL_A K1_INT 10m
R_K1 K1_INT 0 100
* D1: 1N4007 Diode, function: Flyback protection.
* Cathode to COIL_A, Anode to 0.
D1 0 COIL_A D_1N4007

* Relay K2 Coil Circuit
* K2 Coil: Connects between COIL_B and 0. Modeled as L+R.
L_K2 COIL_B K2_INT 10m
R_K2 K2_INT 0 100
* D2: 1N4007 Diode, function: Flyback protection.
* Cathode to COIL_B, Anode to 0.
D2 0 COIL_B D_1N4007

* -----------------------------------------------------------------------------
* Power Circuit (Motor Drive via Relay Contacts)
* -----------------------------------------------------------------------------
* Relay K1 Contacts (SPDT)
* COM: MOT_A
* NO: VCC (Connected when Coil is Energized/High)
* NC: 0   (Connected when Coil is De-energized/Low)
S_K1_NO VCC MOT_A COIL_A 0 SW_NO_RELAY
S_K1_NC MOT_A 0   COIL_A 0 SW_NC_RELAY

* Relay K2 Contacts (SPDT)
* COM: MOT_B
* NO: VCC (Connected when Coil is Energized/High)
* NC: 0   (Connected when Coil is De-energized/Low)
S_K2_NO VCC MOT_B COIL_B 0 SW_NO_RELAY
S_K2_NC MOT_B 0   COIL_B 0 SW_NC_RELAY

* M1: 5 V DC Motor
* Modeled as a resistive load (50 Ohms) to visualize voltage polarity.
* Connects between MOT_A and MOT_B.
R_M1 MOT_A MOT_B 50

* -----------------------------------------------------------------------------
* Component Models
* -----------------------------------------------------------------------------
* Standard Diode Model
.model D_1N4007 D(IS=1N N=1 RS=0.1 BV=1000 IBV=10u)

* Pushbutton Switch Model (Normally Open)
* Closes (Low R) when Control Voltage > 2.5V
.model SW_PUSH SW(Vt=2.5 Vh=0.1 Ron=0.01 Roff=10Meg)

* Relay Contact Models
* NO (Normally Open): Conducts when Coil > 2.5V
.model SW_NO_RELAY SW(Vt=2.5 Vh=0.1 Ron=0.01 Roff=10Meg)

* NC (Normally Closed): Conducts when Coil < 2.5V
* SPICE SW Logic: If V < Vt, R = Roff. If V > Vt, R = Ron.
* For NC: We want Low R when V < Vt. So Roff=0.01, Ron=10Meg.
.model SW_NC_RELAY SW(Vt=2.5 Vh=0.1 Ron=10Meg Roff=0.01)

* -----------------------------------------------------------------------------
* Output Directives
* -----------------------------------------------------------------------------
* Outputs: Motor Terminals (MOT_A, MOT_B)
* Inputs: Coil Control Voltages (COIL_A, COIL_B)
.print tran V(MOT_A) V(MOT_B) V(COIL_A) V(COIL_B) I(L_K1)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: At 1ms, S1 activates, energizing Coil A (approx 5V). Consequently, MOT_A goes to 5V while MOT_B stays near 0V (Forward). At 3ms, S1 releases and the motor stops. At 5ms, S2 activates, energizing Coil B. MOT_B goes to 5V while MOT_A stays near 0V (Reverse). Inductive kickback is visible on coil nodes when switches open.
Show raw data table (1104 rows)
Index   time            v(mot_a)        v(mot_b)        v(coil_a)       v(coil_b)       l_k1#branch
0	0.000000e+00	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
1	1.000000e-07	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
2	2.000000e-07	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
3	4.000000e-07	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
4	8.000000e-07	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
5	1.600000e-06	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
6	3.200000e-06	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
7	6.400000e-06	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
8	1.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
9	2.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
10	3.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
11	4.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
12	5.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
13	6.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
14	7.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
15	8.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
16	9.280000e-05	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
17	1.028000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
18	1.128000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
19	1.228000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
20	1.328000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
21	1.428000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
22	1.528000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
23	1.628000e-04	5.000000e-09	5.000000e-09	4.999931e-05	4.999931e-05	4.999931e-07
... (1080 more rows) ...

Errores comunes y cómo evitarlos

  1. Cablear el motor a NO/NC en lugar de COM:
    • Error: Conectar el motor a los pines Normalmente Abierto o Cerrado, y la alimentación al pin Común.
    • Solución: Conecte siempre la Carga (Motor) al pin Común (COM) del relé SPDT para configuraciones de puente en H. La alimentación y la Tierra van a NO y NC.
  2. Omitir diodos flyback:
    • Error: Olvidar D1 y D2 en paralelo con las bobinas de los relés.
    • Solución: Instale siempre diodos en polarización inversa a través de las bobinas para evitar que picos de alto voltaje dañen los interruptores o fuentes de alimentación cuando el relé se apaga.
  3. Usar relés SPST:
    • Error: Intentar esta topología con relés de 4 pines que carecen de un contacto Normalmente Cerrado.
    • Solución: Asegúrese de usar relés SPDT de 5 pines para que el motor pueda conectarse a tierra cuando el relé está apagado.

Solución de problemas

  • El motor vibra pero no gira:
    • Causa: La corriente de la fuente de alimentación es insuficiente.
    • Solución: Verifique la clasificación de corriente de su fuente de alimentación; los motores consumen alta corriente al arrancar.
  • El relé hace clic pero el motor no se mueve:
    • Causa: Contactos internos quemados o cableado suelto en los terminales COM/NO/NC.
    • Solución: Verifique la continuidad entre COM y NO cuando el relé esté activo usando un multímetro.
  • Chispas visibles dentro del relé:
    • Causa: Retroceso de carga inductiva del motor.
    • Solución: Aunque no siempre es fatal, agregar un pequeño condensador (por ejemplo, 100 nF) a través de los terminales del motor puede reducir el arco y el ruido.

Posibles mejoras y extensiones

  1. Interruptores de límite (finales de carrera): Agregue interruptores de límite Normalmente Cerrados en serie con las bobinas de los relés (COIL_A y COIL_B) para detener automáticamente el motor cuando un mecanismo alcanza su final de recorrido.
  2. Control de velocidad: Inserte un reóstato de alto vataje o un controlador de transistor PWM en serie con el suministro principal VCC a los contactos del relé (no a las bobinas) para variar la velocidad del motor.

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é tipo de relés se utilizan específicamente en este proyecto?




Pregunta 3: ¿Qué sucede con el motor en el estado de reposo (cuando no se presionan botones)?




Pregunta 4: ¿Qué acción provoca que el motor gire en sentido horario (CW)?




Pregunta 5: ¿Cuál es el voltaje aplicado al motor en el estado de retroceso según el texto?




Pregunta 6: ¿Qué ocurre si se presionan el Botón A y el Botón B simultáneamente en este tipo de configuración de puente H?




Pregunta 7: ¿Cuál de los siguientes NO se menciona como un escenario del mundo real para este circuito?




Pregunta 8: ¿Qué nivel de dificultad se asigna a este proyecto según el contexto?




Pregunta 9: ¿Qué efecto físico se logra al conectar ambos terminales del motor a tierra en reposo?




Pregunta 10: ¿Cuántos relés SPDT son necesarios para construir este circuito de puente en H?




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: