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


Caso práctico: Control de seguridad con lógica inversa

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

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

Objetivo y caso de uso

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

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

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

Materiales

Pin-out del CI utilizado

Chip: 74HC04 (Inversor Hexagonal)

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

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

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

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

Tabla de verdad

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

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

Mediciones y pruebas

  1. Validación del estado inactivo:

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

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

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

Netlist SPICE y simulación

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

* Practical case: Safety control with inverse logic

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

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

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

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

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

* --- Logic Stage: U1 (74HC04 Hex Inverter) ---
* U1 Pin 14 connects to VCC
* U1 Pin 7 connects to 0
* U1 Pin 1 connects to SENSOR_IN
* U1 Pin 2 connects to MOTOR_CTRL
* Implemented using a Behavioral Source (B-Source) for robust logic simulation
* Logic: Inverts SENSOR_IN. Uses sigmoid function for convergence.
* ... (truncated in public view) ...

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

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

* Practical case: Safety control with inverse logic

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

Posibles mejoras y extensiones

  1. Circuito de seguridad con enclavamiento: Agregar un bucle de retroalimentación o un Latch SR para que una vez que se active la parada de emergencia, el motor permanezca apagado incluso si se suelta el botón (requiere un reinicio manual).
  2. Indicadores de estado: Agregar un LED rojo conectado al lado de entrada (con buffer) para indicar «ESTADO DE EMERGENCIA» visualmente junto con el apagado del motor.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




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




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

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

Sígueme:
¿Quiénes somos?


Caso práctico: Validación de código de seguridad simple

Prototipo de Validación de código de seguridad simple (Maker Style)

Nivel: Medio – Implementar un sistema de autenticación de doble interruptor para activar un mecanismo de cerradura electrónica.

Objetivo y caso de uso

En este proyecto, construirá un circuito de seguridad basado en hardware que controla una cerradura electrónica (solenoide) utilizando una compuerta AND 74HC08. El sistema valida que dos señales de autorización distintas estén presentes simultáneamente antes de conceder el acceso.

Por qué es útil:
* Enclavamientos de seguridad: Imita los controles de maquinaria industrial que requieren operación a dos manos para prevenir lesiones.
* Acceso de seguridad: Simula una «Autenticación de dos factores» (2FA) simplificada donde una llave y un código deben estar activos al mismo tiempo.
* Control lógico: Demuestra cómo interconectar compuertas lógicas de baja potencia con actuadores electromecánicos de alta potencia.

Resultado esperado:
* El Solenoide se activa (desbloquea) SOLO cuando tanto el Interruptor A COMO el Interruptor B están en estado ALTO (lógica 1).
* El LED indicador se enciende simultáneamente con la activación del solenoide.
* Salida lógica: Mide ~5V en la salida de la compuerta durante la activación y ~0V en caso contrario.
* Público objetivo: Estudiantes de electrónica de nivel intermedio familiarizados con la lógica digital básica.

Materiales

Pin-out del 74HC08

Chip seleccionado: 74HC08 (Cuatro compuertas AND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al Nodo VA (Interruptor S1)
2 1B Entrada B Conectado al Nodo VB (Interruptor S2)
3 1Y Salida Conectado al Nodo V_GATE
7 GND Tierra Conectado al Nodo 0
14 VCC Fuente de alimentación Conectado al Nodo VCC (+5V)

Guía de conexionado

Construya el circuito siguiendo estas conexiones de nodos explícitas:

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ INPUT SENSORS ]              [ LOGIC PROCESSING ]               [ OUTPUT ACTUATORS ]

                                                                     (Visual Status)
    [ Switch S1 ]                  +----------------+          +---> [ Resistor R4 ] --> [ LED D2 ] --> GND
    (w/ R1 Pull-down) --(Node VA)->|  Pin 1         |          |
                                   |                |          |
                                   |   U1: 74HC08   |--(V_GATE)+
                                   |   (AND Gate)   |  (Pin 3) |
                                   |                |          |
    [ Switch S2 ]                  |  Pin 2         |          |     (Solenoid Driver)
    (w/ R2 Pull-down) --(Node VB)->|                |          +---> [ Resistor R3 ] --> [ Transistor Q1 ]
                                   +----------------+                                         |
                                                                                         (Collector)
                                                                                              |
                                                                                              V
                                                                                     [ Solenoid L1 + Diode D1 ]
                                                                                     (Connected to VCC)
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico de la validación de código de seguridad simple
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Esta tabla describe el estado lógico de la salida del 74HC08 y el estado físico del solenoide.

