Caso práctico: Activación de bomba de agua de emergencia

Prototipo de Activación de bomba de agua de emergencia (Maker Style)

Nivel: Básico. Diseña un sistema de control que active una bomba de drenaje si se activa cualquiera de los dos sensores de nivel de agua.

Objetivo y caso de uso

Construirás un circuito de control lógico utilizando una 74HC32 (Compuerta OR) para accionar un motor de CC mediante un controlador de transistor siempre que se detecte agua por al menos un sensor.

Por qué es útil:
* Prevención de inundaciones: Activa automáticamente una bomba de sumidero en un sótano cuando el agua sube a un nivel crítico.
* Seguridad industrial: Previene desbordamientos de tanques drenando líquido si se activan los sensores de nivel alto primarios o secundarios.
* Aplicaciones marinas: Activa la bomba de sentina de un barco si entra agua en el casco por babor o estribor.
* Redundancia: Asegura que la bomba arranque incluso si un sensor falla (siempre que el otro detecte el agua).

Resultado esperado:
* El motor se enciende (ON) si el Sensor A está en ALTO (HIGH).
* El motor se enciende (ON) si el Sensor B está en ALTO (HIGH).
* El motor se enciende (ON) si ambos sensores están en ALTO (HIGH).
* La salida lógica en el pin de la compuerta marca ~5 V (1 lógico) cuando está activa.
* Público objetivo: Estudiantes de electrónica básica y aficionados.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación principal del circuito.
  • S1: Interruptor SPST, función: Simula el Sensor de Nivel de Agua A.
  • S2: Interruptor SPST, función: Simula el Sensor de Nivel de Agua B.
  • R1: Resistencia de 10 kΩ, función: Pull-down para el Sensor A.
  • R2: Resistencia de 10 kΩ, función: Pull-down para el Sensor B.
  • U1: 74HC32 Cuádruple compuerta OR de 2 entradas.
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor.
  • Q1: Transistor NPN 2N2222, función: Interruptor controlador del motor.
  • D1: Diodo 1N4007, función: Protección de retorno (snubber).
  • M1: Motor de 5 V CC, función: Simulación de bomba de drenaje.

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 SENS_A
2 1B Entrada B Conectado al nodo SENS_B
3 1Y Salida Conectado al nodo GATE_OUT
7 GND Tierra Conectado al nodo 0 (GND)
14 VCC Alimentación (+5V) Conectado al nodo VCC

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos:

  • VCC: Conecta el terminal positivo de V1, un lado de S1, un lado de S2, el Pin 14 de U1 y el terminal positivo de M1.
  • 0 (GND): Conecta el terminal negativo de V1, el Pin 7 de U1, el Emisor de Q1, la parte inferior de R1 y la parte inferior de R2.
  • SENS_A: Conecta el otro lado de S1, la parte superior de R1 y el Pin 1 de U1.
  • SENS_B: Conecta el otro lado de S2, la parte superior de R2 y el Pin 2 de U1.
  • GATE_OUT: Conecta el Pin 3 de U1 a un lado de R3.
  • BASE_NODE: Conecta el otro lado de R3 a la Base de Q1.
  • MOTOR_DRIVE: Conecta el Colector de Q1, el terminal negativo de M1 y el Ánodo de D1.
  • PROTECTION: Conecta el Cátodo de D1 a VCC (En paralelo con el motor).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

[ INPUTS / SENSORS ]                 [ LOGIC CONTROL ]                   [ ACTUATOR / OUTPUT ]

                                          +----------------+
    [ Switch S1 ]                         |                |
    [ + R1 (PD) ] --(SENS_A / Pin 1)----->|   U1: 74HC32   |
                                          |   (OR Gate)    |
                                          |                |--(GATE_OUT / Pin 3)--> [ Resistor R3 ]
                                          |   Logic:       |                            |
    [ Switch S2 ]                         |   If A OR B    |                            |
    [ + R2 (PD) ] --(SENS_B / Pin 2)----->|   Then HIGH    |                            |
                                          |                |                      (BASE_NODE)
                                          +----------------+                            |
                                                                                        v
                                                                               [ Q1 NPN Transistor ]
                                                                               (Electronic Switch)
                                                                                        |
                                                                                        | (Switches GND)
                                                                                        |
                                                                                  (MOTOR_DRIVE)
                                                                                        |
                                                                                        v
                                                                             [ Motor M1 + Diode D1 ]
                                                                             (Connected to VCC)
Esquema Eléctrico

Tabla de verdad

Esta tabla describe el estado lógico del 74HC32 y la acción física resultante de la bomba.

Sensor A (Entrada 1A) Sensor B (Entrada 1B) Salida Lógica (Pin 1Y) Estado del Transistor Estado de la Bomba
Bajo (0) Bajo (0) Bajo (0) OFF (Abierto) OFF
Bajo (0) Alto (1) Alto (1) ON (Saturación) ON
Alto (1) Bajo (0) Alto (1) ON (Saturación) ON
Alto (1) Alto (1) Alto (1) ON (Saturación) ON

Mediciones y pruebas

  1. Verificación de alimentación: Antes de conectar el motor, mide el voltaje entre VCC y GND. Debería ser estable a 5 V.
  2. Estado de reposo: Asegúrate de que ambos interruptores estén abiertos. Mide el voltaje en el Pin 3 (GATE_OUT). Debería ser ~0 V. El motor debería estar detenido.
  3. Activación del Sensor A: Cierra S1. Mide el voltaje en el Pin 1 (Entrada A). Debería ser 5 V. El Pin 3 debería ponerse en Alto, y el motor debería girar.
  4. Activación del Sensor B: Abre S1 y cierra S2. Verifica que el motor gire.
  5. Activación simultánea: Cierra tanto S1 como S2. El motor debería seguir girando.
  6. Consumo de corriente: Coloca un amperímetro en serie con el motor. Anota el consumo de corriente (típicamente 50mA a 200mA para motores pequeños de hobby).

Netlist SPICE y simulación

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

* Emergency water pump activation fixed

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

* --- Switches & Sensors ---
* S1: Simulates Water Level Sensor A
V_ACT_A ACT_A 0 PULSE(0 5 0 1u 1u 1m 2m)
S1 VCC SENS_A ACT_A 0 SW_MOD

* R1: Pull-down for Sensor A
R1 SENS_A 0 10k

* S2: Simulates Water Level Sensor B
V_ACT_B ACT_B 0 PULSE(0 5 0 1u 1u 0.5m 1m)
S2 VCC SENS_B ACT_B 0 SW_MOD

* R2: Pull-down for Sensor B
R2 SENS_B 0 10k

* --- Logic Gate U1: 74HC32 (Quad OR) ---
* Pin 1: SENS_A, Pin 2: SENS_B, Pin 3: GATE_OUT, Pin 7: GND, Pin 14: VCC
XU1 SENS_A SENS_B GATE_OUT 0 VCC 74HC32_GATE

* --- Driver Stage ---
* R3: Base resistor
R3 GATE_OUT BASE_NODE 1k

* Q1: NPN Transistor Switch
* Collector: MOTOR_DRIVE, Base: BASE_NODE, Emitter: 0 (GND)
* ... (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.

* Emergency water pump activation fixed

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

* --- Switches & Sensors ---
* S1: Simulates Water Level Sensor A
V_ACT_A ACT_A 0 PULSE(0 5 0 1u 1u 1m 2m)
S1 VCC SENS_A ACT_A 0 SW_MOD

* R1: Pull-down for Sensor A
R1 SENS_A 0 10k

* S2: Simulates Water Level Sensor B
V_ACT_B ACT_B 0 PULSE(0 5 0 1u 1u 0.5m 1m)
S2 VCC SENS_B ACT_B 0 SW_MOD

* R2: Pull-down for Sensor B
R2 SENS_B 0 10k

* --- Logic Gate U1: 74HC32 (Quad OR) ---
* Pin 1: SENS_A, Pin 2: SENS_B, Pin 3: GATE_OUT, Pin 7: GND, Pin 14: VCC
XU1 SENS_A SENS_B GATE_OUT 0 VCC 74HC32_GATE

* --- Driver Stage ---
* R3: Base resistor
R3 GATE_OUT BASE_NODE 1k

* Q1: NPN Transistor Switch
* Collector: MOTOR_DRIVE, Base: BASE_NODE, Emitter: 0 (GND)
Q1 MOTOR_DRIVE BASE_NODE 0 2N2222MOD

* --- Output Load (Motor) ---
* M1: 5V DC Motor simulation (Inductive Load)
* Fixed: Subcircuit name changed from DC_MOTOR_MODEL to DC_MOTOR to match definition
XM1 VCC MOTOR_DRIVE DC_MOTOR

* --- Protection ---
* D1: Flyback Diode
D1 MOTOR_DRIVE VCC 1N4007MOD

* --- Models and Subcircuits ---

* Switch Model
.model SW_MOD SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=10Meg)

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

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

* Motor Model (Simple RL series)
.subckt DC_MOTOR POS NEG
Rcoil POS INT 50
Lcoil INT NEG 5m
.ends

* 74HC32 Logic Gate Model (Behavioral)
* Implements OR logic: OUT = 1 if (IN1=1 OR IN2=1)
.subckt 74HC32_GATE IN1 IN2 OUT GND VCC
B_OR OUT GND V=V(VCC) * ( (1/(1+exp(-20*(V(IN1)-2.5)))) + (1/(1+exp(-20*(V(IN2)-2.5)))) - ( (1/(1+exp(-20*(V(IN1)-2.5)))) * (1/(1+exp(-20*(V(IN2)-2.5)))) ) )
.ends

* --- Simulation Directives ---
.tran 10u 2.5m

* Print required nodes for validation
.print tran V(SENS_A) V(SENS_B) V(GATE_OUT) V(BASE_NODE) V(MOTOR_DRIVE)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (2750 rows)
Index   time            v(sens_a)       v(sens_b)       v(gate_out)
0	0.000000e+00	4.995005e-03	4.995005e-03	2.131385e-21
1	1.000000e-08	4.995005e-03	4.995005e-03	2.131385e-21
2	2.000000e-08	4.995005e-03	4.995005e-03	2.131385e-21
3	4.000000e-08	4.995005e-03	4.995005e-03	2.131385e-21
4	8.000000e-08	4.995005e-03	4.995005e-03	2.131385e-21
5	1.600000e-07	4.995005e-03	4.995005e-03	2.131385e-21
6	3.200000e-07	4.995005e-03	4.995005e-03	2.131385e-21
7	3.600000e-07	4.995005e-03	4.995005e-03	2.131385e-21
8	4.300000e-07	4.995005e-03	4.995005e-03	2.131385e-21
9	4.493750e-07	4.995005e-03	4.995005e-03	2.131385e-21
10	4.832812e-07	4.995005e-03	4.995005e-03	2.131385e-21
11	5.162979e-07	4.999950e+00	4.999950e+00	5.000000e+00
12	5.395702e-07	4.999950e+00	4.999950e+00	5.000000e+00
13	5.611432e-07	4.999950e+00	4.999950e+00	5.000000e+00
14	5.884211e-07	4.999950e+00	4.999950e+00	5.000000e+00
15	6.429769e-07	4.999950e+00	4.999950e+00	5.000000e+00
16	7.520886e-07	4.999950e+00	4.999950e+00	5.000000e+00
17	9.703119e-07	4.999950e+00	4.999950e+00	5.000000e+00
18	1.000000e-06	4.999950e+00	4.999950e+00	5.000000e+00
19	1.030157e-06	4.999950e+00	4.999950e+00	5.000000e+00
20	1.090472e-06	4.999950e+00	4.999950e+00	5.000000e+00
21	1.211102e-06	4.999950e+00	4.999950e+00	5.000000e+00
22	1.452361e-06	4.999950e+00	4.999950e+00	5.000000e+00
23	1.934879e-06	4.999950e+00	4.999950e+00	5.000000e+00
... (2726 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar las resistencias pull-down (R1, R2).
    • Solución: Conecta siempre las entradas a tierra mediante una resistencia (10kΩ) para que tengan un valor predeterminado de 0 V cuando los interruptores estén abiertos.
  2. Diodo de retorno faltante: Omitir D1 en paralelo con el motor.
    • Solución: Las cargas inductivas generan picos de voltaje al apagarse. Coloca siempre un diodo en polarización inversa en paralelo con el motor para proteger el transistor.
  3. Sobrecarga de la compuerta: Conectar el motor directamente al pin de salida del 74HC32.
    • Solución: Las compuertas lógicas solo pueden suministrar corrientes pequeñas (~20mA). Usa un transistor (Q1) para manejar la corriente más alta requerida por el motor.

Solución de problemas

  • Síntoma: El motor funciona continuamente incluso cuando los interruptores están abiertos.
    • Causa: Las entradas están flotando o el transistor está en cortocircuito.
    • Solución: Verifica las conexiones de R1/R2 o reemplaza Q1.
  • Síntoma: El CI se calienta mucho inmediatamente.
    • Causa: Los pines VCC y GND están invertidos o en cortocircuito.
    • Solución: Desconecta la alimentación inmediatamente y verifica el cableado del Pin 14 y el Pin 7.
  • Síntoma: La salida lógica está en Alto (5V), pero el motor no gira.
    • Causa: La resistencia de base (R3) es demasiado alta o la ganancia del transistor es demasiado baja.
    • Solución: Verifica que R3 sea de 1kΩ. Asegúrate de que la fuente de alimentación del motor sea adecuada.

Posibles mejoras y extensiones

  1. Indicadores visuales: Añade un LED con una resistencia limitadora de corriente en paralelo con el motor para proporcionar una advertencia visual cuando la bomba esté activa.
  2. Histéresis/Enclavamiento: Reemplaza la compuerta OR con una lógica Latch SR. Esto mantendría la bomba funcionando incluso si el nivel del agua baja momentáneamente, asegurando un ciclo de drenaje completo hasta que un sensor inferior lo reinicie.

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 lógica de control en este circuito?




Pregunta 2: ¿Cuál es la función principal del sistema diseñado?




Pregunta 3: ¿Qué voltaje de salida lógico se espera en el pin de la compuerta cuando está activa?




Pregunta 4: ¿Qué función cumplen los interruptores S1 y S2 en el circuito?




Pregunta 5: ¿Cuál es el propósito de las resistencias R1 y R2 de 10 kΩ?




Pregunta 6: ¿Qué sucede con el motor si el Sensor A está en ALTO (HIGH) y el Sensor B en BAJO (LOW)?




Pregunta 7: ¿Por qué se menciona la 'redundancia' como una utilidad de este circuito?




Pregunta 8: ¿Qué componente se utiliza para accionar el motor de CC según el objetivo?




Pregunta 9: ¿Qué ocurre si ambos sensores (A y B) están en estado ALTO (HIGH) simultáneamente?




Pregunta 10: ¿Cuál es una aplicación de seguridad industrial mencionada para este sistema?




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 aviso de puerta abierta de coche

Prototipo de Sistema de aviso de puerta abierta de coche (Maker Style)

Nivel: Básico – Implementar un circuito lógico que active un indicador cuando cualquier puerta quede entreabierta.

Objetivo y caso de uso

En esta sesión, construirás un circuito de monitorización digital utilizando una puerta OR 74HC32 para detectar si alguna puerta del vehículo no está completamente cerrada. El circuito utiliza interruptores «Normalmente Cerrados» (NC) para simular la mecánica de la puerta, asegurando que la alarma se active (el LED se ENCIENDA) cuando se abre una puerta.

  • Por qué es útil:

    • Seguridad automotriz: Alerta a los conductores si una puerta no está asegurada antes de conducir, previniendo accidentes.
    • Sistemas de seguridad: Monitoriza múltiples puntos de entrada (ventanas/puertas) y activa una alarma central si se vulnera alguno.
    • Cerramientos industriales: Asegura que las protecciones de seguridad en maquinaria peligrosa estén cerradas antes de permitir el funcionamiento.
    • Control de acceso: Agregación lógica simple para múltiples sensores.
  • Resultado esperado:

    • Ambas puertas cerradas: Las entradas son Lógica 0 (0 V); el LED está APAGADO.
    • Puerta A abierta: La entrada A pasa a Lógica 1 (5 V); el LED se ENCIENDE.
    • Puerta B abierta: La entrada B pasa a Lógica 1 (5 V); el LED se ENCIENDE.
    • Ambas abiertas: Ambas entradas en Lógica 1; el LED permanece ENCENDIDO.
  • Público objetivo: Estudiantes de electrónica básica y aficionados a la automoción.

Materiales

  • V1: fuente de alimentación de 5 V CC, función: alimentación principal del circuito.
  • S1: Pulsador NC (Normalmente Cerrado), función: sensor de Puerta A (Liberado = Puerta Abierta).
  • S2: Pulsador NC (Normalmente Cerrado), función: sensor de Puerta B (Liberado = Puerta Abierta).
  • R1: resistencia de 10 kΩ, función: pull-down para la Entrada A.
  • R2: resistencia de 10 kΩ, función: pull-down para la Entrada B.
  • U1: 74HC32, función: CI de cuádruple puerta OR de 2 entradas.
  • R3: resistencia de 330 Ω, función: limitación de corriente del LED.
  • D1: LED rojo, función: indicador de advertencia de puerta abierta.
  • C1: condensador de 100 nF, función: desacoplo para la alimentación de U1.

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 nodo DOOR_A
2 1B Entrada B Conectado al nodo DOOR_B
3 1Y Salida Conectado al nodo V_ALARM
7 GND Tierra Conectado al nodo 0
14 VCC Alimentación Conectado al nodo VCC

Guía de conexionado

Sigue estas conexiones para crear la netlist lógica compatible con SPICE:

  • Fuente de alimentación

    • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
    • C1 se conecta entre el nodo VCC y el nodo 0 (cerca del CI).
  • Etapa de entrada (Sensores de puerta)

    • S1 se conecta entre el nodo VCC y el nodo DOOR_A.
    • R1 se conecta entre el nodo DOOR_A y el nodo 0. (Asegura Lógica 0 cuando la puerta está cerrada/interruptor presionado).
    • S2 se conecta entre el nodo VCC y el nodo DOOR_B.
    • R2 se conecta entre el nodo DOOR_B y el nodo 0.
  • Procesamiento lógico (74HC32)

    • U1 Pin 14 se conecta a VCC.
    • U1 Pin 7 se conecta a 0.
    • U1 Pin 1 (Entrada 1A) se conecta al nodo DOOR_A.
    • U1 Pin 2 (Entrada 1B) se conecta al nodo DOOR_B.
    • U1 Pin 3 (Salida 1Y) se conecta al nodo V_ALARM.
  • Etapa de salida (Indicador)

    • R3 se conecta entre el nodo V_ALARM y el nodo LED_ANODE.
    • El ánodo de D1 se conecta a LED_ANODE.
    • El cátodo de D1 se conecta al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

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

(VCC 5V)
   |
[ S1: Door A Switch (NC) ]
   |
            +---> [ Node: DOOR_A ] --(Pin 1)---->+------------------+
   |                                    |                  |
[ R1: 10k Pull-Down ] -> GND            |    U1: 74HC32    |
                                        |    (OR Gate)     |
                                        |                  |--(Pin 3)---> [ R3: 330 Ohm ]
                                        |    Logic:        |                   |
(VCC 5V)                                |    A + B = Y     |                   v
   |                                    |                  |             [ D1: Red LED ]
[ S2: Door B Switch (NC) ]              |                  |                   |
   |                                    |                  |                  GND
                    +---> [ Node: DOOR_B ] --(Pin 2)---->+------------------+
   |                                            ^
[ R2: 10k Pull-Down ] -> GND                    |
                                          [ C1: 100nF ]
                                          (Decoupling)
Esquema Eléctrico

Tabla de verdad

El 74HC32 se comporta según la lógica OR estándar. En este escenario:
* Lógica 0 = 0 V (Puerta cerrada / Interruptor presionado).
* Lógica 1 = 5 V (Puerta abierta / Interruptor liberado).

Puerta A (Entrada 1) Puerta B (Entrada 2) Salida (LED) Descripción del estado
0 (Cerrada) 0 (Cerrada) 0 (APAGADO) Seguro
0 (Cerrada) 1 (Abierta) 1 (ENCENDIDO) Advertencia
1 (Abierta) 0 (Cerrada) 1 (ENCENDIDO) Advertencia
1 (Abierta) 1 (Abierta) 1 (ENCENDIDO) Advertencia

Mediciones y pruebas

  1. Verificación de alimentación: Mide el voltaje entre VCC y 0. Debe ser estable a 5 V.
  2. Estado por defecto (Seguro): Mantén presionados S1 y S2 (simulando puertas cerradas). Mide el voltaje en DOOR_A y DOOR_B. Ambos deben ser ~0 V. El LED debe estar APAGADO.
  3. Prueba de Puerta A: Suelta S1 mientras mantienes S2. El voltaje en DOOR_A debe saltar a ~5 V. El voltaje en V_ALARM debe pasar a Alto (~5 V), y el LED debe encenderse.
  4. Prueba de Puerta B: Suelta S2 mientras mantienes S1. El voltaje en DOOR_B debe saltar a ~5 V. El LED debe encenderse.
  5. Verificación del umbral lógico: Si usas una fuente variable, verifica que el 74HC32 registre una señal «Alta» una vez que el voltaje de entrada cruce aproximadamente 3.5 V (para VCC de 5 V).

Netlist SPICE y simulación

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

* Car Door Open Warning System
* Practical case implementation for ngspice

* --- Component Models ---
* Generic Red LED Model
.model DLED D(IS=10n N=2 RS=10 CJO=20p)
* Voltage Controlled Switch Model
* Vt=2.5V: Threshold voltage
* Ron=0.1: Resistance when ON (Closed)
* Roff=100Meg: Resistance when OFF (Open)
.model MYSW SW(Vt=2.5 Ron=0.1 Roff=100Meg)

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

* --- Decoupling ---
C1 VCC 0 100n

* --- Input Stage: Door Sensors ---
* Logic: 
* S1/S2 are NC (Normally Closed) Pushbuttons.
* Function: Released = Door Open. Pressed = Door Closed.
* Wiring: S1 connects VCC to DOOR_A. R1 pulls DOOR_A to GND.
* Simulation Logic:
* We use Voltage Controlled Switches (S1, S2) to simulate the physical contacts.
* Control Pulses (V_ACT_A, V_ACT_B) simulate the "Door Open" state.
* High Pulse = Door Open = Switch Released (Closed contacts) -> VCC connected.
* Low Pulse = Door Closed = Switch Pressed (Open contacts) -> Pulled to 0V.

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

* Car Door Open Warning System
* Practical case implementation for ngspice

* --- Component Models ---
* Generic Red LED Model
.model DLED D(IS=10n N=2 RS=10 CJO=20p)
* Voltage Controlled Switch Model
* Vt=2.5V: Threshold voltage
* Ron=0.1: Resistance when ON (Closed)
* Roff=100Meg: Resistance when OFF (Open)
.model MYSW SW(Vt=2.5 Ron=0.1 Roff=100Meg)

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

* --- Decoupling ---
C1 VCC 0 100n

* --- Input Stage: Door Sensors ---
* Logic: 
* S1/S2 are NC (Normally Closed) Pushbuttons.
* Function: Released = Door Open. Pressed = Door Closed.
* Wiring: S1 connects VCC to DOOR_A. R1 pulls DOOR_A to GND.
* Simulation Logic:
* We use Voltage Controlled Switches (S1, S2) to simulate the physical contacts.
* Control Pulses (V_ACT_A, V_ACT_B) simulate the "Door Open" state.
* High Pulse = Door Open = Switch Released (Closed contacts) -> VCC connected.
* Low Pulse = Door Closed = Switch Pressed (Open contacts) -> Pulled to 0V.

* Door A
S1 VCC DOOR_A CTRL_A 0 MYSW
R1 DOOR_A 0 10k

* Door B
S2 VCC DOOR_B CTRL_B 0 MYSW
R2 DOOR_B 0 10k

* --- Control Signals (User Stimuli) ---
* Timing Sequence:
* 0us - 100us: Both Doors Closed (Low)
* 100us - 200us: Door A Open (High)
* 200us - 300us: Both Doors Open (High)
* 300us - 400us: Door B Open (High)
* 400us - 600us: Both Doors Closed (Low)
V_ACT_A CTRL_A 0 PULSE(0 5 100u 1u 1u 200u 1000u)
V_ACT_B CTRL_B 0 PULSE(0 5 200u 1u 1u 200u 1000u)

* --- Logic Processing: U1 (74HC32) ---
* Quad 2-input OR gate
* Connections per wiring guide:
* Pin 1 (A) -> DOOR_A
* Pin 2 (B) -> DOOR_B
* Pin 3 (Y) -> V_ALARM
* Pin 7 (GND) -> 0
* Pin 14 (VCC) -> VCC
XU1 DOOR_A DOOR_B V_ALARM 0 VCC 74HC32

* --- Output Stage: Indicator ---
R3 V_ALARM LED_ANODE 330
D1 LED_ANODE 0 DLED

* --- Subcircuits ---
.subckt 74HC32 InA InB OutY GND VCC
* Behavioral OR Gate implementation
* Uses tanh for continuous, robust switching
* Logic: Out = VCC if (A > 2.5) OR (B > 2.5)
* Formula: Vout = VCC * ( 1 - (NOT A * NOT B) )
* NOT A is approximated by 0.5 * (1 - tanh(10*(V(InA)-2.5)))
B1 OutY GND V = V(VCC) * (1 - ( (0.5*(1-tanh(10*(V(InA)-2.5)))) * (0.5*(1-tanh(10*(V(InB)-2.5)))) ))
.ends

* --- Analysis Directives ---
.tran 1u 600u
.print tran V(DOOR_A) V(DOOR_B) V(V_ALARM) V(LED_ANODE)
.op

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Dejar entradas flotantes: No instalar R1 o R2 hará que las entradas «floten» cuando el interruptor esté abierto (presionado). Esto lleva a un comportamiento errático del LED. Usa siempre resistencias pull-down con esta configuración de interruptor.
  2. Confundir interruptores NC vs NA: Si usas interruptores NA (Normalmente Abiertos) con este cableado específico, la lógica se invierte (LED ENCENDIDO cuando las puertas están cerradas). Asegúrate de entender el estado mecánico del interruptor cuando la puerta está físicamente cerrada.
  3. Falta de resistencia del LED: Conectar el LED directamente a la salida del CI (Pin 3) sin R3 dañará el LED o el chip 74HC32 debido a una corriente excesiva.

Solución de problemas

  • El LED está siempre ENCENDIDO:
    • Comprueba si S1 o S2 están cableados incorrectamente (ej. cortocircuitando VCC a la entrada constantemente).
    • Verifica que R1 y R2 estén conectadas a Tierra, no a VCC.
    • Asegúrate de que el CI sea un 74HC32 (OR) y no un 74HC00 (NAND) o similar.
  • El LED nunca se ENCIENDE:
    • Comprueba las conexiones de alimentación al Pin 14 y al Pin 7.
    • Asegúrate de que la polaridad del LED sea correcta (Ánodo a resistencia, Cátodo a GND).
    • Verifica que los interruptores realmente dejen pasar 5 V cuando se sueltan.
  • El LED es tenue:
    • El valor de R3 podría ser demasiado alto (ej. 10 kΩ en lugar de 330 Ω).
    • El voltaje de la fuente de alimentación podría estar por debajo de 3 V.

Posibles mejoras y extensiones

  1. Alarma sonora: Conecta un zumbador activo de 5 V en paralelo con el LED (controlado por un transistor si la corriente excede los 20 mA) para proporcionar retroalimentación sonora.
  2. Control de luz interior: Añade un circuito de retardo (usando un condensador y una resistencia o un temporizador 555) para que la luz permanezca encendida durante 10 segundos después de cerrar las puertas, simulando la luz de cortesía de un coche moderno.

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 en este circuito para la lógica de monitorización?




Pregunta 2: ¿Qué tipo de interruptores se utilizan para simular la mecánica de las puertas?




Pregunta 3: ¿Cuál es el objetivo principal de seguridad automotriz de este circuito?




Pregunta 4: ¿Qué estado lógico tienen las entradas cuando ambas puertas están cerradas?




Pregunta 5: ¿Cómo reacciona el LED si solo la Puerta A está abierta?




Pregunta 6: ¿Qué sucede con el LED si ambas puertas (A y B) están abiertas simultáneamente?




Pregunta 7: ¿Qué función cumple la fuente V1 en este tipo de circuitos lógicos?




Pregunta 8: En el contexto de la simulación, ¿qué representa un pulsador 'Liberado' (sin presionar) si es NC?




Pregunta 9: Además de la seguridad automotriz, ¿qué otro uso se menciona para este circuito?




Pregunta 10: ¿Qué nivel de dificultad se indica para 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: Control de iluminación desde dos puntos

Prototipo de Control de iluminación desde dos puntos (Maker Style)

Nivel: Básico. Construya un circuito donde una luz piloto pueda ser activada desde dos interruptores independientes utilizando lógica digital.

Objetivo y caso de uso

En este proyecto, construirá un circuito de control digital utilizando una compuerta OR 74HC32 para alimentar un indicador LED cuando se accione cualquiera de los dos pulsadores. Esto demuestra la función lógica fundamental donde una salida es verdadera si al menos una entrada es verdadera.

Por qué es útil:
* Domótica: Simula un sistema de luz de pasillo donde múltiples interruptores pueden encender una luz.
* Sistemas de seguridad: Representa una zona de disparo de alarma donde cualquier sensor individual (puerta o ventana) activa la sirena.
* Automotriz: Funciona como las luces interiores del techo que se encienden si la puerta del conductor O la del pasajero se abre.
* Seguridad industrial: Actúa como un sistema de parada de emergencia donde presionar cualquier botón en una línea de producción detiene la máquina.

Resultado esperado:
* Estado del LED: El LED permanece APAGADO (Lógica 0) solo cuando ambos botones están liberados.
* Pulsación única: Presionar el Botón A ENCIENDE el LED (Lógica 1).
* Pulsación única: Presionar el Botón B ENCIENDE el LED (Lógica 1).
* Pulsación simultánea: Presionar ambos botones mantiene el LED ENCENDIDO (Lógica 1).
* Público objetivo: Estudiantes y aficionados que aprenden compuertas lógicas digitales básicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • U1: 74HC32 (CI de cuádruple compuerta OR de 2 entradas)
  • S1: Pulsador momentáneo (NO – Normalmente Abierto), función: Entrada A
  • S2: Pulsador momentáneo (NO – Normalmente Abierto), función: Entrada B
  • R1: Resistencia de 10 kΩ, función: Pull-down para Entrada A
  • R2: Resistencia de 10 kΩ, función: Pull-down para Entrada B
  • R3: Resistencia de 330 Ω, función: Limitación de corriente del LED
  • D1: LED rojo, función: Indicador de salida lógica

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 a S1 y R1
2 1B Entrada B Conectado a S2 y R2
3 1Y Salida Conectado a R3 (driver del LED)
7 GND Tierra (Masa) Conectado a 0V
14 VCC Fuente de alimentación Conectado a +5V

Guía de conexionado

Esta guía define las conexiones utilizando nombres de nodo específicos para asegurar un ensamblaje limpio del circuito.

  • Nodos de alimentación:

    • VCC: Conecte el terminal positivo de V1 al Pin 14 de U1.
    • 0 (GND): Conecte el terminal negativo de V1 al Pin 7 de U1.
  • Lógica de entrada A (NODE_A):

    • Conecte S1 entre VCC y NODE_A.
    • Conecte R1 entre NODE_A y 0 (GND).
    • Conecte el Pin 1 de U1 a NODE_A.
  • Lógica de entrada B (NODE_B):

    • Conecte S2 entre VCC y NODE_B.
    • Conecte R2 entre NODE_B y 0 (GND).
    • Conecte el Pin 2 de U1 a NODE_B.
  • Lógica de salida (NODE_Y):

    • Conecte el Pin 3 de U1 a un extremo de R3.
    • Conecte el otro extremo de R3 al ánodo (patilla larga) de D1.
    • Conecte el cátodo (patilla corta) de D1 a 0 (GND).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

[ INPUTS ]                                  [ LOGIC ]                                [ OUTPUT ]

[ VCC ]--> [ S1 (NO) ] --+--(NODE_A)----------->+-------------+
                         |  (Pin 1)             |             |
                    [ R1 (10k) ]                |  U1: 74HC32 |
                         v                      |  (OR Gate)  |--(NODE_Y)--> [ R3 (330) ] --> [ D1 (LED) ] --> [ GND ]
                      [ GND ]                   |  (Pin 3)    |
                                                |             |
[ VCC ]--> [ S2 (NO) ] --+--(NODE_B)----------->+-------------+
                         |  (Pin 2)
                    [ R2 (10k) ]
                         v
                      [ GND ]
Esquema Eléctrico

Tabla de verdad

El 74HC32 sigue la tabla lógica OR estándar:

Entrada A (S1) Entrada B (S2) Salida Y (LED) Descripción del estado
0 (Liberado) 0 (Liberado) 0 (OFF) Sin señal activa
0 (Liberado) 1 (Pulsado) 1 (ON) Activado por B
1 (Pulsado) 0 (Liberado) 1 (ON) Activado por A
1 (Pulsado) 1 (Pulsado) 1 (ON) Activado por ambos

Mediciones y pruebas

  1. Comprobación en reposo: Antes de presionar nada, mida el voltaje en NODE_A y NODE_B con respecto a GND. Debería ser cercano a 0V (Lógica 0) debido a las resistencias pull-down. El LED debería estar apagado.
  2. Prueba de entrada A: Presione S1. Mida el voltaje en NODE_A; debería subir a 5V. Verifique que D1 se enciende.
  3. Prueba de entrada B: Presione S2. Mida el voltaje en NODE_B; debería subir a 5V. Verifique que D1 se enciende.
  4. Prueba combinada: Presione ambos botones simultáneamente. El LED debería permanecer encendido sin parpadear.

Netlist SPICE y simulación

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

* Practical case: Lighting control from two points

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

* --- Input A ---
* S1: Momentary Push Button (NO)
* Modeled as a voltage-controlled switch (S1) driven by a pulse source (V_ACT_A)
* to simulate the physical user action of pressing the button.
V_ACT_A ACT_A 0 PULSE(0 5 50u 1u 1u 100u 200u)
S1 VCC NODE_A ACT_A 0 SW_BTN

* R1: 10k Pull-down resistor for Input A
R1 NODE_A 0 10k

* --- Input B ---
* S2: Momentary Push Button (NO)
* Modeled as a voltage-controlled switch (S2) driven by a pulse source (V_ACT_B)
V_ACT_B ACT_B 0 PULSE(0 5 50u 1u 1u 200u 400u)
S2 VCC NODE_B ACT_B 0 SW_BTN

* R2: 10k Pull-down resistor for Input B
R2 NODE_B 0 10k

* --- Logic IC U1: 74HC32 (Quad 2-Input OR Gate) ---
* Wiring Guide: Pin 1 to NODE_A, Pin 2 to NODE_B, Pin 3 to NODE_Y
* Pin 7 to GND (0), Pin 14 to VCC
XU1 NODE_A NODE_B NODE_Y 0 VCC 74HC32

* ... (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: Lighting control from two points

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

* --- Input A ---
* S1: Momentary Push Button (NO)
* Modeled as a voltage-controlled switch (S1) driven by a pulse source (V_ACT_A)
* to simulate the physical user action of pressing the button.
V_ACT_A ACT_A 0 PULSE(0 5 50u 1u 1u 100u 200u)
S1 VCC NODE_A ACT_A 0 SW_BTN

* R1: 10k Pull-down resistor for Input A
R1 NODE_A 0 10k

* --- Input B ---
* S2: Momentary Push Button (NO)
* Modeled as a voltage-controlled switch (S2) driven by a pulse source (V_ACT_B)
V_ACT_B ACT_B 0 PULSE(0 5 50u 1u 1u 200u 400u)
S2 VCC NODE_B ACT_B 0 SW_BTN

* R2: 10k Pull-down resistor for Input B
R2 NODE_B 0 10k

* --- Logic IC U1: 74HC32 (Quad 2-Input OR Gate) ---
* Wiring Guide: Pin 1 to NODE_A, Pin 2 to NODE_B, Pin 3 to NODE_Y
* Pin 7 to GND (0), Pin 14 to VCC
XU1 NODE_A NODE_B NODE_Y 0 VCC 74HC32

* --- Output Stage ---
* R3: 330 Ohm LED current limiting resistor
R3 NODE_Y NODE_LED 330

* D1: Red LED Logic output indicator
D1 NODE_LED 0 LED_RED

* --- Models and Subcircuits ---

* Switch Model (Normally Open)
* Vt=2.5V: Threshold voltage for switching
* Ron=0.1: Low resistance when closed
* Roff=10Meg: High resistance when open
.model SW_BTN SW(Vt=2.5 Ron=0.1 Roff=10Meg)

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

* 74HC32 Behavioral Subcircuit
* Implements robust continuous logic to avoid convergence issues
.subckt 74HC32 1 2 3 7 14
* Pin Definitions: 1=InputA, 2=InputB, 3=OutputY, 7=GND, 14=VCC
* Logic: Y = A OR B
* Implemented using Sigmoid function S(x) = 1 / (1 + exp(-k*(x-threshold)))
* OR(A,B) is equivalent to 1 - (NOT_A * NOT_B)
* V(14) scales the output to the supply rail
B_OR 3 7 V = V(14) * (1 - ( (1/(1+exp(-20*(V(1)-2.5)))) * (1/(1+exp(-20*(V(2)-2.5)))) ))
.ends

* --- Simulation Directives ---
* Transient analysis for 600us to capture all logic states of the pulses
.tran 1u 600u

* Print required voltages for analysis
.print tran V(NODE_A) V(NODE_B) V(NODE_Y) V(NODE_LED)

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Dejar entradas flotantes: No instalar las resistencias pull-down (R1, R2) hace que las entradas «floten», lo que a menudo lleva a que el LED parpadee o se quede encendido permanentemente debido al ruido estático. Siempre conecte las entradas no utilizadas a GND o VCC.
  2. Falta de alimentación al chip: Olvidar conectar el Pin 14 a +5V y el Pin 7 a GND. Las compuertas lógicas dentro del chip no pueden funcionar sin energía.
  3. Orientación del LED: Insertar el LED al revés (ánodo a tierra). El LED actuará como un circuito abierto y nunca se encenderá.

Solución de problemas

  • El LED está siempre ENCENDIDO:
    • Verifique si falta R1 o R2 o si están desconectadas.
    • Verifique que está usando un botón Normalmente Abierto (NO/NA), no uno Normalmente Cerrado (NC).
  • El LED no se ENCIENDE cuando se presionan los botones:
    • Verifique las conexiones de alimentación de U1 (Pines 7 y 14).
    • Asegúrese de que el LED esté orientado correctamente (Lado plano/patilla corta a GND).
  • El LED es muy tenue:
    • El valor de R3 podría ser demasiado alto (por ejemplo, usar 10 kΩ en lugar de 330 Ω).
    • El voltaje de alimentación V1 podría ser demasiado bajo.

Posibles mejoras y extensiones

  1. Control de tres puntos: Conecte en cascada una segunda compuerta OR (usando las compuertas restantes en el chip 74HC32) para agregar un tercer interruptor, permitiendo el control desde tres ubicaciones.
  2. Circuito de enclavamiento (Latch): Agregue un bucle de retroalimentación o use un latch SR para que presionar un botón una vez encienda la luz y la mantenga encendida hasta que se presione un botón de «Reset» (simulando una memoria de 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: ¿Qué componente principal se utiliza para realizar la función lógica en este circuito?




Pregunta 2: ¿Cuál es el objetivo principal del circuito descrito?




Pregunta 3: ¿Qué sucede con el LED si se presiona únicamente uno de los botones?




Pregunta 4: ¿En qué condición permanece el LED APAGADO?




Pregunta 5: ¿Qué aplicación de la vida real en el sector automotriz se menciona como ejemplo?




Pregunta 6: ¿Qué función lógica fundamental demuestra este proyecto?




Pregunta 7: ¿Cómo se aplica este circuito en un sistema de seguridad industrial?




Pregunta 8: ¿Qué ocurre si se presionan ambos botones simultáneamente en una compuerta OR?




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




Pregunta 10: ¿Qué ejemplo de domótica se utiliza para ilustrar este circuito?




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

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

Sígueme:


Caso práctico: Sistema de alarma con doble sensor

Prototipo de Sistema de alarma con doble sensor (Maker Style)

Nivel: Básico — Implementar un circuito lógico que active una alarma si cualquiera de dos sensores detecta una intrusión.

Objetivo y caso de uso

En este caso práctico, construirás un circuito lógico digital utilizando un circuito integrado 74HC32 (puerta OR). El circuito monitorea dos interruptores que representan sensores de puerta; si se activa cualquiera de los interruptores (lógica ALTA o HIGH), el LED de salida (alarma) se enciende.

Por qué es útil:
* Seguridad en el hogar: Simula un sistema donde abrir la puerta delantera o la trasera activa la sirena.
* Seguridad automotriz: Funciona como la luz de «puerta abierta» del tablero, que se ilumina si alguna puerta de los pasajeros no está completamente cerrada.
* Controles industriales: Actúa como un monitor de fallos simplificado donde múltiples señales de error pueden activar una única luz de advertencia.

Resultado esperado:
* Estado de espera: Cuando ambos interruptores están abiertos (entrada de 0 V), el LED permanece APAGADO.
* Estado activo 1: Cuando el interruptor A está cerrado (entrada de 5 V), el LED se ENCIENDE.
* Estado activo 2: Cuando el interruptor B está cerrado (entrada de 5 V), el LED se ENCIENDE.
* Estado activo dual: Cuando ambos interruptores están cerrados, el LED permanece ENCENDIDO.
* Público objetivo: Estudiantes de electrónica y aficionados que aprenden puertas lógicas digitales básicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC o paquete de baterías
  • U1: CI 74HC32 con cuádruple puerta OR de 2 entradas
  • S1: Interruptor de palanca SPST o pulsador, función: Sensor de puerta delantera (Entrada A)
  • S2: Interruptor de palanca SPST o pulsador, función: Sensor de puerta trasera (Entrada B)
  • R1: Resistencia de 10 kΩ, función: pull-down para Entrada A
  • R2: Resistencia de 10 kΩ, función: pull-down para Entrada B
  • R3: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: Indicador de alarma
  • Protoboard y cables de conexión

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 (Puerta 1) Conectado a S1 y R1
2 1B Entrada B (Puerta 1) Conectado a S2 y R2
3 1Y Salida (Puerta 1) Conectado a R3 (controlador de LED)
7 GND Tierra Conectado a 0 (Riel negativo)
14 VCC Alimentación positiva Conectado al riel de 5 V

Guía de conexionado

Construye el circuito en la protoboard siguiendo estas conexiones. Los nombres de los nodos (por ejemplo, IN_A, VCC) indican uniones eléctricas.

  • Fuente de alimentación:
    • V1: Terminal positivo al nodo VCC.
    • V1: Terminal negativo al nodo 0 (GND).
  • Alimentación del CI:
    • U1 (Pin 14): Conectar a VCC.
    • U1 (Pin 7): Conectar a 0.
  • Sensor A (Puerta delantera):
    • S1: Conectar entre VCC y el nodo IN_A.
    • R1: Conectar entre el nodo IN_A y 0 (Funciona como resistencia pull-down para asegurar un 0 lógico cuando el interruptor está abierto).
    • U1 (Pin 1): Conectar al nodo IN_A.
  • Sensor B (Puerta trasera):
    • S2: Conectar entre VCC y el nodo IN_B.
    • R2: Conectar entre el nodo IN_B y 0 (Funciona como resistencia pull-down).
    • U1 (Pin 2): Conectar al nodo IN_B.
  • Etapa de salida:
    • U1 (Pin 3): Conectar al nodo SIG_OUT.
    • R3: Conectar entre el nodo SIG_OUT y el nodo LED_ANODE.
    • D1: Ánodo al nodo LED_ANODE, Cátodo a 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

[ INPUT SENSORS ]                        [ LOGIC PROCESSING ]                  [ OUTPUT ALARM ]

[ VCC ] --> [ S1: Front Door ] --+--(IN_A)--> [ Pin 1 ] --+
                                 |                        |
                           [ R1: 10k ]                    |
                                 |                        v
                               [ GND ]             +-------------+
                                                   |  U1: 74HC32 |
                                                   |  (OR Gate)  | --(Pin 3)--> [ R3: 330 ] --> [ D1: LED ] --> GND
                                                   +-------------+
                               [ GND ]                    ^
                                 |                        |
                           [ R2: 10k ]                    |
                                 |                        |
[ VCC ] --> [ S2: Back Door  ] --+--(IN_B)--> [ Pin 2 ] --+
Esquema Eléctrico

Tabla de verdad

El 74HC32 se comporta según la lógica OR estándar:

Sensor A (S1) Sensor B (S2) Pin 1 (Voltios) Pin 2 (Voltios) Pin de salida 3 (Voltios) Estado del LED
Abierto Abierto 0 V 0 V 0 V (BAJO) APAGADO
Abierto Cerrado 0 V 5 V 5 V (ALTO) ENCENDIDO
Cerrado Abierto 5 V 0 V 5 V (ALTO) ENCENDIDO
Cerrado Cerrado 5 V 5 V 5 V (ALTO) ENCENDIDO

Mediciones y pruebas

  1. Verificación de alimentación: Antes de insertar el CI, energiza los rieles y mide el voltaje entre VCC y 0. Debería leer aproximadamente 5 V.
  2. Verificación de entrada:
    • Mantén U1 insertado. Mide el voltaje en el Pin 1 con respecto a GND. Debería ser 0 V.
    • Presiona S1. El voltaje en el Pin 1 debería saltar a ~5 V.
    • Repite para S2 y el Pin 2.
  3. Prueba lógica:
    • Asegúrate de que ambos interruptores estén abiertos. Mide el Pin 3 (Salida); debería estar cerca de 0 V.
    • Cierra solo S1. Mide el Pin 3; debería estar cerca de 5 V. El LED debería encenderse.
    • Cierra solo S2. Mide el Pin 3; debería estar cerca de 5 V. El LED debería encenderse.

Netlist SPICE y simulación

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

* Practical case: Dual Sensor Alarm System
* Corrected SPICE Netlist based on BOM and Wiring Guide

* ==============================================================================
* POWER SUPPLY
* ==============================================================================
* V1: 5V DC Supply
* Wiring: Positive to VCC, Negative to 0 (GND)
V1 VCC 0 DC 5

* ==============================================================================
* INPUT SENSORS
* ==============================================================================
* Sensor A: Front Door (S1, R1)
* Wiring: S1 connects VCC to IN_A. R1 connects IN_A to 0 (Pull-down).
* Simulation: S1 is modeled as a voltage-controlled switch driven by a control pulse
* to simulate a button press sequence.
V_CTRL_A CTRL_A 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC IN_A CTRL_A 0 SW_GEN
R1 IN_A 0 10k

* Sensor B: Back Door (S2, R2)
* Wiring: S2 connects VCC to IN_B. R2 connects IN_B to 0 (Pull-down).
* Simulation: S2 control pulse is offset to test all truth table combinations.
V_CTRL_B CTRL_B 0 PULSE(0 5 10u 1u 1u 200u 400u)
S2 VCC IN_B CTRL_B 0 SW_GEN
R2 IN_B 0 10k

* ==============================================================================
* LOGIC IC: U1 (74HC32)
* ... (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: Dual Sensor Alarm System
* Corrected SPICE Netlist based on BOM and Wiring Guide

* ==============================================================================
* POWER SUPPLY
* ==============================================================================
* V1: 5V DC Supply
* Wiring: Positive to VCC, Negative to 0 (GND)
V1 VCC 0 DC 5

* ==============================================================================
* INPUT SENSORS
* ==============================================================================
* Sensor A: Front Door (S1, R1)
* Wiring: S1 connects VCC to IN_A. R1 connects IN_A to 0 (Pull-down).
* Simulation: S1 is modeled as a voltage-controlled switch driven by a control pulse
* to simulate a button press sequence.
V_CTRL_A CTRL_A 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC IN_A CTRL_A 0 SW_GEN
R1 IN_A 0 10k

* Sensor B: Back Door (S2, R2)
* Wiring: S2 connects VCC to IN_B. R2 connects IN_B to 0 (Pull-down).
* Simulation: S2 control pulse is offset to test all truth table combinations.
V_CTRL_B CTRL_B 0 PULSE(0 5 10u 1u 1u 200u 400u)
S2 VCC IN_B CTRL_B 0 SW_GEN
R2 IN_B 0 10k

* ==============================================================================
* LOGIC IC: U1 (74HC32)
* ==============================================================================
* Wiring: Pin 1=IN_A, Pin 2=IN_B, Pin 3=SIG_OUT, Pin 7=0, Pin 14=VCC
* Uses a subcircuit to model the OR gate logic
XU1 IN_A IN_B SIG_OUT 0 VCC 74HC32

* ==============================================================================
* OUTPUT STAGE
* ==============================================================================
* Wiring: SIG_OUT -> R3 -> LED_ANODE -> D1 -> 0
R3 SIG_OUT LED_ANODE 330
D1 LED_ANODE 0 LED_RED

* ==============================================================================
* MODELS & SUBCIRCUITS
* ==============================================================================

* Model for Switch (Idealized Push-Button)
.model SW_GEN SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* Model for Red LED
.model LED_RED D(IS=1u N=3 RS=5)

* Subcircuit for 74HC32 (Quad 2-Input OR Gate)
* Implements OR logic: Y = A OR B
* Mathematical implementation using De Morgan's Law for continuous signals:
* Y = 1 - ( (1-A) * (1-B) )  (normalized 0-1 logic)
.subckt 74HC32 A B Y GND_PIN VCC_PIN
    * Sigmoid function to normalize inputs: 1/(1+exp(-20*(V(in)-2.5)))
    * Logic formula: V(Y) = V(VCC) * (1 - ( (1-Sig(A)) * (1-Sig(B)) ))
    B_OR Y GND_PIN V = V(VCC_PIN) * (1 - ( (1 - 1/(1+exp(-20*(V(A)-2.5)))) * (1 - 1/(1+exp(-20*(V(B)-2.5)))) ))
.ends

* ==============================================================================
* ANALYSIS
* ==============================================================================
* Transient analysis to verify truth table (00, 10, 01, 11)
.tran 1u 500u

* Monitor Input and Output Voltages
.print tran V(IN_A) V(IN_B) V(SIG_OUT) V(LED_ANODE)

* Compute DC Operating Point
.op

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 (resistencias pull-down).
    • Solución: Las puertas lógicas se comportan de manera impredecible si las entradas no están conectadas a un voltaje definido. Usa siempre resistencias pull-down (a tierra) o resistencias pull-up (a VCC) para interruptores mecánicos.
  2. Falta la resistencia del LED: Conectar el LED directamente a la salida del CI.
    • Solución: Incluye siempre R3 (330 Ω) para limitar la corriente. Sin ella, puedes dañar el LED o la etapa de salida del 74HC32.
  3. Orientación incorrecta del CI: Insertar el 74HC32 al revés.
    • Solución: Localiza la muesca o el punto en el encapsulado del CI. La muesca indica el extremo con el Pin 1 y el Pin 14.

Solución de problemas

  • El LED siempre está ENCENDIDO:
    • Comprueba si R1 o R2 están desconectadas (las entradas flotantes a menudo derivan a ALTO/HIGH).
    • Verifica que S1 o S2 no estén cableados como «normalmente cerrados» por error.
    • Busca cortocircuitos entre VCC y el Pin 1/Pin 2.
  • El LED nunca se ENCIENDE:
    • Comprueba si el CI tiene alimentación (Pin 14 a 5V, Pin 7 a GND).
    • Verifica la polaridad del LED (el Ánodo debe mirar hacia la resistencia/CI, el Cátodo a GND).
  • El LED brilla muy poco:
    • El valor de R3 podría ser demasiado alto (por ejemplo, usar 10 kΩ en lugar de 330 Ω).
    • El voltaje de la fuente de alimentación podría ser demasiado bajo (< 3 V).

Posibles mejoras y extensiones

  1. Alarma con enclavamiento: Añade un flip-flop o crea un circuito de enclavamiento (latch) para que la alarma permanezca ENCENDIDA incluso después de que el intruso cierre la puerta (S1/S2 se abran de nuevo), requiriendo un reinicio manual.
  2. Alerta sonora: Conecta un zumbador activo en paralelo con el LED (impulsado por un transistor si el requisito de corriente supera los 20 mA) para añadir sonido a la alarma visual.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Qué circuito integrado se utiliza principalmente en este caso práctico?




Pregunta 2: ¿Qué tipo de puerta lógica representa el CI 74HC32?




Pregunta 3: ¿Cuál es el objetivo principal del circuito descrito?




Pregunta 4: ¿Qué sucede con el LED cuando ambos interruptores están abiertos (0 V)?




Pregunta 5: ¿Qué voltaje se considera como entrada en 'Estado activo' cuando se cierra un interruptor?




Pregunta 6: ¿Cuál es el resultado esperado si el interruptor A está cerrado y el interruptor B está abierto?




Pregunta 7: ¿Qué aplicación de seguridad automotriz se menciona como ejemplo para este circuito?




Pregunta 8: Según la lógica OR del circuito, ¿qué ocurre si ambos interruptores se cierran simultáneamente?




Pregunta 9: ¿Qué nivel de dificultad se asigna a este caso práctico?




Pregunta 10: ¿Cómo actúa este circuito en un contexto de controles industriales?




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: