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: