Caso práctico: Enclavamiento de seguridad en un reactor químico

Prototipo de Enclavamiento de seguridad en un reactor químico (Maker Style)

Nivel: Avanzado. Diseñe un sistema de seguridad redundante que permita la inyección de catalizador solo cuando tres variables críticas estén dentro del rango.

Objetivo y caso de uso

En este caso, construirá un circuito lógico de enclavamiento de seguridad basado en hardware que monitorea tres parámetros analógicos simulados (Temperatura, Presión, Nivel). Utiliza comparadores para digitalizar estas señales y una disposición de puertas lógicas en cascada para controlar un relé de alta potencia.

Por qué es útil:
* Seguridad industrial: Evita que las reacciones químicas comiencen a menos que las condiciones ambientales sean perfectas, evitando eventos térmicos descontrolados.
* Protección de maquinaria: Asegura que las guardas estén cerradas, la presión liberada y los motores detenidos antes de desbloquear las puertas de mantenimiento.
* Dispositivos médicos: Evita la emisión de láser o radiación a menos que todos los enclavamientos (llave, contacto de puerta, sensor de paciente) estén activos.

Resultado esperado:
* Salida lógica: La señal de control final V_SAFE pasa a ALTO (Lógica 1, ~5V) solo cuando las tres entradas están dentro de la zona «Segura» simultáneamente.
* Indicación visual: El relé se activa (cerrando el circuito para la válvula de catalizador) y un LED verde se enciende solo en el estado 1-1-1.
* Histéresis: El sistema mantiene la estabilidad cerca de los umbrales de conmutación (dependiendo de la configuración del comparador).

Público objetivo: Estudiantes de ingeniería electrónica y técnicos de automatización industrial.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación lógica y de sensores.
  • U1: 74HC08, función: Cuádruple puerta AND de 2 entradas (usada para crear lógica de 3 entradas).
  • U2: LM339, función: Cuádruple comparador de colector abierto (digitaliza sensores analógicos).
  • R1: Potenciómetro de 10 kΩ, función: Simulador para Sensor de Temperatura.
  • R2: Potenciómetro de 10 kΩ, función: Simulador para Sensor de Presión.
  • R3: Potenciómetro de 10 kΩ, función: Simulador para Nivel de Tanque.
  • R_REF: Arreglo de resistencias de 10 kΩ (o potenciómetros), función: Divisores de voltaje para umbrales de referencia (2.5 V).
  • R_PU1: Resistencia de 4.7 kΩ, función: Pull-up para la salida del Comparador 1.
  • R_PU2: Resistencia de 4.7 kΩ, función: Pull-up para la salida del Comparador 2.
  • R_PU3: Resistencia de 4.7 kΩ, función: Pull-up para la salida del Comparador 3.
  • R_BASE: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor.
  • Q1: Transistor NPN 2N2222, función: Controlador del relé.
  • K1: Relé de 5 V, función: Actuador para la válvula de catalizador.
  • D1: Diodo 1N4007, función: Protección flyback para Q1.
  • D2: LED verde, función: Indicador para «Inyección Activa».
  • R_LED: Resistencia de 330 Ω, función: Limitación de corriente del LED.

Pin-out del CI utilizado

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

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A (Puerta 1) Conectado al Estado de Temperatura (SIG_TEMP)
2 1B Entrada B (Puerta 1) Conectado al Estado de Presión (SIG_PRES)
3 1Y Salida (Puerta 1) Resultado intermedio (Temp AND Pres)
4 2A Entrada A (Puerta 2) Conectado a 1Y (Resultado intermedio)
5 2B Entrada B (Puerta 2) Conectado al Estado de Nivel (SIG_LEV)
6 2Y Salida (Puerta 2) Señal de Seguridad Final (V_SAFE)
7 GND Tierra Conectado a la fuente de alimentación 0
14 VCC Alimentación Conectado a VCC (+5V)

Guía de conexionado

Fuente de alimentación
* V1 se conecta entre VCC y 0 (GND).
* U1 (74HC08) Pin 14 se conecta a VCC, Pin 7 a 0.
* U2 (LM339) Pin 3 (V+) se conecta a VCC, Pin 12 (GND) a 0.

Entradas analógicas y comparadores (Acondicionamiento de señal)
* R1 (Potenciómetro de Temp) se conecta entre VCC y 0; el cursor se conecta a U2 Entrada 1- (NODE_T_SENS).
* El divisor de referencia se conecta a U2 Entrada 1+ (NODE_REF).
* U2 Salida 1 se conecta a SIG_TEMP.
* R_PU1 se conecta entre VCC y SIG_TEMP (requerido para colector abierto).
* R2 (Potenciómetro de Pres) se conecta entre VCC y 0; el cursor se conecta a U2 Entrada 2- (NODE_P_SENS).
* El divisor de referencia se conecta a U2 Entrada 2+ (NODE_REF).
* U2 Salida 2 se conecta a SIG_PRES.
* R_PU2 se conecta entre VCC y SIG_PRES.
* R3 (Potenciómetro de Nivel) se conecta entre VCC y 0; el cursor se conecta a U2 Entrada 3- (NODE_L_SENS).
* El divisor de referencia se conecta a U2 Entrada 3+ (NODE_REF).
* U2 Salida 13 se conecta a SIG_LEV.
* R_PU3 se conecta entre VCC y SIG_LEV.

Lógica digital (Cascada para AND de 3 entradas)
* U1 Pin 1 (1A) se conecta a SIG_TEMP.
* U1 Pin 2 (1B) se conecta a SIG_PRES.
* U1 Pin 3 (1Y) se conecta a U1 Pin 4 (2A).
* U1 Pin 5 (2B) se conecta a SIG_LEV.
* U1 Pin 6 (2Y) se conecta a V_SAFE.

Etapa de salida
* R_BASE se conecta entre V_SAFE y NODE_BASE.
* La Base de Q1 se conecta a NODE_BASE.
* El Emisor de Q1 se conecta a 0.
* El Colector de Q1 se conecta a NODE_RELAY.
* K1 (Bobina del relé) se conecta entre VCC y NODE_RELAY.
* D1 se conecta entre NODE_RELAY (Ánodo) y VCC (Cátodo) Nota: Verifique la polaridad, cátodo al positivo para flyback.
* R_LED se conecta entre NODE_RELAY y NODE_LED_A.
* D2 se conecta entre NODE_LED_A y 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

Title: Practical case: Safety interlock in a chemical reactor

      [ SENSORS / INPUTS ]           [ SIGNAL CONDITIONING ]               [ LOGIC PROCESSING ]                  [ OUTPUT ACTUATOR STAGE ]

                                         (VCC / Pull-ups)                                                         (VCC 5V Source)
                                                |                                                                        |
    [ R1: Temp Pot ] --(Analog)--> [ U2: LM339 Comp 1 ] --(SIG_TEMP)-->+                                    +------------+------------+
    (Simulates Sensor)             [ Ref: 2.5V Divider]                |                                    |            |            |
                                                                       v                                [ K1 Relay ] [ D1 Diode ] [ R_LED ]
                                                                [ U1: 74HC08 ]                          [  Coil    ] [ Cathode^ ] [   +     ]
    [ R2: Pres Pot ] --(Analog)--> [ U2: LM339 Comp 2 ] --(SIG_PRES)-->[  AND Gate A  ] --(Intermed)--> |            [ Anode v  ] [ D2 LED  ]
    (Simulates Sensor)             [ Ref: 2.5V Divider]                [              ]       |         |            |            |
                                                                                              |         +------------+------------+
                                                                                              v                      |
                                                                                        [ U1: 74HC08 ]               | (NODE_RELAY)
                                                                                        [  AND Gate B  ]             v
    [ R3: Levl Pot ] --(Analog)--> [ U2: LM339 Comp 3 ] --(SIG_LEV)--->(Pin 5)--------->[              ] --(V_SAFE)--> [ R_BASE ] --> [ Q1: 2N2222 ]
    (Simulates Sensor)             [ Ref: 2.5V Divider]                                 [              ]                              [ NPN Base   ]
                                                                                                                                      [            ]
                                                                                                                                      [ Collector  ] --< (Sinks Current)
                                                                                                                                      [ Emitter    ]
                                                                                                                                             |
                                                                                                                                            GND
Esquema Eléctrico

Tabla de verdad

Esta tabla representa la lógica en cascada (Temp AND Presión AND Nivel).

Temp OK (A) Pres OK (B) Nivel OK (C) Intermedio (A·B) Salida Final (V_SAFE) Acción
0 0 0 0 0 Modo seguro (Apagado)
0 0 1 0 0 Modo seguro (Apagado)
0 1 0 0 0 Modo seguro (Apagado)
0 1 1 0 0 Modo seguro (Apagado)
1 0 0 0 0 Modo seguro (Apagado)
1 0 1 0 0 Modo seguro (Apagado)
1 1 0 1 0 Modo seguro (Apagado)
1 1 1 1 1 Inyectar catalizador

Mediciones y pruebas

  1. Prueba de sensor individual: Ajuste R1 (Temp) por debajo del umbral. Verifique que SIG_TEMP pase a ALTO (aprox 5V). Repita para R2 y R3.
  2. Validación de la lógica: Establezca Temp y Presión en «Seguro» (Lógica alta), pero Nivel en «Inseguro» (Lógica baja). Mida U1 Pin 3 (Intermedio); debería estar en ALTO. Mida U1 Pin 6 (V_SAFE); debería estar en BAJO.
  3. Activación completa: Establezca los tres potenciómetros en el rango «Seguro». Verifique que V_SAFE esté en ALTO, Q1 se sature y el Relé (K1) haga clic en «Encendido».
  4. Tiempo de respuesta: Conecte el canal 1 de un osciloscopio a SIG_LEV y el canal 2 a V_SAFE. Conmute el interruptor de Nivel y mida el retardo de propagación (típicamente nanosegundos para la puerta, milisegundos para el relé).

Netlist SPICE y simulación

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

* Practical case: Safety interlock in a chemical reactor

* --- Models ---
* Generic NPN Transistor
.model 2N2222MOD NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8E-12 CJE=25E-12 TR=46.91E-9 TF=411.1E-12 ITF=0.6 VTF=1.7 XTF=3 RB=10 RC=1 RE=0.1)
* Flyback Diode
.model D1N4007 D(IS=7.02767n RS=0.03415 N=1.2686 EG=1.11 XTI=3 BV=1000 IBV=10m CJO=10p VJ=0.7 M=0.5 FC=0.5 TT=100n)
* Green LED Indicator
.model LED_GREEN D(IS=1e-22 RS=5 N=1.5 CJO=50p BV=5 IBV=10u EG=2.1)
* Voltage Controlled Switch for Open Collector Comparator
* Vt=0: Switch state changes when control voltage crosses 0V
* Ron=10: Low resistance when closed (Logic 0 / Low)
* Roff=100Meg: High resistance when open (Logic 1 / High via Pull-up)
.model SW_OC SW(Vt=0 Vh=0.001 Ron=10 Roff=100Meg)

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

* --- Reference Voltage (R_REF) ---
* Function: Voltage dividers for reference thresholds (2.5 V)
* Wiring: Reference divider connects to U2 Input + (NODE_REF)
R_REF_A VCC NODE_REF 10k
R_REF_B NODE_REF 0 10k

* --- Sensors (Simulated with PWL Voltage Sources) ---
* R1, R2, R3 Potentiometers simulated by PWL sources at the wiper nodes.
* Logic: Low Voltage (<2.5V) = Safe. High Voltage (>2.5V) = Unsafe/Alarm.
* Sequence: T=Safe, then Temp Fault, then Pres Fault, then Level Fault.

* ... (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 interlock in a chemical reactor

* --- Models ---
* Generic NPN Transistor
.model 2N2222MOD NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8E-12 CJE=25E-12 TR=46.91E-9 TF=411.1E-12 ITF=0.6 VTF=1.7 XTF=3 RB=10 RC=1 RE=0.1)
* Flyback Diode
.model D1N4007 D(IS=7.02767n RS=0.03415 N=1.2686 EG=1.11 XTI=3 BV=1000 IBV=10m CJO=10p VJ=0.7 M=0.5 FC=0.5 TT=100n)
* Green LED Indicator
.model LED_GREEN D(IS=1e-22 RS=5 N=1.5 CJO=50p BV=5 IBV=10u EG=2.1)
* Voltage Controlled Switch for Open Collector Comparator
* Vt=0: Switch state changes when control voltage crosses 0V
* Ron=10: Low resistance when closed (Logic 0 / Low)
* Roff=100Meg: High resistance when open (Logic 1 / High via Pull-up)
.model SW_OC SW(Vt=0 Vh=0.001 Ron=10 Roff=100Meg)

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

* --- Reference Voltage (R_REF) ---
* Function: Voltage dividers for reference thresholds (2.5 V)
* Wiring: Reference divider connects to U2 Input + (NODE_REF)
R_REF_A VCC NODE_REF 10k
R_REF_B NODE_REF 0 10k

* --- Sensors (Simulated with PWL Voltage Sources) ---
* R1, R2, R3 Potentiometers simulated by PWL sources at the wiper nodes.
* Logic: Low Voltage (<2.5V) = Safe. High Voltage (>2.5V) = Unsafe/Alarm.
* Sequence: T=Safe, then Temp Fault, then Pres Fault, then Level Fault.

* R1: Temp Sensor Simulator
V_SENS_T NODE_T_SENS 0 PWL(0 1 100u 1 101u 4 200u 4 201u 1)

* R2: Pressure Sensor Simulator
V_SENS_P NODE_P_SENS 0 PWL(0 1 300u 1 301u 4 400u 4 401u 1)

* R3: Tank Level Simulator
V_SENS_L NODE_L_SENS 0 PWL(0 1 500u 1 501u 4 600u 4 601u 1)

* --- U2: LM339 Quad Comparator ---
* Function: Digitizes analog sensors. Open Collector Outputs.
* Logic: If V(In-) > V(In+), Switch closes to Ground (Output Low).
*        Else Switch opens (Output High via Pull-up).

* Comparator 1 (Temperature)
* Wiring: Wiper (NODE_T_SENS) to Input 1-, Ref to Input 1+, Output to SIG_TEMP
S_COMP1 SIG_TEMP 0 NODE_T_SENS NODE_REF SW_OC
* R_PU1: Pull-up for Comparator 1
R_PU1 VCC SIG_TEMP 4.7k

* Comparator 2 (Pressure)
* Wiring: Wiper (NODE_P_SENS) to Input 2-, Ref to Input 2+, Output to SIG_PRES
S_COMP2 SIG_PRES 0 NODE_P_SENS NODE_REF SW_OC
* R_PU2: Pull-up for Comparator 2
R_PU2 VCC SIG_PRES 4.7k

* Comparator 3 (Level)
* Wiring: Wiper (NODE_L_SENS) to Input 3-, Ref to Input 3+, Output to SIG_LEV
S_COMP3 SIG_LEV 0 NODE_L_SENS NODE_REF SW_OC
* R_PU3: Pull-up for Comparator 3
R_PU3 VCC SIG_LEV 4.7k

* --- U1: 74HC08 Quad 2-input AND ---
* Function: Safety Logic.
* Modeled using Behavioral Sources (Sigmoid function for HC logic levels).

* Gate 1 (Pins 1, 2, 3)
* Inputs: SIG_TEMP, SIG_PRES. Output: NODE_AND_INT
B_AND1 NODE_AND_INT 0 V = 5 * (1 / (1 + exp(-20*(V(SIG_TEMP)-2.5)))) * (1 / (1 + exp(-20*(V(SIG_PRES)-2.5))))

* Gate 2 (Pins 4, 5, 6)
* Inputs: NODE_AND_INT (Pin 4 connects to Pin 3), SIG_LEV. Output: V_SAFE
B_AND2 V_SAFE 0 V = 5 * (1 / (1 + exp(-20*(V(NODE_AND_INT)-2.5)))) * (1 / (1 + exp(-20*(V(SIG_LEV)-2.5))))

* --- Output Stage ---

* R_BASE: Transistor base current limiting
R_BASE V_SAFE NODE_BASE 1k

* Q1: 2N2222 NPN Transistor, Relay driver
* Wiring: Base to NODE_BASE, Emitter to 0, Collector to NODE_RELAY
Q1 NODE_RELAY NODE_BASE 0 2N2222MOD

* K1: 5 V Relay Coil
* Wiring: Connects between VCC and NODE_RELAY
* Modeled as Inductor and Series Resistor
L_K1 VCC NODE_RELAY_INT 10m
R_K1 NODE_RELAY_INT NODE_RELAY 100

* D1: Flyback protection
* Wiring: Anode to NODE_RELAY, Cathode to VCC
D1 NODE_RELAY VCC D1N4007

* D2 & R_LED: Indicator "Injection Active"
* Corrected Wiring: LED should be parallel to Relay Coil to indicate Activation.
* Path: VCC -> Resistor -> LED Anode -> LED Cathode -> Collector (NODE_RELAY).
* When Q1 is ON (Relay Active), NODE_RELAY is Low (~0.2V), LED turns ON.
R_LED VCC NODE_LED_A 330
D2 NODE_LED_A NODE_RELAY LED_GREEN

* --- Analysis Directives ---
* Transient analysis to observe the sequence of sensor faults
.tran 1u 800u

* Print required signals
.print tran V(NODE_T_SENS) V(NODE_P_SENS) V(NODE_L_SENS)
.print tran V(SIG_TEMP) V(SIG_PRES) V(SIG_LEV)
.print tran V(NODE_AND_INT) V(V_SAFE)
.print tran V(NODE_RELAY) V(NODE_BASE)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Faltan resistencias pull-up: El comparador LM339 tiene una salida de colector abierto. Si olvida R_PU1/2/3, las entradas de la puerta lógica flotarán o permanecerán en BAJO. Siempre ate las salidas a VCC a través de una resistencia (p. ej., 4.7kΩ).
  2. Entradas no utilizadas flotantes: El 74HC08 es un dispositivo CMOS. Si los pines 9, 10, 12, 13 (Puertas 3 y 4) se dejan flotando, captan ruido y aumentan el consumo de energía. Conecte las entradas no utilizadas a GND.
  3. Patada inductiva (Kickback): Omitir D1 (diodo flyback) a través de la bobina del relé. Esto generará un pico de alto voltaje cuando el relé se apague, destruyendo el transistor Q1 inmediatamente.

Solución de problemas

  • El relé vibra (sonido de zumbido): Las entradas analógicas oscilan exactamente en el voltaje umbral. Solución: Agregue una resistencia de retroalimentación (histéresis) entre la salida del comparador y la entrada no inversora.
  • La salida lógica siempre está en ALTO: Verifique las entradas del comparador. Si el voltaje de referencia está invertido (p. ej., Ref > Señal vs Señal > Ref), la lógica podría estar invertida.
  • El transistor se calienta pero el relé no conmuta: Q1 podría estar recibiendo insuficiente corriente de base, o el pinout (E-B-C) es incorrecto. Solución: Verifique el valor de R_BASE y el pinout del transistor.

Posibles mejoras y extensiones

  1. Circuito de enclavamiento (Latch): Agregue un bucle de retroalimentación (o un latch Set-Reset) para que si se viola la seguridad, el sistema se apague y requiera presionar un botón de «Reset» manual para reiniciar, incluso si las condiciones vuelven a la normalidad.
  2. Identificación de fallas: Agregue LEDs rojos a la salida de cada comparador (invertidos) para indicar exactamente qué variable (Temperatura, Presión o Nivel) causó el apagado.

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 propósito principal del circuito lógico de enclavamiento descrito en el texto?




Pregunta 2: ¿Qué tipo de señales monitorea el sistema antes de digitalizarlas?




Pregunta 3: ¿Qué componente se utiliza para convertir las señales analógicas de los sensores en señales digitales?




Pregunta 4: ¿Qué condición lógica es necesaria para que la señal de control final V_SAFE pase a ALTO?




Pregunta 5: ¿Qué función cumplen las puertas lógicas en cascada en este diseño?




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




Pregunta 7: ¿Qué voltaje aproximado representa un estado de Lógica 1 (ALTO) en este sistema?




Pregunta 8: ¿Cuál es un ejemplo de aplicación de este sistema en dispositivos médicos?




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




Pregunta 10: ¿Qué nivel de dificultad se asigna 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:


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

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC08, función: CI de cuatro compuertas AND de 2 entradas.
  • S1: Interruptor DIP (SPST), función: Entrada A (Llave de seguridad 1).
  • S2: Interruptor DIP (SPST), función: Entrada B (Llave de seguridad 2).
  • R1: Resistencia de 10 kΩ, función: Pull-down para la Entrada A.
  • R2: Resistencia de 10 kΩ, función: Pull-down para la Entrada B.
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor.
  • R4: Resistencia de 330 Ω, función: Limitación de corriente del LED.
  • Q1: 2N2222 (BJT NPN), función: Interruptor controlador (driver) para el solenoide.
  • D1: Diodo 1N4007, función: Protección Flyback/Snubber para el transistor.
  • D2: LED verde, función: Indicador visual de estado.
  • L1: Solenoide de 5 V / 100 mA (representado como Inductor+Resistencia), función: Mecanismo de cerradura electrónica.

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:

  • Riel de alimentación:
  • Conecte el terminal positivo de V1 al nodo VCC.
  • Conecte el terminal negativo de V1 al nodo 0 (GND).
  • Conecte el pin 14 de U1 a VCC y el pin 7 a 0.

  • Etapa de entrada (Sensores):

  • Conecte S1 entre VCC y el nodo VA.
  • Conecte R1 entre VA y 0.
  • Conecte el pin 1 de U1 (Entrada 1A) al nodo VA.
  • Conecte S2 entre VCC y el nodo VB.
  • Conecte R2 entre VB y 0.
  • Conecte el pin 2 de U1 (Entrada 1B) al nodo VB.

  • Etapa lógica:

  • El pin 3 de U1 (Salida 1Y) define el nodo V_GATE.

  • Etapa de salida (Controlador del actuador):

  • Conecte R3 entre V_GATE y la Base de Q1.
  • Conecte el Emisor de Q1 directamente a 0.
  • Conecte el Colector de Q1 al nodo V_LOCK.
  • Conecte L1 (Solenoide) entre VCC y V_LOCK.
  • Conecte D1 (Cátodo a VCC, Ánodo a V_LOCK) en paralelo con el solenoide para proteger Q1.

  • Etapa indicadora:

  • Conecte R4 entre V_LOCK y el Ánodo de D2.
  • ¿Conecte el Cátodo de D2 al nodo 0? Corrección: Dado que Q1 conmuta el lado bajo, conecte R4 + D2 en paralelo con el solenoide para ver cuándo está energizado, o simplemente conecte R4 desde V_GATE al Ánodo de D2, y el Cátodo de D2 a 0 para visualizar la señal lógica. Usemos esto último para una visualización lógica más clara: Conecte R4 entre V_GATE y el Ánodo de D2; Cátodo de D2 a 0.

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

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

  • El solenoide no se activa pero el LED funciona: La lógica es correcta, pero la capacidad de conducción es insuficiente. Verifique las conexiones de Q1 y asegúrese de que el requerimiento de potencia del solenoide coincida con la fuente.
  • La compuerta lógica se calienta: Es posible que haya cortocircuitado el pin de salida a tierra o esté intentando conducir el solenoide directamente. Desconecte inmediatamente y verifique el cableado del pin 3.
  • El circuito funciona inversamente (se desbloquea cuando los interruptores están OFF): Es posible que haya conectado las resistencias pull-down como pull-ups o conectado el transistor al riel incorrecto. Verifique que R1 y R2 vayan a Tierra.
  • La Entrada A activa la cerradura sin la Entrada B: Verifique si hay un cortocircuito entre el pin 1 y el pin 2, o verifique si el pin 2 está conectado accidentalmente a VCC.

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:


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.

  • Aplicación en el mundo real: Enclavamientos de seguridad industrial que impiden el arranque de maquinaria sin un operador en los controles.
  • Eficiencia: Ahorro energético automatizado asegurando que la cinta solo funcione cuando realmente haya un producto (carga) en la línea.
  • Protección de la máquina: Prevención de «marchas en vacío» que podrían desgastar innecesariamente los componentes mecánicos.

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

  • V1: Fuente de alimentación de 5V CC, función: Alimentación principal del circuito.
  • U1: 74HC08 Cuádruple compuerta AND de 2 entradas, función: Procesamiento lógico de seguridad.
  • S1: Pulsador (Normalmente Abierto), función: Simula «Presencia del operador».
  • S2: Interruptor (SPST) o módulo de fototransistor, función: Simula «Sensor óptico de carga» (Activo en Alto).
  • R1: Resistencia de 10 kΩ, función: Pull-down para la entrada del operador (S1).
  • R2: Resistencia de 10 kΩ, función: Pull-down para la entrada del sensor (S2).
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base para Q1.
  • Q1: Transistor NPN 2N2222, función: Interruptor controlador del relé.
  • D1: Diodo 1N4007, función: Protección flyback para la bobina del relé.
  • K1: Relé de 5V (SPDT), función: Interruptor de alta corriente para el motor.
  • M1: Motor de 5V CC, función: Accionamiento de la cinta transportadora.
  • C1: Condensador de 100 nF, función: Desacoplo para la alimentación de U1.

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.

  • Alimentación: Conecta VCC al riel positivo de V1 y 0 al riel negativo.
  • Entrada S1 (Operador): Conecta un lado de S1 a VCC. Conecta el otro lado al nodo OP_SIGNAL.
  • Pull-down R1: Conecta R1 entre OP_SIGNAL y 0.
  • Entrada S2 (Sensor): Conecta un lado de S2 a VCC. Conecta el otro lado al nodo LOAD_SIGNAL.
  • Pull-down R2: Conecta R2 entre LOAD_SIGNAL y 0.
  • Lógica U1:
    • Conecta el Pin 14 de U1 a VCC y el Pin 7 a 0.
    • Conecta C1 entre VCC y 0 cerca de U1.
    • Conecta OP_SIGNAL al Pin 1 de U1 (Entrada 1A).
    • Conecta LOAD_SIGNAL al Pin 2 de U1 (Entrada 1B).
    • Conecta el Pin 3 de U1 (Salida 1Y) al nodo LOGIC_OUT.
  • Etapa de control (Driver):
    • Conecta R3 entre LOGIC_OUT y la Base de Q1.
    • Conecta el Emisor de Q1 a 0.
    • Conecta el Colector de Q1 a la bobina del Relé (K1 pin 1).
  • Relé y Motor:
    • Conecta el otro lado de la bobina del Relé (K1 pin 2) a VCC.
    • Conecta D1 en paralelo con la bobina del Relé (Cátodo a VCC, Ánodo al Colector de Q1).
    • Conecta el Común del Relé (COM) a VCC.
    • Conecta el Normal Abierto (NO) del Relé al terminal positivo de M1.
    • Conecta el terminal negativo de M1 a 0.

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

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

  • Accionar directamente el motor: Los estudiantes a menudo conectan el motor directamente a la salida del 74HC08. El chip solo puede suministrar ~20mA, mientras que un motor necesita cientos de mA. Solución: Utiliza siempre una interfaz con transistor (Q1) y relé.
  • Entradas flotantes: Olvidar las resistencias R1 y R2 hace que las entradas queden «flotantes», provocando un comportamiento errático del motor activado por electricidad estática. Solución: Asegúrate de que las resistencias pull-down estén firmemente conectadas a Tierra.
  • Falta del diodo flyback: Omitir D1 permite que los picos de alto voltaje de la bobina del relé destruyan el transistor Q1 cuando se apaga. Solución: Instala D1 en paralelo con la bobina, con el cátodo apuntando a VCC.

Solución de problemas

  • El motor no funciona: Comprueba si el relé hace clic. Si no hay clic, verifica el voltaje en el Pin 3 de U1 (Salida Lógica). Si la Salida Lógica es 5V pero el relé no hace clic, verifica la orientación de Q1.
  • Salida Lógica siempre Alta: Comprueba si R1 o R2 están desconectadas (las entradas flotantes a menudo se leen como Alta en algunas familias lógicas, aunque 74HC suele flotar aleatoriamente). Verifica el cableado de S1/S2.
  • El chip se calienta: Comprueba si U1 está conectado al revés (el Pin 14 debe ser VCC, el Pin 7 GND). Asegúrate de que las salidas no estén en cortocircuito a tierra.

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:


Caso práctico: Monitorización de temperatura y presión

Prototipo de Monitorización de temperatura y presión (Maker Style)

Nivel: Medio. Implementar un circuito de seguridad industrial que active una alarma solo cuando los sensores de temperatura y presión excedan los límites de seguridad críticos.

Objetivo y caso de uso

En esta sesión, construirás un circuito lógico condicional utilizando un comparador LM393 para digitalizar señales de sensores analógicos y una puerta AND 74HC08 para procesar la lógica de seguridad.

  • Seguridad en calderas industriales: Previene fallos catastróficos detectando cuando una caldera está sobrecalentada y sobrepresurizada simultáneamente.
  • Sistemas hidráulicos: Monitoriza estados de fluidos para prevenir daños en bombas o roturas de tuberías durante operaciones de alto estrés.
  • Monitorización de reactores químicos: Asegura que las condiciones de reacción permanezcan dentro de zonas seguras, activando la refrigeración de emergencia solo cuando múltiples variables críticas se disparan.

Resultado esperado:
* Estado seguro: El LED permanece APAGADO si solo una o ninguna variable excede el límite.
* Estado crítico: El LED rojo se ENCIENDE (Lógica Alta) solo cuando Temp > Límite Y Presión > Límite.
* Nivel lógico: La salida del 74HC08 cambia de ~0V a ~5V.
* Público objetivo: Estudiantes de ingeniería y aficionados familiarizados con amplificadores operacionales/comparadores y lógica digital básica.

Materiales

  • V1: Fuente de alimentación de 5 V DC
  • U1: 74HC08, función: Puerta AND cuádruple de 2 entradas
  • U2: LM393, función: Comparador diferencial dual
  • RT1: Termistor NTC de 10 kΩ, función: Sensor de temperatura
  • R1: Resistencia de 10 kΩ, función: Parte inferior del divisor de tensión para el NTC
  • RP1: Potenciómetro lineal de 10 kΩ, función: Simulador de sensor de presión
  • RP2: Potenciómetro de 10 kΩ, función: Umbral de referencia de temperatura (V_REF_T)
  • RP3: Potenciómetro de 10 kΩ, función: Umbral de referencia de presión (V_REF_P)
  • R2: Resistencia de 4.7 kΩ, función: Pull-up para la salida del Comparador A (requerido para LM393)
  • R3: Resistencia de 4.7 kΩ, función: Pull-up para la salida del Comparador B (requerido para LM393)
  • R4: Resistencia de 330 Ω, función: Limitación de corriente del LED
  • D1: LED rojo, función: Indicador de alerta crítica

Pin-out del CI utilizado

Chip seleccionado: 74HC08 (Puerta AND cuádruple de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado a la salida del comparador de temperatura
2 1B Entrada B Conectado a la salida del comparador de presión
3 1Y Salida Conectado al LED (vía R4)
7 GND Tierra Conectado al raíl de alimentación de 0V
14 VCC Alimentación Conectado al raíl de alimentación de +5V

Nota: El comparador LM393 también se utiliza, pero la decisión lógica ocurre en el 74HC08.

Guía de conexionado

Construye el circuito utilizando las siguientes conexiones de nodos:

  • Raíl de alimentación: Conecta el terminal positivo de V1 al nodo VCC y el terminal negativo al nodo 0 (GND). Conecta el pin 14 de U1 y el pin 8 de U2 a VCC. Conecta el pin 7 de U1 y el pin 4 de U2 a 0.
  • Entrada del sensor de temperatura (V_TEMP): Conecta RT1 entre VCC y V_TEMP. Conecta R1 entre V_TEMP y 0. (A medida que sube la Temp, la resistencia baja, V_TEMP sube).
  • Entrada del sensor de presión (V_PRESS): Conecta el cursor de RP1 al nodo V_PRESS. Conecta las patas exteriores de RP1 a VCC y 0.
  • Umbrales de referencia: Conecta el cursor de RP2 al nodo V_REF_T (Límite Temp). Conecta el cursor de RP3 al nodo V_REF_P (Límite Presión).
  • Etapa de comparador (Digitalización):
    • Conecta V_TEMP al pin 3 de U2 (Entrada no inversora A).
    • Conecta V_REF_T al pin 2 de U2 (Entrada inversora A).
    • Conecta V_PRESS al pin 5 de U2 (Entrada no inversora B).
    • Conecta V_REF_P al pin 6 de U2 (Entrada inversora B).
  • Salidas del comparador (LOGIC_T y LOGIC_P):
    • Conecta el pin 1 de U2 (Salida A) al nodo LOGIC_T. Conecta la resistencia pull-up R2 entre LOGIC_T y VCC.
    • Conecta el pin 7 de U2 (Salida B) al nodo LOGIC_P. Conecta la resistencia pull-up R3 entre LOGIC_P y VCC.
  • Puerta lógica:
    • Conecta LOGIC_T al pin 1 de U1 (Entrada 1A).
    • Conecta LOGIC_P al pin 2 de U1 (Entrada 1B).
    • Conecta el pin 3 de U1 (Salida 1Y) al nodo ALERT.
  • Indicador: Conecta R4 entre ALERT y el ánodo de D1. Conecta el cátodo de D1 a 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ ANALOG INPUTS ]                  [ COMPARATORS ]                  [ LOGIC GATE ]               [ OUTPUT ]

[ Temp Sensor (RT1/R1) ] --(V_TEMP)---->+------------------+
                                        | U2: Comparator A |
                                        | (LM393)          |--(LOGIC_T)-->+
[ Temp Ref Pot (RP2)   ] --(V_REF_T)--->| w/ Pull-up R2    |              |
                                        +------------------+              |
                                                                          v
                                                                   +----------------+
                                                                   | U1: AND Gate   |
                                                                   | (74HC08)       |--(ALERT)--> [ Resistor R4 ] --> [ LED D1 ] --> GND
                                                                   +----------------+
                                                                          ^
                                        +------------------+              |
[ Press Sensor (RP1)   ] --(V_PRESS)--->| U2: Comparator B |              |
                                        | (LM393)          |--(LOGIC_P)-->+
[ Press Ref Pot (RP3)  ] --(V_REF_P)--->| w/ Pull-up R3    |
                                        +------------------+
Esquema Eléctrico

Tabla de verdad

Esta tabla representa los estados lógicos en las entradas del 74HC08 (después de la etapa de comparador) y la salida final.

Sensor: Temperatura Sensor: Presión Entrada 1A (Alerta Temp) Entrada 1B (Alerta Pres) Salida 1Y (Alarma Sistema) Estado LED
Bajo (< Ref) Bajo (< Ref) 0 0 0 APAGADO
Bajo (< Ref) Alto (> Ref) 0 1 0 APAGADO
Alto (> Ref) Bajo (< Ref) 1 0 0 APAGADO
Alto (> Ref) Alto (> Ref) 1 1 1 ENCENDIDO

Mediciones y pruebas

  1. Calibrar umbrales: Usa un voltímetro para ajustar V_REF_T (en el cursor de RP2) a 3.0V y V_REF_P (en el cursor de RP3) a 3.0V.
  2. Prueba de lógica de temperatura: Calienta RT1 (o simúlalo cortocircuitando R1 ligeramente) hasta que V_TEMP > 3.0V. Mide LOGIC_T; debería ser Alto (~5V). Verifica que el LED esté APAGADO (ya que la Presión es Baja).
  3. Prueba de lógica de presión: Gira RP1 hasta que V_PRESS > 3.0V. Mide LOGIC_P; debería ser Alto (~5V).
  4. Prueba de alerta del sistema: Crea una condición donde V_TEMP > 3.0V Y V_PRESS > 3.0V simultáneamente.
    • Mide el voltaje en ALERT (Pin 3 de U1): Esperado ~5V.
    • Visual: El LED rojo D1 debe ENCENDERSE.

Netlist SPICE y simulación

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

* Practical case: Temperature and Pressure Monitoring

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

* --- Sensors and Inputs ---
* Temperature Sensor (RT1 NTC + R1 Divider)
* RT1: 10 kΩ NTC thermistor (Modeled as R_RT1)
* Connected between VCC and V_TEMP
R_RT1 VCC V_TEMP 10k
* R1: 10 kΩ resistor (Voltage divider bottom)
* Connected between V_TEMP and 0 (GND)
R1 V_TEMP 0 10k

* Pressure Sensor (RP1 Potentiometer)
* RP1: 10 kΩ linear potentiometer
* Modeled as two resistors (Top/Bot) representing the wiper position.
* Outer legs to VCC and 0, wiper to V_PRESS.
R_RP1_TOP VCC V_PRESS 5k
R_RP1_BOT V_PRESS 0 5k

* --- Dynamic Stimuli (Simulation) ---
* These voltage sources drive the sensor nodes to simulate physical changes
* over time, verifying the logic thresholds (sweeping 1V to 4V).
* They effectively override the static resistor dividers for transient analysis.
V_TEMP_STIM V_TEMP 0 PULSE(1 4 0.5m 100u 100u 1m 3m)
V_PRESS_STIM V_PRESS 0 PULSE(1 4 1m 100u 100u 1.5m 4m)

* --- Reference Thresholds ---
* ... (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: Temperature and Pressure Monitoring

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

* --- Sensors and Inputs ---
* Temperature Sensor (RT1 NTC + R1 Divider)
* RT1: 10 kΩ NTC thermistor (Modeled as R_RT1)
* Connected between VCC and V_TEMP
R_RT1 VCC V_TEMP 10k
* R1: 10 kΩ resistor (Voltage divider bottom)
* Connected between V_TEMP and 0 (GND)
R1 V_TEMP 0 10k

* Pressure Sensor (RP1 Potentiometer)
* RP1: 10 kΩ linear potentiometer
* Modeled as two resistors (Top/Bot) representing the wiper position.
* Outer legs to VCC and 0, wiper to V_PRESS.
R_RP1_TOP VCC V_PRESS 5k
R_RP1_BOT V_PRESS 0 5k

* --- Dynamic Stimuli (Simulation) ---
* These voltage sources drive the sensor nodes to simulate physical changes
* over time, verifying the logic thresholds (sweeping 1V to 4V).
* They effectively override the static resistor dividers for transient analysis.
V_TEMP_STIM V_TEMP 0 PULSE(1 4 0.5m 100u 100u 1m 3m)
V_PRESS_STIM V_PRESS 0 PULSE(1 4 1m 100u 100u 1.5m 4m)

* --- Reference Thresholds ---
* RP2: 10 kΩ potentiometer (Temperature Reference)
* Configured as divider, wiper to V_REF_T. Set to ~2.5V.
R_RP2_TOP VCC V_REF_T 5k
R_RP2_BOT V_REF_T 0 5k

* RP3: 10 kΩ potentiometer (Pressure Reference)
* Configured as divider, wiper to V_REF_P. Set to ~2.5V.
R_RP3_TOP VCC V_REF_P 5k
R_RP3_BOT V_REF_P 0 5k

* --- Comparator Stage (U2: LM393) ---
* U2: Dual Differential Comparator
* Connections based on Wiring Guide:
*   Comp A (Temp): In+ (3)=V_TEMP, In- (2)=V_REF_T, Out (1)=LOGIC_T
*   Comp B (Press): In+ (5)=V_PRESS, In- (6)=V_REF_P, Out (7)=LOGIC_P
*   Power: VCC (8), GND (4)
XU2 LOGIC_T V_REF_T V_TEMP 0 V_PRESS V_REF_P LOGIC_P VCC LM393

* Pull-up resistors (Required for Open Collector Outputs)
* R2: 4.7 kΩ pull-up for Comparator A
R2 VCC LOGIC_T 4.7k
* R3: 4.7 kΩ pull-up for Comparator B
R3 VCC LOGIC_P 4.7k

* --- Logic Stage (U1: 74HC08) ---
* U1: Quad 2-Input AND Gate
* Connections:
*   Gate 1: Input 1A (1)=LOGIC_T, Input 1B (2)=LOGIC_P, Output 1Y (3)=ALERT
*   Power: VCC (14), GND (7)
*   Unused inputs (4,5,9,10,12,13) connected to 0 (GND) to prevent floating.
XU1 LOGIC_T LOGIC_P ALERT 0 0 0 0 0 0 0 0 0 0 VCC 74HC08

* --- Indicator ---
* R4: 330 Ω resistor (LED current limiting)
R4 ALERT LED_A 330
* D1: Red LED (Cathode to GND)
D1 LED_A 0 DLED

* --- Models and Subcircuits ---

* LED Model
.model DLED D(IS=1e-14 N=1.7 RS=10)

* LM393 Subcircuit (Behavioral Open Collector)
.subckt LM393 1 2 3 4 5 6 7 8
* Pinout: 1=OutA, 2=InA-, 3=InA+, 4=GND, 5=InB+, 6=InB-, 7=OutB, 8=VCC
* Logic: If In+ > In-, Output is High-Z (Pull-up High).
*        If In+ < In-, Output is Low (GND).
* Implementation uses Voltage Controlled Switch to GND.
* Control V = In(-) - In(+). If V > 0 (In- > In+), Switch Closed (Low).
B_A_CTRL 10 0 V = V(2) - V(3)
S_A 1 4 10 0 SW_OC
B_B_CTRL 20 0 V = V(6) - V(5)
S_B 7 4 20 0 SW_OC
.model SW_OC SW(Vt=0 Vh=1m Ron=10 Roff=100Meg)
.ends LM393

* 74HC08 Subcircuit (Behavioral AND Gate)
.subckt 74HC08 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Pinout: 1=1A, 2=1B, 3=1Y, 7=GND, 14=VCC ...
* Gate 1 Logic: Output High (VCC) if V(1)>2.5 and V(2)>2.5
B_Y1 3 7 V = V(14) * (1 / (1 + exp(-50*(V(1)-2.5)))) * (1 / (1 + exp(-50*(V(2)-2.5))))
.ends 74HC08

* --- Simulation Directives ---
.tran 10u 5ms
.print tran V(V_TEMP) V(V_PRESS) V(LOGIC_T) V(LOGIC_P) V(ALERT)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Falta de resistencias pull-up en comparadores: El LM393 tiene salidas de colector abierto. Si omites R2 y R3, las entradas al 74HC08 quedarán flotantes o permanecerán bajas, impidiendo que el circuito funcione. Solución: Instala siempre pull-ups (4.7kΩ a 10kΩ) desde el pin de salida a VCC.
  2. Conexionado incorrecto del NTC: Conectar el NTC a tierra y la resistencia fija a VCC crea un voltaje que cae a medida que la temperatura sube. Solución: Conecta el NTC a VCC y la resistencia fija a Tierra para asegurar que el voltaje aumente con la temperatura, coincidiendo con la lógica del comparador no inversor.
  3. Entradas flotantes en el 74HC08: Dejar entradas no utilizadas en el chip lógico conectadas a nada puede causar ruido y mayor consumo de energía. Solución: Conecta las entradas no utilizadas (por ejemplo, pines 4, 5, 9, 10, 12, 13) a GND.

Solución de problemas

  • El LED nunca se ENCIENDE: Comprueba si faltan R2 o R3. Sin ellas, las entradas de la puerta AND ven un 0 lógico. Verifica la orientación del LED.
  • El LED está siempre ENCENDIDO: Comprueba RP2 y RP3. Si el voltaje de referencia está ajustado a 0V, los sensores siempre parecerán «Altos» en relación con la referencia.
  • LED errático/parpadeante: El voltaje en las entradas del comparador podría estar oscilando exactamente en el umbral. Esto crea ruido. Añadir una resistencia de retroalimentación de histéresis puede solucionar esto, pero asegurar conexiones de alimentación limpias suele ser suficiente para pruebas básicas.

Posibles mejoras y extensiones

  1. Añadir histéresis: Conecta una resistencia de alto valor (por ejemplo, 100kΩ) entre la salida del comparador y la entrada no inversora. Esto previene el efecto de «rebote» cuando los valores del sensor oscilan cerca del umbral.
  2. Alarma sonora: Conecta un zumbador con un transistor driver (como un 2N2222) a la salida del 74HC08 junto con el LED para una advertencia audible en un entorno industrial ruidoso.

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 digitalizar las señales analógicas de los sensores en este circuito?




Pregunta 2: ¿Qué función lógica utiliza el circuito para procesar la seguridad y activar la alarma?




Pregunta 3: ¿Qué condición debe cumplirse para que el LED rojo se encienda (Estado crítico)?




Pregunta 4: ¿Cuál es la función del componente 74HC08 en este circuito?




Pregunta 5: ¿Qué componente se utiliza para simular el sensor de presión en este ejercicio?




Pregunta 6: ¿Cuál es el voltaje aproximado de salida del 74HC08 cuando se alcanza el nivel lógico alto en este circuito de 5V?




Pregunta 7: ¿Qué sucede con el LED si solo una de las variables (temperatura o presión) excede el límite?




Pregunta 8: ¿Qué función cumple la resistencia R1 de 10 kΩ en relación con el termistor?




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




Pregunta 10: ¿Cuál es el nivel de dificultad asignado a este ejercicio 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:


Caso práctico: Control de acceso vehicular con barrera

Prototipo de Control de acceso vehicular con barrera (Maker Style)

Nivel: Medio — Diseñar un circuito lógico de seguridad que levante una barrera solo cuando ocurran simultáneamente la presencia del vehículo y la verificación de un ticket válido.

Objetivo y caso de uso

En este caso práctico, construirás un circuito de control digital utilizando una compuerta AND 74HC08 para simular la lógica de una barrera de estacionamiento automatizada. La barrera (representada por un LED) solo se activará cuando un sensor de presencia vehicular y un sistema de validación de tickets se activen simultáneamente.

Por qué es útil:
* Estacionamientos: Asegura que la barrera no se abra para peatones o si un ticket es inválido.
* Casetas de peaje: Sincroniza la confirmación del pago con la presencia física del vehículo.
* Seguridad industrial: Evita la operación de maquinaria a menos que haya una protección colocada y se emita una orden de arranque.
* Acceso seguro: Requiere factores de doble autenticación en sistemas de seguridad física.

Resultado esperado:
* Estado 0 (Reposo): El LED permanece APAGADO cuando no se presionan botones (salida de 0 V).
* Estado 1 (Parcial): El LED permanece APAGADO si solo se detecta el vehículo o solo se valida el ticket.
* Estado 2 (Activo): El LED se ENCIENDE (aprox. 5 V / Lógica alta) SOLO cuando ambas entradas están activas simultáneamente.
* Verificación lógica: Confirmación de la operación booleana AND estándar ($Y = A \cdot B$).

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

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación principal del circuito
  • U1: 74HC08, función: CI de cuádruple compuerta AND de 2 entradas
  • S1: Pulsador (NA), función: Simula «Sensor de presencia vehicular»
  • S2: Pulsador (NA), función: Simula «Señal de validación de ticket»
  • R1: Resistencia de 10 kΩ, función: Pull-down para entrada de vehículo
  • R2: Resistencia de 10 kΩ, función: Pull-down para entrada de ticket
  • R3: Resistencia de 330 Ω, función: Limitación de corriente del LED
  • D1: LED verde, función: Simula «Motor de barrera/Señal de apertura»
  • Protoboard y cables puente

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 Sensor de Vehículo (S1)
2 1B Entrada B Conectado al Validador de Tickets (S2)
3 1Y Salida Conectado al Indicador de Barrera (LED)
7 GND Tierra Conectado a Tierra de la fuente (0 V)
14 VCC Alimentación Conectado a alimentación de +5 V

Nota: Los pines 4, 5, 6, 8, 9, 10, 11, 12 y 13 no se utilizan en este circuito específico.

Guía de conexionado

  • Fuente de alimentación:
    • V1 (+) se conecta al nodo VCC.
    • V1 (-) se conecta al nodo 0 (GND).
  • Alimentación del CI:
    • U1 Pin 14 se conecta al nodo VCC.
    • U1 Pin 7 se conecta al nodo 0.
  • Etapa de entrada (Sensor de vehículo):
    • S1 se conecta entre el nodo VCC y el nodo VEHICLE_IN.
    • R1 se conecta entre el nodo VEHICLE_IN y el nodo 0 (configuración activa en alto).
    • U1 Pin 1 se conecta al nodo VEHICLE_IN.
  • Etapa de entrada (Validador de ticket):
    • S2 se conecta entre el nodo VCC y el nodo TICKET_IN.
    • R2 se conecta entre el nodo TICKET_IN y el nodo 0 (configuración activa en alto).
    • U1 Pin 2 se conecta al nodo TICKET_IN.
  • Etapa de salida (Actuador de barrera):
    • U1 Pin 3 se conecta al nodo LOGIC_OUT.
    • R3 se conecta entre el nodo LOGIC_OUT y el nodo LED_ANODE.
    • D1 (Ánodo) se conecta al nodo LED_ANODE.
    • D1 (Cátodo) se conecta al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ INPUT SENSORS ]                     [ LOGIC PROCESSING ]                  [ ACTUATOR OUTPUT ]

 [ VCC ]
    |
 [ S1: Vehicle ]
    |
           +----(Node: VEHICLE_IN)----(Pin 1)-->+----------------------+
    |                                    |                      |
 [ R1: 10k ]                             |      U1: 74HC08      |
    |                                    |      (AND Gate)      |
 [ GND ]                                 |                      |--(Pin 3)--> [ R3: 330 ] --> [ D1: Green LED ] --> [ GND ]
                                         |  (Pin 14: VCC)       |
 [ VCC ]                                 |  (Pin 7:  GND)       |
    |                                    |                      |
 [ S2: Ticket ]                          |                      |
    |                                    |                      |
