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

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC32, función: CI de cuádruple puerta OR de 2 entradas.
  • S1: Interruptor de palanca SPST, función: Simula el Sensor de Temperatura (Abierto=Normal, Cerrado=Sobrecalentamiento).
  • S2: Interruptor de palanca SPST, función: Simula el Sensor de Atasco (Abierto=Despejado, Cerrado=Atasco).
  • R1: Resistencia de 10 kΩ, función: Pull-down para la Entrada de Temperatura.
  • R2: Resistencia de 10 kΩ, función: Pull-down para la Entrada de Atasco.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el indicador LED.
  • D1: LED rojo, función: Indicador visual de falla.

Pin-out del CI utilizado

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

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

Guía de conexionado

  • VCC: Conectar el terminal positivo de V1 al pin 14 de U1.
  • 0 (GND): Conectar el terminal negativo de V1 al pin 7 de U1.
  • VA (Señal Temp): Conectar el terminal 2 de S1 al pin 1 de U1.
  • VA (Señal Temp): Conectar R1 entre el pin 1 de U1 y 0.
  • VCC: Conectar el terminal 1 de S1 a VCC.
  • VB (Señal Atasco): Conectar el terminal 2 de S2 al pin 2 de U1.
  • VB (Señal Atasco): Conectar R2 entre el pin 2 de U1 y 0.
  • VCC: Conectar el terminal 1 de S2 a VCC.
  • V_OUT: Conectar el pin 3 de U1 al terminal 1 de R3.
  • LED_NODE: Conectar el terminal 2 de R3 al Ánodo de D1.
  • 0 (GND): Conectar el Cátodo de D1 a 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Title: Production Line Fault Monitoring (OR Logic)

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

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

Diagrama eléctrico

Diagrama electrico del caso: Caso práctico: Monitoreo de fallas en línea de producción
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

* Practical case: Production Line Fault Monitoring

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

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

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

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

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

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

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

* Practical case: Production Line Fault Monitoring

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

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

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

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

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

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

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

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

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

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

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

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

  • El LED está siempre ENCENDIDO: Verifique si las resistencias pull-down R1 y R2 están conectadas a Tierra. Si las entradas están desconectadas, flotan en Alto.
  • El LED es muy tenue: La resistencia R3 podría ser demasiado alta (ej. 10 kΩ en lugar de 330 Ω) o el voltaje de la fuente de alimentación está por debajo de 3 V.
  • No sucede nada cuando los interruptores se cierran: Verifique que el Pin 14 de U1 esté conectado a 5 V y el Pin 7 esté conectado a GND. Compruebe la continuidad de los interruptores.
  • La lógica está invertida (LED APAGADO cuando ocurre una falla): Es posible que haya utilizado accidentalmente una puerta NOR o haya cableado el LED activo en bajo (Ánodo a VCC, Cátodo a Salida).

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Sistema de arranque de motor redundante

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

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

Objetivo y caso de uso

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

  • Redundancia operativa: Asegura que la maquinaria pueda activarse desde una ubicación secundaria si el panel primario es inaccesible.
  • Conveniencia: Permite a los operadores arrancar una cinta transportadora o un ventilador desde cualquier extremo de una línea de producción.
  • Aislamiento de señal: Utiliza lógica de bajo voltaje (5 V) para conmutar de forma segura una carga inductiva de alta potencia (motor) a través de un controlador de relé.

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

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

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Lógica principal y alimentación del relé
  • U1: 74HC32, función: Cuádruple compuerta OR de 2 entradas
  • S1: Pulsador (normalmente abierto), función: Panel de arranque principal
  • S2: Pulsador (normalmente abierto), función: Mando de arranque remoto
  • R1: Resistencia de 10 kΩ, función: Pull-down para Entrada A
  • R2: Resistencia de 10 kΩ, función: Pull-down para Entrada B
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor
  • 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 5 V (SPDT), función: Conmutación de alta corriente
  • M1: Motor de 5 V CC, función: Simulación de carga industrial

Pin-out del CI utilizado

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

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

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • S1 se conecta entre el nodo VCC y el nodo START_MAIN.
  • R1 se conecta entre el nodo START_MAIN y el nodo 0.
  • S2 se conecta entre el nodo VCC y el nodo START_REMOTE.
  • R2 se conecta entre el nodo START_REMOTE y el nodo 0.
  • U1 Pin 1 (1A) se conecta al nodo START_MAIN.
  • U1 Pin 2 (1B) se conecta al nodo START_REMOTE.
  • U1 Pin 3 (1Y) se conecta al nodo LOGIC_OUT.
  • U1 Pin 14 (VCC) se conecta al nodo VCC.
  • U1 Pin 7 (GND) se conecta al nodo 0.
  • R3 se conecta entre el nodo LOGIC_OUT y el nodo BASE_DRIVE.
  • Q1 Base se conecta al nodo BASE_DRIVE.
  • Q1 Emisor se conecta al nodo 0.
  • Q1 Colector se conecta al nodo RELAY_COIL_LO.
  • K1 Positivo de la bobina se conecta entre el nodo VCC y el nodo RELAY_COIL_LO (Nota: La bobina conecta VCC al Colector).
  • D1 se conecta entre el nodo RELAY_COIL_LO (Ánodo) y el nodo VCC (Cátodo) (Polarización inversa).
  • K1 Contacto común se conecta al nodo VCC.
  • K1 Contacto Normalmente Abierto (NO) se conecta al nodo MOTOR_PWR.
  • M1 se conecta entre el nodo MOTOR_PWR y el nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Practical case: Redundant motor starter system

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

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