Entrada A (S1) Entrada B (S2) Salida Y (V_GATE) Estado del solenoide
0 (Bajo) 0 (Bajo) 0 (Bajo) Bloqueado (OFF)
0 (Bajo) 1 (Alto) 0 (Bajo) Bloqueado (OFF)
1 (Alto) 0 (Bajo) 0 (Bajo) Bloqueado (OFF)
1 (Alto) 1 (Alto) 1 (Alto) Desbloqueado (ON)

Mediciones y pruebas

  1. Comprobación en reposo: Con ambos interruptores OFF, mida el voltaje en V_GATE. Debería ser cercano a 0 V. El solenoide debe estar relajado.
  2. Activación parcial: Encienda solo S1. Mida el voltaje en VA (debe ser 5 V) y VB (debe ser 0 V). Asegúrese de que V_GATE permanezca en 0 V.
  3. Activación completa: Encienda tanto S1 como S2.
    • Mida V_GATE: Debe leer ~5 V (Lógica Alta).
    • Observe L1: El solenoide debe retraerse/hacer clic.
    • Mida el voltaje en V_LOCK: Debe caer cerca de 0 V (voltaje de saturación de Q1), permitiendo que la corriente fluya desde VCC a través del solenoide.
  4. Consumo de corriente: Mida la corriente que sale de V1. Debe aumentar significativamente (p. ej., +100mA dependiendo del solenoide) solo cuando ambas entradas sean Altas.

Netlist SPICE y simulación

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

* Simple security code validation

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

* ==============================================================================
* INPUT STAGE (Switches & Pull-downs)
* ==============================================================================
* Note: S1 and S2 are simulated using Pulse Voltage Sources to generate 
* dynamic logic patterns for validation.
* R1 and R2 are included as physical pull-down resistors per BOM.

* Input A (S1)
* Generates a pulse: Low for 0.5ms, High for 1ms, Period 2ms
V_S1 VA 0 PULSE(0 5 0.5m 1u 1u 1m 2m)
R1 VA 0 10k

* Input B (S2)
* Generates a pulse: High for 2ms, Low for 2ms, Period 4ms
V_S2 VB 0 PULSE(0 5 0 1u 1u 2m 4m)
R2 VB 0 10k

* ==============================================================================
* LOGIC STAGE (U1: 74HC08 Quad AND Gate)
* ==============================================================================
* Subcircuit to model one gate of the 74HC08, exposing power pins.
* Uses continuous behavioral modeling (sigmoid) for convergence.
.subckt 74HC08_GATE IN1 IN2 OUT VCC_PIN GND_PIN
* ... (truncated in public view) ...

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

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

* Simple security code validation

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

* ==============================================================================
* INPUT STAGE (Switches & Pull-downs)
* ==============================================================================
* Note: S1 and S2 are simulated using Pulse Voltage Sources to generate 
* dynamic logic patterns for validation.
* R1 and R2 are included as physical pull-down resistors per BOM.

* Input A (S1)
* Generates a pulse: Low for 0.5ms, High for 1ms, Period 2ms
V_S1 VA 0 PULSE(0 5 0.5m 1u 1u 1m 2m)
R1 VA 0 10k

* Input B (S2)
* Generates a pulse: High for 2ms, Low for 2ms, Period 4ms
V_S2 VB 0 PULSE(0 5 0 1u 1u 2m 4m)
R2 VB 0 10k

* ==============================================================================
* LOGIC STAGE (U1: 74HC08 Quad AND Gate)
* ==============================================================================
* Subcircuit to model one gate of the 74HC08, exposing power pins.
* Uses continuous behavioral modeling (sigmoid) for convergence.
.subckt 74HC08_GATE IN1 IN2 OUT VCC_PIN GND_PIN
B_AND OUT GND_PIN V = V(VCC_PIN) * (1 / (1 + exp(-20*(V(IN1)-2.5)))) * (1 / (1 + exp(-20*(V(IN2)-2.5))))
.ends

* Instantiate U1 (only one gate used: Inputs 1A, 1B -> Output 1Y)
* Pin 1=VA, Pin 2=VB, Pin 3=V_GATE, Pin 14=VCC, Pin 7=0 (GND)
XU1 VA VB V_GATE VCC 0 74HC08_GATE

* ==============================================================================
* INDICATOR STAGE
* ==============================================================================
* R4 limits current to LED D2
R4 V_GATE LED_A 330
D2 LED_A 0 LED_GREEN

* ==============================================================================
* OUTPUT STAGE (Actuator Driver)
* ==============================================================================
* Base resistor
R3 V_GATE Q1_B 1k

* Transistor Q1 (2N2222)
* Collector -> V_LOCK, Base -> Q1_B, Emitter -> 0
Q1 V_LOCK Q1_B 0 2N2222

* Solenoid L1 (Modeled as Inductor + Series Resistor)
* 5V / 100mA = 50 Ohm DC resistance. Inductance approx 10mH.
* Connected between VCC and V_LOCK.
R_L1 VCC INT_SOL 50
L1 INT_SOL V_LOCK 10mH

* Flyback Diode D1
* Cathode to VCC, Anode to V_LOCK
D1 V_LOCK VCC 1N4007

* ==============================================================================
* MODELS
* ==============================================================================
.model 2N2222 NPN (IS=1E-14 BF=200 VAF=100 CJC=8p CJE=25p TR=400n TF=1n)
.model 1N4007 D (IS=1N RS=0.1 BV=1000 IBV=10u N=1.7)
.model LED_GREEN D (IS=1e-22 RS=5 N=1.5 BV=5 IBV=10u CJO=10p)

* ==============================================================================
* SIMULATION COMMANDS
* ==============================================================================
.op
.tran 10u 5m

* Print logic states and output voltage
.print tran V(VA) V(VB) V(V_GATE) V(V_LOCK)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (4960 rows)
Index   time            v(va)           v(vb)           v(v_gate)
0	0.000000e+00	0.000000e+00	0.000000e+00	1.860038e-43
1	1.000000e-08	0.000000e+00	5.000000e-02	3.720076e-43
2	2.000000e-08	0.000000e+00	1.000000e-01	1.011221e-42
3	4.000000e-08	0.000000e+00	2.000000e-01	4.123178e-42
4	8.000000e-08	0.000000e+00	4.000000e-01	5.077732e-41
5	1.600000e-07	0.000000e+00	8.000000e-01	4.990226e-39
6	3.200000e-07	0.000000e+00	1.600000e+00	2.809846e-35
7	6.400000e-07	0.000000e+00	3.200000e+00	4.846845e-28
8	1.000000e-06	0.000000e+00	5.000000e+00	9.644030e-22
9	1.064000e-06	0.000000e+00	5.000000e+00	9.643749e-22
10	1.192000e-06	0.000000e+00	5.000000e+00	9.643749e-22
11	1.448000e-06	0.000000e+00	5.000000e+00	9.643749e-22
12	1.960000e-06	0.000000e+00	5.000000e+00	9.643749e-22
13	2.984000e-06	0.000000e+00	5.000000e+00	9.643749e-22
14	5.032000e-06	0.000000e+00	5.000000e+00	9.643749e-22
15	9.128000e-06	0.000000e+00	5.000000e+00	9.643749e-22
16	1.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
17	2.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
18	3.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
19	4.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
20	5.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
21	6.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
22	7.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
23	8.732000e-05	0.000000e+00	5.000000e+00	9.643749e-22
... (4936 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar las resistencias R1 o R2 hace que las entradas «floten», lo que lleva a un disparo errático de la cerradura causado por la electricidad estática. Utilice siempre resistencias pull-down con lógica CMOS como la serie 74HC.
  2. Conducir el solenoide directamente: Conectar el solenoide directamente al pin de salida del 74HC08 (pin 3). El chip solo puede suministrar ~20mA, mientras que un solenoide necesita >100mA. Esto destruirá el chip. Utilice siempre un transistor controlador (Q1).
  3. Omitir el diodo Flyback: Olvidar D1 a través del solenoide. Cuando el solenoide se apaga, genera un pico de alto voltaje (fuerza contraelectromotriz) que destruye el transistor instantáneamente.

Solución de problemas

Posibles mejoras y extensiones

  1. Agregar un temporizador: Alimente la salida del 74HC08 a un temporizador 555 (modo monoestable) para que la cerradura permanezca abierta durante 5 segundos incluso si el usuario suelta los interruptores inmediatamente.
  2. Ampliar la seguridad: Conecte en cascada un segundo 74HC08 para agregar un tercer interruptor (Interruptor A AND Interruptor B AND Interruptor C) para una mayor seguridad.

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 el núcleo del sistema de validación?




Pregunta 3: ¿Qué condición debe cumplirse para que el solenoide se active?




Pregunta 4: ¿Qué función cumple el LED indicador en el circuito?




Pregunta 5: ¿Qué voltaje aproximado se espera en la salida lógica durante la activación correcta?




Pregunta 6: ¿Qué tipo de aplicación industrial imita este circuito?




Pregunta 7: ¿Qué concepto de seguridad informática simula este hardware?




Pregunta 8: ¿Qué demuestra este proyecto respecto a la interconexión de componentes?




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




Pregunta 10: ¿Qué representa el estado 'ALTO' en la lógica de los interruptores?




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 cinta transportadora

Prototipo de Sistema de arranque de cinta transportadora (Maker Style)

Nivel: Medio. Diseña un circuito de enclavamiento de seguridad que active una cinta transportadora solo cuando el operador esté presente y se detecte una carga.

Objetivo y caso de uso

En este caso práctico, construirás un circuito lógico de seguridad utilizando una compuerta AND 74HC08 para controlar la activación de un motor de CC mediante un relé. El sistema asegura que la cinta transportadora solo funcione cuando se cumplan simultáneamente dos condiciones de seguridad distintas.

Resultado esperado:
* Salida lógica: El pin de salida del 74HC08 pasa a estado ALTO (aprox. 5V) solo cuando ambas entradas están en ALTO.
* Estado del motor: El motor de CC se ENCIENDE solo cuando se mantiene presionado el botón del operador Y el sensor óptico detecta un objeto.
* Control de corriente: Un transistor amplifica la señal lógica débil para conmutar la bobina del relé de 5V.
* Público objetivo: Estudiantes de ingeniería y técnicos de mantenimiento (Nivel medio).

Materiales

Pin-out del CI utilizado

Chip: 74HC08 (Cuádruple compuerta AND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al botón del operador (S1)
2 1B Entrada B Conectado al sensor óptico (S2)
3 1Y Salida Conectado a la resistencia de base del transistor (R3)
7 GND Tierra Conectado a 0V (GND)
14 VCC Alimentación Conectado a +5V (VCC)

Nota: Los pines 4-6 y 8-13 no se utilizan en esta aplicación de una sola compuerta y técnicamente deberían conectarse a GND en un entorno sensible al ruido permanente, pero se dejan abiertos para este prototipo básico.

Guía de conexionado

Utiliza los siguientes nodos para tus conexiones: VCC, 0 (Tierra), OP_SIGNAL, LOAD_SIGNAL, LOGIC_OUT.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ INPUTS ]                       [ LOGIC ]                        [ OUTPUT STAGE ]

    (VCC)                                                                    (VCC)
      |                                                                        |
    [ S1: Operator ]--(OP_SIGNAL)-->+-------------+                       +----+----+
      |                             |  Pin 1 (A)  |                       | K1 Coil | (Parallel D1)
    [ R1: 10k ]                     |             |                       +----+----+
      |                             |   74HC08    |                            ^
    (GND)                           |     U1      |                            |
                                    |             |--(Pin 3)-->[ R3: 1k ]-->[ Q1: NPN ]
    (VCC)                           |             |          (LOGIC_OUT)       |
      |                             |             |                            v
    [ S2: Sensor ]--(LOAD_SIGNAL)-->|  Pin 2 (B)  |                          (GND)
      |                             |             |
    [ R2: 10k ]                     +-------------+                          (VCC)
      |                                    |                                   |
    (GND)                               [ C1 ]                           [ K1 Switch ]
                                           |                                   |
                                         (GND)                                 v
                                                                         [ M1: Motor ]
                                                                               |
                                                                             (GND)
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del sistema de arranque de cinta transportadora
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Esta tabla representa los estados lógicos requeridos para arrancar el motor.

Operador (S1) Carga detectada (S2) Salida U1 (Pin 3) Transistor Q1 Estado del motor
Bajo (0) Bajo (0) Bajo (0) OFF (Corte) PARO
Bajo (0) Alto (1) Bajo (0) OFF (Corte) PARO
Alto (1) Bajo (0) Bajo (0) OFF (Corte) PARO
Alto (1) Alto (1) Alto (1) ON (Sat) MARCHA

Mediciones y pruebas

Valida el funcionamiento del circuito utilizando un multímetro:

  1. Verificación de entradas: Mide el voltaje en OP_SIGNAL con respecto a GND. Debería ser 0V cuando S1 está abierto y 5V cuando está presionado. Repite para LOAD_SIGNAL (S2).
  2. Salida lógica: Con S1 y S2 activos, mide el voltaje en LOGIC_OUT. Debería ser aproximadamente igual a VCC (Lógica Alta). Si se suelta cualquiera de los dos, debería caer a ~0V.
  3. Corriente de base (I_b): Configura tu multímetro en modo Amperímetro. Colócalo en serie con R3. Cuando la lógica es Alta, deberías medir aproximadamente 4.3mA (calculado como $(5V – 0.7V) / 1000\Omega$). Esto confirma que el transistor está siendo excitado lo suficiente para saturarse.
  4. Actuación del relé: Escucha el «clic» del relé cuando ambas entradas estén activas. Mide el voltaje en los terminales del Motor; debería marcar 5V.

Netlist SPICE y simulación

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

* Title: Practical case: Conveyor belt start system

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

* --- Input S1: Operator Presence ---
* Component: Push button (NO) modeled as Voltage-Controlled Switch
* Wiring: VCC -> S1 -> OP_SIGNAL -> R1 -> 0
S1 VCC OP_SIGNAL CTRL_OP 0 SW_BTN
R1 OP_SIGNAL 0 10k
* Stimulus: Simulate button press (High) from t=1ms to t=4ms
V_ACT_S1 CTRL_OP 0 PULSE(0 5 1m 10u 10u 3m 10m)

* --- Input S2: Optical Load Sensor ---
* Component: Switch/Sensor modeled as Voltage-Controlled Switch
* Wiring: VCC -> S2 -> LOAD_SIGNAL -> R2 -> 0
S2 VCC LOAD_SIGNAL CTRL_LOAD 0 SW_BTN
R2 LOAD_SIGNAL 0 10k
* Stimulus: Simulate sensor active (High) from t=2ms to t=5ms
V_ACT_S2 CTRL_LOAD 0 PULSE(0 5 2m 10u 10u 3m 10m)

* --- Logic U1: 74HC08 Quad AND Gate ---
* Wiring: Pin 14=VCC, Pin 7=0, Pin 1=OP_SIGNAL, Pin 2=LOAD_SIGNAL, Pin 3=LOGIC_OUT
* Decoupling Capacitor C1
C1 VCC 0 100n
* Instantiation of Logic Gate Subcircuit
XU1 OP_SIGNAL LOAD_SIGNAL LOGIC_OUT VCC 0 74HC08_GATE

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

* Title: Practical case: Conveyor belt start system

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

* --- Input S1: Operator Presence ---
* Component: Push button (NO) modeled as Voltage-Controlled Switch
* Wiring: VCC -> S1 -> OP_SIGNAL -> R1 -> 0
S1 VCC OP_SIGNAL CTRL_OP 0 SW_BTN
R1 OP_SIGNAL 0 10k
* Stimulus: Simulate button press (High) from t=1ms to t=4ms
V_ACT_S1 CTRL_OP 0 PULSE(0 5 1m 10u 10u 3m 10m)

* --- Input S2: Optical Load Sensor ---
* Component: Switch/Sensor modeled as Voltage-Controlled Switch
* Wiring: VCC -> S2 -> LOAD_SIGNAL -> R2 -> 0
S2 VCC LOAD_SIGNAL CTRL_LOAD 0 SW_BTN
R2 LOAD_SIGNAL 0 10k
* Stimulus: Simulate sensor active (High) from t=2ms to t=5ms
V_ACT_S2 CTRL_LOAD 0 PULSE(0 5 2m 10u 10u 3m 10m)

* --- Logic U1: 74HC08 Quad AND Gate ---
* Wiring: Pin 14=VCC, Pin 7=0, Pin 1=OP_SIGNAL, Pin 2=LOAD_SIGNAL, Pin 3=LOGIC_OUT
* Decoupling Capacitor C1
C1 VCC 0 100n
* Instantiation of Logic Gate Subcircuit
XU1 OP_SIGNAL LOAD_SIGNAL LOGIC_OUT VCC 0 74HC08_GATE

* --- Driver Stage ---
* Wiring: LOGIC_OUT -> R3 -> Q1 Base
R3 LOGIC_OUT Q1_BASE 1k
* Wiring: Q1 Collector -> Relay Coil, Emitter -> 0
Q1 RELAY_COIL_LOW Q1_BASE 0 2N2222MOD

* --- Relay K1 ---
* Wiring: VCC -> Coil -> Q1 Collector (RELAY_COIL_LOW)
* Coil modeled as Inductance + Resistance
L_K1 VCC K1_INT 10m
R_K1 K1_INT RELAY_COIL_LOW 100

* Flyback Diode D1
* Wiring: Cathode to VCC, Anode to Q1 Collector
D1 RELAY_COIL_LOW VCC 1N4007MOD

* Relay Contact (Switch)
* Wiring: COM (VCC) -> NO (MOTOR_POS)
* Controlled by voltage across the coil: V(VCC) - V(RELAY_COIL_LOW)
* FIXED: Connected negative control node to Ground (0) to fix Singular Matrix error
E_K1_SENSE K1_CTRL_P 0 VOL = 'V(VCC) - V(RELAY_COIL_LOW)'
S_K1 VCC MOTOR_POS K1_CTRL_P 0 SW_RELAY

* --- Motor M1 ---
* Wiring: MOTOR_POS -> Motor -> 0
* Modeled as an inductive load
R_M1 MOTOR_POS M1_INT 10
L_M1 M1_INT 0 1m

* --- Models & Subcircuits ---

* Button/Sensor Switch Model
.model SW_BTN SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=10Meg)

* Relay Contact Switch Model (Activates when coil voltage > 3.5V)
.model SW_RELAY SW(Vt=3.5 Vh=0.5 Ron=0.05 Roff=100Meg)

* Transistor Model
.model 2N2222MOD NPN(IS=1E-14 BF=200 VAF=100 IKF=0.3 XTB=1.5 BR=3 CJC=8p CJE=25p)

* Diode Model
.model 1N4007MOD D(IS=7n RS=0.03 N=1.2 BV=1000 IBV=5u CJO=10p TT=100n)

* 74HC08 AND Gate Behavioral Model
* Pins: A B Y VCC GND
.subckt 74HC08_GATE A B Y VCC GND
* Continuous Sigmoid function for convergence: 5V * sigmoid(A) * sigmoid(B)
B_AND Y GND V = V(VCC) * (1 / (1 + exp(-50*(V(A)-2.5)))) * (1 / (1 + exp(-50*(V(B)-2.5))))
.ends

* --- Simulation Directives ---
.op
* Transient analysis: 10us step, 8ms total time
.tran 10u 8m
* Print required voltages
.print tran V(OP_SIGNAL) V(LOAD_SIGNAL) V(LOGIC_OUT) V(RELAY_COIL_LOW) V(MOTOR_POS)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

Solución de problemas

Posibles mejoras y extensiones

  1. Circuito de auto-enclavamiento: Reemplaza la lógica con un latch o añade un bucle de retroalimentación para que el operador pueda presionar un botón de «Inicio» una vez, y la cinta siga funcionando hasta que se presione «Parada» o se retire la carga.
  2. Parada de emergencia: Añade una compuerta NOT 74HC04 o utiliza una configuración NAND para incluir un botón de Parada de Emergencia «Normalmente Cerrado» que corte inmediatamente la alimentación del relé independientemente de otras entradas.

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 encargado del procesamiento lógico de seguridad en este circuito?




Pregunta 2: ¿Qué condiciones deben cumplirse simultáneamente para que el motor se encienda?




Pregunta 3: ¿Cuál es la función del componente S1 (Pulsador Normalmente Abierto) en el circuito?




Pregunta 4: ¿Qué voltaje aproximado tendrá la salida de la compuerta 74HC08 cuando ambas entradas estén en ALTO?




Pregunta 5: ¿Qué componente se utiliza para amplificar la señal lógica débil y conmutar la bobina del relé?




Pregunta 6: ¿Cuál es uno de los beneficios de eficiencia mencionados para este sistema?




Pregunta 7: ¿Qué función cumple el componente S2 (Interruptor o módulo de fototransistor)?




Pregunta 8: ¿Qué tipo de compuerta lógica es la 74HC08?




Pregunta 9: ¿Qué problema mecánico ayuda a prevenir este circuito de seguridad?




Pregunta 10: ¿Cuál es la aplicación en el mundo real descrita para este circuito?




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

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

Sígueme:
¿Quiénes somos?