+----(Node: TICKET_IN)-----(Pin 2)-->+----------------------+
    |
 [ R2: 10k ]
    |
 [ GND ]
Esquema Eléctrico

Tabla de verdad

El 74HC08 sigue la verificación lógica AND estándar:

Vehículo detectado (S1) Ticket validado (S2) Voltaje de salida (Pin 3) Estado de la barrera (LED)
Bajo (0) Bajo (0) ~0 V Cerrada (APAGADO)
Bajo (0) Alto (1) ~0 V Cerrada (APAGADO)
Alto (1) Bajo (0) ~0 V Cerrada (APAGADO)
Alto (1) Alto (1) ~5 V Abierta (ENCENDIDO)

Mediciones y pruebas

  1. Verificación en reposo: Asegúrate de que ni S1 ni S2 estén presionados. Mide el voltaje en el Pin 1 y el Pin 2 de U1 con respecto a GND. Debería leerse 0 V (Lógica baja). El LED debe estar APAGADO.
  2. Prueba de entrada única: Presiona solo S1 (Vehículo). Mide el voltaje en el Pin 1 (5 V) y el Pin 3 (0 V). El LED debe permanecer APAGADO. Repite para S2 (Ticket).
  3. Prueba de activación: Presiona S1 y S2 simultáneamente. Mide el voltaje en el Pin 3 de U1. Debería leerse cerca de 5 V (Lógica alta).
  4. Verificación de carga: Observa que el LED se ENCIENDE brillantemente cuando se mantienen presionados ambos botones. Esto confirma que la barrera se levantaría.

Netlist SPICE y simulación

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

* TITLE: Practical case: Vehicle access control with barrier
* Ngspice Netlist
* Implements a 74HC08 AND gate circuit with push-button inputs and LED output

* --- Component Models ---
* Switch Model: Voltage Controlled Switch for Push-buttons
* Vt=2.5V (Threshold), Ron=1 ohm (Closed), Roff=100Meg (Open)
.model SW_PUSH SW(Vt=2.5 Ron=1 Roff=100Meg)

* LED Model: Generic Green LED
.model D_GREEN D(Is=1e-22 Rs=5 N=1.5 Cjo=10p BV=5)

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

* --- Dynamic Stimuli (User Button Presses) ---
* These sources actuate the switches S1 and S2 to simulate user interaction.
* They are not part of the physical circuit but provide the mechanical "push".
* Sequence designed to test Truth Table: 00 -> 10 -> 01 -> 11
* Time unit: microseconds (us)

* S1 Actuator (Vehicle Sensor): Toggles every 200us (starts at 100us)
V_ACT_S1 S1_CTRL 0 PULSE(0 5 100u 1u 1u 100u 200u)

* S2 Actuator (Ticket Validator): Toggles every 400us (starts at 200us)
V_ACT_S2 S2_CTRL 0 PULSE(0 5 200u 1u 1u 200u 400u)

