Caso práctico: Indicador de nivel de tanque vacío

Prototipo de Indicador de nivel de tanque vacío (Maker Style)

Nivel: Medio. Diseñe un circuito lógico que alerte al usuario cuando un sensor de agua deje de detectar líquido utilizando una compuerta NOT.

Objetivo y caso de uso

En este caso, construirá un circuito de monitoreo utilizando un inversor 74HC04 que ilumina un LED rojo cuando el nivel de líquido de un tanque cae por debajo de un punto crítico.

  • Evita daños en la bomba: Detiene las bombas de agua para que no funcionen en seco en sistemas hidropónicos.
  • Seguridad doméstica: Alerta cuando los tanques de reserva en la azotea están vacíos.
  • Mantenimiento industrial: Indicador visual de los requisitos de recarga de refrigerante.

Resultado esperado:
* Agua presente: El sensor está abierto (entrada Lógica 1) $\rightarrow$ el LED permanece APAGADO.
* Tanque vacío: El sensor se cierra (entrada Lógica 0) $\rightarrow$ el LED se ENCIENDE.
* Nivel lógico: $V_{in} \approx 0\text{ V}$ activa la alerta; $V_{in} \approx 5\text{ V}$ indica estado normal.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con la lógica digital básica.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: alimentación principal del circuito
  • U1: CI Inversor Hexagonal 74HC04, función: inversión lógica
  • S1: Interruptor de flotador (configurado para Cerrar cuando está Vacío), función: sensor de nivel de líquido
  • R1: Resistencia de 10 kΩ, función: pull-up para señal del sensor
  • R2: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: alerta visual de vacío
  • C1: Condensador cerámico de 100 nF, función: desacoplo de la fuente de alimentación

Pin-out del CI utilizado

Chip seleccionado: 74HC04 (Inversor Hexagonal)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conectado al nodo del sensor (SENSE_IN)
2 1Y Salida Conectado al circuito LED (ALERT_OUT)
7 GND Tierra Conectado a 0 (GND)
14 VCC Alimentación Conectado a la fuente de 5V

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • C1 se conecta entre el nodo VCC y el nodo 0 (colocado físicamente cerca de U1).
  • R1 se conecta entre el nodo VCC y el nodo SENSE_IN.
  • S1 se conecta entre el nodo SENSE_IN y el nodo 0.
  • U1 pin 1 se conecta al nodo SENSE_IN.
  • U1 pin 2 se conecta al nodo ALERT_OUT.
  • U1 pin 14 se conecta a VCC; el pin 7 se conecta a 0.
  • R2 se conecta entre el nodo ALERT_OUT y el nodo LED_ANODE.
  • D1 se conecta entre el nodo LED_ANODE (Ánodo) y el nodo 0 (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

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

[ VCC 5V ] --> [ R1: 10k ] --+
               (Pull-Up)     |
                             |
                             V
                        (SENSE_IN) ---->+------------------+
                        (Pin 1)         |    U1: 74HC04    |
                             ^          |   Hex Inverter   |--(ALERT_OUT)--> [ R2: 330R ] --> [ D1: Red LED ] --> GND
                             |          |   (Pin 1 -> 2)   |  (Pin 2)        (Limiting)       (Anode/Cathode)
[ GND 0V ] --> [ S1: Float ]-+          +------------------+
               (Switch)                           ^
                                                  |
                                            [ C1: 100nF ]
                                            (Decoupling)
                                            (VCC / GND)
Esquema Eléctrico

Tabla de verdad

Estado del agua Interruptor del sensor (S1) Voltaje de entrada (Pin 1) Entrada lógica Voltaje de salida (Pin 2) Estado del LED
Lleno ABIERTO 5 V (vía Pull-up) 1 0 V APAGADO
Vacío CERRADO 0 V (conectado a GND) 0 5 V ENCENDIDO

Mediciones y pruebas

  1. Verificación de alimentación: Mida el voltaje entre VCC y 0. Asegúrese de que sea estable a 5 V.
  2. Simulación de tanque lleno: Levante manualmente el flotador (abra S1). Mida el voltaje en SENSE_IN. Debería ser $\approx 5\text{ V}$. Verifique que el LED esté APAGADO.
  3. Simulación de tanque vacío: Deje caer el flotador (cierre S1). Mida el voltaje en SENSE_IN. Debería ser $\approx 0\text{ V}$.
  4. Salida lógica: Mientras S1 está cerrado (Vacío), mida el voltaje en ALERT_OUT. Debería ser $\approx 5\text{ V}$.
  5. Consumo de corriente: Mida la corriente a través de D1 ($I_{led}$) cuando esté ENCENDIDO. Debería ser de aproximadamente 10–12 mA dependiendo de la caída de voltaje específica del LED.

Netlist SPICE y simulación

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

* Practical case: Empty Tank Level Indicator

* ==============================================================================
* BILL OF MATERIALS & COMPONENTS
* ==============================================================================

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

* --- Decoupling ---
* C1: 100 nF ceramic capacitor (Power supply decoupling)
C1 VCC 0 100n

* --- Sensor Input Section ---
* R1: 10 kΩ resistor (Pull-up for sensor signal)
R1 VCC SENSE_IN 10k

* S1: Float switch (SPST)
* Wiring: Connects between node SENSE_IN and node 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.

* Practical case: Empty Tank Level Indicator

* ==============================================================================
* BILL OF MATERIALS & COMPONENTS
* ==============================================================================

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

* --- Decoupling ---
* C1: 100 nF ceramic capacitor (Power supply decoupling)
C1 VCC 0 100n

* --- Sensor Input Section ---
* R1: 10 kΩ resistor (Pull-up for sensor signal)
R1 VCC SENSE_IN 10k

* S1: Float switch (SPST)
* Wiring: Connects between node SENSE_IN and node GND.
* Simulation: Modeled as a Voltage Controlled Switch (SW).
* Logic: 
*   - Tank Full (Float Up) -> Switch Open -> SENSE_IN pulled to VCC.
*   - Tank Empty (Float Down) -> Switch Closed -> SENSE_IN pulled to GND.
* Control Source V_FLOAT_ACT simulates the float movement.
*   - 0V = Float Up (Full)
*   - 5V = Float Down (Empty)
S1 SENSE_IN 0 FLOAT_CTRL 0 SW_FLOAT
.model SW_FLOAT SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* Stimulus: Float starts Up (Full), drops to Down (Empty) at 50us, returns at 200us.
V_FLOAT_ACT FLOAT_CTRL 0 PULSE(0 5 50u 1u 1u 150u 400u)

* --- Logic Processing ---
* U1: 74HC04 Hex Inverter
* Wiring Guide: Pin 1 (In) -> SENSE_IN, Pin 2 (Out) -> ALERT_OUT
* Power: Pin 14 -> VCC, Pin 7 -> GND
* Implemented as a subcircuit to strictly map pins.
XU1 SENSE_IN ALERT_OUT 0 VCC 74HC04_GATE

* Subcircuit definition for one gate of 74HC04
.subckt 74HC04_GATE IN OUT GND VCC
    * Behavioral voltage source for robust logic inversion
    * Uses sigmoid function for convergence: Vout = VCC if Vin < 2.5V
    B1 OUT GND V = V(VCC) * (1 / (1 + exp(50 * (V(IN) - 2.5))))
.ends

* --- Output Alert ---
* R2: 330 Ω resistor (LED current limiting)
R2 ALERT_OUT LED_ANODE 330

* D1: Red LED (Visual empty alert)
* Wiring: Anode -> LED_ANODE, Cathode -> GND
D1 LED_ANODE 0 LED_RED
.model LED_RED D(IS=1e-14 N=2 RS=5 BV=5 IBV=10u CJO=40p)

* ==============================================================================
* ANALYSIS COMMANDS
* ==============================================================================

* Operating Point Analysis
.op

* Transient Analysis
* Run for 500us to capture the float switch activation cycle
.tran 1u 500u

* Output Printing
* Monitor Sensor Input, Inverter Output, and LED Voltage
.print tran V(SENSE_IN) V(ALERT_OUT) V(LED_ANODE) V(FLOAT_CTRL)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1190 rows)
Index   time            v(sense_in)     v(alert_out)    v(led_anode)
0	0.000000e+00	4.995005e+00	3.316079e-54	-1.70080e-28
1	1.000000e-08	4.995005e+00	3.316079e-54	-9.73961e-29
2	2.000000e-08	4.995005e+00	3.316079e-54	-1.41516e-29
3	4.000000e-08	4.995005e+00	3.316079e-54	8.723601e-29
4	8.000000e-08	4.995005e+00	3.316079e-54	1.163518e-28
5	1.600000e-07	4.995005e+00	3.316079e-54	4.380930e-29
6	3.200000e-07	4.995005e+00	3.316079e-54	-1.45299e-29
7	6.400000e-07	4.995005e+00	3.316079e-54	-1.01395e-29
8	1.280000e-06	4.995005e+00	3.316079e-54	-5.46095e-32
9	2.280000e-06	4.995005e+00	3.316079e-54	4.098577e-31
10	3.280000e-06	4.995005e+00	3.316079e-54	2.282032e-32
11	4.280000e-06	4.995005e+00	3.316079e-54	-9.50625e-33
12	5.280000e-06	4.995005e+00	3.316079e-54	-1.09186e-33
13	6.280000e-06	4.995005e+00	3.316079e-54	1.911218e-34
14	7.280000e-06	4.995005e+00	3.316079e-54	3.847480e-35
15	8.280000e-06	4.995005e+00	3.316079e-54	-2.97995e-36
16	9.280000e-06	4.995005e+00	3.316079e-54	-1.15977e-36
17	1.028000e-05	4.995005e+00	3.316079e-54	1.723722e-38
18	1.128000e-05	4.995005e+00	3.316079e-54	3.117034e-38
19	1.228000e-05	4.995005e+00	3.316079e-54	1.177223e-39
20	1.328000e-05	4.995005e+00	3.316079e-54	-7.52109e-40
21	1.428000e-05	4.995005e+00	3.316079e-54	-6.99870e-41
22	1.528000e-05	4.995005e+00	3.316079e-54	1.597704e-41
23	1.628000e-05	4.995005e+00	3.316079e-54	2.660714e-42
... (1166 more rows) ...

🔒 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: Empty Tank Level Indicator

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

* -----------------------------------------------------------------------------
* Decoupling Capacitor
* C1 connects between node VCC and node 0
* -----------------------------------------------------------------------------
C1 VCC 0 100n

* -----------------------------------------------------------------------------
* Sensor / Input Stage
* S1: Float switch (configured to Close when Empty)
* R1: Pull-up resistor
* Wiring: R1 between VCC and SENSE_IN. S1 between SENSE_IN and 0.
*
* Simulation Note: S1 is modeled as a Voltage-Controlled Switch driven by 
* a PULSE source (V_SW_CTRL) to simulate the physical action of the tank 
* emptying and the switch closing.
* -----------------------------------------------------------------------------
R1 VCC SENSE_IN 10k

* Switch S1
* Controlled by node SW_CTRL. 
* Control = 0V -> Switch Open (Tank Full, SENSE_IN pulled High)
* Control = 5V -> Switch Closed (Tank Empty, SENSE_IN pulled Low)
S1 SENSE_IN 0 SW_CTRL 0 FLOAT_SW_MODEL

* Switch Model
.model FLOAT_SW_MODEL SW(Vt=2.5 Ron=0.1 Roff=100M)

* Stimulus: User/Environment simulation
* Pulse starts at 0V (Full), pulses to 5V (Empty) at 100us, holds for 200us.
V_SW_CTRL SW_CTRL 0 PULSE(0 5 100u 1u 1u 200u 500u)

* -----------------------------------------------------------------------------
* Logic Stage: U1 74HC04 Hex Inverter
* Wiring: Pin 1 (Input) -> SENSE_IN, Pin 2 (Output) -> ALERT_OUT
*         Pin 14 -> VCC, Pin 7 -> 0 (GND)
* Implemented as a subcircuit to expose pins and provide robust behavioral logic.
* -----------------------------------------------------------------------------
XU1 SENSE_IN ALERT_OUT 0 VCC 74HC04_GATE

.subckt 74HC04_GATE IN OUT GND VCC
* Robust behavioral model of a CMOS Inverter using sigmoid function
* Vout = VCC if Vin < Vth, Vout = 0 if Vin > Vth
* Vth set to VCC/2. Steepness factor k=50.
B_INV OUT GND V = V(VCC) / (1 + exp(50 * (V(IN) - V(VCC)/2)))
.ends

* -----------------------------------------------------------------------------
* Output Stage: Indicator LED
* Wiring: R2 between ALERT_OUT and LED_ANODE. D1 between LED_ANODE and 0.
* -----------------------------------------------------------------------------
R2 ALERT_OUT LED_ANODE 330

* D1 Red LED
D1 LED_ANODE 0 RED_LED_MODEL

* LED Model (Approximate Red LED Vf ~ 1.8V @ 10mA)
.model RED_LED_MODEL D(IS=1e-18 N=2 RS=5 BV=5 IBV=10u CJO=10p)

* -----------------------------------------------------------------------------
* Analysis Commands
* -----------------------------------------------------------------------------
.op
* Transient analysis: 1us step, 500us total duration
.tran 1u 500u

* Print results to log (Required)
.print tran V(SENSE_IN) V(ALERT_OUT) V(LED_ANODE) V(SW_CTRL)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Dejar entradas flotantes: Aunque solo usamos una compuerta (Pin 1/2), las entradas no utilizadas en chips CMOS (pines 3, 5, 9, 11, 13) deben conectarse a GND o VCC para evitar oscilaciones y un consumo excesivo de energía.
  2. Cableado de Pull-up incorrecto: Conectar la resistencia en serie con la entrada en lugar de como pull-up a VCC. Asegúrese de que R1 vaya estrictamente a 5V.
  3. Inversión lógica del sensor: Usar un sensor que está Abierto cuando está Vacío sin cambiar la lógica del circuito. Esto causaría que la luz esté ENCENDIDA cuando el tanque está lleno. Asegúrese de que la acción mecánica coincida con la tabla de verdad.

Solución de problemas

Posibles mejoras y extensiones

  1. Alerta de audio: Agregue un zumbador activo de 5V en paralelo con la combinación LED/Resistencia para proporcionar una alarma audible cuando el tanque esté vacío.
  2. Histéresis: Reemplace el 74HC04 con un 74HC14 (Inversor Schmitt Trigger). Esto evita que el LED parpadee si el nivel del agua está justo en el umbral de conmutación.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




Pregunta 2: ¿Qué componente principal se utiliza para realizar la inversión lógica en este circuito?




Pregunta 3: ¿Cuál es el estado del LED cuando el sensor detecta que hay agua presente (entrada Lógica 1)?




Pregunta 4: ¿Qué función cumple la resistencia R1 de 10 kΩ en el circuito?




Pregunta 5: ¿Cómo debe comportarse el sensor (interruptor) para que el LED se encienda según el diseño?




Pregunta 6: ¿Qué voltaje de entrada ($V_{in}$) activa la alerta visual (LED encendido)?




Pregunta 7: ¿Cuál es el propósito del condensador cerámico C1 de 100 nF mencionado en la lista de materiales?




Pregunta 8: ¿Qué aplicación de seguridad doméstica se menciona específicamente para este circuito?




Pregunta 9: ¿Qué función cumple la resistencia R2 de 330 Ω?




Pregunta 10: Si el tanque está vacío, ¿qué nivel lógico recibe la entrada del inversor?




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:
¿Quiénes somos?


Caso práctico: Desactivación de emergencia

Prototipo de Desactivación de emergencia (Maker Style)

Nivel: Básico. Construye un circuito de seguridad que corte una señal de ‘Listo’ instantáneamente cuando se presiona un botón de parada.

Objetivo y caso de uso

En este tutorial, construirás un circuito de lógica digital que invierte una señal de entrada. Específicamente, un indicador de «Sistema Listo» (LED verde) permanecerá activo por defecto y se apagará inmediatamente cuando se presione un pulsador de emergencia.

Materiales

Pin-out del CI utilizado

Chip seleccionado: 74HC04 (Hex Inverter)

Pin Nombre Función lógica Conexión en este caso
14 VCC Fuente de alimentación (+5V) Conectar al riel de 5 V
7 GND Tierra (0V) Conectar al riel de 0 V
1 1A Entrada 1 Conectar al pulsador y resistencia pull-down
2 1Y Salida 1 Conectar a la resistencia del LED (R2)

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos (Nodos: VCC, 0, V_IN, V_OUT):

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

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

    [ V1: 5V Supply ] --(Power VCC)--------> [ U1 Power: Pin 14 ]

    [ S1: Pushbutton ] --(Press = 5V)--+
    (Emergency Trig)                   |
                                       v
                                  [ Node V_IN ] --(Pin 1)--> [   U1: 74HC04   ] --(Pin 2)--> [ R2: 330 Ohm ] --> [ D1: Green LED ] --> [ GND ]
                                       ^                     [ Hex Inverter IC]              (Current Limit)     (System Ready)
                                       |                     [   (NOT Gate)   ]
    [ R1: 10k Resistor ] --(Open = 0V)-+                     [  GND: Pin 7    ]
    (Pull-down to GND)                                             |
                                                                   v
                                                                [ GND ]
Esquema Eléctrico

Tabla de verdad

El 74HC04 implementa la función booleana NOT ($Y = \overline{A}$).

Estado del botón Voltaje de entrada (V_IN) Entrada lógica (A) Salida lógica (Y) Estado del LED
Soltado 0 V (Pulled down) 0 1 ENCENDIDO
Presionado 5 V (VCC) 1 0 APAGADO

Mediciones y pruebas

Sigue estos pasos para validar la lógica de desactivación de emergencia:

  1. Verificación en reposo:

    • Asegúrate de que la fuente de alimentación esté encendida. No toques el botón.
    • Visual: El LED verde debería estar encendido.
    • Medición: Usa un multímetro para medir el voltaje en V_IN (Pin 1). Debería ser aprox 0 V.
    • Medición: Mide el voltaje en V_OUT (Pin 2). Debería ser aprox 5 V (Lógica Alta).
  2. Verificación de activación:

    • Presiona y mantén el pulsador S1.
    • Visual: El LED verde debe apagarse inmediatamente.
    • Medición: El voltaje en V_IN debería subir a 5 V.
    • Medición: El voltaje en V_OUT debería caer a aprox 0 V (Lógica Baja).

Netlist SPICE y simulación

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

* Practical case: Emergency deactivation
* Circuit: Inverter Logic (NOT Gate) with LED Indicator

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

* --- Input Stage (Button Logic) ---
* Components: S1 (Pushbutton), R1 (Pull-down)
* Connectivity: S1 connects VCC to V_IN. R1 connects V_IN to 0.
* Logic: 
*   - Button Released (Default): S1 Open -> V_IN pulled to 0V by R1.
*   - Button Pressed (Emergency): S1 Closed -> V_IN pulled to 5V (VCC).

* Simulation of S1 (Normally Open Pushbutton):
* Modeled as a Voltage-Controlled Switch (S1) driven by SW_CTRL.
* Vt=2.5V ensures switch closes when control signal is 5V.
S1 VCC V_IN SW_CTRL 0 SW_BTN
.model SW_BTN SW(Vt=2.5 Vh=0.1 Ron=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.

* Practical case: Emergency deactivation
* Circuit: Inverter Logic (NOT Gate) with LED Indicator

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

* --- Input Stage (Button Logic) ---
* Components: S1 (Pushbutton), R1 (Pull-down)
* Connectivity: S1 connects VCC to V_IN. R1 connects V_IN to 0.
* Logic: 
*   - Button Released (Default): S1 Open -> V_IN pulled to 0V by R1.
*   - Button Pressed (Emergency): S1 Closed -> V_IN pulled to 5V (VCC).

* Simulation of S1 (Normally Open Pushbutton):
* Modeled as a Voltage-Controlled Switch (S1) driven by SW_CTRL.
* Vt=2.5V ensures switch closes when control signal is 5V.
S1 VCC V_IN SW_CTRL 0 SW_BTN
.model SW_BTN SW(Vt=2.5 Vh=0.1 Ron=1 Roff=10Meg)

* Control Signal (User Finger Simulation):
* Generates a pulse: 0V (Released) -> 5V (Pressed) -> 0V (Released).
* Timeline: Idle for 100us, Press for 300us, then Release.
V_BTN_CTRL SW_CTRL 0 PULSE(0 5 100u 1u 1u 300u 1000u)

* R1: 10k Pull-down resistor
R1 V_IN 0 10k

* --- Logic Stage (U1) ---
* Component: 74HC04 Hex Inverter
* Connectivity: Pin 1 (Input) -> V_IN, Pin 2 (Output) -> V_OUT.
* Power: Pin 14 -> VCC, Pin 7 -> 0.
XU1 V_IN V_OUT 0 VCC 74HC04_INV

* Subcircuit for 74HC04 Inverter
* Behavioral model: Output is High when Input is Low.
* Uses a sigmoid function for smooth switching and convergence.
.subckt 74HC04_INV In Out Gnd Vcc
B1 Out Gnd V = V(Vcc,Gnd) / (1 + exp(50 * (V(In,Gnd) - V(Vcc,Gnd)/2)))
.ends

* --- Output Stage (Indicator) ---
* Components: R2 (Resistor), D1 (Green LED)
* Connectivity: V_OUT -> R2 -> LED_ANODE -> D1 -> 0
* Logic: 
*   - V_IN=0 (Ready) -> V_OUT=5 -> LED ON.
*   - V_IN=5 (Emergency) -> V_OUT=0 -> LED OFF.

R2 V_OUT LED_ANODE 330

* D1: Green LED
D1 LED_ANODE 0 LED_GREEN
.model LED_GREEN D(Is=1e-22 Rs=5 N=1.5 Cjo=10p Vj=0.75 M=0.33 BV=5 Ibv=10u)

* --- Simulation Directives ---
* Transient analysis to observe the button press event
.tran 10u 600u

* Output data for analysis
.print tran V(V_IN) V(V_OUT) V(LED_ANODE) V(SW_CTRL)

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (260 rows)
Index   time            v(v_in)         v(v_out)        v(led_anode)
0	0.000000e+00	4.995005e-03	5.000000e+00	1.833072e+00
1	6.000000e-08	4.995005e-03	5.000000e+00	1.833072e+00
2	1.200000e-07	4.995005e-03	5.000000e+00	1.833072e+00
3	2.400000e-07	4.995005e-03	5.000000e+00	1.833072e+00
4	4.800000e-07	4.995005e-03	5.000000e+00	1.833072e+00
5	9.600000e-07	4.995005e-03	5.000000e+00	1.833072e+00
6	1.920000e-06	4.995005e-03	5.000000e+00	1.833072e+00
7	3.840000e-06	4.995005e-03	5.000000e+00	1.833072e+00
8	7.680000e-06	4.995005e-03	5.000000e+00	1.833072e+00
9	1.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
10	2.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
11	3.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
12	4.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
13	5.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
14	6.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
15	7.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
16	8.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
17	9.536000e-05	4.995005e-03	5.000000e+00	1.833072e+00
18	1.000000e-04	4.995005e-03	5.000000e+00	1.833072e+00
19	1.001000e-04	4.995005e-03	5.000000e+00	1.833072e+00
20	1.002750e-04	4.995005e-03	5.000000e+00	1.833072e+00
21	1.003234e-04	4.995005e-03	5.000000e+00	1.833072e+00
22	1.004082e-04	4.995005e-03	5.000000e+00	1.833072e+00
23	1.004317e-04	4.995005e-03	5.000000e+00	1.833072e+00
... (236 more rows) ...

Errores comunes y cómo evitarlos

  1. Entrada flotante: Omitir R1 (resistencia pull-down) hace que la entrada quede flotando cuando se suelta el botón.
    • Solución: Asegúrate siempre de que el pin de entrada esté conectado a GND a través de una resistencia (p. ej., 10 kΩ) cuando el interruptor esté abierto.
  2. LED invertido: El LED no se enciende incluso cuando la salida está en Alto.
    • Solución: Verifica la polaridad de D1. La pata más larga (Ánodo) debe mirar hacia la resistencia/salida del CI; la pata más corta (Cátodo) va a Tierra.
  3. Cortocircuito en la alimentación: Conectar el botón directamente entre VCC y GND sin la entrada de la compuerta en medio o cablear el botón en paralelo con la fuente.
    • Solución: Sigue la lista de nodos cuidadosamente. El botón conecta VCC al Pin de Entrada, no directamente a Tierra.

Solución de problemas

Posibles mejoras y extensiones

  1. Agregar un indicador de «Parada»: Agrega un segundo inversor (o usa otra compuerta del mismo chip) para controlar un LED rojo que se ENCIENDA cuando el sistema esté detenido (Salida Alta cuando Entrada Alta).
  2. Circuito de enclavamiento: Reemplaza la compuerta NOT simple con un circuito lógico Flip-Flop para que, una vez presionado el botón de emergencia, el sistema permanezca apagado incluso si se suelta el botón, requiriendo un botón de «Reinicio» separado.

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 tutorial?




Pregunta 2: ¿Qué sucede con el LED verde en el 'Estado de reposo' (cuando el botón NO está presionado)?




Pregunta 3: ¿Qué sucede en el 'Estado activo' cuando se presiona el botón?




Pregunta 4: ¿Por qué es útil este circuito en el contexto de la seguridad industrial?




Pregunta 5: ¿Qué concepto asegura que un sistema vuelva a un estado 'seguro' (apagado) ante una intervención activa?




Pregunta 6: ¿Cuál es el rango de voltaje de señal mencionado para la entrada?




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




Pregunta 8: ¿Cómo se comportan los sensores (como contactos de puerta) en sistemas de seguridad según el texto?




Pregunta 9: ¿Qué lógica digital representa el estado 'NO presionado' del botón?




Pregunta 10: ¿Qué función cumple el circuito respecto a la señal de 'Listo'?




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:
¿Quiénes somos?


Caso práctico: Sensor de oscuridad automático

Prototipo de Sensor de oscuridad automático (Maker Style)

Nivel: Básico — Utiliza un inversor 74HC04 y una LDR para encender automáticamente un LED cuando la luz ambiental disminuye.

Objetivo y caso de uso

Construirás un circuito de control de luz automático que detecta la oscuridad utilizando una fotorresistencia (LDR) y activa un LED usando un inversor digital 74HC04.

Materiales

Pin-out del CI utilizado

Chip: 74HC04 (Inversor séxtuple)

Pin Nombre Función lógica Conexión en este caso
14 VCC Alimentación (+) Conectar a VCC (5V)
7 GND Tierra (-) Conectar a 0 (GND)
1 1A Entrada Conectar al nodo del sensor VSENSE
2 1Y Salida Conectar al nodo del LED VOUT

(Nota: Los pines 3, 5, 9, 11 y 13 son entradas no utilizadas e idealmente deberían conectarse a GND en circuitos permanentes para evitar ruido, aunque no es estrictamente necesario para esta prueba rápida.)

Guía de conexionado

Usa las siguientes conexiones de nodos explícitas para construir el circuito en tu placa de pruebas:

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

[ INPUT / SENSOR STAGE ]               [ LOGIC STAGE ]                  [ OUTPUT STAGE ]

 [ VCC ] --> [ R1: LDR (Sensor) ] --+
                                    |
                                    v
                               [ VSENSE ] --(Pin 1)--> [ U1: 74HC04 ] --(Pin 2)--> [ R3: 330 Ohm ] --> [ D1: LED ] --> GND
                                    ^                  [  NOT Gate  ]
                                    |
 [ GND ] --> [ R2: Pot (Calib) ] ---+
Esquema Eléctrico

Tabla de verdad

El 74HC04 invierte la señal de entrada. Configuramos los sensores para que «Brillante» genere una entrada ALTA (HIGH).

Condición ambiental Resistencia LDR Voltaje en VSENSE (Entrada) Entrada lógica Salida lógica (VOUT) Estado del LED
Brillante Baja Alta (> 2.5V) 1 0 (GND) APAGADO
Oscuro Alta Baja (< 1.5V) 0 1 (5V) ENCENDIDO

Mediciones y pruebas

  1. Calibración: Exponer la LDR a la luz normal de la habitación. Ajustar el potenciómetro R2 hasta que el LED se APAGUE.
  2. Verificación de voltaje (Brillante): Medir el voltaje entre VSENSE y GND. Debería estar cerca de 5V (Lógica 1). La salida en VOUT debería estar cerca de 0V.
  3. Activación: Cubrir la LDR con la mano para simular oscuridad.
  4. Verificación de voltaje (Oscuro): Medir VSENSE nuevamente. Debería caer hacia 0V (Lógica 0). La salida VOUT debería saltar a aprox. 5V, encendiendo el LED.

Netlist SPICE y simulación

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

* Practical case: Automatic darkness sensor

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

* --- Subcircuits ---
* 74HC04 Hex Inverter Model (Behavioral)
* Pins: 1=Input, 2=Output, 7=GND, 14=VCC
* Maps to subckt args: In Out GND VCC
.subckt 74HC04 In Out GND VCC
  * Robust Sigmoid Transfer Function for Inverter
  * Threshold is VCC/2. Output swings between GND and VCC.
  * Formula: Vout = VCC * (1 / (1 + exp(50 * (V(In) - V(VCC)/2))))
  B_INV Out GND V = V(VCC) * (1 / (1 + exp(50 * (V(In) - V(VCC)/2))))
.ends

* --- Main Circuit Components ---

* 1. Power Supply
* ... (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: Automatic darkness sensor

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

* --- Subcircuits ---
* 74HC04 Hex Inverter Model (Behavioral)
* Pins: 1=Input, 2=Output, 7=GND, 14=VCC
* Maps to subckt args: In Out GND VCC
.subckt 74HC04 In Out GND VCC
  * Robust Sigmoid Transfer Function for Inverter
  * Threshold is VCC/2. Output swings between GND and VCC.
  * Formula: Vout = VCC * (1 / (1 + exp(50 * (V(In) - V(VCC)/2))))
  B_INV Out GND V = V(VCC) * (1 / (1 + exp(50 * (V(In) - V(VCC)/2))))
.ends

* --- Main Circuit Components ---

* 1. Power Supply
* V1: 5V DC supply
V1 VCC 0 DC 5

* 2. Sensor Stage (Voltage Divider)
* R1: LDR (Light Dependent Resistor)
* Implementation: A dummy R1 is placed to satisfy the BOM.
* A parallel behavioral source (B_LDR) implements the dynamic resistance change.
R1 VCC VSENSE 100Meg
B_LDR VCC VSENSE I = V(VCC, VSENSE) / V(RES_CTRL)

* R2: 10k Potentiometer (Sensitivity Calibration)
R2 VSENSE 0 10k

* Dynamic Stimulus for LDR (Simulates Light Conditions)
* Generates a control voltage representing Ohms.
* Pulse sweeps from 1k (Light) to 100k (Dark).
* Logic: Light(1k) -> VSENSE High -> LED OFF. Dark(100k) -> VSENSE Low -> LED ON.
V_LDR_CTRL RES_CTRL 0 PULSE(1k 100k 0 200u 200u 400u 2ms)

* 3. Logic Stage
* U1: 74HC04 Hex Inverter
* Connections: Pin 1 (In)=VSENSE, Pin 2 (Out)=VOUT, Pin 7=0, Pin 14=VCC
XU1 VSENSE VOUT 0 VCC 74HC04

* 4. Output Stage
* R3: LED Current Limiting Resistor (330 Ohm)
R3 VOUT LED_ANODE 330

* D1: Red LED
D1 LED_ANODE 0 DLED

* --- Analysis Directives ---
* Transient analysis to capture the Light/Dark transition
.tran 10u 2ms

* Print specific node voltages for validation
.print tran V(VSENSE) V(VOUT) V(LED_ANODE)

* Compute DC operating point
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (224 rows)
Index   time            v(vsense)       v(vout)         v(led_anode)
0	0.000000e+00	4.545459e+00	1.916016e-44	6.555013e-37
1	1.000000e-07	4.525005e+00	3.875543e-44	2.124754e-38
2	2.000000e-07	4.504821e+00	1.070470e-43	-1.98700e-38
3	4.000000e-07	4.464726e+00	4.391831e-43	-3.30922e-39
4	8.000000e-07	4.386087e+00	5.351931e-42	4.963938e-40
5	1.600000e-06	4.240174e+00	7.789996e-38	7.726704e-38
6	3.200000e-06	3.973321e+00	1.292803e-32	1.287493e-32
7	6.400000e-06	3.529123e+00	-6.61237e-21	-6.59876e-21
8	1.280000e-05	2.884261e+00	2.263832e-08	2.262430e-08
9	1.905731e-05	2.447108e+00	4.668386e+00	1.823995e+00
10	2.344117e-05	2.212214e+00	4.999997e+00	1.833723e+00
11	2.751655e-05	2.030989e+00	5.000000e+00	1.833029e+00
12	3.266976e-05	1.840361e+00	5.000000e+00	1.833116e+00
13	4.266976e-05	1.556825e+00	5.000000e+00	1.833028e+00
14	5.266976e-05	1.349010e+00	5.000000e+00	1.833116e+00
15	6.266976e-05	1.190157e+00	5.000000e+00	1.833028e+00
16	7.266976e-05	1.064784e+00	5.000000e+00	1.833116e+00
17	8.266976e-05	9.633175e-01	5.000000e+00	1.833028e+00
18	9.266976e-05	8.795141e-01	5.000000e+00	1.833116e+00
19	1.026698e-04	8.091310e-01	5.000000e+00	1.833028e+00
20	1.126698e-04	7.491835e-01	5.000000e+00	1.833116e+00
21	1.226698e-04	6.975110e-01	5.000000e+00	1.833028e+00
22	1.326698e-04	6.525106e-01	5.000000e+00	1.833116e+00
23	1.426698e-04	6.129684e-01	5.000000e+00	1.833028e+00
... (200 more rows) ...

Errores comunes y cómo evitarlos

  1. Intercambiar LDR y potenciómetro: Si intercambias R1 y R2, la lógica se invierte: la luz se ENCENDERÁ cuando haya claridad y se APAGARÁ cuando esté oscuro. Asegúrate de que la LDR esté conectada a VCC y el potenciómetro a GND.
  2. LED insertado al revés: Si D1 no se enciende cuando VOUT está alto, verifica la polaridad. La pata más larga (ánodo) debe mirar hacia la resistencia R3.
  3. Sensibilidad demasiado baja: Si el LED nunca se apaga, es posible que R2 esté ajustado a una resistencia demasiado alta, manteniendo el voltaje en VSENSE siempre alto. Gira la perilla para reducir la resistencia.

Solución de problemas

Posibles mejoras y extensiones

  1. Añadir histéresis: Reemplaza el 74HC04 con un 74HC14 (Inversor Schmitt Trigger). Esto evita el parpadeo cuando la luz transiciona lentamente (atardecer/amanecer).
  2. Carga de alta potencia: Conecta el pin de salida a un transistor (como un 2N2222) y un módulo de relé para conmutar una lámpara de escritorio de 110V/220V en lugar de un pequeño LED.

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 actúa como el sensor de luz en este proyecto?




Pregunta 3: ¿Qué función cumple el componente U1 (74HC04) en el circuito?




Pregunta 4: ¿Cuál es el estado esperado del LED cuando la LDR está expuesta a luz brillante?




Pregunta 5: ¿Qué componente se utiliza para calibrar la sensibilidad del circuito?




Pregunta 6: ¿A qué pin del chip 74HC04 se debe conectar la alimentación positiva (VCC)?




Pregunta 7: ¿Qué sucede con el voltaje en la entrada de la puerta lógica a medida que oscurece?




Pregunta 8: ¿Cuál es la función de la resistencia R3 de 330 Ω?




Pregunta 9: ¿Cuál de los siguientes es un caso de uso útil mencionado para este circuito?




Pregunta 10: ¿A qué pin del 74HC04 se debe conectar la Tierra (GND)?




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:
¿Quiénes somos?


Caso práctico: Alarma de puerta abierta

Prototipo de Alarma de puerta abierta (Maker Style)

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

Objetivo y caso de uso

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

Materiales

Pin-out del CI utilizado

Chip: 74HC04 (Inversor séxtuple)

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

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

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

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

Tabla de verdad

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

* ... (truncated in public view) ...

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

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

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

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

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

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

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

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

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

* --- Models and Subcircuits ---

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




Pregunta 2: ¿Qué componente lógico fundamental se utiliza en este proyecto?




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




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




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




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




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




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




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




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




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

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

Sígueme:
¿Quiénes somos?


Caso práctico: Monitoreo de fallas en línea de producción

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

Pin-out del CI utilizado

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

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

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Title: Production Line Fault Monitoring (OR Logic)

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

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

* Practical case: Production Line Fault Monitoring

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

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

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

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

* S2: Jam Sensor Switch
* Wiring: Connects VCC to VB (Pin 2). Modeled as Pulse Source with faster period.
* ... (truncated in public view) ...

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

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

* Practical case: Production Line Fault Monitoring

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

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

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

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

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

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

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

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

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

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

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

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




Pregunta 2: ¿Qué componente lógico se utiliza para combinar las señales de los dos sensores?




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




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




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




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




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




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




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




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




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

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

Sígueme:
¿Quiénes somos?


Caso práctico: Sistema de arranque de motor redundante

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

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

Objetivo y caso de uso

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

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

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

Materiales

Pin-out del CI utilizado

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

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

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Practical case: Redundant motor starter system

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

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

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

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

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

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

* ... (truncated in public view) ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

Posibles mejoras y extensiones

  1. Circuito de enclavamiento: Agregue un bucle de retroalimentación para que el motor permanezca encendido después de soltar el botón (estación de Marcha/Paro).
  2. Interbloqueo de seguridad: Agregue un 74HC08 (compuerta AND) en serie con un «Interruptor de seguridad» para que el motor solo funcione si la protección está cerrada Y se presiona un botón.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el componente principal utilizado para implementar la lógica de control en este circuito?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:
¿Quiénes somos?