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

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC00, función: CI de cuatro compuertas NAND de 2 entradas.
  • S1: Interruptor de palanca SPST, función: Simulador de sensor de nivel alto.
  • S2: Interruptor de palanca SPST, función: Simulador de sensor de nivel de seguridad.
  • R1: Resistencia de 10 kΩ, función: Pull-down para S1.
  • R2: Resistencia de 10 kΩ, función: Pull-down para S2.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED de estado de la bomba.
  • D1: LED verde, función: Indicador de estado de la bomba (ENCENDIDO = Funcionando, APAGADO = Detenida).

Pin-out del CI utilizado

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

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

Guía de conexionado

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

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

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: Water tank level control

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

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: Control de nivel de tanque de agua
Generado desde la netlist SPICE validada del caso.

🔒 Este diagrama eléctrico es premium. Con la suscripción mensual (7 días gratis) podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Ver planes de acceso premium

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

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

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con la suscripción mensual (7 días gratis) tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

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

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

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

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

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

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

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

XU1 SENSOR_HI SENSOR_SAFE PUMP_CTRL 0 VCC 74HC00

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

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

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

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

  1. Alarma visual y sonora: Conecta un zumbador activo adicional (a través de un controlador de transistor) a la salida, pero invierte la señal primero para que el zumbador suene cuando la bomba se detenga.
  2. Accionamiento de motor: Reemplaza el LED con un transistor NPN (como el 2N2222) y un relé para controlar un motor de bomba de agua de CC real, añadiendo un diodo flyback para protección.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Qué componente principal se utiliza para construir el circuito digital de seguridad?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Alarma de seguridad con sensor de ventana

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

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

Pin-out del CI utilizado

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

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

Guía de conexionado

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

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

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: Window sensor security alarm

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: Alarma de seguridad con sensor de ventana
Generado desde la netlist SPICE validada del caso.

🔒 Este diagrama eléctrico es premium. Con la suscripción mensual (7 días gratis) podrás desbloquear el material didáctico completo y el pack PDF listo para imprimir.🔓 Ver planes de acceso premium

Tabla de verdad

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

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

Mediciones y pruebas

Sigue estos pasos para validar tu sistema de alarma:

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

Netlist SPICE y simulación

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

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

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

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

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

* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* ... (truncated in public view) ...

Copia este contenido en un archivo .cir y ejecútalo con ngspice.

🔒 Parte del contenido de esta sección es premium. Con la suscripción mensual (7 días gratis) tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal del circuito descrito en el artículo?




Pregunta 2: ¿Qué componente lógico es fundamental para el funcionamiento de este sistema de alarma?




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




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




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




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




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




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




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




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




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

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

Sígueme: