Caso práctico: Alarma de puerta abierta

Prototipo de Alarma de puerta abierta (Maker Style)

Nivel: Básico. Objetivo: Construir un circuito lógico utilizando una compuerta NOT que active un LED cuando se abra el contacto de un interruptor.

Objetivo y caso de uso

Construirás un circuito de monitoreo digital que ilumina un indicador LED cada vez que un interruptor (que representa un sensor de puerta) rompe el contacto. Esto demuestra el funcionamiento fundamental de la compuerta NOT (Inversor) en la lógica de seguridad.

  • Por qué es útil:

    • Seguridad en el hogar: Principio básico detrás de los interruptores magnéticos (reed switches) utilizados en ventanas y puertas.
    • Seguridad de electrodomésticos: Asegura que dispositivos como microondas o lavadoras no funcionen si la puerta está abierta.
    • Enclavamientos industriales: Sistemas de advertencia visual para protecciones de maquinaria.
  • Resultado esperado:

    • Puerta cerrada (Interruptor cerrado): Lógica de entrada Alta (5V), Lógica de salida Baja (0V), LED APAGADO.
    • Puerta abierta (Interruptor abierto): Lógica de entrada Baja (0V), Lógica de salida Alta (5V), LED ENCENDIDO.
    • Público objetivo y nivel: Estudiantes de introducción a la electrónica (Básico).

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Fuente de energía principal
  • U1: 74HC04, función: Inversor séxtuple (lógica de compuerta NOT)
  • SW1: Interruptor SPST, función: Simula el sensor de la puerta (Cerrado = Puerta cerrada)
  • R1: Resistencia de 10 kΩ, función: Pull-down para la entrada de U1
  • R2: Resistencia de 330 Ω, función: Limitación de corriente del LED
  • D1: LED rojo, función: Indicador visual de alarma

Pin-out del CI utilizado

Chip: 74HC04 (Inversor séxtuple)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conectado a SW1 y R1
2 1Y Salida Conectado a la resistencia del LED R2
7 GND Tierra Conectado a 0V (Tierra de la fuente de alimentación)
14 VCC Alimentación Conectado a 5V (Positivo de la fuente de alimentación)

Guía de conexionado

  • VCC se conecta al terminal positivo de V1, al pin 14 de U1 y a un lado de SW1.
  • 0 (GND) se conecta al terminal negativo de V1, al pin 7 de U1, a R1 y al cátodo de D1.
  • ESTADO_PUERTA (Nodo A) se conecta al otro lado de SW1, al otro lado de R1 y al pin 1 de U1.
  • SALIDA_ALARMA (Nodo Y) se conecta al pin 2 de U1 y a un lado de R2.
  • ÁNODO_LED se conecta al otro lado de R2 y al ánodo de D1.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

[ INPUT / SENSOR ]                 [ LOGIC PROCESSING ]               [ OUTPUT / ALARM ]

    [ VCC (5V Source) ]
             |
             v
    [ SW1 (Door Switch) ]
             |
             v
          (Node A) -------------------->+------------------+
             |                          |    U1: 74HC04    |
             v                          |    (NOT Gate)    | --(Pin 2)--> [ R2: 330Ω ] --> [ D1: LED ] --> GND
    [ R1 (10k Pull-down) ]              |  Input: Pin 1    |
             |                          +------------------+
             v
            GND
Esquema Eléctrico

Tabla de verdad

Estado de la puerta Interruptor (SW1) Voltaje de entrada (Pin 1) Entrada lógica Salida lógica (Pin 2) Estado del LED
Cerrada Cerrado 5 V (Alto) 1 0 APAGADO
Abierta Abierto 0 V (Bajo) 0 1 ENCENDIDO

Mediciones y pruebas

  1. Comprobación de alimentación: Antes de insertar el CI, verifica que V1 proporcione exactamente 5 V.
  2. Estado 1 (Seguro): Cierra SW1. Mide el voltaje en el Pin 1 (Entrada). Debería ser ~5 V. Mide el Pin 2 (Salida). Debería ser ~0 V. Verifica que el LED esté APAGADO.
  3. Estado 2 (Alarma): Abre SW1. Mide el voltaje en el Pin 1 (Entrada). Debería caer a 0 V (llevado a tierra por R1). Mide el Pin 2 (Salida). Debería subir a ~5 V. Verifica que el LED esté ENCENDIDO.

Netlist SPICE y simulación

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

* Practical case: Open door alarm
*
* BILL OF MATERIALS:
* V1: 5V DC Supply
* U1: 74HC04 Hex Inverter (Behavioral Model)
* SW1: SPST Switch (Modeled as Voltage-Controlled Switch)
* R1: 10k Pull-down Resistor
* R2: 330 Ohm Current Limiting Resistor
* D1: Red LED
*
* WIRING CONNECTIONS:
* VCC: V1(+), U1(14), SW1(1)
* GND: V1(-), U1(7), R1(2), D1(Cathode)
* DOOR_STATUS: SW1(2), R1(1), U1(1)
* ALARM_OUT: U1(2), R2(1)
* LED_ANODE: R2(2), D1(Anode)

* --- Main Power Supply ---
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: Open door alarm
*
* BILL OF MATERIALS:
* V1: 5V DC Supply
* U1: 74HC04 Hex Inverter (Behavioral Model)
* SW1: SPST Switch (Modeled as Voltage-Controlled Switch)
* R1: 10k Pull-down Resistor
* R2: 330 Ohm Current Limiting Resistor
* D1: Red LED
*
* WIRING CONNECTIONS:
* VCC: V1(+), U1(14), SW1(1)
* GND: V1(-), U1(7), R1(2), D1(Cathode)
* DOOR_STATUS: SW1(2), R1(1), U1(1)
* ALARM_OUT: U1(2), R2(1)
* LED_ANODE: R2(2), D1(Anode)

* --- Main Power Supply ---
V1 VCC 0 DC 5

* --- User Interaction (Door Sensor) ---
* Model SW1 as a voltage-controlled switch S1 driven by a pulse source.
* Logic: Control High = Switch Closed (Door Closed). Control Low = Switch Open (Door Open).
* Pulse: Starts 0V (Open/Alarm ON), goes to 5V (Closed/Alarm OFF) at 1ms, stays for 2ms.
V_SW_CTRL SW_CTRL 0 PULSE(0 5 1m 10u 10u 2m 5m)

* S1 connects VCC to DOOR_STATUS when SW_CTRL is High.
S1 VCC DOOR_STATUS SW_CTRL 0 SW_DOOR
.model SW_DOOR SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* --- Pull-down Resistor ---
R1 DOOR_STATUS 0 10k

* --- 74HC04 Hex Inverter (U1) ---
* Implements NOT gate logic: ALARM_OUT = NOT(DOOR_STATUS)
* Pin mapping: 1=In, 2=Out, 7=GND, 14=VCC
XU1 DOOR_STATUS ALARM_OUT 0 VCC 74HC04_GATE

* --- Output Stage ---
R2 ALARM_OUT LED_ANODE 330
D1 LED_ANODE 0 D_RED

* --- Models and Subcircuits ---

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

* 74HC04 Single Gate Behavioral Model
* Pins: In Out GND VCC
.subckt 74HC04_GATE 1 2 7 14
* Continuous sigmoid function for robust NOT logic
* Vout goes Low when Vin > 2.5V, High when Vin < 2.5V
B_INV 2 7 V = V(14,7) * (1 / (1 + exp(50 * (V(1,7) - 2.5))))
.ends

* --- Simulation Directives ---
.tran 10u 5ms
.op

* --- Output Printing ---
.print tran V(DOOR_STATUS) V(ALARM_OUT) V(LED_ANODE) V(SW_CTRL)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1126 rows)
Index   time            v(door_status)  v(alarm_out)    v(led_anode)
0	0.000000e+00	4.999500e-04	5.000000e+00	1.842385e+00
1	1.000000e-07	4.999500e-04	5.000000e+00	1.842385e+00
2	2.000000e-07	4.999500e-04	5.000000e+00	1.842385e+00
3	4.000000e-07	4.999500e-04	5.000000e+00	1.842385e+00
4	8.000000e-07	4.999500e-04	5.000000e+00	1.842385e+00
5	1.600000e-06	4.999500e-04	5.000000e+00	1.842385e+00
6	3.200000e-06	4.999500e-04	5.000000e+00	1.842385e+00
7	6.400000e-06	4.999500e-04	5.000000e+00	1.842385e+00
8	1.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
9	2.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
10	3.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
11	4.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
12	5.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
13	6.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
14	7.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
15	8.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
16	9.280000e-05	4.999500e-04	5.000000e+00	1.842385e+00
17	1.028000e-04	4.999500e-04	5.000000e+00	1.842385e+00
18	1.128000e-04	4.999500e-04	5.000000e+00	1.842385e+00
19	1.228000e-04	4.999500e-04	5.000000e+00	1.842385e+00
20	1.328000e-04	4.999500e-04	5.000000e+00	1.842385e+00
21	1.428000e-04	4.999500e-04	5.000000e+00	1.842385e+00
22	1.528000e-04	4.999500e-04	5.000000e+00	1.842385e+00
23	1.628000e-04	4.999500e-04	5.000000e+00	1.842385e+00
... (1102 more rows) ...

Errores comunes y cómo evitarlos

  1. Entrada flotante: Olvidar la resistencia pull-down (R1). Sin R1, cuando el interruptor se abre, el pin de entrada queda flotando y el LED puede parpadear o permanecer en un estado impredecible. Siempre conecta las entradas CMOS a un nivel lógico definido.
  2. Sin resistencia para el LED: Conectar el LED directamente a la salida del 74HC04 sin R2. Esto puede quemar el LED o dañar la etapa de salida del CI debido a una corriente excesiva.
  3. Polaridad incorrecta: Insertar el LED al revés (ánodo a tierra). El LED nunca se encenderá. Asegúrate de que la pata más larga (ánodo) mire hacia la resistencia que viene del CI.

Solución de problemas

  • LED siempre ENCENDIDO: Comprueba si SW1 se está cerrando realmente. Si usas un pulsador, asegúrate de que esté conectado a VCC. Verifica que R1 esté conectado a Tierra.
  • LED siempre APAGADO: Comprueba si el 74HC04 tiene alimentación (Pin 14) y Tierra (Pin 7). Comprueba la polaridad del LED. Asegúrate de que SW1 esté desconectando realmente VCC cuando está «Abierto».
  • El LED es tenue: El valor de R2 podría ser demasiado alto (por ejemplo, 10 kΩ en lugar de 330 Ω) o la fuente de 5V está cayendo.
  • El CI se calienta: Desconecta la alimentación inmediatamente. Busca cortocircuitos entre la Salida (Pin 2) y Tierra, o si el chip está insertado al revés.

Posibles mejoras y extensiones

  1. Alarma sonora: Conecta un transistor NPN y un zumbador a la salida para generar sonido junto con la luz cuando se abra la puerta.
  2. Circuito de enclavamiento: Añade un bucle de retroalimentación o un Flip-Flop para que, una vez que se active la alarma, permanezca ENCENDIDA incluso si la puerta se cierra de nuevo, requiriendo un botón de reinicio manual.

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 fundamental se utiliza en este proyecto?




Pregunta 3: ¿Qué representa el interruptor en el contexto del caso de uso?




Pregunta 4: ¿Cuál es el estado del LED cuando la puerta está cerrada (interruptor cerrado)?




Pregunta 5: Según el texto, ¿qué voltaje de entrada (lógica) se tiene cuando el interruptor está cerrado?




Pregunta 6: Si el interruptor está abierto (puerta abierta), ¿cuál es el estado lógico de la salida?




Pregunta 7: ¿Cuál es un ejemplo de uso en la seguridad de electrodomésticos mencionado?




Pregunta 8: ¿Qué sucede con la lógica de entrada cuando el interruptor se abre?




Pregunta 9: ¿Cuál de los siguientes es un ejemplo de uso real mencionado para este circuito?




Pregunta 10: ¿A qué público objetivo está dirigido este proyecto?




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: Detección de intrusos multi-perímetro

Prototipo de Detección de intrusos multi-perímetro (Maker Style)

Nivel: Avanzado — Implementar un sistema de seguridad de 4 zonas utilizando lógica OR en cascada para activar una alarma centralizada.

Objetivo y caso de uso

En este proyecto, construirá un sistema de monitoreo de seguridad centralizado que supervisa cuatro puntos de acceso distintos (ventanas o puertas). El sistema utiliza interruptores magnéticos tipo reed y un CI de compuerta OR cuádruple de 2 entradas 74HC32 para consolidar múltiples señales de sensores en un único disparo de alarma.

Por qué es útil:
* Seguridad en el hogar: Monitorea múltiples puntos de entrada (puerta principal, puerta trasera, garaje, ventana) simultáneamente.
* Salas de servidores: Asegura que todas las puertas de los racks estén cerradas; alerta si se vulnera cualquier gabinete individual.
* Seguridad industrial: Evita el funcionamiento de la máquina si cualquier perímetro de protección de seguridad está abierto.

Resultado esperado:
* Estado seguro: Cuando todas las puertas/ventanas están cerradas, el relé permanece apagado (0 V en la bobina).
* Estado de alarma: Si se vulnera cualquier zona individual (o múltiples zonas), el relé se activa.
* Niveles de voltaje: Lógica Baja (≈ 0 V) representa una zona segura; Lógica Alta (≈ 5 V) representa una vulneración.
* Indicación: Un relé hace clic y activa una carga conectada (simulada por un LED de alta potencia o una sirena).

Público objetivo: Estudiantes avanzados de electrónica y prototipadores de sistemas de seguridad.

Materiales

  • V1: Fuente de voltaje de 5 V CC, función: Fuente de alimentación principal
  • U1: 74HC32, función: CI lógico de compuerta OR cuádruple de 2 entradas
  • S1: Interruptor SPST (Reed Switch), función: Sensor de Zona 1 (Normalmente Abierto, cerrado por imán)
  • S2: Interruptor SPST (Reed Switch), función: Sensor de Zona 2
  • S3: Interruptor SPST (Reed Switch), función: Sensor de Zona 3
  • S4: Interruptor SPST (Reed Switch), función: Sensor de Zona 4
  • R1: Resistencia de 10 kΩ, función: Pull-up para Zona 1
  • R2: Resistencia de 10 kΩ, función: Pull-up para Zona 2
  • R3: Resistencia de 10 kΩ, función: Pull-up para Zona 3
  • R4: Resistencia de 10 kΩ, función: Pull-up para Zona 4
  • R5: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor
  • Q1: Transistor NPN 2N2222, función: Controlador de relé
  • D1: Diodo 1N4007, función: Protección flyback para la bobina del relé
  • RL1: Relé de 5 V (SPDT), función: Interfaz de conmutación de alta potencia
  • C1: Condensador de 100 nF, función: Desacoplo para U1

Pin-out del CI utilizado

Chip: 74HC32 (Compuerta OR cuádruple de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Compuerta OR 1 Conectar al Nodo ZONE1
2 1B Entrada Compuerta OR 1 Conectar al Nodo ZONE2
3 1Y Salida Compuerta OR 1 Conectar al Nodo INT_A (Entrada a la Compuerta 3)
4 2A Entrada Compuerta OR 2 Conectar al Nodo ZONE3
5 2B Entrada Compuerta OR 2 Conectar al Nodo ZONE4
6 2Y Salida Compuerta OR 2 Conectar al Nodo INT_B (Entrada a la Compuerta 3)
7 GND Tierra Conectar al Nodo 0
9 3A Entrada Compuerta OR 3 Conectar al Nodo INT_A
10 3B Entrada Compuerta OR 3 Conectar al Nodo INT_B
8 3Y Salida Compuerta OR 3 Conectar al Nodo LOGIC_OUT
14 VCC Fuente de alimentación Conectar al Nodo VCC

Nota: Los pines 11, 12 y 13 (Compuerta 4) no se utilizan y deben conectarse a tierra si se siguen estrictamente las mejores prácticas CMOS, aunque a menudo se dejan flotando en prototipos simples.

Guía de conexionado

Este circuito utiliza lógica «Activa Alta» para las alarmas. Los sensores están cableados como Pull-ups. Cuando una puerta está cerrada (imán presente), el interruptor cierra a tierra (Lógica 0). Cuando una puerta se abre, la resistencia tira de la línea hacia VCC (Lógica 1).

  • Fuente de alimentación
  • El terminal positivo de V1 se conecta al nodo VCC.
  • El terminal negativo de V1 se conecta al nodo 0 (GND).
  • C1 se conecta entre VCC y 0 (cerca de U1).

  • Sensores de zona (Entradas)

  • R1 se conecta entre VCC y ZONE1.
  • S1 se conecta entre ZONE1 y 0.
  • R2 se conecta entre VCC y ZONE2.
  • S2 se conecta entre ZONE2 y 0.
  • R3 se conecta entre VCC y ZONE3.
  • S3 se conecta entre ZONE3 y 0.
  • R4 se conecta entre VCC y ZONE4.
  • S4 se conecta entre ZONE4 y 0.

  • Procesamiento lógico (En cascada)

  • U1 Pin 1 (1A) se conecta a ZONE1.
  • U1 Pin 2 (1B) se conecta a ZONE2.
  • U1 Pin 3 (1Y) se conecta a INT_A.
  • U1 Pin 4 (2A) se conecta a ZONE3.
  • U1 Pin 5 (2B) se conecta a ZONE4.
  • U1 Pin 6 (2Y) se conecta a INT_B.
  • U1 Pin 9 (3A) se conecta a INT_A.
  • U1 Pin 10 (3B) se conecta a INT_B.
  • U1 Pin 8 (3Y) se conecta a LOGIC_OUT.

  • Etapa controladora de salida

  • R5 se conecta entre LOGIC_OUT y el nodo BASE.
  • La Base de Q1 se conecta a BASE.
  • El Emisor de Q1 se conecta a 0.
  • El Colector de Q1 se conecta al nodo RELAY_COIL_NEG.
  • El positivo de la bobina de RL1 se conecta a VCC.
  • El negativo de la bobina de RL1 se conecta a RELAY_COIL_NEG.
  • El Ánodo de D1 se conecta a RELAY_COIL_NEG.
  • El Cátodo de D1 se conecta a VCC (En paralelo a la bobina, polarización inversa).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Title: Practical case: Multi-perimeter intrusion detection

      [ INPUT STAGE ]                  [ LOGIC STAGE (U1: 74HC32) ]                 [ OUTPUT STAGE ]

   (VCC)                                                                               (VCC)
     |                                                                                   |
   [ R1 ]                                                                            +---+---+
     +----(Zone 1)-------->+-------------+                                           |       |
     |                     |  OR GATE 1  |                                         [D1]    [RL1]
   [ S1 ]                  | (Pins 1,2)  |--(Int A)------>+                        (Diode) (Coil)
     |                     +-------------+                |                          |       |
   (GND)                   ^                              |                          +---+---+
                           |                              |                              |
   (VCC)                   |                              v                              |
     |                     |                       +-------------+                       |
   [ R2 ]                  |                       |  OR GATE 3  |                       |
     +----(Zone 2)---------+                       | (Pins 9,10) |                       |
     |                                             +-------------+                       |
   [ S2 ]                                                 |                              |
     |                                                    +----(Logic Out)--> [ R5 ] --> +
   (GND)                                                  ^                              |
                                                          |                         [ Q1 Base ]
   (VCC)                                                  |                              |
     |                                                    |                        [ Q1 (NPN) ]
   [ R3 ]                                                 |                              |
     +----(Zone 3)-------->+-------------+                |                         (Emitter)
     |                     |  OR GATE 2  |                |                              |
   [ S3 ]                  | (Pins 4,5)  |--(Int B)-------+                            (GND)
     |                     +-------------+
   (GND)                   ^
                           |
   (VCC)                   |
     |                     |
   [ R4 ]                  |
+----(Zone 4)---------+
     |
   [ S4 ]
     |
   (GND)
Esquema Eléctrico

Tabla de verdad

La lógica está en cascada. Las compuertas 1 y 2 manejan las zonas; la compuerta 3 combina sus resultados.
Lógica 0 = Seguro (Puerta cerrada). Lógica 1 = Vulneración (Puerta abierta).

Zona 1 Zona 2 Zona 3 Zona 4 Int A (Z1+Z2) Int B (Z3+Z4) Salida final Estado del sistema
0 0 0 0 0 0 0 Seguro
1 0 0 0 1 0 1 ALARMA
0 1 0 0 1 0 1 ALARMA
0 0 1 0 0 1 1 ALARMA
0 0 0 1 0 1 1 ALARMA
1 1 1 1 1 1 1 ALARMA

Nota: Cualquier combinación que contenga al menos un «1» da como resultado una Salida final de «1».

Mediciones y pruebas

  1. Verificación de lógica estática:
    • Asegúrese de que todos los interruptores estén cerrados (imanes presentes). Mida el voltaje en LOGIC_OUT. Debería ser < 0.1 V.
    • Abra solo el interruptor S1. Mida el voltaje en ZONE1 (debería ser ≈ 5 V) y LOGIC_OUT (debería ser ≈ 5 V).
    • Verifique que el relé haga clic (se ENCIENDA).
  2. Verificación de umbral:
    • Con S1 abierto, mida el voltaje en el nodo BASE (Base de Q1). Debería ser aprox. 0.7 V (Vbe del transistor).
  3. Verificación de cascada:
    • Cierre S1 (Seguro). Abra S3.
    • Verifique que INT_A esté en Bajo (0 V) e INT_B esté en Alto (5 V).
    • Verifique que LOGIC_OUT permanezca en Alto.

Netlist SPICE y simulación

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

* Multi-perimeter intrusion detection
* NGSPICE Netlist
* Created based on Bill of Materials and Wiring Guide

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

* NPN Transistor Model (2N2222)
.model 2N2222 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)

* Diode Model (1N4007)
.model 1N4007 D(IS=7.027n RS=0.034 N=1.26 TT=4.32u CJO=4p)

* Voltage Controlled Switch Model (for Reed Switches)
* Vt=2.5V: Control > 2.5V is CLOSED (Low R), Control < 2.5V is OPEN (High R)
.model SW_REED SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* ... (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.

* Multi-perimeter intrusion detection
* NGSPICE Netlist
* Created based on Bill of Materials and Wiring Guide

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

* NPN Transistor Model (2N2222)
.model 2N2222 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)

* Diode Model (1N4007)
.model 1N4007 D(IS=7.027n RS=0.034 N=1.26 TT=4.32u CJO=4p)

* Voltage Controlled Switch Model (for Reed Switches)
* Vt=2.5V: Control > 2.5V is CLOSED (Low R), Control < 2.5V is OPEN (High R)
.model SW_REED SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* =============================================================================
* POWER SUPPLY
* =============================================================================
V1 VCC 0 DC 5

* =============================================================================
* SENSORS (ZONES 1-4)
* Logic: Door Closed (Magnet Present) -> Switch Closed to GND -> Zone Low (Safe)
*        Door Open (Magnet Removed) -> Switch Open -> Zone Pulled High (Alarm)
* Simulation: Control Voltage 5V = Door Closed. Control Voltage 0V = Door Open.
* =============================================================================

* --- ZONE 1 ---
R1 VCC ZONE1 10k
S1 ZONE1 0 CTRL1 0 SW_REED
* Stimulus: Door 1 opens briefly at 100us
V_S1_CTRL CTRL1 0 PULSE(5 0 100u 1u 1u 50u 10m)

* --- ZONE 2 ---
R2 VCC ZONE2 10k
S2 ZONE2 0 CTRL2 0 SW_REED
* Stimulus: Door 2 opens briefly at 300us
V_S2_CTRL CTRL2 0 PULSE(5 0 300u 1u 1u 50u 10m)

* --- ZONE 3 ---
R3 VCC ZONE3 10k
S3 ZONE3 0 CTRL3 0 SW_REED
* Stimulus: Door 3 opens briefly at 500us
V_S3_CTRL CTRL3 0 PULSE(5 0 500u 1u 1u 50u 10m)

* --- ZONE 4 ---
R4 VCC ZONE4 10k
S4 ZONE4 0 CTRL4 0 SW_REED
* Stimulus: Door 4 opens briefly at 700us
V_S4_CTRL CTRL4 0 PULSE(5 0 700u 1u 1u 50u 10m)

* =============================================================================
* LOGIC PROCESSING (U1: 74HC32 Quad OR Gate)
* =============================================================================

* Subcircuit for 74HC32 using robust behavioral sources (tanh)
* Pinout: 1=1A, 2=1B, 3=1Y, 4=2A, 5=2B, 6=2Y, 7=GND, 8=3Y, 9=3A, 10=3B, 11=4Y, 12=4A, 13=4B, 14=VCC
.subckt 74HC32 1A 1B 1Y 2A 2B 2Y GND 3Y 3A 3B 4Y 4A 4B VCC
    * Gate 1 (1A, 1B -> 1Y)
    B1 1Y GND V = 2.5 * (1 + tanh(10 * (V(1A) + V(1B) - 2.5)))
    * Gate 2 (2A, 2B -> 2Y)
    B2 2Y GND V = 2.5 * (1 + tanh(10 * (V(2A) + V(2B) - 2.5)))
    * Gate 3 (3A, 3B -> 3Y)
    B3 3Y GND V = 2.5 * (1 + tanh(10 * (V(3A) + V(3B) - 2.5)))
    * Gate 4 (4A, 4B -> 4Y) - Unused but modeled
    B4 4Y GND V = 2.5 * (1 + tanh(10 * (V(4A) + V(4B) - 2.5)))
.ends

* Decoupling Capacitor for U1
C1 VCC 0 100n

* Instantiate U1
* Connections based on Wiring Guide:
* 1->ZONE1, 2->ZONE2, 3->INT_A
* 4->ZONE3, 5->ZONE4, 6->INT_B
* 9->INT_A, 10->INT_B, 8->LOGIC_OUT
* 14->VCC, 7->0
* Unused inputs (12, 13) grounded to avoid floating nodes
XU1 ZONE1 ZONE2 INT_A ZONE3 ZONE4 INT_B 0 LOGIC_OUT INT_A INT_B NC_4Y 0 0 VCC 74HC32

* =============================================================================
* OUTPUT DRIVER STAGE
* =============================================================================

* Base Resistor
R5 LOGIC_OUT BASE 1k

* Driver Transistor Q1
Q1 RELAY_COIL_NEG BASE 0 2N2222

* Relay RL1 (Modeled as Coil Inductance + Resistance)
* Coil Positive -> VCC, Negative -> Collector
L_RL1 VCC RELAY_NODE_INT 100m
R_RL1 RELAY_NODE_INT RELAY_COIL_NEG 70

* Flyback Diode D1 (Parallel to coil, Reverse Biased)
* Anode -> Collector (Low side), Cathode -> VCC
D1 RELAY_COIL_NEG VCC 1N4007

* =============================================================================
* SIMULATION COMMANDS
* =============================================================================

.tran 10u 1000u

* Print required signals for validation
.print tran V(ZONE1) V(ZONE2) V(INT_A) V(INT_B) V(LOGIC_OUT) V(RELAY_COIL_NEG)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (742 rows)
Index   time            v(zone1)        v(zone2)        v(int_a)
0	0.000000e+00	4.999950e-05	4.999950e-05	0.000000e+00
1	1.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
2	2.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
3	4.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
4	8.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
5	1.600000e-06	4.999950e-05	4.999950e-05	0.000000e+00
6	3.200000e-06	4.999950e-05	4.999950e-05	0.000000e+00
7	6.400000e-06	4.999950e-05	4.999950e-05	0.000000e+00
8	1.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
9	2.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
10	3.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
11	4.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
12	5.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
13	6.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
14	7.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
15	8.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
16	9.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
17	1.000000e-04	4.999950e-05	4.999950e-05	0.000000e+00
18	1.001000e-04	4.999950e-05	4.999950e-05	0.000000e+00
19	1.002600e-04	4.999950e-05	4.999950e-05	0.000000e+00
20	1.003075e-04	4.999950e-05	4.999950e-05	0.000000e+00
21	1.003906e-04	4.999950e-05	4.999950e-05	0.000000e+00
22	1.004136e-04	4.999950e-05	4.999950e-05	0.000000e+00
23	1.004539e-04	4.999950e-05	4.999950e-05	0.000000e+00
... (718 more rows) ...

Errores comunes y cómo evitarlos

  1. Manejar directamente el relé con el CI:
    • Error: Conectar la bobina del relé directamente al pin de salida del 74HC32. El chip no puede suministrar suficiente corriente (generalmente máx. 25 mA, mientras que los relés necesitan 70 mA+).
    • Solución: Utilice siempre un transistor (Q1) como etapa controladora.
  2. Omitir el diodo flyback (D1):
    • Error: Omitir D1 a través de la bobina del relé.
    • Consecuencia: El pico de alto voltaje generado cuando el relé se apaga puede destruir el transistor Q1.
  3. Entradas flotantes:
    • Error: Olvidar las resistencias pull-up (R1-R4) o la conexión a tierra en los interruptores.
    • Consecuencia: Las entradas CMOS flotarán, causando alarmas erráticas o conmutaciones aleatorias debido al ruido electromagnético.

Solución de problemas

  • Síntoma: El relé castañetea (clic rápido) o se activa aleatoriamente.
    • Causa: Fuente de alimentación ruidosa o pin de entrada flotante.
    • Solución: Verifique que C1 esté instalado. Verifique que todas las entradas no utilizadas (si las hay) estén conectadas a GND. Asegúrese de que las resistencias pull-up R1-R4 estén conectadas de forma segura.
  • Síntoma: La alarma no se activa cuando se abre la Puerta 1.
    • Causa: El interruptor está atascado en «Cerrado» o error de cableado en el pin 1/2 de U1.
    • Solución: Mida el voltaje en ZONE1. Si permanece en 0 V cuando la puerta se abre, falta la pull-up R1 o está en cortocircuito a tierra.
  • Síntoma: El transistor Q1 se calienta o falla instantáneamente.
    • Causa: Falta la resistencia de base R5.
    • Solución: Asegúrese de que R5 (1 kΩ) esté en serie con la base para limitar la corriente.

Posibles mejoras y extensiones

  1. Alarma con enclavamiento: Agregue un flip-flop o bucle de retroalimentación (lógica SCR) para que, una vez que se active la alarma, permanezca encendida incluso si el intruso cierra la puerta nuevamente. Se requeriría un botón de reinicio.
  2. Indicadores de zona: Agregue un LED individual con buffer desde los nodos ZONE1 hasta ZONE4. Esto permite al usuario ver exactamente qué ventana o puerta específica causó la alarma.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el componente principal utilizado para consolidar las señales de los sensores en este sistema de seguridad?




Pregunta 2: ¿Qué representa un nivel de voltaje de Lógica Baja (≈ 0 V) en el contexto de este sistema?




Pregunta 3: ¿Qué tipo de interruptores se utilizan como sensores para los puntos de acceso?




Pregunta 4: ¿Cuál es el resultado esperado en el relé cuando todas las zonas están seguras?




Pregunta 5: ¿Qué condición es necesaria para que el sistema active la alarma?




Pregunta 6: ¿Cuál es la función de la fuente V1 según el contexto del sistema?




Pregunta 7: ¿Qué aplicación práctica se menciona para este sistema en un entorno industrial?




Pregunta 8: ¿Cómo se implementa la lógica para combinar las 4 zonas de seguridad?




Pregunta 9: ¿Qué sucede si se vulneran múltiples zonas simultáneamente?




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




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 electrónica simple

Prototipo de Sistema de votación electrónica simple (Maker Style)

Nivel: Avanzado — Diseñar un circuito para aprobar una moción si al menos uno de tres jueces emite un voto positivo, integrando lógica combinacional y eliminación de rebotes (debouncing).

Objetivo y caso de uso

Construirás un circuito lógico digital que procesa señales de tres interruptores momentáneos independientes que representan a los jueces. El sistema utiliza una topología OR en cascada para activar un indicador visual si cualquier entrada individual (o combinación de entradas) está activa.

Por qué es útil:
* Enclavamientos de seguridad: Se utiliza una lógica similar en protecciones de máquinas donde romper cualquier haz de luz o abrir cualquier puerta debe activar una parada o alarma.
* Detección de fallos: En los tableros de instrumentos de automóviles, múltiples sensores (aceite, presión de neumáticos, calor del motor) alimentan una luz de advertencia central (Check Engine) a través de lógica OR.
* Control de acceso: Sistemas donde múltiples credenciales diferentes (tarjeta, código o biométrico) pueden otorgar entrada a la misma puerta.
* Solicitudes de interrupción: En microcontroladores, múltiples periféricos pueden activar una sola línea de interrupción a la CPU utilizando esta lógica.

Resultado esperado:
* El LED de salida se ENCIENDE (Lógica Alta) si el Juez A, el Juez B, el Juez C, o cualquier combinación presiona su botón.
* El LED de salida permanece APAGADO (Lógica Baja) solo cuando todos los botones están liberados.
* Las señales de entrada son acondicionadas (anti-rebote) para evitar el parpadeo rápido causado por el rebote mecánico del interruptor.
* Verificación de la propagación de la señal a través de puertas lógicas en cascada.

Público objetivo: Estudiantes de ingeniería y entusiastas avanzados de la electrónica.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • S1: Pulsador momentáneo (Normalmente Abierto), función: Entrada Juez A
  • S2: Pulsador momentáneo (Normalmente Abierto), función: Entrada Juez B
  • S3: Pulsador momentáneo (Normalmente Abierto), función: Entrada Juez C
  • R1: Resistencia de 10 kΩ, función: pull-down para el Nodo A
  • R2: Resistencia de 10 kΩ, función: pull-down para el Nodo B
  • R3: Resistencia de 10 kΩ, función: pull-down para el Nodo C
  • R4: Resistencia de 1 kΩ, función: resistencia serie para anti-rebote RC (Entrada A)
  • R5: Resistencia de 1 kΩ, función: resistencia serie para anti-rebote RC (Entrada B)
  • R6: Resistencia de 1 kΩ, función: resistencia serie para anti-rebote RC (Entrada C)
  • C1: Condensador de 100 nF, función: filtrado de rebotes (Entrada A)
  • C2: Condensador de 100 nF, función: filtrado de rebotes (Entrada B)
  • C3: Condensador de 100 nF, función: filtrado de rebotes (Entrada C)
  • U1: 74HC32 (CI de 4 puertas OR de 2 entradas)
  • R7: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: indicador de resultado

Pin-out del CI utilizado

Chip seleccionado: 74HC32 (Cuádruple puerta OR de 2 entradas).
Nota: Dado que tenemos 3 entradas y el chip contiene puertas de 2 entradas, conectaremos en cascada dos puertas para crear la función lógica $Y = (A + B) + C$.

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conecta a Señal A con anti-rebote
2 1B Entrada Conecta a Señal B con anti-rebote
3 1Y Salida Conecta al Pin 4 (Cascada a la siguiente puerta)
4 2A Entrada Conecta al Pin 3 (Resultado de A+B)
5 2B Entrada Conecta a Señal C con anti-rebote
6 2Y Salida Conecta al circuito del LED de salida
7 GND Tierra Conecta a 0 (GND)
14 VCC Alimentación Conecta a VCC (+5V)

Guía de conexionado

Esta guía utiliza nombres de nodos compatibles con SPICE.
* Fuente de alimentación:
* V1 conecta entre el nodo VCC y el nodo 0 (GND).
* U1 pin 14 conecta a VCC.
* U1 pin 7 conecta a 0.

  • Etapa de entrada (Juez A) – Pull-down y Anti-rebote:
  • S1 conecta entre VCC y el nodo RAW_A.
  • R1 conecta entre RAW_A y 0.
  • R4 conecta entre RAW_A y el nodo IN_A.
  • C1 conecta entre IN_A y 0.

  • Etapa de entrada (Juez B) – Pull-down y Anti-rebote:

  • S2 conecta entre VCC y el nodo RAW_B.
  • R2 conecta entre RAW_B y 0.
  • R5 conecta entre RAW_B y el nodo IN_B.
  • C2 conecta entre IN_B y 0.

  • Etapa de entrada (Juez C) – Pull-down y Anti-rebote:

  • S3 conecta entre VCC y el nodo RAW_C.
  • R3 conecta entre RAW_C y 0.
  • R6 conecta entre RAW_C y el nodo IN_C.
  • C3 conecta entre IN_C y 0.

  • Procesamiento lógico (OR en cascada):

  • U1 pin 1 conecta a IN_A.
  • U1 pin 2 conecta a IN_B.
  • U1 pin 3 (Salida Puerta 1) conecta al nodo GATE1_OUT.
  • U1 pin 4 conecta al nodo GATE1_OUT (Señal en cascada).
  • U1 pin 5 conecta a IN_C.
  • U1 pin 6 (Salida Final) conecta al nodo LOGIC_OUT.

  • Etapa de salida:

  • R7 conecta entre LOGIC_OUT y el nodo LED_ANODE.
  • D1 conecta entre LED_ANODE (Ánodo) y 0 (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

[ INPUT / CONDITIONING ]                  [ LOGIC PROCESSING (74HC32) ]             [ OUTPUT ]

                                                +-------------------------+
    [ S1: Judge A ]                             |        U1: Gate 1       |
    (VCC -> RAW_A) -> [ R1/R4/C1 ] --(Pin 1)--->| Input A                 |
                      (Debounce)                |           OR            |
                                                | Input B       (Output)  |
    [ S2: Judge B ]                    +------->| Pin 2          Pin 3    |--+
    (VCC -> RAW_B) -> [ R2/R5/C2 ] ----+        +-------------------------+  |
                      (Debounce)                                             |
                                                                             |
                                                                             |
                                                +-------------------------+  |
                                                |        U1: Gate 2       |  |
                                                | (Cascade In)   Pin 4    |< +
                                                |           OR            |
    [ S3: Judge C ]                    +------->| Input C        (Output) |
    (VCC -> RAW_C) -> [ R3/R6/C3 ] ----+        | Pin 5          Pin 6    |-----> [ R7: 330 Ohm ]
                      (Debounce)                +-------------------------+           |
                                                                                      v
                                                                                 [ D1: Red LED ]
                                                                                      |
                                                                                      v
                                                                                     GND
Esquema Eléctrico

Tabla de verdad

El sistema crea una función OR de 3 entradas: $Q = A + B + C$.

Entrada A Entrada B Entrada C Salida Q (LED) Nota
0 0 0 0 Moción rechazada
0 0 1 1 Moción aprobada
0 1 0 1 Moción aprobada
0 1 1 1 Moción aprobada
1 0 0 1 Moción aprobada
1 0 1 1 Moción aprobada
1 1 0 1 Moción aprobada
1 1 1 1 Moción aprobada

Mediciones y pruebas

  1. Comprobación lógica estática: Asegúrate de que no haya botones presionados. Mide el voltaje en el Pin 6 de U1. Debería estar cerca de 0 V. Presiona S1. El voltaje debería subir a ~5 V. Repite para S2 y S3 individualmente.
  2. Validación de anti-rebote: Conecta un osciloscopio a RAW_A y IN_A. Presiona S1. RAW_A puede mostrar picos de voltaje agudos/ruido al contacto. IN_A debería mostrar una curva de ascenso exponencial suave, filtrando el ruido antes de que llegue a la puerta lógica.
  3. Retardo en cascada: Esta es una medición avanzada. Mide el retardo de propagación entre IN_A y LOGIC_OUT frente a IN_C y LOGIC_OUT. Debido a que IN_A debe pasar por dos puertas (Puerta 1 y luego Puerta 2), el retardo de propagación total será ligeramente mayor que IN_C, que solo pasa por la Puerta 2.

Netlist SPICE y simulación

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

* Simple electronic voting system
* Based on Practical Case BOM and Wiring Guide

* --- Power Supply ---
* V1 connects between node VCC and node 0 (GND).
V1 VCC 0 DC 5

* --- User Input Stimuli (Button Presses) ---
* We simulate the physical push-buttons using Voltage Controlled Switches (S1-S3)
* controlled by independent PULSE sources (V_CTRL_A, etc.) to mimic user behavior.
* The timing is staggered to test inputs A, B, and C sequentially with sufficient 
* time for the RC debounce circuits to charge and discharge.

* Judge A: Press at 1ms, hold for 2ms (releases at 3ms)
V_CTRL_A CTRL_A 0 PULSE(0 5 1m 1u 1u 2m 20m)

* Judge B: Press at 6ms, hold for 2ms (releases at 8ms)
V_CTRL_B CTRL_B 0 PULSE(0 5 6m 1u 1u 2m 20m)

* Judge C: Press at 11ms, hold for 2ms (releases at 13ms)
* ... (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.

* Simple electronic voting system
* Based on Practical Case BOM and Wiring Guide

* --- Power Supply ---
* V1 connects between node VCC and node 0 (GND).
V1 VCC 0 DC 5

* --- User Input Stimuli (Button Presses) ---
* We simulate the physical push-buttons using Voltage Controlled Switches (S1-S3)
* controlled by independent PULSE sources (V_CTRL_A, etc.) to mimic user behavior.
* The timing is staggered to test inputs A, B, and C sequentially with sufficient 
* time for the RC debounce circuits to charge and discharge.

* Judge A: Press at 1ms, hold for 2ms (releases at 3ms)
V_CTRL_A CTRL_A 0 PULSE(0 5 1m 1u 1u 2m 20m)

* Judge B: Press at 6ms, hold for 2ms (releases at 8ms)
V_CTRL_B CTRL_B 0 PULSE(0 5 6m 1u 1u 2m 20m)

* Judge C: Press at 11ms, hold for 2ms (releases at 13ms)
V_CTRL_C CTRL_C 0 PULSE(0 5 11m 1u 1u 2m 20m)

* --- Input Stage: Judge A ---
* S1 connects between VCC and node RAW_A
S1 VCC RAW_A CTRL_A 0 SW_PB
* R1 (10k) pull-down for Node A (RAW_A to 0)
R1 RAW_A 0 10k
* R4 (1k) RC debounce series resistance (RAW_A to IN_A)
R4 RAW_A IN_A 1k
* C1 (100nF) debounce filtering (IN_A to 0)
C1 IN_A 0 100n

* --- Input Stage: Judge B ---
* S2 connects between VCC and node RAW_B
S2 VCC RAW_B CTRL_B 0 SW_PB
* R2 (10k) pull-down for Node B (RAW_B to 0)
R2 RAW_B 0 10k
* R5 (1k) RC debounce series resistance (RAW_B to IN_B)
R5 RAW_B IN_B 1k
* C2 (100nF) debounce filtering (IN_B to 0)
C2 IN_B 0 100n

* --- Input Stage: Judge C ---
* S3 connects between VCC and node RAW_C
S3 VCC RAW_C CTRL_C 0 SW_PB
* R3 (10k) pull-down for Node C (RAW_C to 0)
R3 RAW_C 0 10k
* R6 (1k) RC debounce series resistance (RAW_C to IN_C)
R6 RAW_C IN_C 1k
* C3 (100nF) debounce filtering (IN_C to 0)
C3 IN_C 0 100n

* --- Logic Processing: U1 (74HC32 Quad 2-Input OR Gate) ---
* Implemented using Behavioral Voltage Sources (B-sources) for robust simulation.
* Logic Transfer Function: Continuous Sigmoid approximation of OR gate.
* Vout = VCC * Sigmoid( max(Input1, Input2) - Threshold )
* Threshold set to 2.5V (Mid-rail).
* U1 Pin 14 (VCC) and Pin 7 (GND) are functionally represented by the V(VCC) term and node 0 reference.

* Gate 1: Inputs IN_A (Pin 1), IN_B (Pin 2) -> Output GATE1_OUT (Pin 3)
* Corresponds to wiring: U1 pin 1 to IN_A, U1 pin 2 to IN_B, U1 pin 3 to GATE1_OUT
B_U1_G1 GATE1_OUT 0 V = V(VCC) * (1 / (1 + exp(-20 * (max(V(IN_A), V(IN_B)) - 2.5))))

* Cascading Connection:
* Wiring: U1 pin 4 connects to node GATE1_OUT.

* Gate 2: Inputs GATE1_OUT (Pin 4), IN_C (Pin 5) -> Output LOGIC_OUT (Pin 6)
* Corresponds to wiring: U1 pin 4 to GATE1_OUT, U1 pin 5 to IN_C, U1 pin 6 to LOGIC_OUT
B_U1_G2 LOGIC_OUT 0 V = V(VCC) * (1 / (1 + exp(-20 * (max(V(GATE1_OUT), V(IN_C)) - 2.5))))

* --- Output Stage ---
* R7 connects between LOGIC_OUT and node LED_ANODE
R7 LOGIC_OUT LED_ANODE 330
* D1 connects between LED_ANODE (Anode) and 0 (Cathode)
D1 LED_ANODE 0 D_LED

* --- Models ---
* Switch model for push buttons (Active High control)
.model SW_PB SW(Vt=2.5 Ron=0.1 Roff=10Meg)
* Generic LED model (Red)
.model D_LED D(IS=1n N=2 RS=10 BV=5)

* --- Simulation Directives ---
* Transient analysis for 15ms to capture all button presses and RC discharge curves.
* Step size 10us is sufficient for the 100us/1.1ms time constants.
.tran 10u 15m

* Print required nodes for validation
.print tran V(IN_A) V(IN_B) V(IN_C) V(GATE1_OUT) V(LOGIC_OUT) V(LED_ANODE)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (3274 rows)
Index   time            v(in_a)         v(in_b)         v(in_c)
0	0.000000e+00	4.995005e-03	4.995005e-03	4.995005e-03
1	1.000000e-07	4.995005e-03	4.995005e-03	4.995005e-03
2	2.000000e-07	4.995005e-03	4.995005e-03	4.995005e-03
3	4.000000e-07	4.995005e-03	4.995005e-03	4.995005e-03
4	8.000000e-07	4.995005e-03	4.995005e-03	4.995005e-03
5	1.600000e-06	4.995005e-03	4.995005e-03	4.995005e-03
6	3.200000e-06	4.995005e-03	4.995005e-03	4.995005e-03
7	6.400000e-06	4.995005e-03	4.995005e-03	4.995005e-03
8	1.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
9	2.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
10	3.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
11	4.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
12	5.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
13	6.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
14	7.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
15	8.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
16	9.280000e-05	4.995005e-03	4.995005e-03	4.995005e-03
17	1.028000e-04	4.995005e-03	4.995005e-03	4.995005e-03
18	1.128000e-04	4.995005e-03	4.995005e-03	4.995005e-03
19	1.228000e-04	4.995005e-03	4.995005e-03	4.995005e-03
20	1.328000e-04	4.995005e-03	4.995005e-03	4.995005e-03
21	1.428000e-04	4.995005e-03	4.995005e-03	4.995005e-03
22	1.528000e-04	4.995005e-03	4.995005e-03	4.995005e-03
23	1.628000e-04	4.995005e-03	4.995005e-03	4.995005e-03
... (3250 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: No instalar las resistencias pull-down (R1, R2, R3). Sin ellas, las entradas del 74HC32 actúan como antenas, haciendo que el LED parpadee aleatoriamente o se quede atascado en Alto. Solución: Siempre referencia las entradas a GND cuando el interruptor esté abierto.
  2. Ignorar el pinout: Conectar la Entrada C al Pin 3 (que es una salida). Esto crea un cortocircuito cuando la puerta intenta conducir a Bajo mientras el botón conduce a Alto. Solución: Comprueba dos veces el diagrama de pines en la hoja de datos antes de encender.
  3. Constante de tiempo RC excesiva: Usar un condensador demasiado grande (por ejemplo, 100 µF) para el circuito de anti-rebote. Esto crea un aumento de voltaje muy lento que hace que la puerta digital oscile linealmente durante el cruce del umbral. Solución: Cíñete a 100 nF – 1 µF para entradas lógicas simples.

Solución de problemas

  • El LED está siempre ENCENDIDO: Comprueba las resistencias pull-down. Si el voltaje medido en los pines 1, 2 o 5 es flotante (no 0 V), la puerta lo interpreta como Lógica Alta.
  • El LED no se enciende para el Juez A o B: Verifica la conexión en cascada. El Pin 3 (Salida de la primera puerta) debe estar físicamente cableado al Pin 4 (Entrada de la segunda puerta).
  • Comportamiento errático al tocar los cables: Indica falta de conexiones a tierra en entradas no utilizadas (si las hay) o entradas operativas flotantes. Asegúrate de que todas las tierras compartan un punto común.
  • La puerta se calienta: Comprueba si hay cortocircuitos de salida a salida o de salida a VCC. Desconecta la alimentación inmediatamente.

Posibles mejoras y extensiones

  1. Extensión de voto por mayoría: Modificar la lógica para requerir al menos dos votos positivos para aprobar la moción (utilizando una combinación de puertas AND y OR: $AB + BC + AC$).
  2. Funcionalidad de cerrojo (Latch): Añadir un Flip-Flop D (por ejemplo, 74HC74) después de la salida. Una vez aprobada la moción (LED ENCENDIDO), la luz permanece ENCENDIDA hasta que un supervisor presione un botón dedicado de «Reset».

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é topología lógica se utiliza para procesar las señales de los jueces?




Pregunta 3: ¿Qué función cumple la eliminación de rebotes (debouncing) en este circuito?




Pregunta 4: ¿En qué situación permanecerá APAGADO (Lógica Baja) el LED de salida?




Pregunta 5: ¿Cuál es una aplicación práctica mencionada para los enclavamientos de seguridad basada en esta lógica?




Pregunta 6: ¿Cómo se aplica esta lógica en los tableros de instrumentos de automóviles?




Pregunta 7: ¿Qué tipo de interruptores se utilizan para representar a los jueces en el diseño?




Pregunta 8: ¿Qué sucede con el LED si el Juez A y el Juez C presionan sus botones, pero el Juez B no?




Pregunta 9: ¿Cómo se relaciona este circuito con las solicitudes de interrupción en microcontroladores?




Pregunta 10: ¿Qué concepto técnico se menciona como parte de la integración del diseño además de la lógica combinacional?




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: Monitoreo de fallas en línea de producción

Prototipo de Monitoreo de fallas en línea de producción (Maker Style)

Nivel: Medio. Implementar un sistema de seguridad que detenga una cinta transportadora si el sensor de temperatura O el sensor de atasco detectan una anomalía.

Objetivo y caso de uso

Construirás un circuito de control lógico utilizando una puerta OR para combinar señales de dos sensores de seguridad distintos (Temperatura y Atasco Óptico). Cuando cualquiera de los sensores detecte una falla (Lógica Alta), el sistema emitirá una señal activa para activar un indicador o un mecanismo de parada.

Por qué es útil:
* Seguridad industrial: Evita que la maquinaria opere bajo condiciones peligrosas.
* Protección de equipos: Detiene los motores inmediatamente si se sobrecalientan para prevenir daños permanentes.
* Eficiencia del proceso: Detecta atascos físicos en las cintas transportadoras automáticamente, reduciendo el desperdicio.
* Redundancia: Permite que múltiples tipos de errores diferentes activen la misma rutina de parada de emergencia.

Resultado esperado:
* Sistema en espera: Cuando ambos sensores están en Bajo (0 V), el LED de salida está APAGADO.
* Falla de temperatura: Si el sensor de temperatura se activa (Alto/5 V), el LED se ENCIENDE.
* Falla de atasco: Si el sensor de atasco se activa (Alto/5 V), el LED se ENCIENDE.
* Falla crítica: Si ambos sensores se activan simultáneamente, el LED permanece ENCENDIDO.

Público objetivo y nivel: Estudiantes de electrónica y aficionados, Nivel Medio.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC32, función: CI de cuádruple puerta OR de 2 entradas.
  • S1: Interruptor de palanca SPST, función: Simula el Sensor de Temperatura (Abierto=Normal, Cerrado=Sobrecalentamiento).
  • S2: Interruptor de palanca SPST, función: Simula el Sensor de Atasco (Abierto=Despejado, Cerrado=Atasco).
  • R1: Resistencia de 10 kΩ, función: Pull-down para la Entrada de Temperatura.
  • R2: Resistencia de 10 kΩ, función: Pull-down para la Entrada de Atasco.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el indicador LED.
  • D1: LED rojo, función: Indicador visual de falla.

Pin-out del CI utilizado

Chip seleccionado: 74HC32 (Cuádruple puerta OR de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al Sensor de Temperatura (S1)
2 1B Entrada B Conectado al Sensor de Atasco (S2)
3 1Y Salida Conectado al controlador del LED (R3 + D1)
7 GND Tierra Conectado al Negativo de la Fuente de Alimentación (0 V)
14 VCC Alimentación (+) Conectado al Positivo de la Fuente de Alimentación (5 V)

Guía de conexionado

  • VCC: Conectar el terminal positivo de V1 al pin 14 de U1.
  • 0 (GND): Conectar el terminal negativo de V1 al pin 7 de U1.
  • VA (Señal Temp): Conectar el terminal 2 de S1 al pin 1 de U1.
  • VA (Señal Temp): Conectar R1 entre el pin 1 de U1 y 0.
  • VCC: Conectar el terminal 1 de S1 a VCC.
  • VB (Señal Atasco): Conectar el terminal 2 de S2 al pin 2 de U1.
  • VB (Señal Atasco): Conectar R2 entre el pin 2 de U1 y 0.
  • VCC: Conectar el terminal 1 de S2 a VCC.
  • V_OUT: Conectar el pin 3 de U1 al terminal 1 de R3.
  • LED_NODE: Conectar el terminal 2 de R3 al Ánodo de D1.
  • 0 (GND): Conectar el Cátodo de D1 a 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Title: Production Line Fault Monitoring (OR Logic)

      [ INPUT SENSORS ]                       [ LOGIC PROCESSING ]                 [ VISUAL OUTPUT ]

                                                 (Pin 14: VCC)
                                                       |
                                                       v
[ VCC ] --> [ S1: Temp Switch ] --+--(Pin 1)-->+---------------+
                                  |            |               |
                             [ R1: 10k ]       |   U1: 74HC32  |
                                  |            |   (OR Gate)   |--(Pin 3)--> [ R3: 330 ] --> [ D1: LED ] --> [ GND ]
                               [ GND ]         |               |
                                               |               |
[ VCC ] --> [ S2: Jam Switch  ] --+--(Pin 2)-->+---------------+
                                  |                    ^
                             [ R2: 10k ]               |
                                  |               (Pin 7: GND)
                               [ GND ]
Esquema Eléctrico

Tabla de verdad

Este circuito utiliza lógica positiva (Activo en Alto).

Sensor A (Temp) Sensor B (Atasco) Salida (Indicador de falla) Estado del LED
Bajo (0) Bajo (0) Bajo (0) APAGADO
Bajo (0) Alto (1) Alto (1) ENCENDIDO
Alto (1) Bajo (0) Alto (1) ENCENDIDO
Alto (1) Alto (1) Alto (1) ENCENDIDO

Mediciones y pruebas

  1. Verificación en espera: Asegúrese de que ambos interruptores S1 y S2 estén abiertos. Mida el voltaje en el Pin 3 de U1 con respecto a GND. Debería ser ~0 V. El LED debería estar APAGADO.
  2. Simulación de falla de temperatura: Cierre S1 mientras mantiene S2 abierto. Mida el voltaje en el Pin 1 (Entrada A). Debería ser 5 V. La Salida en el Pin 3 debería pasar a Alto (~5 V) y el LED debe encenderse.
  3. Simulación de falla de atasco: Abra S1 y cierre S2. Mida el voltaje en el Pin 2 (Entrada B). Debería ser 5 V. El LED debe encenderse.
  4. Falla simultánea: Cierre tanto S1 como S2. El LED debe permanecer ENCENDIDO.

Netlist SPICE y simulación

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

* Practical case: Production Line Fault Monitoring

* --- Component Models ---
* Generic Red LED Model
.model DLED D (IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)

* --- Subcircuits ---
* 74HC32 Quad 2-input OR Gate
* Pinout: 1=InputA, 2=InputB, 3=Output, 7=GND, 14=VCC
* Implemented using a robust behavioral source with continuous functions
.subckt 74HC32 1 2 3 7 14
* Logic: Output = VCC if (A > 2.5V OR B > 2.5V)
* Using sigmoid function for smooth convergence: S(x) = 1/(1+exp(-k*(x-thresh)))
* max(V(1), V(2)) selects the higher voltage to compare against threshold (2.5V)
B_OR 3 7 V = V(14) * (1 / (1 + exp(-20 * (max(V(1), V(2)) - 2.5))))
.ends

* --- Main Power Supply ---
* V1: 5V DC Supply
* Wiring: Positive -> Node 14 (VCC), Negative -> Node 0 (GND)
V1 14 0 DC 5

* --- Input Sensors (Simulated Switches) ---
* S1: Temperature Sensor Switch
* Wiring: Connects VCC to VA (Pin 1). Modeled as Pulse Source to simulate toggling.
* Logic Sequence: High (Overheat) / Low (Normal)
VS1 VA 0 PULSE(0 5 0 1u 1u 200u 400u)

* S2: Jam Sensor Switch
* Wiring: Connects VCC to VB (Pin 2). Modeled as Pulse Source with faster period.
* ... (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: Production Line Fault Monitoring

* --- Component Models ---
* Generic Red LED Model
.model DLED D (IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)

* --- Subcircuits ---
* 74HC32 Quad 2-input OR Gate
* Pinout: 1=InputA, 2=InputB, 3=Output, 7=GND, 14=VCC
* Implemented using a robust behavioral source with continuous functions
.subckt 74HC32 1 2 3 7 14
* Logic: Output = VCC if (A > 2.5V OR B > 2.5V)
* Using sigmoid function for smooth convergence: S(x) = 1/(1+exp(-k*(x-thresh)))
* max(V(1), V(2)) selects the higher voltage to compare against threshold (2.5V)
B_OR 3 7 V = V(14) * (1 / (1 + exp(-20 * (max(V(1), V(2)) - 2.5))))
.ends

* --- Main Power Supply ---
* V1: 5V DC Supply
* Wiring: Positive -> Node 14 (VCC), Negative -> Node 0 (GND)
V1 14 0 DC 5

* --- Input Sensors (Simulated Switches) ---
* S1: Temperature Sensor Switch
* Wiring: Connects VCC to VA (Pin 1). Modeled as Pulse Source to simulate toggling.
* Logic Sequence: High (Overheat) / Low (Normal)
VS1 VA 0 PULSE(0 5 0 1u 1u 200u 400u)

* S2: Jam Sensor Switch
* Wiring: Connects VCC to VB (Pin 2). Modeled as Pulse Source with faster period.
* Logic Sequence: High (Jam) / Low (Clear)
VS2 VB 0 PULSE(0 5 0 1u 1u 100u 200u)

* --- Pull-down Resistors ---
* R1: 10k Pull-down for Temp Input
R1 VA 0 10k
* R2: 10k Pull-down for Jam Input
R2 VB 0 10k

* --- Logic IC U1 ---
* U1: 74HC32 Quad OR Gate
* Connections per wiring guide:
* Pin 1 (A) -> VA
* Pin 2 (B) -> VB
* Pin 3 (Y) -> V_OUT
* Pin 7 (GND) -> 0
* Pin 14 (VCC) -> 14
XU1 VA VB V_OUT 0 14 74HC32

* --- Output Indicator ---
* R3: 330 Ohm Current Limiting Resistor
R3 V_OUT LED_NODE 330

* D1: Red LED Visual Indicator
* Anode -> LED_NODE, Cathode -> GND
D1 LED_NODE 0 DLED

* --- Analysis Directives ---
* Transient analysis to capture truth table states (00, 01, 10, 11)
.tran 1u 400u

* Print required voltages for verification
.print tran V(VA) V(VB) V(V_OUT) V(LED_NODE)

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (906 rows)
Index   time            v(va)           v(vb)           v(v_out)
0	0.000000e+00	0.000000e+00	0.000000e+00	9.643749e-22
1	1.000000e-08	5.000000e-02	5.000000e-02	1.928750e-21
2	2.000000e-08	1.000000e-01	1.000000e-01	5.242886e-21
3	4.000000e-08	2.000000e-01	2.000000e-01	2.137746e-20
4	8.000000e-08	4.000000e-01	4.000000e-01	2.632654e-19
5	1.600000e-07	8.000000e-01	8.000000e-01	2.587285e-17
6	3.200000e-07	1.600000e+00	1.600000e+00	7.614990e-08
7	4.700575e-07	2.350288e+00	2.350288e+00	2.384318e-01
8	6.126008e-07	3.063004e+00	3.063004e+00	4.999936e+00
9	7.041960e-07	3.520980e+00	3.520980e+00	5.000000e+00
10	7.932149e-07	3.966074e+00	3.966074e+00	5.000000e+00
11	9.007723e-07	4.503862e+00	4.503862e+00	5.000000e+00
12	1.000000e-06	5.000000e+00	5.000000e+00	5.000000e+00
13	1.021511e-06	5.000000e+00	5.000000e+00	5.000000e+00
14	1.064534e-06	5.000000e+00	5.000000e+00	5.000000e+00
15	1.150580e-06	5.000000e+00	5.000000e+00	5.000000e+00
16	1.322672e-06	5.000000e+00	5.000000e+00	5.000000e+00
17	1.666856e-06	5.000000e+00	5.000000e+00	5.000000e+00
18	2.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
19	3.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
20	4.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
21	5.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
22	6.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
23	7.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
... (882 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar entradas flotantes: No instalar las resistencias pull-down (R1, R2) provoca que las entradas «floten» y capten ruido, causando que el LED parpadee o permanezca ENCENDIDO aleatoriamente. Solución: Utilice siempre resistencias pull-down de 10 kΩ en las entradas CMOS conectadas a interruptores.
  2. Falta de resistencia limitadora de corriente: Conectar el LED directamente al pin de salida del 74HC32 sin R3. Solución: Asegúrese de que R3 (330 Ω) esté en serie con el LED para evitar quemar el CI o el LED.
  3. Confundir el pinout: Tratar el 74HC32 como un chip lógico diferente (ej. 74HC02 NOR) debido a la forma similar del encapsulado. Solución: Verifique siempre el diagrama de pines en la hoja de datos; el Pin 3 es la salida para la primera puerta en el 74HC32.

Solución de problemas

  • El LED está siempre ENCENDIDO: Verifique si las resistencias pull-down R1 y R2 están conectadas a Tierra. Si las entradas están desconectadas, flotan en Alto.
  • El LED es muy tenue: La resistencia R3 podría ser demasiado alta (ej. 10 kΩ en lugar de 330 Ω) o el voltaje de la fuente de alimentación está por debajo de 3 V.
  • No sucede nada cuando los interruptores se cierran: Verifique que el Pin 14 de U1 esté conectado a 5 V y el Pin 7 esté conectado a GND. Compruebe la continuidad de los interruptores.
  • La lógica está invertida (LED APAGADO cuando ocurre una falla): Es posible que haya utilizado accidentalmente una puerta NOR o haya cableado el LED activo en bajo (Ánodo a VCC, Cátodo a Salida).

Posibles mejoras y extensiones

  1. Alarma con enclavamiento: Añada un Flip-Flop SR o un bucle de retroalimentación para que, una vez detectada una falla, la alarma permanezca ENCENDIDA hasta que se presione un botón de «Reinicio» manual, incluso si el sensor vuelve a la normalidad.
  2. Alerta audible: Conecte un controlador de transistor y un zumbador activo de 5 V en paralelo con el LED para proporcionar una advertencia sonora en entornos de fábrica ruidosos.

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 se utiliza para combinar las señales de los dos sensores?




Pregunta 3: ¿Qué sucede con el LED de salida si el sensor de temperatura detecta una falla (Alto) pero el de atasco no?




Pregunta 4: ¿Cuál es el estado del sistema cuando ambos sensores están en Bajo (0 V)?




Pregunta 5: ¿Por qué es útil este sistema para la protección de equipos?




Pregunta 6: ¿Qué voltaje se considera 'Lógica Alta' para activar los sensores en este diseño?




Pregunta 7: ¿Cuál es el resultado esperado si ambos sensores se activan simultáneamente (Falla crítica)?




Pregunta 8: ¿Qué beneficio aporta la 'Redundancia' mencionada en el contexto?




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




Pregunta 10: ¿Qué ocurre con el proceso si se detecta un atasco físico en la cinta?




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 arranque de motor redundante

Prototipo de Sistema de arranque de motor redundante (Maker Style)

Nivel: Medio. Diseña un circuito de control para arrancar maquinaria industrial desde un panel principal o un mando remoto de seguridad.

Objetivo y caso de uso

En este caso práctico, construirás un circuito de control digital utilizando una compuerta lógica OR para operar un motor de CC de alta potencia a través de un relé. El sistema permite arrancar el motor desde dos ubicaciones físicas distintas: el panel de control principal o una estación de seguridad remota.

  • Redundancia operativa: Asegura que la maquinaria pueda activarse desde una ubicación secundaria si el panel primario es inaccesible.
  • Conveniencia: Permite a los operadores arrancar una cinta transportadora o un ventilador desde cualquier extremo de una línea de producción.
  • Aislamiento de señal: Utiliza lógica de bajo voltaje (5 V) para conmutar de forma segura una carga inductiva de alta potencia (motor) a través de un controlador de relé.

Resultado esperado:
* Presionar el Botón A (Principal) arranca el motor inmediatamente.
* Presionar el Botón B (Remoto) arranca el motor inmediatamente.
* La salida lógica Alta ($V_{OH}$) mide aproximadamente 5 V cuando se presiona cualquiera de los botones.
* El relé produce un «clic» audible y el motor de CC gira cuando se cumple la condición lógica.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con compuertas lógicas básicas y manejo de relés.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Lógica principal y alimentación del relé
  • U1: 74HC32, función: Cuádruple compuerta OR de 2 entradas
  • S1: Pulsador (normalmente abierto), función: Panel de arranque principal
  • S2: Pulsador (normalmente abierto), función: Mando de arranque remoto
  • R1: Resistencia de 10 kΩ, función: Pull-down para Entrada A
  • R2: Resistencia de 10 kΩ, función: Pull-down para Entrada B
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor
  • Q1: Transistor NPN 2N2222, función: Interruptor controlador del relé
  • D1: Diodo 1N4007, función: Protección flyback para la bobina del relé
  • K1: Relé de 5 V (SPDT), función: Conmutación de alta corriente
  • M1: Motor de 5 V CC, función: Simulación de carga industrial

Pin-out del CI utilizado

Chip: 74HC32 (Cuádruple compuerta OR de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al Nodo START_MAIN
2 1B Entrada B Conectado al Nodo START_REMOTE
3 1Y Salida Conectado al Nodo LOGIC_OUT
7 GND Tierra Conectado al Nodo 0
14 VCC Fuente de alimentación Conectado al Nodo VCC

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • S1 se conecta entre el nodo VCC y el nodo START_MAIN.
  • R1 se conecta entre el nodo START_MAIN y el nodo 0.
  • S2 se conecta entre el nodo VCC y el nodo START_REMOTE.
  • R2 se conecta entre el nodo START_REMOTE y el nodo 0.
  • U1 Pin 1 (1A) se conecta al nodo START_MAIN.
  • U1 Pin 2 (1B) se conecta al nodo START_REMOTE.
  • U1 Pin 3 (1Y) se conecta al nodo LOGIC_OUT.
  • U1 Pin 14 (VCC) se conecta al nodo VCC.
  • U1 Pin 7 (GND) se conecta al nodo 0.
  • R3 se conecta entre el nodo LOGIC_OUT y el nodo BASE_DRIVE.
  • Q1 Base se conecta al nodo BASE_DRIVE.
  • Q1 Emisor se conecta al nodo 0.
  • Q1 Colector se conecta al nodo RELAY_COIL_LO.
  • K1 Positivo de la bobina se conecta entre el nodo VCC y el nodo RELAY_COIL_LO (Nota: La bobina conecta VCC al Colector).
  • D1 se conecta entre el nodo RELAY_COIL_LO (Ánodo) y el nodo VCC (Cátodo) (Polarización inversa).
  • K1 Contacto común se conecta al nodo VCC.
  • K1 Contacto Normalmente Abierto (NO) se conecta al nodo MOTOR_PWR.
  • M1 se conecta entre el nodo MOTOR_PWR y el nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Practical case: Redundant motor starter system

      [ INPUTS ]                     [ LOGIC ]                     [ DRIVER ]                   [ OUTPUT / LOAD ]

 [ S1: Main Start ] --+
                      |
 [ R1: Pull-down  ] --+--(Pin 1)-->+------------+
                                   |            |
                                   | U1: 74HC32 |             (Base Sig)
                                   | (OR Gate)  |--(Pin 3)--> [ R3: 1k ] --> [ Q1: NPN ] --(Sink)--> [ K1: Relay Coil ]
                                   |            |                               |                    (w/ D1 Diode)
 [ S2: Remote Cmd ] --+--(Pin 2)-->+------------+                            [ GND ]                       |
                      |                                                                                (Magnetic)
 [ R2: Pull-down  ] --+                                                                                    |
                                                                                                           v
                                                                                                   [ K1: NO Contact ]
                                                                                                           |
                                                                                                     (Switched 5V)
                                                                                                           |
                                                                                                           v
                                                                                                    [ M1: DC Motor ]
                                                                                                           |
                                                                                                        [ GND ]
Esquema Eléctrico

Tabla de verdad

Este sistema utiliza lógica positiva (activa en ALTO).

Entrada A (Principal) Entrada B (Remota) Salida Y (Lógica) Estado del relé Estado del motor
0 (Abierto) 0 (Abierto) 0 (Bajo) APAGADO Detenido
0 (Abierto) 1 (Presionado) 1 (Alto) ENCENDIDO En marcha
1 (Presionado) 0 (Abierto) 1 (Alto) ENCENDIDO En marcha
1 (Presionado) 1 (Presionado) 1 (Alto) ENCENDIDO En marcha

Mediciones y pruebas

  1. Validación de entrada ($V_{in_high}$): Sin presionar ningún botón, mida el voltaje en START_MAIN y START_REMOTE. Debería ser 0 V. Presione S1 y verifique que el voltaje suba a aprox. 5 V.
  2. Verificación de salida lógica ($V_{out_logic}$): Coloque una sonda de multímetro en el Pin 3 de U1. Presione S1 O S2. El voltaje debería saltar de cerca de 0 V a $\approx$ 5 V.
  3. Prueba de actuador (RPM del motor): Observe el motor. Debería girar cuando la salida lógica es Alta. Si utiliza un tacómetro, verifique que Motor_RPM sea consistente independientemente de qué botón (S1 o S2) activó el arranque.

Netlist SPICE y simulación

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

* Redundant motor starter system
* Created based on BOM and Wiring Guide

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

* --- Input Section ---
* S1: Pushbutton (Main Start)
* Wiring: Connects VCC to START_MAIN.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT1)
* Timing: Period 200us, covers logic states 00, 10, 11, 01 combined with S2
V_ACT1 ACT1 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC START_MAIN ACT1 0 SW_PUSH

* R1: 10 kΩ resistor (Pull-down for Input A)
R1 START_MAIN 0 10k

* S2: Pushbutton (Remote Start)
* Wiring: Connects VCC to START_REMOTE.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT2)
V_ACT2 ACT2 0 PULSE(0 5 10u 1u 1u 200u 400u)
S2 VCC START_REMOTE ACT2 0 SW_PUSH

* R2: 10 kΩ resistor (Pull-down for Input B)
R2 START_REMOTE 0 10k

* Model for Pushbuttons
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* ... (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.

* Redundant motor starter system
* Created based on BOM and Wiring Guide

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

* --- Input Section ---
* S1: Pushbutton (Main Start)
* Wiring: Connects VCC to START_MAIN.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT1)
* Timing: Period 200us, covers logic states 00, 10, 11, 01 combined with S2
V_ACT1 ACT1 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC START_MAIN ACT1 0 SW_PUSH

* R1: 10 kΩ resistor (Pull-down for Input A)
R1 START_MAIN 0 10k

* S2: Pushbutton (Remote Start)
* Wiring: Connects VCC to START_REMOTE.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT2)
V_ACT2 ACT2 0 PULSE(0 5 10u 1u 1u 200u 400u)
S2 VCC START_REMOTE ACT2 0 SW_PUSH

* R2: 10 kΩ resistor (Pull-down for Input B)
R2 START_REMOTE 0 10k

* Model for Pushbuttons
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* --- Logic Section ---
* U1: 74HC32 Quad 2-input OR gate
* Pins: 1(A), 2(B), 3(Y), 7(GND), 14(VCC)
* Implemented as a subcircuit to expose all pins
XU1 START_MAIN START_REMOTE LOGIC_OUT VCC 0 74HC32_OR

.subckt 74HC32_OR A B Y VCC GND
* Behavioral OR logic using continuous tanh function for convergence
* Logic: If (A + B) > Threshold(2.5V), Output High
* Function scales 0-1 range to 0-5V
B1 Y GND V = 5 * (tanh(10 * (V(A) + V(B) - 2.5)) + 1) / 2
.ends

* --- Driver Section ---
* R3: 1 kΩ resistor (Base current limiting)
R3 LOGIC_OUT BASE_DRIVE 1k

* Q1: 2N2222 NPN Transistor (Relay driver)
* Connections: Base=BASE_DRIVE, Collector=RELAY_COIL_LO, Emitter=0
Q1 RELAY_COIL_LO BASE_DRIVE 0 2N2222
.model 2N2222 NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8p CJE=25p TR=46n TF=411p ITF=0.6 VTF=1.7 XTF=3 RB=10 RC=0.3 RE=0.2)

* --- Relay Section ---
* K1: 5 V Relay (SPDT)
* Coil Connection: VCC to RELAY_COIL_LO
* Modeled as Inductor + Series Resistance
L_K1 VCC K1_INT 10m
R_K1_COIL K1_INT RELAY_COIL_LO 100

* D1: 1N4007 Diode (Flyback protection)
* Connections: Anode=RELAY_COIL_LO, Cathode=VCC
D1 RELAY_COIL_LO VCC 1N4007
.model 1N4007 D(IS=7n RS=0.034 N=1.26 BV=1000 IBV=5u CJO=10p)

* Relay Contact Switch
* Wiring: Common(VCC) to NO(MOTOR_PWR)
* Controlled by voltage across the coil (VCC - RELAY_COIL_LO)
* Threshold set to 3V (Energized state)
S_K1 VCC MOTOR_PWR VCC RELAY_COIL_LO SW_RELAY
.model SW_RELAY SW(Vt=3.0 Ron=0.05 Roff=100Meg)

* --- Motor Load ---
* M1: 5 V DC Motor
* Wiring: MOTOR_PWR to 0
* Modeled as resistive load with slight inductance
R_M1 MOTOR_PWR M1_INT 20
L_M1 M1_INT 0 1m

* --- Simulation Directives ---
.op
.tran 1u 500u

* Print directive for transient analysis
.print tran V(START_MAIN) V(START_REMOTE) V(LOGIC_OUT) V(BASE_DRIVE) V(RELAY_COIL_LO) V(MOTOR_PWR)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1304 rows)
Index   time            v(start_main)   v(start_remote) v(logic_out)
0	0.000000e+00	4.995005e-03	4.995005e-03	0.000000e+00
1	1.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
2	2.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
3	4.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
4	8.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
5	1.600000e-07	4.995005e-03	4.995005e-03	0.000000e+00
6	3.200000e-07	4.995005e-03	4.995005e-03	0.000000e+00
7	6.400000e-07	4.995005e-03	4.995005e-03	0.000000e+00
8	1.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
9	2.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
10	3.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
11	4.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
12	5.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
13	6.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
14	7.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
15	8.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
16	9.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
17	1.000000e-05	4.995005e-03	4.995005e-03	0.000000e+00
18	1.010000e-05	4.995005e-03	4.995005e-03	0.000000e+00
19	1.026000e-05	4.995005e-03	4.995005e-03	0.000000e+00
20	1.030750e-05	4.995005e-03	4.995005e-03	0.000000e+00
21	1.039062e-05	4.995005e-03	4.995005e-03	0.000000e+00
22	1.041363e-05	4.995005e-03	4.995005e-03	0.000000e+00
23	1.045390e-05	4.995005e-03	4.995005e-03	0.000000e+00
... (1280 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 permite que los pines de entrada «floten», causando que el motor se encienda aleatoriamente debido al ruido electrostático. Utilice siempre resistencias pull-down con la serie 74HC.
  2. Falta del diodo flyback: Omitir D1 permite que los picos de alto voltaje de la bobina del relé destruyan Q1 o reinicien U1 cuando el motor se apaga. Instale siempre el diodo en paralelo inverso a la bobina.
  3. Manejar el relé directamente: Intentar alimentar la bobina del relé directamente desde el Pin 3 de U1 dañará el CI, ya que las compuertas lógicas no pueden suministrar suficiente corriente. Utilice siempre un transistor (Q1) como controlador.

Solución de problemas

  • Síntoma: El motor funciona continuamente y nunca se detiene.
    • Causa: Una entrada está flotando o en cortocircuito a VCC.
    • Solución: Verifique las conexiones de R1/R2 y asegúrese de que los botones no sean del tipo «Normalmente Cerrados».
  • Síntoma: La salida lógica se pone en Alto, pero el relé no hace clic.
    • Causa: El transistor Q1 no está conduciendo o R3 es demasiado alta.
    • Solución: Verifique el pin-out de Q1 (C-B-E) y asegúrese de que el emisor vaya a Tierra.
  • Síntoma: El sistema se reinicia o falla cuando el relé se apaga.
    • Causa: Ruido de retroceso inductivo (kickback).
    • Solución: Verifique que D1 esté instalado correctamente (Cátodo a VCC) y agregue un condensador de desacoplo de 100 nF cerca de VCC de U1.

Posibles mejoras y extensiones

  1. Circuito de enclavamiento: Agregue un bucle de retroalimentación para que el motor permanezca encendido después de soltar el botón (estación de Marcha/Paro).
  2. Interbloqueo de seguridad: Agregue un 74HC08 (compuerta AND) en serie con un «Interruptor de seguridad» para que el motor solo funcione si la protección está cerrada Y se presiona un botó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 componente principal utilizado para implementar la lógica de control en este circuito?




Pregunta 2: ¿Cuál es el voltaje de operación de la lógica de bajo voltaje utilizada en este diseño?




Pregunta 3: ¿Qué función cumple el relé en este circuito?




Pregunta 4: ¿Qué sucede si se presiona únicamente el Botón A (Panel Principal)?




Pregunta 5: ¿Qué tipo de carga se controla a través del relé en este caso práctico?




Pregunta 6: ¿Cuál es el propósito de la 'Redundancia operativa' mencionada en el objetivo?




Pregunta 7: ¿Qué valor aproximado debe tener la salida lógica Alta (V_OH) cuando se activa el circuito?




Pregunta 8: ¿Qué ventaja de 'Conveniencia' ofrece este diseño?




Pregunta 9: ¿Qué sucede si se presiona el Botón B (Remoto) en lugar del Botón A?




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: Control de seguridad con lógica inversa

Prototipo de Control de seguridad con lógica inversa (Maker Style)

Nivel: Medio. Diseña un circuito de parada de emergencia donde una señal alta del sensor detiene un motor usando una compuerta NOT.

Objetivo y caso de uso

Diseñarás y construirás un circuito digital de parada de seguridad utilizando un inversor 74HC04. En esta configuración, el sistema se encuentra por defecto en estado «ON» (Motor en marcha) y requiere una señal lógica ALTA (HIGH) de un sensor para forzar al sistema a un estado «OFF» (Apagado).

  • Automatización industrial: Utilizado para botones de parada de emergencia (E-Stop) o interruptores de límite donde la detección de un objeto debe cortar la energía inmediatamente.
  • Lógica a prueba de fallos: Garantiza que se requiera una intervención activa para detener el proceso, mientras que el estado inactivo predeterminado de la lógica de control mantiene la máquina en funcionamiento (asumiendo que el actuador físico esté cableado para coincidir).
  • Inversión de señal: Adapta sensores con salidas activas en alto para controladores o drivers que requieren señales de inhabilitación activas en bajo.

Resultado esperado:
* Estado inactivo: Entrada $0\text{ V}$ (Bajo) $\rightarrow$ Salida $5\text{ V}$ (Alto) $\rightarrow$ Simulador de motor ON.
* Estado activo: Entrada $5\text{ V}$ (Alto) $\rightarrow$ Salida $0\text{ V}$ (Bajo) $\rightarrow$ Simulador de motor OFF.
* Umbrales: Voltajes de entrada superiores a $3.5\text{ V}$ se leen como Alto; inferiores a $1.5\text{ V}$ se leen como Bajo.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con niveles lógicos digitales básicos.

Materiales

  • V1: Fuente de 5 V CC, función: Fuente de alimentación principal.
  • U1: CI Inversor Hexagonal 74HC04, función: Inversión lógica.
  • S1: Interruptor pulsador (NO), función: Simula la activación del sensor de seguridad.
  • R1: Resistencia de 10 kΩ, función: Pull-down para la entrada del sensor.
  • R2: Resistencia de 330 Ω, función: Limitación de corriente para el simulador de motor.
  • D1: LED verde, función: Sim-Motor-CC (indicador visual de potencia del motor).
  • C1: Condensador de 100 nF, función: Desacoplo para la alimentación de U1.

Pin-out del CI utilizado

Chip: 74HC04 (Inversor Hexagonal)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conectado al nodo del sensor (S1, R1)
2 1Y Salida Conectado al nodo de control del motor (D1 vía R2)
7 GND Tierra Conectado a 0 (GND)
14 VCC Alimentación Conectado a VCC (5 V)

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0.
  • C1 se conecta entre el nodo VCC y el nodo 0 (cerca de U1).
  • S1 se conecta entre el nodo VCC y el nodo SENSOR_IN.
  • R1 se conecta entre el nodo SENSOR_IN y el nodo 0 (Pull-down).
  • U1 Pin 14 se conecta a VCC.
  • U1 Pin 7 se conecta a 0.
  • U1 Pin 1 se conecta a SENSOR_IN.
  • U1 Pin 2 se conecta a MOTOR_CTRL.
  • R2 se conecta entre el nodo MOTOR_CTRL y el nodo LED_ANODE.
  • D1 se conecta entre el nodo LED_ANODE (Ánodo) y el nodo 0 (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

[ INPUT STAGE ]                     [ LOGIC STAGE ]                     [ OUTPUT STAGE ]

 (VCC)
   |
 [ S1: Button (NO) ] --+
                       |
                   +--(SENSOR_IN)-->+-----------------------+
                       |                |       U1: 74HC04      |
 [ R1: 10k Resistor ] -+                |     (Hex Inverter)    |
   |                                    | Pin 1           Pin 2 | --(MOTOR_CTRL)--> [ R2: 330R ] --> [ D1: Green LED ] --> (GND)
 (GND)                                  |                       |
                                        | Power: [ V1: 5V ]     |
                                        | Filter: [ C1: 100nF ] |
                                        +-----------------------+
Esquema Eléctrico

Tabla de verdad

En esta lógica de seguridad, $0$ representa $0\text{ V}$ (Tierra) y $1$ representa $5\text{ V}$ (VCC).

Entrada del sensor (Pin 1) Salida de comando del motor (Pin 2) Estado del sistema
0 (Bajo) 1 (Alto) EN MARCHA (Por defecto)
1 (Alto) 0 (Bajo) DETENIDO (Emergencia)

Mediciones y pruebas

  1. Validación del estado inactivo:

    • Asegurar que S1 no esté presionado.
    • Medir voltaje en SENSOR_IN relativo a 0. Esperado: $\approx 0\text{ V}$.
    • Medir voltaje en MOTOR_CTRL. Esperado: $\approx 5\text{ V}$.
    • Verificar que D1 (Sim Motor) esté encendido.
  2. Validación de parada activa:

    • Presionar y mantener S1.
    • Medir voltaje en SENSOR_IN. Esperado: $5\text{ V}$.
    • Medir voltaje en MOTOR_CTRL. Esperado: $\approx 0\text{ V}$.
    • Verificar que D1 (Sim Motor) se APAGUE inmediatamente.
  3. Retardo de propagación (Opcional):

    • Si usa un osciloscopio, conecte el Canal 1 a SENSOR_IN y el Canal 2 a MOTOR_CTRL.
    • Disparar (Trigger) en el flanco de subida del Canal 1.
    • Medir la diferencia de tiempo entre que la entrada alcanza el 50% y la salida cae al 50%. Los valores típicos para el 74HC04 están en el rango de nanosegundos ($7\text{–}15\text{ ns}$).

Netlist SPICE y simulación

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

* Practical case: Safety control with inverse logic

* --- Power Supply ---
* V1 connects between node VCC and node 0
V1 VCC 0 DC 5

* --- Decoupling ---
* C1 connects between node VCC and node 0 (near U1)
C1 VCC 0 100n

* --- Input Stage: Sensor (Push Button) ---
* S1 connects between node VCC and node SENSOR_IN
* Implemented as a Voltage-Controlled Switch to simulate the physical connection
S1 VCC SENSOR_IN S1_CTRL 0 SW_PUSH
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* Control source for S1 (Simulates user pressing the button)
* Pulse: Press at 200us, hold for 300us, release (Total simulation 1ms)
V_S1_ACT S1_CTRL 0 PULSE(0 5 200u 1u 1u 300u 1ms)

* R1 connects between node SENSOR_IN and node 0 (Pull-down)
R1 SENSOR_IN 0 10k

* --- Logic Stage: U1 (74HC04 Hex Inverter) ---
* U1 Pin 14 connects to VCC
* U1 Pin 7 connects to 0
* U1 Pin 1 connects to SENSOR_IN
* U1 Pin 2 connects to MOTOR_CTRL
* Implemented using a Behavioral Source (B-Source) for robust logic simulation
* Logic: Inverts SENSOR_IN. Uses sigmoid function for convergence.
* ... (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: Safety control with inverse logic

* --- Power Supply ---
* V1 connects between node VCC and node 0
V1 VCC 0 DC 5

* --- Decoupling ---
* C1 connects between node VCC and node 0 (near U1)
C1 VCC 0 100n

* --- Input Stage: Sensor (Push Button) ---
* S1 connects between node VCC and node SENSOR_IN
* Implemented as a Voltage-Controlled Switch to simulate the physical connection
S1 VCC SENSOR_IN S1_CTRL 0 SW_PUSH
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* Control source for S1 (Simulates user pressing the button)
* Pulse: Press at 200us, hold for 300us, release (Total simulation 1ms)
V_S1_ACT S1_CTRL 0 PULSE(0 5 200u 1u 1u 300u 1ms)

* R1 connects between node SENSOR_IN and node 0 (Pull-down)
R1 SENSOR_IN 0 10k

* --- Logic Stage: U1 (74HC04 Hex Inverter) ---
* U1 Pin 14 connects to VCC
* U1 Pin 7 connects to 0
* U1 Pin 1 connects to SENSOR_IN
* U1 Pin 2 connects to MOTOR_CTRL
* Implemented using a Behavioral Source (B-Source) for robust logic simulation
* Logic: Inverts SENSOR_IN. Uses sigmoid function for convergence.
* Vout = VCC if Vin < 2.5V, else 0V.
B_U1 MOTOR_CTRL 0 V = V(VCC) * (1 / (1 + exp(50 * (V(SENSOR_IN) - 2.5))))

* --- Output Stage: Motor Simulator (LED) ---
* R2 connects between node MOTOR_CTRL and node LED_ANODE
R2 MOTOR_CTRL LED_ANODE 330

* D1 connects between node LED_ANODE (Anode) and node 0 (Cathode)
D1 LED_ANODE 0 LED_GREEN
.model LED_GREEN D(IS=1e-22 RS=5 N=1.5 BV=5 IBV=10u CJO=10p)

* --- Simulation Directives ---
* Perform a transient analysis to observe the button press event
.op
.tran 1u 1ms

* Print required nodes for verification
.print tran V(SENSOR_IN) V(MOTOR_CTRL) V(LED_ANODE)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1061 rows)
Index   time            v(sensor_in)    v(motor_ctrl)   v(led_anode)
0	0.000000e+00	4.999500e-04	5.000000e+00	1.833072e+00
1	1.000000e-08	4.999500e-04	5.000000e+00	1.833072e+00
2	2.000000e-08	4.999500e-04	5.000000e+00	1.833072e+00
3	4.000000e-08	4.999500e-04	5.000000e+00	1.833072e+00
4	8.000000e-08	4.999500e-04	5.000000e+00	1.833072e+00
5	1.600000e-07	4.999500e-04	5.000000e+00	1.833072e+00
6	3.200000e-07	4.999500e-04	5.000000e+00	1.833072e+00
7	6.400000e-07	4.999500e-04	5.000000e+00	1.833072e+00
8	1.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
9	2.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
10	3.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
11	4.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
12	5.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
13	6.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
14	7.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
15	8.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
16	9.280000e-06	4.999500e-04	5.000000e+00	1.833072e+00
17	1.028000e-05	4.999500e-04	5.000000e+00	1.833072e+00
18	1.128000e-05	4.999500e-04	5.000000e+00	1.833072e+00
19	1.228000e-05	4.999500e-04	5.000000e+00	1.833072e+00
20	1.328000e-05	4.999500e-04	5.000000e+00	1.833072e+00
21	1.428000e-05	4.999500e-04	5.000000e+00	1.833072e+00
22	1.528000e-05	4.999500e-04	5.000000e+00	1.833072e+00
23	1.628000e-05	4.999500e-04	5.000000e+00	1.833072e+00
... (1037 more rows) ...

Errores comunes y cómo evitarlos

  1. Entrada flotante: Omitir R1 (Pull-down) hace que la entrada flote, provocando que el motor cambie aleatoriamente u oscile debido al ruido electromagnético. Solución: Asegurar siempre que las entradas tengan un camino definido a tierra o VCC cuando el interruptor esté abierto.
  2. Sobrecargar la salida: Conectar un motor de CC real directamente a la salida del 74HC04. El chip solo puede suministrar $\approx 20\text{ mA}$. Solución: Usar la salida para controlar un transistor (BJT o MOSFET) que luego conmute el motor real.
  3. Confundir familias lógicas: Usar un 74LS04 con resistencias de alto valor o niveles de voltaje incorrectos. Solución: Mantenerse en la serie 74HC para compatibilidad con 5 V CMOS y entradas de alta impedancia.

Solución de problemas

  • Síntoma: El Motor (LED) está siempre APAGADO.
    • Causa: Pin de entrada atascado en ALTO o CI dañado.
    • Solución: Verifique el voltaje en el Pin 1. Si es 0 V, reemplace U1.
  • Síntoma: El Motor (LED) está siempre ENCENDIDO, incluso al presionar el botón.
    • Causa: Entrada en cortocircuito a GND o el botón S1 no hace contacto.
    • Solución: Use un multímetro para verificar la continuidad en S1 al presionarlo.
  • Síntoma: El LED parpadea al tocar el cable.
    • Causa: Falta la resistencia pull-down R1.
    • Solución: Verifique que R1 esté conectada firmemente entre el Pin 1 y Tierra.

Posibles mejoras y extensiones

  1. Circuito de seguridad con enclavamiento: Agregar un bucle de retroalimentación o un Latch SR para que una vez que se active la parada de emergencia, el motor permanezca apagado incluso si se suelta el botón (requiere un reinicio manual).
  2. Indicadores de estado: Agregar un LED rojo conectado al lado de entrada (con buffer) para indicar «ESTADO DE EMERGENCIA» visualmente junto con el apagado 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: ¿Qué componente principal se utiliza para realizar la inversión lógica en este circuito?




Pregunta 2: ¿Cuál es el estado por defecto del sistema (motor) cuando la entrada es 0 V?




Pregunta 3: ¿Qué señal lógica del sensor se requiere para detener el motor?




Pregunta 4: ¿Cuál es el voltaje de salida esperado cuando el sistema está en 'Estado inactivo' (Entrada 0 V)?




Pregunta 5: ¿Qué sucede con el simulador de motor en el 'Estado activo' (Entrada ALTA)?




Pregunta 6: ¿Cuál es el propósito de la 'Lógica a prueba de fallos' mencionada en el texto?




Pregunta 7: ¿Qué función cumple la inversión de señal en este contexto?




Pregunta 8: ¿Qué voltaje de entrada se lee típicamente como 'Bajo' en lógica de 5V (según el estándar TTL/CMOS implícito)?




Pregunta 9: ¿Para qué tipo de aplicación industrial es útil este circuito?




Pregunta 10: ¿Qué ocurre lógicamente si el sensor detecta un objeto (Señal ALTA)?




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: