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:
Scroll to Top