Diagrama eléctrico

Diagrama electrico del caso: Caso práctico: Sistema de arranque de motor redundante
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

  • Síntoma: El motor funciona continuamente y nunca se detiene.
    • Causa: Una entrada está flotando o en cortocircuito a VCC.
    • Solución: Verifique las conexiones de R1/R2 y asegúrese de que los botones no sean del tipo «Normalmente Cerrados».
  • Síntoma: La salida lógica se pone en Alto, pero el relé no hace clic.
    • Causa: El transistor Q1 no está conduciendo o R3 es demasiado alta.
    • Solución: Verifique el pin-out de Q1 (C-B-E) y asegúrese de que el emisor vaya a Tierra.
  • Síntoma: El sistema se reinicia o falla cuando el relé se apaga.
    • Causa: Ruido de retroceso inductivo (kickback).
    • Solución: Verifique que D1 esté instalado correctamente (Cátodo a VCC) y agregue un condensador de desacoplo de 100 nF cerca de VCC de U1.

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


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

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

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

Objetivo y caso de uso

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

  • Automatización industrial: Utilizado para botones de parada de emergencia (E-Stop) o interruptores de límite donde la detección de un objeto debe cortar la energía inmediatamente.
  • Lógica a prueba de fallos: Garantiza que se requiera una intervención activa para detener el proceso, mientras que el estado inactivo predeterminado de la lógica de control mantiene la máquina en funcionamiento (asumiendo que el actuador físico esté cableado para coincidir).
  • Inversión de señal: Adapta sensores con salidas activas en alto para controladores o drivers que requieren señales de inhabilitación activas en bajo.

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

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

Materiales

  • V1: Fuente de 5 V CC, función: Fuente de alimentación principal.
  • U1: CI Inversor Hexagonal 74HC04, función: Inversión lógica.
  • S1: Interruptor pulsador (NO), función: Simula la activación del sensor de seguridad.
  • R1: Resistencia de 10 kΩ, función: Pull-down para la entrada del sensor.
  • R2: Resistencia de 330 Ω, función: Limitación de corriente para el simulador de motor.
  • D1: LED verde, función: Sim-Motor-CC (indicador visual de potencia del motor).
  • C1: Condensador de 100 nF, función: Desacoplo para la alimentación de U1.

Pin-out del CI utilizado

Chip: 74HC04 (Inversor Hexagonal)

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

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0.
  • C1 se conecta entre el nodo VCC y el nodo 0 (cerca de U1).
  • S1 se conecta entre el nodo VCC y el nodo SENSOR_IN.
  • R1 se conecta entre el nodo SENSOR_IN y el nodo 0 (Pull-down).
  • U1 Pin 14 se conecta a VCC.
  • U1 Pin 7 se conecta a 0.
  • U1 Pin 1 se conecta a SENSOR_IN.
  • U1 Pin 2 se conecta a MOTOR_CTRL.
  • R2 se conecta entre el nodo MOTOR_CTRL y el nodo LED_ANODE.
  • D1 se conecta entre el nodo LED_ANODE (Ánodo) y el nodo 0 (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

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

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

Tabla de verdad

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

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

Mediciones y pruebas

  1. Validación del estado inactivo:

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

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

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

Netlist SPICE y simulación

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

* Practical case: Safety control with inverse logic

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

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

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

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

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

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

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

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

* Practical case: Safety control with inverse logic

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

  • Síntoma: El Motor (LED) está siempre APAGADO.
    • Causa: Pin de entrada atascado en ALTO o CI dañado.
    • Solución: Verifique el voltaje en el Pin 1. Si es 0 V, reemplace U1.
  • Síntoma: El Motor (LED) está siempre ENCENDIDO, incluso al presionar el botón.
    • Causa: Entrada en cortocircuito a GND o el botón S1 no hace contacto.
    • Solución: Use un multímetro para verificar la continuidad en S1 al presionarlo.
  • Síntoma: El LED parpadea al tocar el cable.
    • Causa: Falta la resistencia pull-down R1.
    • Solución: Verifique que R1 esté conectada firmemente entre el Pin 1 y Tierra.

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Inversor de señal con LED indicador

Prototipo de Inversor de señal con LED indicador (Maker Style)

Nivel: Básico – Comprender la lógica de una compuerta NOT (inversor) observando estados de entrada y salida opuestos mediante indicadores luminosos.

Objetivo y caso de uso

En este caso práctico, construirás un circuito lógico digital utilizando un CI 74HC04 (Hex Inverter). El circuito demostrará la función de inversión fundamental donde una señal de entrada ALTA (HIGH) resulta en una señal de salida BAJA (LOW), confirmada visualmente por dos LEDs que operan en estados alternos.

Por qué es útil:
* Enclavamientos de seguridad: Utilizados en maquinaria para asegurar que un sistema se detenga (lógica BAJA) cuando se activa un sensor (lógica ALTA).
* Indicadores de estado: Permite crear luces de «Standby» (espera) que se ENCIENDEN solo cuando el interruptor de encendido principal está APAGADO.
* Adaptación de niveles lógicos: Esencial para interconectar sensores activos en alto con entradas de microcontroladores activas en bajo.
* Acondicionamiento de señal: Limpia señales digitales ruidosas y asegura niveles lógicos distintos.

Resultado esperado:
* LED de entrada (Verde): Se ENCIENDE cuando se presiona el interruptor (Lógica 1).
* LED de salida (Rojo): Se APAGA cuando se presiona el interruptor (Lógica 0).
* Relación inversa: Cuando se suelta el interruptor (Lógica 0), el LED Rojo se ENCIENDE.
* Niveles de voltaje: Entrada a 0V $\rightarrow$ Salida $\approx$ 5V; Entrada a 5V $\rightarrow$ Salida $\approx$ 0V.

Público objetivo: Estudiantes y aficionados (Nivel: Básico).

Materiales

  • V1: Fuente de alimentación de 5 V CC (batería o fuente regulada)
  • S1: Interruptor SPST de palanca o táctil, función: Generador de señal de entrada
  • U1: 74HC04 (CI Hex Inverter), función: Inversión lógica
  • R1: Resistencia de 10 kΩ, función: Resistencia pull-down para la entrada VA
  • R2: Resistencia de 330 Ω, función: Limitación de corriente para el LED de entrada (D1)
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED de salida (D2)
  • D1: LED Verde, función: Indicador de estado de entrada (Activo Alto)
  • D2: LED Rojo, función: Indicador de estado de salida (Activo Alto)

Pin-out del CI utilizado

Chip seleccionado: 74HC04 (Hex Inverter)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conectado al Interruptor S1 y Pull-down R1
2 1Y Salida Conectado al LED de Salida (D2) vía R3
7 GND Tierra Conectado al Negativo de la Fuente de Alimentación (0V)
14 VCC Alimentación Conectado al Positivo de la Fuente de Alimentación (5V)

Nota: Los pines 3, 4, 5, 6, 8, 9, 10, 11, 12 y 13 no se utilizan en esta demostración de una sola compuerta. En un circuito permanente, las entradas no utilizadas en chips CMOS deben conectarse a GND.

Guía de conexionado

  • VCC: Conectar el terminal positivo de V1, Pin 14 de U1, y un lado de S1.
  • 0 (GND): Conectar el terminal negativo de V1, Pin 7 de U1, un lado de R1, el cátodo de D1, y el cátodo de D2.
  • VA (Nodo de Entrada): Conectar el otro lado de S1, el otro lado de R1, Pin 1 de U1, y un lado de R2.
  • Indicador de Entrada: Conectar el otro lado de R2 al ánodo de D1.
  • VOUT (Nodo de Salida): Conectar Pin 2 de U1 a un lado de R3.
  • Indicador de Salida: Conectar el otro lado de R3 al ánodo de D2.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

[ INPUT GENERATION ]               [ LOGIC & MONITORING ]               [ OUTPUT STAGE ]

    [ VCC ] -> [ Switch S1 ] --+
                               |
                               V
                           (Node VA) --(Pin 1)--> [ U1: 74HC04 ] --(Pin 2)--> [ R3: 330 ] -> [ D2: Red ] -> GND
                               |                  (Hex Inverter)
                               |
    [ GND ] <- [ R1: 10k ] <---+
                               |
                               +----(Monitor)---> [ R2: 330 ] --> [ D1: Green ] -> GND
Esquema Eléctrico

Tabla de verdad

El 74HC04 contiene seis compuertas NOT independientes. Estamos usando una.

Entrada (VA) Estado del interruptor Salida (VOUT) LED Verde (D1) LED Rojo (D2)
0 (Bajo) Abierto 1 (Alto) APAGADO ENCENDIDO
1 (Alto) Cerrado 0 (Bajo) ENCENDIDO APAGADO

Mediciones y pruebas

Para validar el circuito, realice los siguientes pasos utilizando un multímetro y observación visual:

  1. Comprobación del estado por defecto:

    • Asegúrese de que S1 esté abierto (no presionado).
    • Mida el voltaje en VA con respecto a GND. Debería ser 0V.
    • Mida el voltaje en VOUT con respecto a GND. Debería estar cerca de 5V.
    • Visual: El LED Rojo (D2) está ENCENDIDO; el LED Verde (D1) está APAGADO.
  2. Comprobación del estado activo:

    • Cierre (presione) S1.
    • Mida el voltaje en VA. Debería estar cerca de 5V.
    • Mida el voltaje en VOUT. Debería estar cerca de 0V.
    • Visual: El LED Rojo (D2) se APAGA; el LED Verde (D1) se ENCIENDE.
  3. Umbral de transición (Opcional):

    • Si utiliza una fuente de voltaje variable en lugar de S1, aumente lentamente el voltaje en VA. El estado de salida cambiará cuando la entrada cruce aproximadamente la mitad de VCC (aprox. 2.5V para la serie 74HC).

Netlist SPICE y simulación

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

* Practical case: Signal inverter with indicator LED

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

* --- Input Signal Generator (Switch S1) ---
* S1 connects VCC to VA (Input Node) when pressed.
* R1 pulls VA to Ground when S1 is open.
* V_S1_ACT simulates the user pressing the button (Active High).
* Pulse timing: Wait 10u, Press for 100u, Repeat every 200u.
V_S1_ACT S_ACT 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC VA S_ACT 0 SW_IDEAL

* --- Input Circuit Components ---
R1 VA 0 10k
R2 VA N_D1_A 330
D1 N_D1_A 0 LED_GREEN

* --- Logic Inverter (U1: 74HC04) ---
* Wiring: Pin1=VA, Pin2=VOUT, Pin7=GND, Pin14=VCC
* Implemented as a behavioral subcircuit to match pinout
XU1 VA VOUT 0 VCC 74HC04_1G

* --- Output Circuit Components ---
R3 VOUT N_D2_A 330
D2 N_D2_A 0 LED_RED

* --- Models ---
* Voltage Controlled Switch Model
.model SW_IDEAL SW(Vt=2.5 Ron=1 Roff=10Meg)
* ... (truncated in public view) ...

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

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

* Practical case: Signal inverter with indicator LED

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

* --- Input Signal Generator (Switch S1) ---
* S1 connects VCC to VA (Input Node) when pressed.
* R1 pulls VA to Ground when S1 is open.
* V_S1_ACT simulates the user pressing the button (Active High).
* Pulse timing: Wait 10u, Press for 100u, Repeat every 200u.
V_S1_ACT S_ACT 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC VA S_ACT 0 SW_IDEAL

* --- Input Circuit Components ---
R1 VA 0 10k
R2 VA N_D1_A 330
D1 N_D1_A 0 LED_GREEN

* --- Logic Inverter (U1: 74HC04) ---
* Wiring: Pin1=VA, Pin2=VOUT, Pin7=GND, Pin14=VCC
* Implemented as a behavioral subcircuit to match pinout
XU1 VA VOUT 0 VCC 74HC04_1G

* --- Output Circuit Components ---
R3 VOUT N_D2_A 330
D2 N_D2_A 0 LED_RED

* --- Models ---
* Voltage Controlled Switch Model
.model SW_IDEAL SW(Vt=2.5 Ron=1 Roff=10Meg)

* LED Models (Generic)
.model LED_GREEN D(IS=1e-22 RS=5 N=1.5 CJO=50p)
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=50p)

* --- Subcircuits ---
* 74HC04 Hex Inverter (Single Gate Representation)
* Pins: 1=Input, 2=Output, 7=GND, 14=VCC
.subckt 74HC04_1G 1 2 7 14
* Behavioral source implementing Inverter Logic: Vout = NOT(Vin)
* Uses sigmoid function for convergence: 1 / (1 + exp(k*(Vin - Vth)))
* Multiplied by V(14) to track supply voltage
B1 2 7 V = V(14) * (1 / (1 + exp(50 * (V(1) - 2.5))))
.ends

* --- Analysis Directives ---
* Transient analysis for 500us to capture pulse cycles
.tran 1u 500u

* Output data for plotting/logging
.print tran V(VA) V(VOUT) V(N_D1_A) V(N_D2_A)

.op
.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Entradas flotantes:
    • Error: Omitir la resistencia pull-down (R1). La entrada flota cuando el interruptor está abierto, causando que el LED de salida parpadee u oscile debido al ruido electromagnético.
    • Solución: Asegúrese siempre de que la entrada tenga un camino definido a GND (vía R1) cuando el interruptor esté abierto.
  2. Falta de resistencias limitadoras de corriente:
    • Error: Conectar LEDs directamente a la salida del CI o a VCC sin R2 o R3.
    • Solución: Utilice siempre resistencias en serie (330 Ω a 1 kΩ) para evitar quemar el LED o dañar la etapa de salida del 74HC04.
  3. Confusión en la numeración de pines:
    • Error: Cablear el CI al revés o contar los pines desde el lado equivocado.
    • Solución: Identifique la muesca/punto en el encapsulado. El Pin 1 está a la izquierda de la muesca cuando la muesca mira hacia arriba.

Solución de problemas

  • Ambos LEDs permanecen APAGADOS:
    • Causa: Fuente de alimentación desconectada o CI insertado al revés.
    • Solución: Verifique las conexiones de VCC (Pin 14) y GND (Pin 7). Asegúrese de que haya 5V presentes.
  • El LED de salida (Rojo) nunca se APAGA:
    • Causa: La entrada VA no está alcanzando la Lógica Alta (5V) de manera efectiva, o el CI está dañado.
    • Solución: Verifique la continuidad del Interruptor S1. Mida el voltaje en el Pin 1 mientras presiona el interruptor.
  • El LED de salida (Rojo) es tenue:
    • Causa: La resistencia R3 tiene un valor demasiado alto, o el voltaje de alimentación es demasiado bajo.
    • Solución: Verifique que R3 sea de 330 Ω. Compruebe si V1 es realmente de 5V.

Posibles mejoras y extensiones

  1. Circuito Buffer: Conecte la salida del primer inversor (Pin 2) a la entrada de un segundo inversor (Pin 3). La salida del segundo inversor (Pin 4) coincidirá ahora con el estado de la entrada original, actuando como un buffer no inversor.
  2. Oscilador de onda cuadrada: Utilice tres compuertas NOT en un bucle cerrado (Oscilador en Anillo Lógico) para crear un circuito que haga parpadear los LEDs automáticamente sin un interruptor.

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 la función principal del circuito integrado 74HC04 descrito en el texto?




Pregunta 2: En este circuito, ¿qué sucede con la señal de salida si la señal de entrada es ALTA (HIGH)?




Pregunta 3: ¿Qué componente se utiliza para generar la señal de entrada según el contexto?




Pregunta 4: Según el resultado esperado, ¿cuándo se enciende el LED de entrada (Verde)?




Pregunta 5: ¿Qué aplicación práctica se menciona para este tipo de circuito en maquinaria?




Pregunta 6: Si el circuito funciona como un inversor, ¿qué debería hacer el LED de salida cuando el de entrada está apagado?




Pregunta 7: En lógica digital estándar de 5V, ¿qué voltaje aproximado se espera en la salida de un inversor si la entrada es 0V?




Pregunta 8: ¿Para qué sirve este circuito en relación con los microcontroladores?




Pregunta 9: ¿Qué función de acondicionamiento de señal realiza este circuito según el texto?




Pregunta 10: ¿Cómo se describe el uso de este circuito para indicadores de estado?




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: Activación de bomba de agua de emergencia

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

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

Objetivo y caso de uso

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

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

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

Materiales

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

Pin-out del CI utilizado

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

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al nodo SENS_A
2 1B Entrada B Conectado al nodo SENS_B
3 1Y Salida Conectado al nodo GATE_OUT
7 GND Tierra Conectado al nodo 0 (GND)
14 VCC Alimentación (+5V) Conectado al nodo VCC

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos:

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

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: Activación de bomba de agua de emergencia
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

* Emergency water pump activation fixed

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

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

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

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

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

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

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

* Q1: NPN Transistor Switch
* Collector: MOTOR_DRIVE, Base: BASE_NODE, Emitter: 0 (GND)
* ... (truncated in public view) ...

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

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

* Emergency water pump activation fixed

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

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

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

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

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

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

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

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

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

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

* --- Models and Subcircuits ---

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Sistema de aviso de puerta abierta de coche

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

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

Objetivo y caso de uso

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

  • Por qué es útil:

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

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

Materiales

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

Pin-out del CI utilizado

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

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al nodo DOOR_A
2 1B Entrada B Conectado al nodo DOOR_B
3 1Y Salida Conectado al nodo V_ALARM
7 GND Tierra Conectado al nodo 0
14 VCC Alimentación Conectado al nodo VCC

Guía de conexionado

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

  • Fuente de alimentación

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

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

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

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

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: Sistema de aviso de puerta abierta de coche
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




Pregunta 10: ¿Qué nivel de dificultad se indica para este proyecto?




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

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

Sígueme:


Caso práctico: Sincronización de transferencia de datos

Prototipo de Sincronización de transferencia de datos (Maker Style)

Nivel: Avanzado. Implementar un circuito de reloj controlado (clock gating) que permita pulsos de sincronización solo cuando Data Ready y System Enable estén activos.

Objetivo y caso de uso

En esta sesión, diseñará y analizará un circuito de gating de reloj (clock gating) utilizando puertas AND en cascada para controlar el flujo de pulsos de reloj de alta velocidad hacia un registro de desplazamiento. Validará que la señal de reloj solo se propague cuando dos banderas de control distintas (‘Data Ready’ y ‘System Enable’) estén simultáneamente en alto.

Por qué es útil:
* Gestión de energía: Deshabilitar el árbol de reloj hacia registros de desplazamiento inactivos o subsistemas reduce el consumo de energía dinámica en circuitos CMOS.
* Integridad de datos: Asegura que los datos solo se registren en el búfer cuando la fuente indica datos válidos (Data Ready) y el controlador permite la recepción (System Enable).
* Arbitraje de bus: Previene la contención del bus sincronizando múltiples periféricos que comparten una línea de datos común.

Resultado esperado:
* La salida GATED_CLK refleja la entrada CLK solo cuando DATA_RDY = 1 y SYS_EN = 1.
* Se mide el retardo de propagación entre el flanco de reloj de entrada y el flanco de reloj de salida (típicamente 7–15 ns para la serie 74HC).
* Identificación de «pulsos enanos» (runt pulses) o glitches si las señales de habilitación cambian de estado mientras el reloj está en alto.

Público objetivo y nivel:
Estudiantes de ingeniería electrónica y diseñadores de sistemas embebidos (Avanzado).

Materiales

  • U1: CI 74HC08 de cuatro puertas AND de 2 entradas, función: puerta lógica
  • V_CLK: Generador de pulsos, función: Reloj Maestro (1 MHz, 0V-5V)
  • V_DR: Fuente de tensión CC o Interruptor, función: señal Data Ready
  • V_SE: Fuente de tensión CC o Interruptor, función: señal System Enable
  • V1: Fuente de alimentación de 5 V CC, función: alimentación principal
  • C1: Condensador cerámico de 100 nF, función: desacoplo de U1
  • R_LOAD: Resistencia de 10 kΩ, función: simula impedancia de entrada del registro de desplazamiento
  • C_LOAD: Condensador de 15 pF, función: simula capacitancia de entrada y carga de la sonda

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 Puerta 1 Conecta al Nodo DATA_RDY
2 1B Entrada Puerta 1 Conecta al Nodo SYS_EN
3 1Y Salida Puerta 1 Conecta al Nodo ENABLE_COMBINED (Interno)
4 2A Entrada Puerta 2 Conecta al Nodo ENABLE_COMBINED
5 2B Entrada Puerta 2 Conecta al Nodo CLK_IN
6 2Y Salida Puerta 2 Conecta al Nodo GATED_CLK
7 GND Tierra / Masa Conecta al Nodo 0
14 VCC Alimentación Conecta al Nodo VCC

Guía de conexionado

Construya el circuito siguiendo estas conexiones de nodos. Asegúrese de que la fuente de alimentación esté apagada mientras realiza el cableado.

  • Fuente de alimentación:

    • El terminal positivo de V1 conecta al nodo VCC.
    • El terminal negativo de V1 conecta al nodo 0 (GND).
    • C1 conecta entre VCC y 0 (colocado cerca de U1).
    • El Pin 14 de U1 conecta a VCC.
    • El Pin 7 de U1 conecta a 0.
  • Lógica de control (Puerta 1):

    • El terminal positivo de V_DR (Data Ready) conecta al nodo DATA_RDY.
    • El terminal positivo de V_SE (System Enable) conecta al nodo SYS_EN.
    • El Pin 1 (1A) de U1 conecta al nodo DATA_RDY.
    • El Pin 2 (1B) de U1 conecta al nodo SYS_EN.
    • El Pin 3 (1Y) de U1 conecta al nodo ENABLE_COMBINED.
  • Gating de reloj (Puerta 2):

    • El terminal positivo de V_CLK (Fuente de reloj) conecta al nodo CLK_IN.
    • El Pin 4 (2A) de U1 conecta al nodo ENABLE_COMBINED.
    • El Pin 5 (2B) de U1 conecta al nodo CLK_IN.
    • El Pin 6 (2Y) de U1 conecta al nodo GATED_CLK.
  • Carga de salida:

    • R_LOAD conecta entre GATED_CLK y 0.
    • C_LOAD conecta entre GATED_CLK y 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC08 AND gate

Esquemático

[ INPUT SIGNALS ]                       [ LOGIC PROCESSING (U1: 74HC08) ]                     [ OUTPUT STAGE ]

                                             +-----------------------------------+
                                             |    POWER SUPPLY & DECOUPLING      |
                                             |  V1 (5V) -> Pin 14, GND -> Pin 7  |
                                             |  C1 (100nF) across VCC/GND        |
                                             +-----------------------------------+
                                                               |
    [ V_DR: Data Ready ] --(Pin 1)-->+                         |
                                     |                         v
                                                  +-----> [ AND Gate 1 ] ---+
                                     |       (Control Logic)   |
    [ V_SE: Sys Enable ] --(Pin 2)-->+                         |
                                                               |
                                                               | (Pin 3: ENABLE_COMBINED)
                                                               |
                                                               v
                                                          (Pin 4)
                                                                                         +---> [ AND Gate 2 ] --(Pin 6)--> [ R_LOAD (10k) ] --+
                                                               |     (Clock Gating)              [ C_LOAD (15pF) ]  |
    [ V_CLK: Master Clk ] --(Pin 5)----------------------------+     (Signal: GATED_CLK)                            v
                                                                                                                   GND
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico para sincronización de transferencia de datos
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Esta tabla representa la lógica en cascada: GATED_CLK = (DATA_RDY AND SYS_EN) AND CLK_IN.

DATA_RDY SYS_EN ENABLE_COMBINED (Interno) CLK_IN GATED_CLK Descripción del estado
0 X 0 X 0 Bloqueado: Datos no listos
X 0 0 X 0 Bloqueado: Sistema deshabilitado
1 1 1 0 0 Activo: Fase baja del reloj
1 1 1 1 1 Activo: Fase alta del reloj aprobada

(X = No importa)

Mediciones y pruebas

Realice los siguientes pasos de validación utilizando un osciloscopio (se recomienda doble canal).

  1. Validación lógica estática:

    • Establezca V_CLK a 0V. Conmute V_DR y V_SE. Asegúrese de que GATED_CLK permanezca en 0V.
    • Establezca V_CLK a 5V (CC). Asegúrese de que GATED_CLK esté en Alto SOLO cuando tanto V_DR como V_SE estén en Alto.
  2. Gating de reloj dinámico:

    • Configure V_CLK a una onda cuadrada de 1 MHz (ciclo de trabajo del 50%).
    • Habilite el Canal 1 en CLK_IN y el Canal 2 en GATED_CLK.
    • Active tanto V_DR como V_SE. Verifique que el Canal 2 replique al Canal 1.
    • Desactive V_DR. Verifique que el Canal 2 se quede plano en Bajo.
  3. Análisis del retardo de propagación (Avanzado):

    • Con el reloj funcionando y pasando a través, maximice el zoom horizontal (base de tiempo ~10ns/div).
    • Mida la diferencia de tiempo entre el punto de tensión del 50% del flanco de subida de CLK_IN y el flanco de subida de GATED_CLK.
    • Resultado esperado: Un retardo de aproximadamente 15ns–25ns (suma de los retardos a través de la Puerta 1 y la Puerta 2).
  4. Observación de Glitch/Riesgos:

    • Mientras CLK_IN está en Alto, conmute manualmente DATA_RDY.
    • Observe si aparecen pulsos truncados («enanos» o runts) en la salida. Estos son riesgos causados por el gating asíncrono.

Netlist SPICE y simulación

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

* Practical case: Data transfer synchronization

* --- Power Supply ---
* V1 positive terminal connects to node VCC. Negative to node 0 (GND).
V1 VCC 0 DC 5
* C1 connects between VCC and 0 (placed close to U1).
C1 VCC 0 100n

* --- Input Stimuli (Dynamic) ---
* V_CLK: Master Clock (1 MHz, 0V-5V). 
* PULSE(V1 V2 TD TR TF PW PER) -> 1us Period, 0.49us Width
V_CLK CLK_IN 0 PULSE(0 5 0 10n 10n 490n 1u)

* V_DR: Data Ready signal.
* Simulates a data packet ready signal. Pulses High from 5us to 15us.
V_DR DATA_RDY 0 PULSE(0 5 5u 10n 10n 10u 40u)

* V_SE: System Enable signal.
* Simulates system enable window. Pulses High from 2us to 22us.
V_SE SYS_EN 0 PULSE(0 5 2u 10n 10n 20u 50u)

* --- Control Logic (U1: 74HC08) ---
* Instantiation of the IC using a behavioral subcircuit.
* Mapping pins according to Wiring Guide:
* Pin 1 (1A) -> DATA_RDY
* Pin 2 (1B) -> SYS_EN
* Pin 3 (1Y) -> ENABLE_COMBINED
* Pin 4 (2A) -> ENABLE_COMBINED
* Pin 5 (2B) -> CLK_IN
* Pin 6 (2Y) -> GATED_CLK
* ... (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: Data transfer synchronization

* --- Power Supply ---
* V1 positive terminal connects to node VCC. Negative to node 0 (GND).
V1 VCC 0 DC 5
* C1 connects between VCC and 0 (placed close to U1).
C1 VCC 0 100n

* --- Input Stimuli (Dynamic) ---
* V_CLK: Master Clock (1 MHz, 0V-5V). 
* PULSE(V1 V2 TD TR TF PW PER) -> 1us Period, 0.49us Width
V_CLK CLK_IN 0 PULSE(0 5 0 10n 10n 490n 1u)

* V_DR: Data Ready signal.
* Simulates a data packet ready signal. Pulses High from 5us to 15us.
V_DR DATA_RDY 0 PULSE(0 5 5u 10n 10n 10u 40u)

* V_SE: System Enable signal.
* Simulates system enable window. Pulses High from 2us to 22us.
V_SE SYS_EN 0 PULSE(0 5 2u 10n 10n 20u 50u)

* --- Control Logic (U1: 74HC08) ---
* Instantiation of the IC using a behavioral subcircuit.
* Mapping pins according to Wiring Guide:
* Pin 1 (1A) -> DATA_RDY
* Pin 2 (1B) -> SYS_EN
* Pin 3 (1Y) -> ENABLE_COMBINED
* Pin 4 (2A) -> ENABLE_COMBINED
* Pin 5 (2B) -> CLK_IN
* Pin 6 (2Y) -> GATED_CLK
* Pin 7 (GND)-> 0
* Pin 14(VCC)-> VCC
XU1 DATA_RDY SYS_EN ENABLE_COMBINED ENABLE_COMBINED CLK_IN GATED_CLK 0 VCC 74HC08_BEHAVIORAL

* --- Output Loading ---
* R_LOAD connects between GATED_CLK and 0.
R_LOAD GATED_CLK 0 10k
* C_LOAD connects between GATED_CLK and 0.
C_LOAD GATED_CLK 0 15p

* --- Subcircuit Model: 74HC08 ---
* Robust behavioral implementation using sigmoid functions for convergence.
* Only the gates used in the wiring are modeled to save complexity.
.subckt 74HC08_BEHAVIORAL 1A 1B 1Y 2A 2B 2Y GND VCC
    * Gate 1: 1Y = 1A AND 1B
    * Function: V(VCC) * Sigmoid(A) * Sigmoid(B)
    B_G1 1Y_INT GND V = V(VCC) * (1 / (1 + exp(-50*(V(1A)-2.5)))) * (1 / (1 + exp(-50*(V(1B)-2.5))))
    R_G1 1Y_INT 1Y 100

    * Gate 2: 2Y = 2A AND 2B
    B_G2 2Y_INT GND V = V(VCC) * (1 / (1 + exp(-50*(V(2A)-2.5)))) * (1 / (1 + exp(-50*(V(2B)-2.5))))
    R_G2 2Y_INT 2Y 100
.ends

* --- Analysis Directives ---
.op
* Transient analysis: 10ns step, 25us duration to capture full logic sequence
.tran 10n 25u

* --- Output Directives ---
.print tran V(CLK_IN) V(DATA_RDY) V(SYS_EN) V(ENABLE_COMBINED) V(GATED_CLK)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (6072 rows)
Index   time            v(clk_in)       v(data_rdy)     v(sys_en)
0	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
1	1.000000e-10	5.000000e-02	0.000000e+00	0.000000e+00
2	2.000000e-10	1.000000e-01	0.000000e+00	0.000000e+00
3	4.000000e-10	2.000000e-01	0.000000e+00	0.000000e+00
4	8.000000e-10	4.000000e-01	0.000000e+00	0.000000e+00
5	1.600000e-09	8.000000e-01	0.000000e+00	0.000000e+00
6	3.200000e-09	1.600000e+00	0.000000e+00	0.000000e+00
7	6.400000e-09	3.200000e+00	0.000000e+00	0.000000e+00
8	1.000000e-08	5.000000e+00	0.000000e+00	0.000000e+00
9	1.064000e-08	5.000000e+00	0.000000e+00	0.000000e+00
10	1.192000e-08	5.000000e+00	0.000000e+00	0.000000e+00
11	1.448000e-08	5.000000e+00	0.000000e+00	0.000000e+00
12	1.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
13	2.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
14	3.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
15	4.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
16	5.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
17	6.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
18	7.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
19	8.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
20	9.960000e-08	5.000000e+00	0.000000e+00	0.000000e+00
21	1.096000e-07	5.000000e+00	0.000000e+00	0.000000e+00
22	1.196000e-07	5.000000e+00	0.000000e+00	0.000000e+00
23	1.296000e-07	5.000000e+00	0.000000e+00	0.000000e+00
... (6048 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar entradas no utilizadas flotando:
    • Problema: Las entradas no utilizadas en el 74HC08 (p. ej., Pines 9, 10, 12, 13) captan ruido, causando alto consumo de energía u oscilación.
    • Solución: Conecte todas las entradas de puertas AND no utilizadas directamente a GND o VCC.
  2. Ignorar la acumulación del retardo de propagación:
    • Problema: Asumir que la salida ocurre instantáneamente. En esta configuración en cascada (Puerta 1 -> Puerta 2), el retardo es el doble que el de una sola puerta.
    • Solución: Tenga en cuenta este retardo en los diagramas de tiempo; las señales pueden llegar demasiado tarde para el tiempo de establecimiento (setup time) del registro de desplazamiento subsiguiente.
  3. Hacer gating del reloj de forma asíncrona:
    • Problema: Cambiar SYS_EN mientras el reloj está en Alto recorta el ancho del pulso, violando el requisito de ancho de pulso mínimo del registro de desplazamiento.
    • Solución: Idealmente, sincronice la señal de Habilitación (Enable) con el flanco de bajada del reloj (usando un Flip-Flop) antes de alimentarla a la puerta AND.

Solución de problemas

  • Síntoma: La salida está permanentemente en Bajo, incluso cuando todas las entradas están en Alto.
    • Causa: Falta alimentación en el Pin 14 o GND en el Pin 7.
    • Solución: Verifique la continuidad de VCC/GND con un multímetro.
  • Síntoma: «Fantasma» (ghosting) o flancos ruidosos en el osciloscopio.
    • Causa: Falta de condensador de desacoplo o cables de tierra largos en las sondas.
    • Solución: Instale C1 (100nF) extremadamente cerca del CI; use el muelle de tierra en la punta de la sonda.
  • Síntoma: Los flancos de la señal son muy redondeados (tiempo de subida lento).
    • Causa: La carga capacitiva es demasiado alta (cables largos o capacitancia parásita de la protoboard).
    • Solución: Acorte los cables o añada un búfer si maneja una carga pesada.

Posibles mejoras y extensiones

  1. Gating libre de glitches: Añada un D-Flip-Flop (p. ej., 74HC74) para sincronizar la señal ENABLE_COMBINED de modo que solo cambie de estado cuando el Reloj esté en Bajo.
  2. Inserción de estados de espera: Expanda el circuito para afirmar una señal «BUSY» de vuelta al controlador siempre que el reloj se active con éxito, confirmando que la transferencia de datos está activa.

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 de 'clock gating' descrito en el artículo?




Pregunta 2: ¿Qué condiciones deben cumplirse simultáneamente para que la señal de reloj se propague?




Pregunta 3: ¿Qué beneficio aporta el 'clock gating' en términos de gestión de energía?




Pregunta 4: ¿Qué componente lógico básico se menciona para realizar el 'gating' en este diseño?




Pregunta 5: ¿Cómo contribuye este circuito a la integridad de los datos?




Pregunta 6: ¿Qué utilidad tiene el circuito en relación con el 'Arbitraje de bus'?




Pregunta 7: ¿Cuál es el nivel de dificultad asignado a este ejercicio de implementación?




Pregunta 8: ¿Qué sucede con la salida GATED_CLK si 'Data Ready' es 1 pero 'System Enable' es 0?




Pregunta 9: ¿Por qué es importante reducir el consumo de energía dinámica en circuitos CMOS?




Pregunta 10: ¿Qué señal de salida debe reflejar la entrada CLK cuando las condiciones de habilitación se cumplen?




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

Diagrama eléctrico

Diagrama eléctrico del caso: Interbloqueo de seguridad en un reactor químico
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Esta tabla representa 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

Diagrama eléctrico

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

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

Tabla de verdad

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

* Simple security code validation

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

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

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

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

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

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

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

* Simple security code validation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

  • 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

Diagrama eléctrico

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

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

Tabla de verdad

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

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

Mediciones y pruebas

Valida el funcionamiento del circuito utilizando un multímetro:

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

Netlist SPICE y simulación

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

* Title: Practical case: Conveyor belt start system

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

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

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

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

* --- Driver Stage ---
* ... (truncated in public view) ...

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

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

* Title: Practical case: Conveyor belt start system

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

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

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

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

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

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

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

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

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

* --- Models & Subcircuits ---

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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