* --- Input Stage: Vehicle Sensor ---
* S1: Push-button connecting VCC to VEHICLE_IN when pressed
* ... (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: Vehicle access control with barrier
* Ngspice Netlist
* Implements a 74HC08 AND gate circuit with push-button inputs and LED output

* --- Component Models ---
* Switch Model: Voltage Controlled Switch for Push-buttons
* Vt=2.5V (Threshold), Ron=1 ohm (Closed), Roff=100Meg (Open)
.model SW_PUSH SW(Vt=2.5 Ron=1 Roff=100Meg)

* LED Model: Generic Green LED
.model D_GREEN D(Is=1e-22 Rs=5 N=1.5 Cjo=10p BV=5)

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

* --- Dynamic Stimuli (User Button Presses) ---
* These sources actuate the switches S1 and S2 to simulate user interaction.
* They are not part of the physical circuit but provide the mechanical "push".
* Sequence designed to test Truth Table: 00 -> 10 -> 01 -> 11
* Time unit: microseconds (us)

* S1 Actuator (Vehicle Sensor): Toggles every 200us (starts at 100us)
V_ACT_S1 S1_CTRL 0 PULSE(0 5 100u 1u 1u 100u 200u)

* S2 Actuator (Ticket Validator): Toggles every 400us (starts at 200us)
V_ACT_S2 S2_CTRL 0 PULSE(0 5 200u 1u 1u 200u 400u)

* --- Input Stage: Vehicle Sensor ---
* S1: Push-button connecting VCC to VEHICLE_IN when pressed
S1 VCC VEHICLE_IN S1_CTRL 0 SW_PUSH
* R1: 10k Pull-down resistor for Vehicle input
R1 VEHICLE_IN 0 10k

* --- Input Stage: Ticket Validator ---
* S2: Push-button connecting VCC to TICKET_IN when pressed
S2 VCC TICKET_IN S2_CTRL 0 SW_PUSH
* R2: 10k Pull-down resistor for Ticket input
R2 TICKET_IN 0 10k

* --- Logic Stage: U1 (74HC08 Quad 2-Input AND Gate) ---
* Subcircuit representing one gate of the 74HC08 IC
* Pins mapped: 1(A), 2(B), 3(Y), 7(GND), 14(VCC)
.subckt 74HC08_GATE PIN1 PIN2 PIN3 PIN7 PIN14
    * Behavioral AND logic using continuous sigmoid functions for convergence
    * Y = VCC if (A > 2.5V) AND (B > 2.5V)
    B_LOGIC PIN3 PIN7 V = V(PIN14) * (1 / (1 + exp(-50*(V(PIN1)-2.5)))) * (1 / (1 + exp(-50*(V(PIN2)-2.5))))
.ends

* Instantiate U1 connected according to Wiring Guide
* Pin 1->VEHICLE_IN, Pin 2->TICKET_IN, Pin 3->LOGIC_OUT, Pin 7->0, Pin 14->VCC
XU1 VEHICLE_IN TICKET_IN LOGIC_OUT 0 VCC 74HC08_GATE

* --- Output Stage: Barrier Actuator ---
* R3: 330 ohm current limiting resistor
R3 LOGIC_OUT LED_ANODE 330
* D1: Green LED (Anode to R3, Cathode to GND)
D1 LED_ANODE 0 D_GREEN

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

* Print signals to verify logic: 
* Expect LOGIC_OUT to be High (~5V) only when both Inputs are High (300us-400us)
.print tran V(VEHICLE_IN) V(TICKET_IN) V(LOGIC_OUT) V(LED_ANODE)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Entradas flotantes: No incluir las resistencias R1 y R2 hace que las entradas «floten», provocando un parpadeo errático del LED incluso cuando no se presionan los botones. Usa siempre resistencias pull-down con la serie lógica 74HC.
  2. Conexiones de alimentación faltantes: Olvidar conectar el Pin 14 (VCC) y el Pin 7 (GND) es un error clásico. Los chips lógicos no funcionarán sin alimentación, incluso si las entradas están cableadas correctamente.
  3. LED sin resistencia: Conectar el LED directamente a la salida lógica (Pin 3) sin R3 puede dañar el LED o la etapa de salida del 74HC08 debido a una corriente excesiva.

Solución de problemas

  • Síntoma: El LED está siempre ENCENDIDO, incluso cuando se sueltan los botones.
    • Causa: Faltan resistencias pull-down o las entradas están conectadas directamente a VCC.
    • Solución: Asegúrate de que R1 y R2 estén instaladas correctamente entre las entradas y GND.
  • Síntoma: El LED no se enciende cuando se presionan ambos botones.
    • Causa: Polaridad del LED invertida o CI sin alimentación.
    • Solución: Verifica la orientación de D1 (el lado plano es el cátodo/GND) y mide 5 V entre los pines 14 y 7.
  • Síntoma: El LED es muy tenue cuando está activo.
    • Causa: El valor de la resistencia limitadora de corriente (R3) es demasiado alto.
    • Solución: Asegúrate de que R3 sea de 330 Ω (naranja-naranja-marrón). Si es de 10 kΩ o superior, el LED será apenas visible.

Posibles mejoras y extensiones

  1. Parada de emergencia: Introduce una tercera entrada usando una compuerta AND de 3 entradas (74HC11) o conectando en cascada otra compuerta 74HC08, conectada a un interruptor de «Parada» que anule el comando de apertura.
  2. Interfaz de controlador de motor: Reemplaza el LED con un transistor NPN (por ejemplo, 2N2222) y un relé para accionar un motor de CC real o un solenoide, simulando un mecanismo de barrera de alta potencia.

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 específico se utiliza para realizar la operación lógica del circuito?




Pregunta 3: ¿Qué representa el LED en la simulación del circuito?




Pregunta 4: Según la lógica booleana del circuito AND descrito, ¿cuál es la ecuación que representa el funcionamiento?




Pregunta 5: ¿Qué sucede en el 'Estado 1 (Parcial)' descrito en el resultado esperado?




Pregunta 6: ¿Qué simula el primer botón o entrada en este contexto de estacionamiento?




Pregunta 7: ¿Qué voltaje aproximado se espera en la salida (LED) cuando ambas condiciones se cumplen (Estado Activo)?




Pregunta 8: ¿Por qué es útil este circuito en seguridad industrial según el texto?




Pregunta 9: ¿Qué ocurre en el 'Estado 0 (Reposo)' según el texto?




Pregunta 10: ¿Qué aplicación adicional se menciona para este tipo de lógica de doble condición?




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

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

Sígueme:


Caso práctico: Sistema de riego automático condicional

Prototipo de Sistema de riego automático condicional (Maker Style)

Nivel: Básico – Construye un circuito lógico para activar una bomba solo cuando el suelo esté seco y haya agua disponible.

Objetivo y caso de uso

En este caso práctico, construirás un circuito de enclavamiento de seguridad utilizando una puerta AND 74HC08. El circuito simula un controlador de riego inteligente que decide si encender una bomba de agua basándose en dos condiciones ambientales.

Por qué es útil:
* Protección del equipo: Evita que las bombas funcionen «en seco» (sin entrada de agua), lo cual a menudo causa fallos mecánicos.
* Conservación de recursos: Asegura que el agua solo se dispense cuando el suelo realmente necesita humedad.
* Lógica industrial: Demuestra el concepto fundamental de «enclavamiento de seguridad» utilizado en maquinaria pesada (por ejemplo, la máquina funciona SOLO si la protección está cerrada Y el operador presiona el botón).
* Fundamentos de lógica digital: Proporciona una representación física clara de la función booleana AND ($Y = A \cdot B$).

Resultado esperado:
* El LED de salida (Bomba) se ENCIENDE solo cuando el Interruptor A (Sensor de suelo) está en ALTO Y el Interruptor B (Sensor de tanque) está en ALTO.
* Si el tanque está vacío (Interruptor B = BAJO), la bomba permanece APAGADA incluso si el suelo está seco.
* Lógica 0: Voltaje $\approx$ 0 V. Lógica 1: Voltaje $\approx$ 5 V.

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

Materiales

  • U1: 74HC08, función: CI de cuádruple puerta AND de 2 entradas.
  • S1: Interruptor SPST, función: Simulación de sensor de humedad del suelo (Cerrado = Seco/Lógica 1).
  • S2: Interruptor SPST, función: Simulación de nivel del tanque de agua (Cerrado = Agua presente/Lógica 1).
  • R1: Resistencia de 10 kΩ, función: pull-down para la Entrada A.
  • R2: Resistencia de 10 kΩ, función: pull-down para la Entrada B.
  • R3: Resistencia de 330 Ω, función: limitación de corriente del LED.
  • D1: LED verde, función: indicador de bomba de agua activa.
  • V1: Fuente de alimentación de 5 V DC, función: fuente de alimentación principal.

Pin-out del CI utilizado: 74HC08

El 74HC08 contiene cuatro puertas AND independientes. Usaremos solo una de ellas para este experimento.

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado a S1 (Estado del suelo)
2 1B Entrada B Conectado a S2 (Estado del tanque)
3 1Y Salida Y Conectado a LED (Indicador de bomba)
7 GND Tierra Conectado a Tierra de la fuente (0V)
14 VCC Alimentación Conectado a fuente de +5V

Guía de conexionado

Sigue estas conexiones cuidadosamente. Los nombres de los nodos corresponden a la función del cable en el circuito.

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • U1 (Pin 14) se conecta al nodo VCC.
  • U1 (Pin 7) se conecta al nodo 0 (GND).
  • S1 se conecta entre el nodo VCC y el nodo SOIL_Status.
  • R1 se conecta entre el nodo SOIL_Status y el nodo 0 (GND) (Mantiene la entrada en Bajo cuando el interruptor está abierto).
  • S2 se conecta entre el nodo VCC y el nodo TANK_Status.
  • R2 se conecta entre el nodo TANK_Status y el nodo 0 (GND) (Mantiene la entrada en Bajo cuando el interruptor está abierto).
  • U1 (Pin 1, Entrada A) se conecta al nodo SOIL_Status.
  • U1 (Pin 2, Entrada B) se conecta al nodo TANK_Status.
  • U1 (Pin 3, Salida Y) se conecta al nodo PUMP_Cmd.
  • R3 se conecta entre el nodo PUMP_Cmd y el nodo LED_Anode.
  • D1 se conecta entre el nodo LED_Anode (Ánodo) y el nodo 0 (GND) (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ INPUTS ]                                  [ LOGIC ]                             [ OUTPUT ]

[ S1: Soil Sensor ]
[ (Switch to VCC) ] --(Node: SOIL_Status)-->+---------------------+
[ (R1: 10k to GND)]                         |      U1: 74HC08     |
                                            |      (AND Gate)     |
                                            |                     |--(Node: PUMP_Cmd)--> [ R3: 330 Ohm ] --> [ D1: Green LED ] --> GND
                                            |   Pin 1 (Input A)   |                      (Current Lim.)      (Pump Active)
                                            |                     |
                                            |   Pin 2 (Input B)   |
[ S2: Tank Level  ] --(Node: TANK_Status)-->|                     |
[ (Switch to VCC) ]                         +---------------------+
[ (R2: 10k to GND)]
Esquema Eléctrico

Tabla de verdad

Esta tabla define los estados lógicos.
0 = Interruptor abierto / 0V / Suelo húmedo / Tanque vacío / Bomba APAGADA
1 = Interruptor cerrado / 5V / Suelo seco / Tanque lleno / Bomba ENCENDIDA

Estado del suelo (A) Estado del tanque (B) Bomba de salida (Y) Estado en el mundo real
0 0 0 Suelo húmedo, Tanque vacío -> En espera
0 1 0 Suelo húmedo, Tanque lleno -> En espera
1 0 0 Suelo seco, Tanque vacío -> Corte de seguridad (Proteger bomba)
1 1 1 Suelo seco, Tanque lleno -> Riego activo

Mediciones y pruebas

Valida tu circuito utilizando un multímetro configurado en voltaje DC (rango de 20V).

  1. Comprobación de espera: Asegúrate de que tanto S1 como S2 estén abiertos (OFF). Mide el voltaje en el Pin 3 de U1.
    • Esperado: ~0 V. D1 está APAGADO.
  2. Prueba de protección contra funcionamiento en seco: Cierra S1 (el suelo está seco) pero deja S2 abierto (tanque vacío).
    • Esperado: El Pin 1 lee 5 V, el Pin 2 lee 0 V. La salida del Pin 3 debe permanecer en 0 V. D1 está APAGADO.
  3. Prueba sin demanda: Abre S1 (suelo húmedo) y cierra S2 (tanque lleno).
    • Esperado: El Pin 1 lee 0 V, el Pin 2 lee 5 V. La salida del Pin 3 debe permanecer en 0 V. D1 está APAGADO.
  4. Prueba de riego activo: Cierra ambos S1 y S2.
    • Esperado: El Pin 1 lee 5 V, el Pin 2 lee 5 V. La salida del Pin 3 debería leer ~5 V (Lógica Alta). D1 se ilumina en verde.

Netlist SPICE y simulación

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

* Title: Practical case: Conditional automatic irrigation system

* -----------------------------------------------------------------------------
* POWER SUPPLY
* -----------------------------------------------------------------------------
* V1: 5V DC supply, function: Main power source.
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* STIMULI GENERATION (Simulating User Interaction)
* -----------------------------------------------------------------------------
* These voltage sources drive the control pins of the ideal switches (S1, S2)
* to simulate the physical sensors changing state over time.
* They are not part of the BOM but are necessary for dynamic simulation.

* Control signal for S1 (Soil Sensor): Period 200us
* Logic: 0 -> 1 -> 0 -> 1
V_CTRL_S1 N_CTRL_S1 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Control signal for S2 (Tank Sensor): Period 400us
* Logic: 0 -> 0 -> 1 -> 1
V_CTRL_S2 N_CTRL_S2 0 PULSE(0 5 10u 1u 1u 200u 400u)

* -----------------------------------------------------------------------------
* INPUT STAGE (Sensors and Pull-downs)
* -----------------------------------------------------------------------------
* S1: SPST Switch, function: Soil Moisture Sensor simulation.
* Wiring: Connects between node VCC and node SOIL_Status.
* Logic: Closed (Controlled by V_CTRL_S1 High) = Dry/Logic 1.
S1 VCC SOIL_Status N_CTRL_S1 0 SW_IDEAL
* ... (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: Conditional automatic irrigation system

* -----------------------------------------------------------------------------
* POWER SUPPLY
* -----------------------------------------------------------------------------
* V1: 5V DC supply, function: Main power source.
V1 VCC 0 DC 5

* -----------------------------------------------------------------------------
* STIMULI GENERATION (Simulating User Interaction)
* -----------------------------------------------------------------------------
* These voltage sources drive the control pins of the ideal switches (S1, S2)
* to simulate the physical sensors changing state over time.
* They are not part of the BOM but are necessary for dynamic simulation.

* Control signal for S1 (Soil Sensor): Period 200us
* Logic: 0 -> 1 -> 0 -> 1
V_CTRL_S1 N_CTRL_S1 0 PULSE(0 5 10u 1u 1u 100u 200u)

* Control signal for S2 (Tank Sensor): Period 400us
* Logic: 0 -> 0 -> 1 -> 1
V_CTRL_S2 N_CTRL_S2 0 PULSE(0 5 10u 1u 1u 200u 400u)

* -----------------------------------------------------------------------------
* INPUT STAGE (Sensors and Pull-downs)
* -----------------------------------------------------------------------------
* S1: SPST Switch, function: Soil Moisture Sensor simulation.
* Wiring: Connects between node VCC and node SOIL_Status.
* Logic: Closed (Controlled by V_CTRL_S1 High) = Dry/Logic 1.
S1 VCC SOIL_Status N_CTRL_S1 0 SW_IDEAL

* R1: 10 kΩ resistor, function: pull-down for Input A.
* Wiring: Connects between node SOIL_Status and node 0 (GND).
R1 SOIL_Status 0 10k

* S2: SPST Switch, function: Water Tank Level simulation.
* Wiring: Connects between node VCC and node TANK_Status.
* Logic: Closed (Controlled by V_CTRL_S2 High) = Water Present/Logic 1.
S2 VCC TANK_Status N_CTRL_S2 0 SW_IDEAL

* R2: 10 kΩ resistor, function: pull-down for Input B.
* Wiring: Connects between node TANK_Status and node 0 (GND).
R2 TANK_Status 0 10k

* -----------------------------------------------------------------------------
* LOGIC STAGE (74HC08 Quad 2-Input AND Gate)
* -----------------------------------------------------------------------------
* U1: 74HC08
* Wiring Guide:
* - Pin 1 (Input A) -> SOIL_Status
* - Pin 2 (Input B) -> TANK_Status
* - Pin 3 (Output Y) -> PUMP_Cmd
* - Pin 7 -> GND (0)
* - Pin 14 -> VCC
* Implemented as a subcircuit to strictly expose pins as nodes.
XU1 SOIL_Status TANK_Status PUMP_Cmd 0 VCC 74HC08_Behavioral

* -----------------------------------------------------------------------------
* OUTPUT STAGE (Indicator)
* -----------------------------------------------------------------------------
* R3: 330 Ω resistor, function: LED current limiting.
* Wiring: Connects between node PUMP_Cmd and node LED_Anode.
R3 PUMP_Cmd LED_Anode 330

* D1: Green LED, function: Water Pump active indicator.
* Wiring: Connects between node LED_Anode (Anode) and node 0 (GND).
D1 LED_Anode 0 LED_Green

* -----------------------------------------------------------------------------
* MODELS & SUBCIRCUITS
* -----------------------------------------------------------------------------
* Switch Model: Low On-Resistance, High Off-Resistance, Threshold 2.5V
.model SW_IDEAL SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* LED Model: Generic Green LED approximation
.model LED_Green D(IS=1e-22 N=1.5 RS=5 BV=5 IBV=10u)

* 74HC08 Subcircuit (Behavioral Implementation)
* Pinout: 1=A, 2=B, 3=Y, 7=GND, 14=VCC
.subckt 74HC08_Behavioral 1 2 3 7 14
* Logic Y = A AND B
* Implementation: Continuous sigmoid function for robust convergence.
* Output voltage swings to V(14) (VCC) when both inputs > 2.5V.
B_AND 3 7 V = V(14,7) * (1 / (1 + exp(-40 * (V(1,7) - 2.5)))) * (1 / (1 + exp(-40 * (V(2,7) - 2.5))))
.ends

* -----------------------------------------------------------------------------
* ANALYSIS COMMANDS
* -----------------------------------------------------------------------------
* Transient analysis: 500us duration to capture all logic states (00, 10, 01, 11)
.tran 1u 500u

* Print critical nodes for verification
.print tran V(SOIL_Status) V(TANK_Status) V(PUMP_Cmd) V(LED_Anode)

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  • Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten», provocando que el LED parpadee o se encienda aleatoriamente cuando los interruptores están abiertos. Solución: Verifica siempre que las resistencias pull-down estén conectadas a Tierra.
  • Orientación del LED: Colocar el LED al revés impide que se encienda incluso cuando la lógica es correcta. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia la resistencia y el CI.
  • Confusión de chips: Usar un 74HC32 (puerta OR) en lugar de un 74HC08 (puerta AND). Solución: Lee el texto impreso en la parte superior del CI antes de insertarlo. Si se comporta como «Bomba encendida si CUALQUIERA de las condiciones se cumple», tienes el chip equivocado.

Solución de problemas

  • Síntoma: El LED está siempre ENCENDIDO, independientemente de los interruptores.
    • Causa: Las entradas podrían estar en cortocircuito directo a VCC, o el CI está dañado.
    • Solución: Revisa el cableado en los Pines 1 y 2. Asegúrate de que R1 y R2 vayan a Tierra, no a VCC.
  • Síntoma: El LED es muy tenue cuando está activo.
    • Causa: El valor de R3 es demasiado alto.
    • Solución: Reemplaza R3 con un valor entre 220 Ω y 470 Ω.
  • Síntoma: El circuito funciona inversamente (LED apagado cuando los interruptores están cerrados).
    • Causa: Podrías estar usando una puerta NAND (como 74HC00) o conectaste el LED a VCC en lugar de a Tierra (fuente vs sumidero).
    • Solución: Verifica que el número de parte sea 74HC08 y que el Cátodo del LED esté en Tierra.

Posibles mejoras y extensiones

  1. Interfaz de alta potencia: Reemplaza el LED con un transistor NPN (por ejemplo, 2N2222) y un relé para controlar una bomba de agua real de 12V.
  2. Control manual: Añade un tercer interruptor conectado a una puerta OR después de la salida de la puerta AND, permitiendo al usuario forzar el encendido de la bomba independientemente de los sensores.

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é circuito integrado (CI) se utiliza como componente principal para la lógica?




Pregunta 3: ¿Qué función lógica representa el circuito construido?




Pregunta 4: ¿Qué condición simula el Interruptor A (Sensor de suelo) cuando está en ALTO?




Pregunta 5: ¿Qué sucede con el LED de salida si el tanque está vacío (Interruptor B = BAJO)?




Pregunta 6: ¿Cuál es uno de los beneficios mencionados sobre la protección del equipo?




Pregunta 7: ¿Qué fórmula booleana representa la función lógica de este circuito?




Pregunta 8: ¿Qué condiciones deben cumplirse para que el LED (Bomba) se ENCIENDA?




Pregunta 9: ¿Qué concepto de lógica industrial demuestra este proyecto?




Pregunta 10: ¿Qué función cumple el Interruptor B en la simulación?




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: