Caso práctico: Amplificador lineal CMOS

Prototipo de Amplificador lineal CMOS (Maker Style)

Nivel: Avanzado. Configurar un inversor 74HC04 como un amplificador analógico lineal de Clase A usando retroalimentación negativa.

Objetivo y caso de uso

Construirá un amplificador de voltaje de una sola etapa utilizando una puerta inversora de un CI 74HC04, polarizada en su región lineal mediante una resistencia de retroalimentación. Esta configuración fuerza a la puerta digital a actuar como un amplificador inversor analógico para pequeñas señales de CA.

Por qué es útil:
* Análisis de estructura interna: Demuestra que las puertas lógicas digitales están construidas con transistores analógicos (MOSFETs) y poseen una región lineal activa.
* Osciladores de cristal: Esta topología es el bloque de construcción fundamental para los osciladores Pierce utilizados en la generación de reloj.
* Amplificación de bajo costo: Proporciona un amplificador simple y barato de alta impedancia para sensores piezoeléctricos o micrófonos sin requerir un amplificador operacional dedicado.
* Buffering de señal: Se puede utilizar para cuadrar flancos analógicos «lentos» en pulsos digitales nítidos si se ajusta la retroalimentación.

Resultado esperado:
* Autopolarización: El voltaje de CC de entrada y salida se estabiliza automáticamente en aproximadamente VCC / 2 (p. ej., ~2.5 V).
* Amplificación: Una onda senoidal de entrada de 50 mVpp da como resultado una onda senoidal de salida invertida amplificada.
* Linealidad: La señal de salida replica la forma de la entrada sin recorte (siempre que la señal de entrada permanezca pequeña).

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

Materiales

  • U1: 74HC04 (Inversor Quíntuple/Hex Inverter), función: elemento de amplificación activo.
  • Rf: Resistencia de 1 MΩ, función: retroalimentación negativa para polarización de CC (operación Clase A).
  • Cin: Condensador cerámico de 100 nF, función: acoplamiento de CA para la señal de entrada.
  • Cout: Condensador electrolítico de 10 µF, función: acoplamiento de CA para la carga.
  • RL: Resistencia de 10 kΩ, función: simulación de carga de salida.
  • V1: Fuente de alimentación de 5 V CC, función: fuente de energía principal.
  • V_SIG: Generador de señales, función: onda senoidal de 1 kHz, 50 mVpp (con offset de 0 V CC).

Pin-out del CI utilizado

Chip: 74HC04 (Hex Inverter)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Inversor 1 Conectado a GATE_IN
2 1Y Salida Inversor 1 Conectado a GATE_OUT
7 GND Tierra Conectado a 0 (GND)
14 VCC Fuente de alimentación Conectado a VCC
3,5,9,11,13 Entradas Entradas no utilizadas Conectar a 0 (GND) para prevenir oscilación

Guía de conexionado

  • V1: Terminal positivo a VCC, terminal negativo a 0.
  • U1: Pin 14 a VCC, Pin 7 a 0.
  • Entradas no utilizadas: Pines U1 3, 5, 9, 11, 13 a 0 (Esencial para la estabilidad).
  • Rf: Conectar entre GATE_IN (Pin 1) y GATE_OUT (Pin 2).
  • Cin: Conectar entre VIN_AC (salida del Generador de Señales) y GATE_IN.
  • U1 Gate: Pin 1 a GATE_IN, Pin 2 a GATE_OUT.
  • Cout: Terminal positivo a GATE_OUT, terminal negativo a VOUT_LOAD.
  • RL: Conectar entre VOUT_LOAD y 0.
  • V_SIG: Salida a VIN_AC, Tierra a 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

Practical case: CMOS linear amplifier

                                            (Feedback Loop)
                                  .-----------[ Rf: 1 MΩ ]------------.
                                  |                                   |
                                  V                                   |
[ V_SIG ] --(Signal)--> [ Cin: 100nF ] --(Pin 1)--> [ U1: 74HC04 ] --(Pin 2)--> [ Cout: 10µF ] --> [ RL: 10 kΩ ] --> GND
                                                          ^
                                                          |
                                                 [ Power: 5 V / GND ]
                                                 [ Unused Pins: 0 V ]
Esquema Eléctrico

Tabla de verdad

Aunque se opera como un amplificador analógico, el 74HC04 mantiene su lógica de tabla de verdad digital si se excita de riel a riel.

Entrada (A) Salida (Y)
L (0 V) H (5 V)
H (5 V) L (0 V)

Mediciones y pruebas

  1. Verificación de polarización CC:

    • Desconectar V_SIG temporalmente.
    • Medir el voltaje de CC en GATE_IN y GATE_OUT.
    • Validación: Ambos deberían medir aproximadamente VCC / 2 (alrededor de 2.5 V). Esto confirma que la resistencia de retroalimentación Rf ha polarizado correctamente el inversor en la región de transición.
  2. Medición de ganancia de CA:

    • Reconectar V_SIG (1 kHz, senoidal, 50 mVpp).
    • Usar un osciloscopio para observar el Canal 1 en VIN_AC y el Canal 2 en GATE_OUT.
    • Validación: Calcular la Ganancia de Voltaje Av = Voutpp / Vinpp. Debería observar una onda senoidal invertida con una ganancia significativa (típicamente 10x a 100x dependiendo del fabricante específico del 74HC04).
  3. Límite de linealidad:

    • Aumentar lentamente la amplitud de V_SIG.
    • Validación: Observar el punto donde la onda senoidal de salida se aplana en la parte superior (cerca de 5 V) y en la inferior (cerca de 0 V). Este es el límite del rango dinámico.

Netlist SPICE y simulación

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

* Practical case: CMOS linear amplifier
* 74HC04 Hex Inverter Linear Amplifier Configuration

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

* --- Signal Generator ---
* V_SIG: 1 kHz sine wave, 50 mVpp (25 mV amplitude), 0 V DC offset
V_SIG VIN_AC 0 SIN(0 25m 1k)

* --- Components ---

* Cin: 100 nF ceramic capacitor for AC coupling input
Cin VIN_AC GATE_IN 100n

* Rf: 1 MΩ resistor for negative feedback (DC biasing)
Rf GATE_IN GATE_OUT 1Meg

* U1: 74HC04 Hex Inverter
* ... (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: CMOS linear amplifier
* 74HC04 Hex Inverter Linear Amplifier Configuration

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

* --- Signal Generator ---
* V_SIG: 1 kHz sine wave, 50 mVpp (25 mV amplitude), 0 V DC offset
V_SIG VIN_AC 0 SIN(0 25m 1k)

* --- Components ---

* Cin: 100 nF ceramic capacitor for AC coupling input
Cin VIN_AC GATE_IN 100n

* Rf: 1 MΩ resistor for negative feedback (DC biasing)
Rf GATE_IN GATE_OUT 1Meg

* U1: 74HC04 Hex Inverter
* Instantiated as a subcircuit to strictly follow pinout and wiring guide.
* Pinout: 1=1A, 2=1Y, 3=2A, 4=2Y, 5=3A, 6=3Y, 7=GND, 8=4Y, 9=4A, 10=5Y, 11=5A, 12=6Y, 13=6A, 14=VCC
* Connected: Pin 1->GATE_IN, Pin 2->GATE_OUT, Pin 7->0, Pin 14->VCC
* Unused Inputs (3, 5, 9, 11, 13) connected to 0 (Ground).
* Unused Outputs (4, 6, 8, 10, 12) left as floating nodes (NC_x).
XU1 GATE_IN GATE_OUT 0 NC_2 0 NC_3 0 NC_4 0 NC_5 0 NC_6 0 VCC 74HC04

* Cout: 10 µF electrolytic capacitor for AC coupling load
* Connected from GATE_OUT (approx 2.5V DC) to VOUT_LOAD (0V DC)
Cout GATE_OUT VOUT_LOAD 10u

* RL: 10 kΩ load resistor
RL VOUT_LOAD 0 10k

* --- Subcircuit Models ---

* Subcircuit for 74HC04 Hex Inverter
* Implements 6 inverters using robust continuous behavioral sources (tanh).
* Model assumes Vth = VCC/2.
* Gain factor 100 used to approximate open-loop gain in linear region (~250) while ensuring convergence.
.subckt 74HC04 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Pin 14 = VCC, Pin 7 = GND
* Inverter 1 (1A->1Y)
B1 2 7 V = V(14,7)/2 + (V(14,7)/2) * tanh(100 * (V(14,7)/2 - V(1,7)))
* Inverter 2 (2A->2Y)
B2 4 7 V = V(14,7)/2 + (V(14,7)/2) * tanh(100 * (V(14,7)/2 - V(3,7)))
* Inverter 3 (3A->3Y)
B3 6 7 V = V(14,7)/2 + (V(14,7)/2) * tanh(100 * (V(14,7)/2 - V(5,7)))
* Inverter 4 (4A->4Y) - Note: Pin 9 is Input, Pin 8 is Output
B4 8 7 V = V(14,7)/2 + (V(14,7)/2) * tanh(100 * (V(14,7)/2 - V(9,7)))
* Inverter 5 (5A->5Y) - Note: Pin 11 is Input, Pin 10 is Output
B5 10 7 V = V(14,7)/2 + (V(14,7)/2) * tanh(100 * (V(14,7)/2 - V(11,7)))
* Inverter 6 (6A->6Y) - Note: Pin 13 is Input, Pin 12 is Output
B6 12 7 V = V(14,7)/2 + (V(14,7)/2) * tanh(100 * (V(14,7)/2 - V(13,7)))
.ends

* --- Analysis Directives ---
* Transient analysis: 5 ms duration to capture multiple 1 kHz cycles.
.tran 10u 5m

* Output variables for batch processing
* INPUT: VIN_AC, OUTPUT: VOUT_LOAD
.print tran V(VIN_AC) V(VOUT_LOAD) V(GATE_IN) V(GATE_OUT)

.op
.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation shows a functional inverting amplifier. The input signal (VIN_AC) is a ~25mV amplitude sine wave. The output (VOUT_LOAD) is an inverted sine wave with an amplitude of approximately 2.4V to 2.5V, indicating a very high gain that is causing significant clipping/saturation near the rails (approx +/- 2.5V swing). The DC bias point at GATE_IN and GATE_OUT settles near 2.5V (VCC/2) as expected for this self-biasing topology.
* bom_vs_spice equivalences ignored:
*   - U1 (74HC04) is modeled as a subcircuit using continuous behavioral voltage sources (tanh functions) to approximate the analog transfer curve of CMOS inverters.
* overall_comment: The circuit is a classic example of using a digital CMOS inverter as a linear class A amplifier. The netlist correctly implements the self-biasing scheme (Rf feedback) and AC coupling. The simulation results confirm the high open-loop gain of the HC series inverter, resulting in a heavily clipped output for a 50mVpp input. As a didactic example, it effectively demonstrates the concept, though a teacher might want to reduce the input amplitude or add an input series resistor to reduce the gain if a cleaner sine wave is desired.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows a functional inverting amplifier. The input signal (VIN_AC) is a ~25mV amplitude sine wave. The output (VOUT_LOAD) is an inverted sine wave with an amplitude of approximately 2.4V to 2.5V, indicating a very high gain that is causing significant clipping/saturation near the rails (approx +/- 2.5V swing). The DC bias point at GATE_IN and GATE_OUT settles near 2.5V (VCC/2) as expected for this self-biasing topology.
Show raw data table (508 rows)
Index   time            v(vin_ac)       v(vout_load)    v(gate_in)      v(gate_out)
0	0.000000e+00	0.000000e+00	0.000000e+00	2.500000e+00	2.500000e+00
1	1.000000e-07	1.570796e-05	-3.92600e-03	2.500016e+00	2.496074e+00
2	2.000000e-07	3.141592e-05	-7.85100e-03	2.500031e+00	2.492149e+00
3	4.000000e-07	6.283179e-05	-1.56989e-02	2.500063e+00	2.484301e+00
4	8.000000e-07	1.256632e-04	-3.13823e-02	2.500126e+00	2.468618e+00
5	1.600000e-06	2.513232e-04	-6.26967e-02	2.500251e+00	2.437303e+00
6	3.200000e-06	5.026210e-04	-1.25097e-01	2.500501e+00	2.374901e+00
7	6.400000e-06	1.005039e-03	-2.48425e-01	2.500997e+00	2.251567e+00
8	1.280000e-05	2.008453e-03	-4.87825e-01	2.501977e+00	2.012143e+00
9	2.280000e-05	3.569178e-03	-8.34430e-01	2.503471e+00	1.665472e+00
10	3.280000e-05	5.115818e-03	-1.13904e+00	2.504919e+00	1.360762e+00
11	4.280000e-05	6.642268e-03	-1.39785e+00	2.506318e+00	1.101832e+00
12	5.280000e-05	8.142504e-03	-1.61199e+00	2.507667e+00	8.875322e-01
13	6.280000e-05	9.610606e-03	-1.78571e+00	2.508964e+00	7.136492e-01
14	7.280000e-05	1.104078e-02	-1.92461e+00	2.510208e+00	5.745580e-01
15	8.280000e-05	1.242738e-02	-2.03459e+00	2.511395e+00	4.643784e-01
16	9.280000e-05	1.376493e-02	-2.12112e+00	2.512524e+00	3.776434e-01
17	1.028000e-04	1.504816e-02	-2.18894e+00	2.513590e+00	3.096072e-01
18	1.128000e-04	1.627201e-02	-2.24200e+00	2.514591e+00	2.563270e-01
19	1.228000e-04	1.743163e-02	-2.28348e+00	2.515522e+00	2.146211e-01
20	1.328000e-04	1.852246e-02	-2.31590e+00	2.516381e+00	1.819734e-01
21	1.428000e-04	1.954019e-02	-2.34122e+00	2.517164e+00	1.564217e-01
22	1.528000e-04	2.048080e-02	-2.36095e+00	2.517868e+00	1.364514e-01
23	1.628000e-04	2.134059e-02	-2.37626e+00	2.518489e+00	1.209036e-01
... (484 more rows) ...

Errores comunes y cómo evitarlos

  1. Uso de la familia lógica incorrecta: Los estudiantes a menudo usan 74LS04 o 74HCT04. Estos tienen pull-ups internos o diferentes umbrales de entrada que impiden una polarización lineal simétrica. Solución: Asegúrese de usar el 74HC04 (CMOS) o CD4069UB.
  2. Señal de entrada demasiado grande: Aplicar una señal lógica TTL/CMOS estándar (0-5 V) resultará en una salida de onda cuadrada, no en amplificación. Solución: Mantenga la señal de entrada pequeña (por debajo de 100 mVpp) para permanecer dentro de la región lineal.
  3. Entradas no utilizadas flotantes: Dejar los pines 3, 5, 9, etc., desconectados causa ruido interno y consumo excesivo de energía. Solución: Siempre conecte las entradas no utilizadas de los chips CMOS a Tierra (0).

Solución de problemas

  • Síntoma: La salida está atascada en 0 V o 5 V.
    • Causa: Falta la resistencia de retroalimentación Rf o es un circuito abierto.
    • Solución: Verifique la continuidad de Rf (1 MΩ). Se requiere para llevar el voltaje de entrada al punto de conmutación.
  • Síntoma: Ruido de alta frecuencia superpuesto a la señal.
    • Causa: Oscilación parásita debido a alta ganancia y capacitancia parásita.
    • Solución: Acorte los cables o añada un pequeño condensador (p. ej., 10 pF) en paralelo con Rf para reducir el ancho de banda.
  • Síntoma: La ganancia es muy baja ($< 2$).
    • Causa: La resistencia de carga RL es demasiado pequeña.
    • Solución: La impedancia de salida de un 74HC04 en modo lineal es relativamente alta. Aumente RL a 100 kΩ o retírela para las pruebas.

Posibles mejoras y extensiones

  1. Oscilador de cristal: Reemplace el generador de señales con un cristal de cuarzo y dos condensadores de carga (a tierra) en los pines de entrada y salida para crear una fuente de reloj estable.
  2. Amplificador en cascada: Conecte la salida de la primera etapa (a través de un condensador) a una segunda etapa 74HC04 configurada idénticamente para lograr una ganancia de voltaje total mucho mayor.

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é función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 2: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 3: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 4: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 5: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 6: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 7: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 8: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 9: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




Pregunta 10: ¿Qué función cumple la resistencia de retroalimentación en la configuración del 74HC04 descrita?




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: Oscilador en anillo y retardo

Prototipo de Oscilador en anillo y retardo (Maker Style)

Nivel: Avanzado — Construye y analiza un oscilador en anillo de 5 etapas para calcular el retardo de propagación de los componentes.

Objetivo y caso de uso

En este caso, construirás un oscilador en anillo conectando en cascada un número impar (5) de puertas NOT (inversores) en un bucle de retroalimentación cerrado utilizando un CI 74HC04. Medirás la frecuencia de oscilación resultante para calcular el retardo de propagación intrínseco de las puertas lógicas.

Por qué es útil:
* Caracterización de procesos: Utilizado en la fabricación de semiconductores para probar la velocidad y calidad de las obleas de silicio.
* Generación de reloj: Topología fundamental para generar relojes internos en ASICs y FPGAs.
* Generación de Números Aleatorios: El jitter inherente en los osciladores en anillo es una fuente de entropía para Generadores de Números Aleatorios Verdaderos (TRNG).
* Convertidores de Tiempo a Digital (TDC): Utilizados para medir intervalos de tiempo con alta precisión.

Resultado esperado:
* Una salida de onda cuadrada estable oscilando en el rango de MHz (típicamente 20 MHz–50 MHz para lógica 74HC en una protoboard).
* Medición de la frecuencia de oscilación (fosc).
* Cálculo del retardo de propagación promedio (tpd) por puerta.
* Observación visual de los tiempos de subida (tr) y bajada (tf) debido a la carga capacitiva.

Público objetivo y nivel:
Estudiantes avanzados de electrónica; Estudiantes de ingeniería.

Materiales

  • U1: CI 74HC04 Hex Inverter, función: puertas lógicas para el anillo
  • C1: Condensador cerámico de 100 nF, función: desacoplo de la fuente de alimentación (crítico para la estabilidad)
  • C2: Condensador de 10 pF, función: carga simulada (opcional, representa la capacitancia de la sonda)
  • V1: Fuente de alimentación de 5 V DC
  • W1-W5: Cables puente (jumpers), función: conexiones entre etapas

Pin-out del CI utilizado

Chip seleccionado: 74HC04 (Hex Inverter)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada 1 Desde Salida 5 (Nodo N5)
2 1Y Salida 1 A Entrada 2 (Nodo N1)
3 2 A Entrada 2 Desde Salida 1 (Nodo N1)
4 2Y Salida 2 A Entrada 3 (Nodo N2)
5 3 A Entrada 3 Desde Salida 2 (Nodo N2)
6 3Y Salida 3 A Entrada 4 (Nodo N3)
7 GND Tierra (Ground) Conectar a Nodo 0
8 4Y Salida 4 A Entrada 5 (Nodo N4)
9 4 A Entrada 4 Desde Salida 3 (Nodo N3)
10 5Y Salida 5 A Entrada 1 (Nodo N5 – Retroalimentación)
11 5 A Entrada 5 Desde Salida 4 (Nodo N4)
14 VCC Alimentación Conectar a Nodo VCC (+5 V)

Nota: Los pines 12 (6Y) y 13 (6 A) no se utilizan y deben dejarse abiertos o conectados a GND/VCC dependiendo de los requisitos específicos de ruido, aunque para esta prueba dejarlos abiertos es aceptable.

Guía de conexionado

Este circuito depende de una longitud de pista mínima para mantener la oscilación de alta frecuencia.

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • C1 se conecta entre el nodo VCC y el nodo 0 (colocar físicamente cerca de U1).
  • U1 (Pin 14) se conecta al nodo VCC.
  • U1 (Pin 7) se conecta al nodo 0.
  • U1 (Pin 1 – Entrada 1) se conecta al nodo N5 (Cierre del bucle de retroalimentación).
  • U1 (Pin 2 – Salida 1) se conecta al nodo N1.
  • U1 (Pin 3 – Entrada 2) se conecta al nodo N1.
  • U1 (Pin 4 – Salida 2) se conecta al nodo N2.
  • U1 (Pin 5 – Entrada 3) se conecta al nodo N2.
  • U1 (Pin 6 – Salida 3) se conecta al nodo N3.
  • U1 (Pin 9 – Entrada 4) se conecta al nodo N3.
  • U1 (Pin 8 – Salida 4) se conecta al nodo N4.
  • U1 (Pin 11 – Entrada 5) se conecta al nodo N4.
  • U1 (Pin 10 – Salida 5) se conecta al nodo N5.
  • C2 (Carga opcional) se conecta entre el nodo N5 y el nodo 0 para simular la capacitancia de la sonda.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

POWER SUPPLY & DECOUPLING:
      VCC (5 V) --> [ Node VCC ] --(Pin 14)--> [ U1: 74HC04 Power ]
                      |
                    [ C1: 100nF ]
                      |
      GND (0 V) --> [ Node 0 ] --(Pin 7)---> [ U1: 74HC04 GND ]


SIGNAL FLOW (RING OSCILLATOR):
(Logic flows Left to Right, wrapping around at the end)

      [ Feedback N5 ] --> [ U1: Gate 1 ] --(Node N1)--> [ U1: Gate 2 ] --(Node N2)--> [ U1: Gate 3 ] --(Node N3)--> \
      (Input Pin 1)       (In:1 / Out:2)                (In:3 / Out:4)                (In:5 / Out:6)                |
                                                                                                                    |
      /-------------------------------------------------------------------------------------------------------------/
      |
      \--> [ U1: Gate 4 ] --(Node N4)--> [ U1: Gate 5 ] --(Node N5)--> [ C2: 10pF ] --> GND
           (In:9 / Out:8)                (In:11 / Out:10)      |
                                                               |
                                                      (Loop back to Start)
Esquema Eléctrico

Tabla de verdad (Puerta NOT simple)

Entrada (A) Salida (Y)
L H
H L

En una configuración de anillo con un número impar de etapas, la lógica nunca se estabiliza, causando una oscilación perpetua.

Mediciones y pruebas

  1. Configuración: Asegura que el cableado sea corto y ordenado. Los cables largos añaden inductancia y capacitancia parásitas que reducirán significativamente la frecuencia.
  2. Visualización: Conecta una sonda de osciloscopio (se recomienda atenuación x10 para reducir la carga) al Nodo N5 (o cualquier nodo N1 a N4).
  3. Medición de frecuencia: Mide la frecuencia de la oscilación (fosc). Para una serie 74HC a 5 V, espera aprox. 20MHz – 40MHz dependiendo de la capacitancia parásita.
  4. Cálculo del retardo de propagación: Calcula el retardo de propagación promedio por puerta (tpd) usando la fórmula:
    $tpd = (1 / (2 × N × fosc))$
    Donde $N = 5$ (número de etapas).
    Ejemplo: Si $f_{osc} = 25 MHz$, entonces $T = 40 ns$. $t_{pd} = 40 ns / 10 = 4 ns$.
  5. Análisis de forma de onda: Haz zoom en los flancos. Observa que la onda no es un cuadrado perfecto; el tiempo de subida ($t_{r}$) y el tiempo de bajada ($t_{f}$) son visibles debido a la carga capacitiva de la entrada de la siguiente puerta.

Netlist SPICE y simulación

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

* Practical case: Ring Oscillator and Delay
.width out=256
* Ngspice Netlist

* --- Power Supply ---
* V1: 5 V DC supply connecting VCC to GND (0)
V1 VCC 0 DC 5

* --- Decoupling Capacitor ---
* C1: 100 nF ceramic capacitor, power supply decoupling
C1 VCC 0 100n

* --- Integrated Circuit U1: 74HC04 Hex Inverter ---
* Modeled as a subcircuit to strictly follow physical pinout and wiring guide.
* Pin Mapping (Standard DIP-14):
* 1:1A  2:1Y  3:2A  4:2Y  5:3A  6:3Y  7:GND
* 8:4Y  9:4A 10:5Y 11:5A 12:6Y 13:6A 14:VCC
*
* Wiring Connections based on Guide:
* Pin 1 (In1)  -> N5
* ... (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: Ring Oscillator and Delay
.width out=256
* Ngspice Netlist

* --- Power Supply ---
* V1: 5 V DC supply connecting VCC to GND (0)
V1 VCC 0 DC 5

* --- Decoupling Capacitor ---
* C1: 100 nF ceramic capacitor, power supply decoupling
C1 VCC 0 100n

* --- Integrated Circuit U1: 74HC04 Hex Inverter ---
* Modeled as a subcircuit to strictly follow physical pinout and wiring guide.
* Pin Mapping (Standard DIP-14):
* 1:1A  2:1Y  3:2A  4:2Y  5:3A  6:3Y  7:GND
* 8:4Y  9:4A 10:5Y 11:5A 12:6Y 13:6A 14:VCC
*
* Wiring Connections based on Guide:
* Pin 1 (In1)  -> N5
* Pin 2 (Out1) -> N1
* Pin 3 (In2)  -> N1
* Pin 4 (Out2) -> N2
* Pin 5 (In3)  -> N2
* Pin 6 (Out3) -> N3
* Pin 7 (GND)  -> 0
* Pin 8 (Out4) -> N4
* Pin 9 (In4)  -> N3
* Pin 10 (Out5)-> N5
* Pin 11 (In5) -> N4
* Pin 12 (Out6)-> NC_OUT (Unused)
* Pin 13 (In6) -> NC_IN  (Unused)
* Pin 14 (VCC) -> VCC

XU1 N5 N1 N1 N2 N2 N3 0 N4 N3 N5 N4 NC_OUT NC_IN VCC 74HC04

* --- Load Capacitor ---
* C2: 10 pF capacitor, simulated load on Output Node N5
C2 N5 0 10p

* --- Unused Pin Termination ---
* High resistance to ground to prevent floating node errors
R_NC1 NC_OUT 0 1G
R_NC2 NC_IN 0 1G

* --- Subcircuit Definitions ---

.subckt 74HC04 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    * Local Power: 14=VCC, 7=GND
    * Gate 1
    X1 1 2 14 7 inv_gate
    * Gate 2
    X2 3 4 14 7 inv_gate
    * Gate 3
    X3 5 6 14 7 inv_gate
    * Gate 4 (Note: Pin 9 is Input, Pin 8 is Output)
    X4 9 8 14 7 inv_gate
    * Gate 5 (Note: Pin 11 is Input, Pin 10 is Output)
    X5 11 10 14 7 inv_gate
    * Gate 6 (Unused)
    X6 13 12 14 7 inv_gate
.ends

.subckt inv_gate in out vcc gnd
    * Internal RC Delay Stage
    * Essential for Ring Oscillator simulation to function (creates phase shift)
    * R=1k, C=10p yields approx 10ns delay per stage
    R_delay in int 1k
    C_delay int gnd 10p
    
    * Behavioral Voltage Source (Sigmoid Inverter)
    * Uses continuous function for convergence: Vout = Vcc / (1 + exp(k*(Vin - Vcc/2)))
    * Gain factor k=10
    B_logic out gnd V=V(vcc) / (1 + exp(10 * (V(int) - V(vcc)/2)))
.ends

* --- Simulation Directives ---

* Initial Condition:
* Force node N1 to 0V at t=0 to prevent metastable state (kickstart oscillation)
.ic V(N1)=0

* Transient Analysis:
* Run for 2 microseconds, step size 1 nanosecond
* 'uic' (Use Initial Conditions) is required for .ic to take effect
.tran 1n 2u uic

* Operating Point (for check)
.op

* Output Printing:
* V(N5) is the primary OSC_OUT node
.print tran V(N5) V(N1) V(N2) V(N3) V(N4)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The transient analysis shows sustained oscillation on nodes N1 through N5. The voltages swing between ~0V and ~5V. The frequency can be inferred from the timestamps (e.g., N5 rising edges around 1.43us and subsequent cycles), confirming the ring oscillator behavior.
* bom_vs_spice equivalences ignored:
*   - U1 (74HC04 Hex Inverter) is modeled as a subcircuit using behavioral voltage sources and RC delay stages to simulate propagation delay and logic inversion.
* overall_comment: The circuit is well-modeled for a didactic example. The inclusion of internal RC delay stages inside the inverter subcircuit is crucial for a ring oscillator simulation, as ideal SPICE inverters often fail to oscillate or converge without explicit time-dependent behavior. The initial condition (.ic V(N1)=0) correctly kickstarts the oscillation. The connectivity matches the wiring guide perfectly.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The transient analysis shows sustained oscillation on nodes N1 through N5. The voltages swing between ~0V and ~5V. The frequency can be inferred from the timestamps (e.g., N5 rising edges around 1.43us and subsequent cycles), confirming the ring oscillator behavior.
Show raw data table (2039 rows)
Index   time            v(n5)           v(n1)           v(n2)           v(n3)           v(n4)
0	1.000000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
1	1.028000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
2	1.084000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
3	1.196000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
4	1.420000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
5	1.868000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
6	2.764000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
7	4.556000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
8	8.140000e-11	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
9	1.530800e-10	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
10	2.964400e-10	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
11	5.831600e-10	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
12	1.000000e-09	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
13	1.057344e-09	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
14	1.172032e-09	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
15	1.401408e-09	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
16	1.860160e-09	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00	5.000000e+00
17	2.777664e-09	4.999998e+00	4.999998e+00	4.999998e+00	4.999998e+00	4.999998e+00
18	3.777664e-09	4.999526e+00	4.999526e+00	4.999526e+00	4.999526e+00	4.999526e+00
19	4.777664e-09	4.987728e+00	4.987728e+00	4.987728e+00	4.987728e+00	4.987728e+00
20	5.777664e-09	4.795985e+00	4.795985e+00	4.795985e+00	4.795985e+00	4.795985e+00
21	6.777664e-09	3.794650e+00	3.794650e+00	3.794650e+00	3.794650e+00	3.794650e+00
22	7.777664e-09	2.828762e+00	2.828762e+00	2.828762e+00	2.828762e+00	2.828762e+00
23	8.777664e-09	2.564867e+00	2.564867e+00	2.564867e+00	2.564867e+00	2.564867e+00
... (2015 more rows) ...

Errores comunes y cómo evitarlos

  1. Usar un número par de puertas: Si usas 4 o 6 puertas, la lógica se asentará en un estado estable (enclavamiento) en lugar de oscilar. Usa siempre un número impar (3, 5, 7…).
  2. Capacitancia de la protoboard: Las protoboards estándar tienen una alta capacitancia parásita entre filas (aprox. 2-5pF). Esto hará que el oscilador funcione más lento de lo que implican las especificaciones de la hoja de datos. Evita bucles largos de cables.
  3. Falta del condensador de desacoplo: Sin C1 cerca del chip, la corriente de conmutación de alta frecuencia causará caídas en VCC, resultando en una frecuencia errática o ausencia de oscilación.

Solución de problemas

  • La salida está atascada en Alto o Bajo: Comprueba que tienes un número impar de inversores en el bucle. Verifica que el cable de retroalimentación conecta la última salida a la primera entrada.
  • La frecuencia es inestable (jitter): Probablemente ruido en la fuente de alimentación. Asegúrate de que C1 (100nF) esté instalado extremadamente cerca de los pines 14 y 7.
  • El osciloscopio muestra una onda sinusoidal en lugar de cuadrada: A frecuencias muy altas (acercándose al límite de ancho de banda del osciloscopio o sonda), las ondas cuadradas parecen ondas sinusoidales debido a la atenuación de los armónicos superiores. Asegúrate de que el ancho de banda de tu osciloscopio sea de al menos 100 MHz.
  • El circuito se calienta: Busca cortocircuitos entre salidas. Nunca conectes dos salidas juntas.

Posibles mejoras y extensiones

  1. Control de habilitación: Reemplaza el primer inversor con una puerta NAND (por ejemplo, usando 74HC00). Usa una entrada para el bucle de retroalimentación y la otra como señal de control de Habilitar/Deshabilitar.
  2. Salida con buffer: Usa el sexto inversor no utilizado en el paquete 74HC04 como un buffer conectado a uno de los nodos del anillo. Conecta tu sonda/carga a esta salida del buffer. Esto aísla el oscilador en anillo de la capacitancia de carga, proporcionando una medición de frecuencia más precisa.

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 condición fundamental respecto al número de etapas para que un oscilador en anillo funcione correctamente?




Pregunta 2: ¿Qué parámetro físico intrínseco de las puertas lógicas se busca calcular principalmente con este experimento?




Pregunta 3: ¿Cuál es la función típica de un condensador de desacoplo (como el C1 de 100 nF) en este tipo de circuitos?




Pregunta 4: ¿Qué circuito integrado específico se utiliza en este caso para construir el oscilador?




Pregunta 5: ¿Cuál es el rango de frecuencia de oscilación esperado para la lógica 74HC en una protoboard?




Pregunta 6: ¿Qué característica del oscilador en anillo se aprovecha para los Generadores de Números Aleatorios Verdaderos (TRNG)?




Pregunta 7: ¿Qué tipo de forma de onda se espera obtener a la salida del oscilador?




Pregunta 8: ¿Para qué se utiliza esta topología en la fabricación de semiconductores?




Pregunta 9: ¿Qué tipo de puerta lógica compone las etapas del oscilador en anillo descrito?




Pregunta 10: Si aumentáramos el número de etapas de 5 a 7, ¿qué ocurriría con la frecuencia de oscilación?




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

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

Sígueme:


Caso práctico: Detección de intrusos multi-perímetro

Prototipo de Detección de intrusos multi-perímetro (Maker Style)

Nivel: Avanzado — Implementar un sistema de seguridad de 4 zonas utilizando lógica OR en cascada para activar una alarma centralizada.

Objetivo y caso de uso

En este proyecto, construirá un sistema de monitoreo de seguridad centralizado que supervisa cuatro puntos de acceso distintos (ventanas o puertas). El sistema utiliza interruptores magnéticos tipo reed y un CI de compuerta OR cuádruple de 2 entradas 74HC32 para consolidar múltiples señales de sensores en un único disparo de alarma.

Por qué es útil:
* Seguridad en el hogar: Monitorea múltiples puntos de entrada (puerta principal, puerta trasera, garaje, ventana) simultáneamente.
* Salas de servidores: Asegura que todas las puertas de los racks estén cerradas; alerta si se vulnera cualquier gabinete individual.
* Seguridad industrial: Evita el funcionamiento de la máquina si cualquier perímetro de protección de seguridad está abierto.

Resultado esperado:
* Estado seguro: Cuando todas las puertas/ventanas están cerradas, el relé permanece apagado (0 V en la bobina).
* Estado de alarma: Si se vulnera cualquier zona individual (o múltiples zonas), el relé se activa.
* Niveles de voltaje: Lógica Baja (≈ 0 V) representa una zona segura; Lógica Alta (≈ 5 V) representa una vulneración.
* Indicación: Un relé hace clic y activa una carga conectada (simulada por un LED de alta potencia o una sirena).

Público objetivo: Estudiantes avanzados de electrónica y prototipadores de sistemas de seguridad.

Materiales

  • V1: Fuente de voltaje de 5 V CC, función: Fuente de alimentación principal
  • U1: 74HC32, función: CI lógico de compuerta OR cuádruple de 2 entradas
  • S1: Interruptor SPST (Reed Switch), función: Sensor de Zona 1 (Normalmente Abierto, cerrado por imán)
  • S2: Interruptor SPST (Reed Switch), función: Sensor de Zona 2
  • S3: Interruptor SPST (Reed Switch), función: Sensor de Zona 3
  • S4: Interruptor SPST (Reed Switch), función: Sensor de Zona 4
  • R1: Resistencia de 10 kΩ, función: Pull-up para Zona 1
  • R2: Resistencia de 10 kΩ, función: Pull-up para Zona 2
  • R3: Resistencia de 10 kΩ, función: Pull-up para Zona 3
  • R4: Resistencia de 10 kΩ, función: Pull-up para Zona 4
  • R5: Resistencia de 1 kΩ, función: Limitación de corriente de base del transistor
  • Q1: Transistor NPN 2N2222, función: Controlador de relé
  • D1: Diodo 1N4007, función: Protección flyback para la bobina del relé
  • RL1: Relé de 5 V (SPDT), función: Interfaz de conmutación de alta potencia
  • C1: Condensador de 100 nF, función: Desacoplo para U1

Pin-out del CI utilizado

Chip: 74HC32 (Compuerta OR cuádruple de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Compuerta OR 1 Conectar al Nodo ZONE1
2 1B Entrada Compuerta OR 1 Conectar al Nodo ZONE2
3 1Y Salida Compuerta OR 1 Conectar al Nodo INT_A (Entrada a la Compuerta 3)
4 2A Entrada Compuerta OR 2 Conectar al Nodo ZONE3
5 2B Entrada Compuerta OR 2 Conectar al Nodo ZONE4
6 2Y Salida Compuerta OR 2 Conectar al Nodo INT_B (Entrada a la Compuerta 3)
7 GND Tierra Conectar al Nodo 0
9 3A Entrada Compuerta OR 3 Conectar al Nodo INT_A
10 3B Entrada Compuerta OR 3 Conectar al Nodo INT_B
8 3Y Salida Compuerta OR 3 Conectar al Nodo LOGIC_OUT
14 VCC Fuente de alimentación Conectar al Nodo VCC

Nota: Los pines 11, 12 y 13 (Compuerta 4) no se utilizan y deben conectarse a tierra si se siguen estrictamente las mejores prácticas CMOS, aunque a menudo se dejan flotando en prototipos simples.

Guía de conexionado

Este circuito utiliza lógica «Activa Alta» para las alarmas. Los sensores están cableados como Pull-ups. Cuando una puerta está cerrada (imán presente), el interruptor cierra a tierra (Lógica 0). Cuando una puerta se abre, la resistencia tira de la línea hacia VCC (Lógica 1).

  • Fuente de alimentación
  • El terminal positivo de V1 se conecta al nodo VCC.
  • El terminal negativo de V1 se conecta al nodo 0 (GND).
  • C1 se conecta entre VCC y 0 (cerca de U1).

  • Sensores de zona (Entradas)

  • R1 se conecta entre VCC y ZONE1.
  • S1 se conecta entre ZONE1 y 0.
  • R2 se conecta entre VCC y ZONE2.
  • S2 se conecta entre ZONE2 y 0.
  • R3 se conecta entre VCC y ZONE3.
  • S3 se conecta entre ZONE3 y 0.
  • R4 se conecta entre VCC y ZONE4.
  • S4 se conecta entre ZONE4 y 0.

  • Procesamiento lógico (En cascada)

  • U1 Pin 1 (1A) se conecta a ZONE1.
  • U1 Pin 2 (1B) se conecta a ZONE2.
  • U1 Pin 3 (1Y) se conecta a INT_A.
  • U1 Pin 4 (2A) se conecta a ZONE3.
  • U1 Pin 5 (2B) se conecta a ZONE4.
  • U1 Pin 6 (2Y) se conecta a INT_B.
  • U1 Pin 9 (3A) se conecta a INT_A.
  • U1 Pin 10 (3B) se conecta a INT_B.
  • U1 Pin 8 (3Y) se conecta a LOGIC_OUT.

  • Etapa controladora de salida

  • R5 se conecta entre LOGIC_OUT y el nodo BASE.
  • La Base de Q1 se conecta a BASE.
  • El Emisor de Q1 se conecta a 0.
  • El Colector de Q1 se conecta al nodo RELAY_COIL_NEG.
  • El positivo de la bobina de RL1 se conecta a VCC.
  • El negativo de la bobina de RL1 se conecta a RELAY_COIL_NEG.
  • El Ánodo de D1 se conecta a RELAY_COIL_NEG.
  • El Cátodo de D1 se conecta a VCC (En paralelo a la bobina, polarización inversa).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Title: Practical case: Multi-perimeter intrusion detection

      [ INPUT STAGE ]                  [ LOGIC STAGE (U1: 74HC32) ]                 [ OUTPUT STAGE ]

   (VCC)                                                                               (VCC)
     |                                                                                   |
   [ R1 ]                                                                            +---+---+
     +----(Zone 1)-------->+-------------+                                           |       |
     |                     |  OR GATE 1  |                                         [D1]    [RL1]
   [ S1 ]                  | (Pins 1,2)  |--(Int A)------>+                        (Diode) (Coil)
     |                     +-------------+                |                          |       |
   (GND)                   ^                              |                          +---+---+
                           |                              |                              |
   (VCC)                   |                              v                              |
     |                     |                       +-------------+                       |
   [ R2 ]                  |                       |  OR GATE 3  |                       |
     +----(Zone 2)---------+                       | (Pins 9,10) |                       |
     |                                             +-------------+                       |
   [ S2 ]                                                 |                              |
     |                                                    +----(Logic Out)--> [ R5 ] --> +
   (GND)                                                  ^                              |
                                                          |                         [ Q1 Base ]
   (VCC)                                                  |                              |
     |                                                    |                        [ Q1 (NPN) ]
   [ R3 ]                                                 |                              |
     +----(Zone 3)-------->+-------------+                |                         (Emitter)
     |                     |  OR GATE 2  |                |                              |
   [ S3 ]                  | (Pins 4,5)  |--(Int B)-------+                            (GND)
     |                     +-------------+
   (GND)                   ^
                           |
   (VCC)                   |
     |                     |
   [ R4 ]                  |
+----(Zone 4)---------+
     |
   [ S4 ]
     |
   (GND)
Esquema Eléctrico

Tabla de verdad

La lógica está en cascada. Las compuertas 1 y 2 manejan las zonas; la compuerta 3 combina sus resultados.
Lógica 0 = Seguro (Puerta cerrada). Lógica 1 = Vulneración (Puerta abierta).

Zona 1 Zona 2 Zona 3 Zona 4 Int A (Z1+Z2) Int B (Z3+Z4) Salida final Estado del sistema
0 0 0 0 0 0 0 Seguro
1 0 0 0 1 0 1 ALARMA
0 1 0 0 1 0 1 ALARMA
0 0 1 0 0 1 1 ALARMA
0 0 0 1 0 1 1 ALARMA
1 1 1 1 1 1 1 ALARMA

Nota: Cualquier combinación que contenga al menos un «1» da como resultado una Salida final de «1».

Mediciones y pruebas

  1. Verificación de lógica estática:
    • Asegúrese de que todos los interruptores estén cerrados (imanes presentes). Mida el voltaje en LOGIC_OUT. Debería ser < 0.1 V.
    • Abra solo el interruptor S1. Mida el voltaje en ZONE1 (debería ser ≈ 5 V) y LOGIC_OUT (debería ser ≈ 5 V).
    • Verifique que el relé haga clic (se ENCIENDA).
  2. Verificación de umbral:
    • Con S1 abierto, mida el voltaje en el nodo BASE (Base de Q1). Debería ser aprox. 0.7 V (Vbe del transistor).
  3. Verificación de cascada:
    • Cierre S1 (Seguro). Abra S3.
    • Verifique que INT_A esté en Bajo (0 V) e INT_B esté en Alto (5 V).
    • Verifique que LOGIC_OUT permanezca en Alto.

Netlist SPICE y simulación

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

* Multi-perimeter intrusion detection
* NGSPICE Netlist
* Created based on Bill of Materials and Wiring Guide

* =============================================================================
* COMPONENT MODELS
* =============================================================================

* NPN Transistor Model (2N2222)
.model 2N2222 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 (1N4007)
.model 1N4007 D(IS=7.027n RS=0.034 N=1.26 TT=4.32u CJO=4p)

* Voltage Controlled Switch Model (for Reed Switches)
* Vt=2.5V: Control > 2.5V is CLOSED (Low R), Control < 2.5V is OPEN (High R)
.model SW_REED 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.

* Multi-perimeter intrusion detection
* NGSPICE Netlist
* Created based on Bill of Materials and Wiring Guide

* =============================================================================
* COMPONENT MODELS
* =============================================================================

* NPN Transistor Model (2N2222)
.model 2N2222 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 (1N4007)
.model 1N4007 D(IS=7.027n RS=0.034 N=1.26 TT=4.32u CJO=4p)

* Voltage Controlled Switch Model (for Reed Switches)
* Vt=2.5V: Control > 2.5V is CLOSED (Low R), Control < 2.5V is OPEN (High R)
.model SW_REED SW(Vt=2.5 Ron=0.1 Roff=10Meg)

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

* =============================================================================
* SENSORS (ZONES 1-4)
* Logic: Door Closed (Magnet Present) -> Switch Closed to GND -> Zone Low (Safe)
*        Door Open (Magnet Removed) -> Switch Open -> Zone Pulled High (Alarm)
* Simulation: Control Voltage 5V = Door Closed. Control Voltage 0V = Door Open.
* =============================================================================

* --- ZONE 1 ---
R1 VCC ZONE1 10k
S1 ZONE1 0 CTRL1 0 SW_REED
* Stimulus: Door 1 opens briefly at 100us
V_S1_CTRL CTRL1 0 PULSE(5 0 100u 1u 1u 50u 10m)

* --- ZONE 2 ---
R2 VCC ZONE2 10k
S2 ZONE2 0 CTRL2 0 SW_REED
* Stimulus: Door 2 opens briefly at 300us
V_S2_CTRL CTRL2 0 PULSE(5 0 300u 1u 1u 50u 10m)

* --- ZONE 3 ---
R3 VCC ZONE3 10k
S3 ZONE3 0 CTRL3 0 SW_REED
* Stimulus: Door 3 opens briefly at 500us
V_S3_CTRL CTRL3 0 PULSE(5 0 500u 1u 1u 50u 10m)

* --- ZONE 4 ---
R4 VCC ZONE4 10k
S4 ZONE4 0 CTRL4 0 SW_REED
* Stimulus: Door 4 opens briefly at 700us
V_S4_CTRL CTRL4 0 PULSE(5 0 700u 1u 1u 50u 10m)

* =============================================================================
* LOGIC PROCESSING (U1: 74HC32 Quad OR Gate)
* =============================================================================

* Subcircuit for 74HC32 using robust behavioral sources (tanh)
* Pinout: 1=1A, 2=1B, 3=1Y, 4=2A, 5=2B, 6=2Y, 7=GND, 8=3Y, 9=3A, 10=3B, 11=4Y, 12=4A, 13=4B, 14=VCC
.subckt 74HC32 1A 1B 1Y 2A 2B 2Y GND 3Y 3A 3B 4Y 4A 4B VCC
    * Gate 1 (1A, 1B -> 1Y)
    B1 1Y GND V = 2.5 * (1 + tanh(10 * (V(1A) + V(1B) - 2.5)))
    * Gate 2 (2A, 2B -> 2Y)
    B2 2Y GND V = 2.5 * (1 + tanh(10 * (V(2A) + V(2B) - 2.5)))
    * Gate 3 (3A, 3B -> 3Y)
    B3 3Y GND V = 2.5 * (1 + tanh(10 * (V(3A) + V(3B) - 2.5)))
    * Gate 4 (4A, 4B -> 4Y) - Unused but modeled
    B4 4Y GND V = 2.5 * (1 + tanh(10 * (V(4A) + V(4B) - 2.5)))
.ends

* Decoupling Capacitor for U1
C1 VCC 0 100n

* Instantiate U1
* Connections based on Wiring Guide:
* 1->ZONE1, 2->ZONE2, 3->INT_A
* 4->ZONE3, 5->ZONE4, 6->INT_B
* 9->INT_A, 10->INT_B, 8->LOGIC_OUT
* 14->VCC, 7->0
* Unused inputs (12, 13) grounded to avoid floating nodes
XU1 ZONE1 ZONE2 INT_A ZONE3 ZONE4 INT_B 0 LOGIC_OUT INT_A INT_B NC_4Y 0 0 VCC 74HC32

* =============================================================================
* OUTPUT DRIVER STAGE
* =============================================================================

* Base Resistor
R5 LOGIC_OUT BASE 1k

* Driver Transistor Q1
Q1 RELAY_COIL_NEG BASE 0 2N2222

* Relay RL1 (Modeled as Coil Inductance + Resistance)
* Coil Positive -> VCC, Negative -> Collector
L_RL1 VCC RELAY_NODE_INT 100m
R_RL1 RELAY_NODE_INT RELAY_COIL_NEG 70

* Flyback Diode D1 (Parallel to coil, Reverse Biased)
* Anode -> Collector (Low side), Cathode -> VCC
D1 RELAY_COIL_NEG VCC 1N4007

* =============================================================================
* SIMULATION COMMANDS
* =============================================================================

.tran 10u 1000u

* Print required signals for validation
.print tran V(ZONE1) V(ZONE2) V(INT_A) V(INT_B) V(LOGIC_OUT) V(RELAY_COIL_NEG)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (742 rows)
Index   time            v(zone1)        v(zone2)        v(int_a)
0	0.000000e+00	4.999950e-05	4.999950e-05	0.000000e+00
1	1.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
2	2.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
3	4.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
4	8.000000e-07	4.999950e-05	4.999950e-05	0.000000e+00
5	1.600000e-06	4.999950e-05	4.999950e-05	0.000000e+00
6	3.200000e-06	4.999950e-05	4.999950e-05	0.000000e+00
7	6.400000e-06	4.999950e-05	4.999950e-05	0.000000e+00
8	1.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
9	2.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
10	3.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
11	4.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
12	5.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
13	6.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
14	7.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
15	8.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
16	9.280000e-05	4.999950e-05	4.999950e-05	0.000000e+00
17	1.000000e-04	4.999950e-05	4.999950e-05	0.000000e+00
18	1.001000e-04	4.999950e-05	4.999950e-05	0.000000e+00
19	1.002600e-04	4.999950e-05	4.999950e-05	0.000000e+00
20	1.003075e-04	4.999950e-05	4.999950e-05	0.000000e+00
21	1.003906e-04	4.999950e-05	4.999950e-05	0.000000e+00
22	1.004136e-04	4.999950e-05	4.999950e-05	0.000000e+00
23	1.004539e-04	4.999950e-05	4.999950e-05	0.000000e+00
... (718 more rows) ...

Errores comunes y cómo evitarlos

  1. Manejar directamente el relé con el CI:
    • Error: Conectar la bobina del relé directamente al pin de salida del 74HC32. El chip no puede suministrar suficiente corriente (generalmente máx. 25 mA, mientras que los relés necesitan 70 mA+).
    • Solución: Utilice siempre un transistor (Q1) como etapa controladora.
  2. Omitir el diodo flyback (D1):
    • Error: Omitir D1 a través de la bobina del relé.
    • Consecuencia: El pico de alto voltaje generado cuando el relé se apaga puede destruir el transistor Q1.
  3. Entradas flotantes:
    • Error: Olvidar las resistencias pull-up (R1-R4) o la conexión a tierra en los interruptores.
    • Consecuencia: Las entradas CMOS flotarán, causando alarmas erráticas o conmutaciones aleatorias debido al ruido electromagnético.

Solución de problemas

  • Síntoma: El relé castañetea (clic rápido) o se activa aleatoriamente.
    • Causa: Fuente de alimentación ruidosa o pin de entrada flotante.
    • Solución: Verifique que C1 esté instalado. Verifique que todas las entradas no utilizadas (si las hay) estén conectadas a GND. Asegúrese de que las resistencias pull-up R1-R4 estén conectadas de forma segura.
  • Síntoma: La alarma no se activa cuando se abre la Puerta 1.
    • Causa: El interruptor está atascado en «Cerrado» o error de cableado en el pin 1/2 de U1.
    • Solución: Mida el voltaje en ZONE1. Si permanece en 0 V cuando la puerta se abre, falta la pull-up R1 o está en cortocircuito a tierra.
  • Síntoma: El transistor Q1 se calienta o falla instantáneamente.
    • Causa: Falta la resistencia de base R5.
    • Solución: Asegúrese de que R5 (1 kΩ) esté en serie con la base para limitar la corriente.

Posibles mejoras y extensiones

  1. Alarma con enclavamiento: Agregue un flip-flop o bucle de retroalimentación (lógica SCR) para que, una vez que se active la alarma, permanezca encendida incluso si el intruso cierra la puerta nuevamente. Se requeriría un botón de reinicio.
  2. Indicadores de zona: Agregue un LED individual con buffer desde los nodos ZONE1 hasta ZONE4. Esto permite al usuario ver exactamente qué ventana o puerta específica causó la alarma.

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 consolidar las señales de los sensores en este sistema de seguridad?




Pregunta 2: ¿Qué representa un nivel de voltaje de Lógica Baja (≈ 0 V) en el contexto de este sistema?




Pregunta 3: ¿Qué tipo de interruptores se utilizan como sensores para los puntos de acceso?




Pregunta 4: ¿Cuál es el resultado esperado en el relé cuando todas las zonas están seguras?




Pregunta 5: ¿Qué condición es necesaria para que el sistema active la alarma?




Pregunta 6: ¿Cuál es la función de la fuente V1 según el contexto del sistema?




Pregunta 7: ¿Qué aplicación práctica se menciona para este sistema en un entorno industrial?




Pregunta 8: ¿Cómo se implementa la lógica para combinar las 4 zonas de seguridad?




Pregunta 9: ¿Qué sucede si se vulneran múltiples zonas simultáneamente?




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




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 votación electrónica simple

Prototipo de Sistema de votación electrónica simple (Maker Style)

Nivel: Avanzado — Diseñar un circuito para aprobar una moción si al menos uno de tres jueces emite un voto positivo, integrando lógica combinacional y eliminación de rebotes (debouncing).

Objetivo y caso de uso

Construirás un circuito lógico digital que procesa señales de tres interruptores momentáneos independientes que representan a los jueces. El sistema utiliza una topología OR en cascada para activar un indicador visual si cualquier entrada individual (o combinación de entradas) está activa.

Por qué es útil:
* Enclavamientos de seguridad: Se utiliza una lógica similar en protecciones de máquinas donde romper cualquier haz de luz o abrir cualquier puerta debe activar una parada o alarma.
* Detección de fallos: En los tableros de instrumentos de automóviles, múltiples sensores (aceite, presión de neumáticos, calor del motor) alimentan una luz de advertencia central (Check Engine) a través de lógica OR.
* Control de acceso: Sistemas donde múltiples credenciales diferentes (tarjeta, código o biométrico) pueden otorgar entrada a la misma puerta.
* Solicitudes de interrupción: En microcontroladores, múltiples periféricos pueden activar una sola línea de interrupción a la CPU utilizando esta lógica.

Resultado esperado:
* El LED de salida se ENCIENDE (Lógica Alta) si el Juez A, el Juez B, el Juez C, o cualquier combinación presiona su botón.
* El LED de salida permanece APAGADO (Lógica Baja) solo cuando todos los botones están liberados.
* Las señales de entrada son acondicionadas (anti-rebote) para evitar el parpadeo rápido causado por el rebote mecánico del interruptor.
* Verificación de la propagación de la señal a través de puertas lógicas en cascada.

Público objetivo: Estudiantes de ingeniería y entusiastas avanzados de la electrónica.

Materiales

  • V1: Fuente de alimentación de 5 V CC
  • S1: Pulsador momentáneo (Normalmente Abierto), función: Entrada Juez A
  • S2: Pulsador momentáneo (Normalmente Abierto), función: Entrada Juez B
  • S3: Pulsador momentáneo (Normalmente Abierto), función: Entrada Juez C
  • R1: Resistencia de 10 kΩ, función: pull-down para el Nodo A
  • R2: Resistencia de 10 kΩ, función: pull-down para el Nodo B
  • R3: Resistencia de 10 kΩ, función: pull-down para el Nodo C
  • R4: Resistencia de 1 kΩ, función: resistencia serie para anti-rebote RC (Entrada A)
  • R5: Resistencia de 1 kΩ, función: resistencia serie para anti-rebote RC (Entrada B)
  • R6: Resistencia de 1 kΩ, función: resistencia serie para anti-rebote RC (Entrada C)
  • C1: Condensador de 100 nF, función: filtrado de rebotes (Entrada A)
  • C2: Condensador de 100 nF, función: filtrado de rebotes (Entrada B)
  • C3: Condensador de 100 nF, función: filtrado de rebotes (Entrada C)
  • U1: 74HC32 (CI de 4 puertas OR de 2 entradas)
  • R7: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: indicador de resultado

Pin-out del CI utilizado

Chip seleccionado: 74HC32 (Cuádruple puerta OR de 2 entradas).
Nota: Dado que tenemos 3 entradas y el chip contiene puertas de 2 entradas, conectaremos en cascada dos puertas para crear la función lógica $Y = (A + B) + C$.

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conecta a Señal A con anti-rebote
2 1B Entrada Conecta a Señal B con anti-rebote
3 1Y Salida Conecta al Pin 4 (Cascada a la siguiente puerta)
4 2A Entrada Conecta al Pin 3 (Resultado de A+B)
5 2B Entrada Conecta a Señal C con anti-rebote
6 2Y Salida Conecta al circuito del LED de salida
7 GND Tierra Conecta a 0 (GND)
14 VCC Alimentación Conecta a VCC (+5V)

Guía de conexionado

Esta guía utiliza nombres de nodos compatibles con SPICE.
* Fuente de alimentación:
* V1 conecta entre el nodo VCC y el nodo 0 (GND).
* U1 pin 14 conecta a VCC.
* U1 pin 7 conecta a 0.

  • Etapa de entrada (Juez A) – Pull-down y Anti-rebote:
  • S1 conecta entre VCC y el nodo RAW_A.
  • R1 conecta entre RAW_A y 0.
  • R4 conecta entre RAW_A y el nodo IN_A.
  • C1 conecta entre IN_A y 0.

  • Etapa de entrada (Juez B) – Pull-down y Anti-rebote:

  • S2 conecta entre VCC y el nodo RAW_B.
  • R2 conecta entre RAW_B y 0.
  • R5 conecta entre RAW_B y el nodo IN_B.
  • C2 conecta entre IN_B y 0.

  • Etapa de entrada (Juez C) – Pull-down y Anti-rebote:

  • S3 conecta entre VCC y el nodo RAW_C.
  • R3 conecta entre RAW_C y 0.
  • R6 conecta entre RAW_C y el nodo IN_C.
  • C3 conecta entre IN_C y 0.

  • Procesamiento lógico (OR en cascada):

  • U1 pin 1 conecta a IN_A.
  • U1 pin 2 conecta a IN_B.
  • U1 pin 3 (Salida Puerta 1) conecta al nodo GATE1_OUT.
  • U1 pin 4 conecta al nodo GATE1_OUT (Señal en cascada).
  • U1 pin 5 conecta a IN_C.
  • U1 pin 6 (Salida Final) conecta al nodo LOGIC_OUT.

  • Etapa de salida:

  • R7 conecta entre LOGIC_OUT y el nodo LED_ANODE.
  • D1 conecta entre LED_ANODE (Ánodo) y 0 (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

[ INPUT / CONDITIONING ]                  [ LOGIC PROCESSING (74HC32) ]             [ OUTPUT ]

                                                +-------------------------+
    [ S1: Judge A ]                             |        U1: Gate 1       |
    (VCC -> RAW_A) -> [ R1/R4/C1 ] --(Pin 1)--->| Input A                 |
                      (Debounce)                |           OR            |
                                                | Input B       (Output)  |
    [ S2: Judge B ]                    +------->| Pin 2          Pin 3    |--+
    (VCC -> RAW_B) -> [ R2/R5/C2 ] ----+        +-------------------------+  |
                      (Debounce)                                             |
                                                                             |
                                                                             |
                                                +-------------------------+  |
                                                |        U1: Gate 2       |  |
                                                | (Cascade In)   Pin 4    |< +
                                                |           OR            |
    [ S3: Judge C ]                    +------->| Input C        (Output) |
    (VCC -> RAW_C) -> [ R3/R6/C3 ] ----+        | Pin 5          Pin 6    |-----> [ R7: 330 Ohm ]
                      (Debounce)                +-------------------------+           |
                                                                                      v
                                                                                 [ D1: Red LED ]
                                                                                      |
                                                                                      v
                                                                                     GND
Esquema Eléctrico

Tabla de verdad

El sistema crea una función OR de 3 entradas: $Q = A + B + C$.

Entrada A Entrada B Entrada C Salida Q (LED) Nota
0 0 0 0 Moción rechazada
0 0 1 1 Moción aprobada
0 1 0 1 Moción aprobada
0 1 1 1 Moción aprobada
1 0 0 1 Moción aprobada
1 0 1 1 Moción aprobada
1 1 0 1 Moción aprobada
1 1 1 1 Moción aprobada

Mediciones y pruebas

  1. Comprobación lógica estática: Asegúrate de que no haya botones presionados. Mide el voltaje en el Pin 6 de U1. Debería estar cerca de 0 V. Presiona S1. El voltaje debería subir a ~5 V. Repite para S2 y S3 individualmente.
  2. Validación de anti-rebote: Conecta un osciloscopio a RAW_A y IN_A. Presiona S1. RAW_A puede mostrar picos de voltaje agudos/ruido al contacto. IN_A debería mostrar una curva de ascenso exponencial suave, filtrando el ruido antes de que llegue a la puerta lógica.
  3. Retardo en cascada: Esta es una medición avanzada. Mide el retardo de propagación entre IN_A y LOGIC_OUT frente a IN_C y LOGIC_OUT. Debido a que IN_A debe pasar por dos puertas (Puerta 1 y luego Puerta 2), el retardo de propagación total será ligeramente mayor que IN_C, que solo pasa por la Puerta 2.

Netlist SPICE y simulación

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

* Simple electronic voting system
* Based on Practical Case BOM and Wiring Guide

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

* --- User Input Stimuli (Button Presses) ---
* We simulate the physical push-buttons using Voltage Controlled Switches (S1-S3)
* controlled by independent PULSE sources (V_CTRL_A, etc.) to mimic user behavior.
* The timing is staggered to test inputs A, B, and C sequentially with sufficient 
* time for the RC debounce circuits to charge and discharge.

* Judge A: Press at 1ms, hold for 2ms (releases at 3ms)
V_CTRL_A CTRL_A 0 PULSE(0 5 1m 1u 1u 2m 20m)

* Judge B: Press at 6ms, hold for 2ms (releases at 8ms)
V_CTRL_B CTRL_B 0 PULSE(0 5 6m 1u 1u 2m 20m)

* Judge C: Press at 11ms, hold for 2ms (releases at 13ms)
* ... (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 electronic voting system
* Based on Practical Case BOM and Wiring Guide

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

* --- User Input Stimuli (Button Presses) ---
* We simulate the physical push-buttons using Voltage Controlled Switches (S1-S3)
* controlled by independent PULSE sources (V_CTRL_A, etc.) to mimic user behavior.
* The timing is staggered to test inputs A, B, and C sequentially with sufficient 
* time for the RC debounce circuits to charge and discharge.

* Judge A: Press at 1ms, hold for 2ms (releases at 3ms)
V_CTRL_A CTRL_A 0 PULSE(0 5 1m 1u 1u 2m 20m)

* Judge B: Press at 6ms, hold for 2ms (releases at 8ms)
V_CTRL_B CTRL_B 0 PULSE(0 5 6m 1u 1u 2m 20m)

* Judge C: Press at 11ms, hold for 2ms (releases at 13ms)
V_CTRL_C CTRL_C 0 PULSE(0 5 11m 1u 1u 2m 20m)

* --- Input Stage: Judge A ---
* S1 connects between VCC and node RAW_A
S1 VCC RAW_A CTRL_A 0 SW_PB
* R1 (10k) pull-down for Node A (RAW_A to 0)
R1 RAW_A 0 10k
* R4 (1k) RC debounce series resistance (RAW_A to IN_A)
R4 RAW_A IN_A 1k
* C1 (100nF) debounce filtering (IN_A to 0)
C1 IN_A 0 100n

* --- Input Stage: Judge B ---
* S2 connects between VCC and node RAW_B
S2 VCC RAW_B CTRL_B 0 SW_PB
* R2 (10k) pull-down for Node B (RAW_B to 0)
R2 RAW_B 0 10k
* R5 (1k) RC debounce series resistance (RAW_B to IN_B)
R5 RAW_B IN_B 1k
* C2 (100nF) debounce filtering (IN_B to 0)
C2 IN_B 0 100n

* --- Input Stage: Judge C ---
* S3 connects between VCC and node RAW_C
S3 VCC RAW_C CTRL_C 0 SW_PB
* R3 (10k) pull-down for Node C (RAW_C to 0)
R3 RAW_C 0 10k
* R6 (1k) RC debounce series resistance (RAW_C to IN_C)
R6 RAW_C IN_C 1k
* C3 (100nF) debounce filtering (IN_C to 0)
C3 IN_C 0 100n

* --- Logic Processing: U1 (74HC32 Quad 2-Input OR Gate) ---
* Implemented using Behavioral Voltage Sources (B-sources) for robust simulation.
* Logic Transfer Function: Continuous Sigmoid approximation of OR gate.
* Vout = VCC * Sigmoid( max(Input1, Input2) - Threshold )
* Threshold set to 2.5V (Mid-rail).
* U1 Pin 14 (VCC) and Pin 7 (GND) are functionally represented by the V(VCC) term and node 0 reference.

* Gate 1: Inputs IN_A (Pin 1), IN_B (Pin 2) -> Output GATE1_OUT (Pin 3)
* Corresponds to wiring: U1 pin 1 to IN_A, U1 pin 2 to IN_B, U1 pin 3 to GATE1_OUT
B_U1_G1 GATE1_OUT 0 V = V(VCC) * (1 / (1 + exp(-20 * (max(V(IN_A), V(IN_B)) - 2.5))))

* Cascading Connection:
* Wiring: U1 pin 4 connects to node GATE1_OUT.

* Gate 2: Inputs GATE1_OUT (Pin 4), IN_C (Pin 5) -> Output LOGIC_OUT (Pin 6)
* Corresponds to wiring: U1 pin 4 to GATE1_OUT, U1 pin 5 to IN_C, U1 pin 6 to LOGIC_OUT
B_U1_G2 LOGIC_OUT 0 V = V(VCC) * (1 / (1 + exp(-20 * (max(V(GATE1_OUT), V(IN_C)) - 2.5))))

* --- Output Stage ---
* R7 connects between LOGIC_OUT and node LED_ANODE
R7 LOGIC_OUT LED_ANODE 330
* D1 connects between LED_ANODE (Anode) and 0 (Cathode)
D1 LED_ANODE 0 D_LED

* --- Models ---
* Switch model for push buttons (Active High control)
.model SW_PB SW(Vt=2.5 Ron=0.1 Roff=10Meg)
* Generic LED model (Red)
.model D_LED D(IS=1n N=2 RS=10 BV=5)

* --- Simulation Directives ---
* Transient analysis for 15ms to capture all button presses and RC discharge curves.
* Step size 10us is sufficient for the 100us/1.1ms time constants.
.tran 10u 15m

* Print required nodes for validation
.print tran V(IN_A) V(IN_B) V(IN_C) V(GATE1_OUT) V(LOGIC_OUT) V(LED_ANODE)

.op
.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Entradas flotantes: No instalar las resistencias pull-down (R1, R2, R3). Sin ellas, las entradas del 74HC32 actúan como antenas, haciendo que el LED parpadee aleatoriamente o se quede atascado en Alto. Solución: Siempre referencia las entradas a GND cuando el interruptor esté abierto.
  2. Ignorar el pinout: Conectar la Entrada C al Pin 3 (que es una salida). Esto crea un cortocircuito cuando la puerta intenta conducir a Bajo mientras el botón conduce a Alto. Solución: Comprueba dos veces el diagrama de pines en la hoja de datos antes de encender.
  3. Constante de tiempo RC excesiva: Usar un condensador demasiado grande (por ejemplo, 100 µF) para el circuito de anti-rebote. Esto crea un aumento de voltaje muy lento que hace que la puerta digital oscile linealmente durante el cruce del umbral. Solución: Cíñete a 100 nF – 1 µF para entradas lógicas simples.

Solución de problemas

  • El LED está siempre ENCENDIDO: Comprueba las resistencias pull-down. Si el voltaje medido en los pines 1, 2 o 5 es flotante (no 0 V), la puerta lo interpreta como Lógica Alta.
  • El LED no se enciende para el Juez A o B: Verifica la conexión en cascada. El Pin 3 (Salida de la primera puerta) debe estar físicamente cableado al Pin 4 (Entrada de la segunda puerta).
  • Comportamiento errático al tocar los cables: Indica falta de conexiones a tierra en entradas no utilizadas (si las hay) o entradas operativas flotantes. Asegúrate de que todas las tierras compartan un punto común.
  • La puerta se calienta: Comprueba si hay cortocircuitos de salida a salida o de salida a VCC. Desconecta la alimentación inmediatamente.

Posibles mejoras y extensiones

  1. Extensión de voto por mayoría: Modificar la lógica para requerir al menos dos votos positivos para aprobar la moción (utilizando una combinación de puertas AND y OR: $AB + BC + AC$).
  2. Funcionalidad de cerrojo (Latch): Añadir un Flip-Flop D (por ejemplo, 74HC74) después de la salida. Una vez aprobada la moción (LED ENCENDIDO), la luz permanece ENCENDIDA hasta que un supervisor presione un botón dedicado de «Reset».

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é topología lógica se utiliza para procesar las señales de los jueces?




Pregunta 3: ¿Qué función cumple la eliminación de rebotes (debouncing) en este circuito?




Pregunta 4: ¿En qué situación permanecerá APAGADO (Lógica Baja) el LED de salida?




Pregunta 5: ¿Cuál es una aplicación práctica mencionada para los enclavamientos de seguridad basada en esta lógica?




Pregunta 6: ¿Cómo se aplica esta lógica en los tableros de instrumentos de automóviles?




Pregunta 7: ¿Qué tipo de interruptores se utilizan para representar a los jueces en el diseño?




Pregunta 8: ¿Qué sucede con el LED si el Juez A y el Juez C presionan sus botones, pero el Juez B no?




Pregunta 9: ¿Cómo se relaciona este circuito con las solicitudes de interrupción en microcontroladores?




Pregunta 10: ¿Qué concepto técnico se menciona como parte de la integración del diseño además de la lógica combinacional?




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

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

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: