Caso práctico: Divisor de frecuencia por 2, 4 y 8

Prototipo de Divisor de frecuencia por 2, 4 y 8 (Maker Style)

Nivel: Básico – Verificar la relación de división de frecuencia en las salidas Q de un contador binario con respecto al reloj.

Objetivo y caso de uso

En este caso práctico, construirá un circuito digital utilizando un contador binario de 4 bits (74HC393) para dividir la frecuencia de una señal de reloj de entrada por factores de 2 (2^1), 4 (2^2) y 8 (2^3).

  • Relojes digitales: Se utilizan para dividir señales de osciladores de cristal de alta frecuencia hasta 1 Hz para mantener el tiempo (segundos).
  • Síntesis de audio: Se utiliza para generar octavas más bajas a partir de un tono base (la reducción de la frecuencia a la mitad da como resultado un tono una octava más bajo).
  • Generación de velocidad de baudios: Se utiliza en la comunicación UART para derivar velocidades de transmisión de datos específicas a partir de un reloj maestro del sistema.
  • Contadores de direcciones: Se utilizan para secuenciar direcciones de memoria en microcontroladores.

Resultado esperado:
* Salida Q0: Una onda cuadrada con una frecuencia exactamente la mitad del reloj de entrada (f/2).
* Salida Q1: Una onda cuadrada con una frecuencia de un cuarto del reloj de entrada (f/4).
* Salida Q2: Una onda cuadrada con una frecuencia de un octavo del reloj de entrada (f/8).
* Público objetivo: Estudiantes de nivel básico y aficionados.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Fuente de alimentación principal.
  • V_CLK: Generador de pulsos (0 V a 5 V, 1 kHz, ciclo de trabajo del 50%), función: Señal de reloj de entrada.
  • U1: 74HC393, función: Contador binario dual de 4 bits.
  • R1: Resistencia de 330 Ω, función: Limitación de corriente para el LED D1.
  • R2: Resistencia de 330 Ω, función: Limitación de corriente para el LED D2.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED D3.
  • D1: LED rojo, función: Indicador visual para Q0 (f/2).
  • D2: LED verde, función: Indicador visual para Q1 (f/4).
  • D3: LED amarillo, función: Indicador visual para Q2 (f/8).
  • Scope: Osciloscopio de 4 canales, función: Análisis de formas de onda.

Pin-out del CI utilizado

Chip seleccionado: 74HC393 (Contador binario dual de 4 bits). Usaremos el primer bloque contador (Lado 1).

Pin Nombre Función lógica Conexión en este caso
1 1CP (CLK) Entrada de reloj (Disparo por flanco de bajada) Conectado a CLK_IN
2 1MR Reset maestro (Activo en alto) Conectado a 0 (GND)
3 1Q0 Salida Bit 0 (Divide por 2) Conectado a Q0
4 1Q1 Salida Bit 1 (Divide por 4) Conectado a Q1
5 1Q2 Salida Bit 2 (Divide por 8) Conectado a Q2
7 GND Tierra Conectado a 0
14 VCC Alimentación (+5 V) Conectado a VCC

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • U1 pin 14 se conecta al nodo VCC.
  • U1 pin 7 se conecta al nodo 0 (GND).
  • U1 pin 2 (Reset) se conecta al nodo 0 (GND) para habilitar el conteo.
  • V_CLK se conecta entre el nodo CLK_IN y el nodo 0 (GND).
  • U1 pin 1 se conecta al nodo CLK_IN.
  • U1 pin 3 se conecta al nodo Q0.
  • U1 pin 4 se conecta al nodo Q1.
  • U1 pin 5 se conecta al nodo Q2.
  • R1 se conecta entre el nodo Q0 y el nodo LED_Q0.
  • D1 el ánodo se conecta a LED_Q0, el cátodo se conecta a 0 (GND).
  • R2 se conecta entre el nodo Q1 y el nodo LED_Q1.
  • D2 el ánodo se conecta a LED_Q1, el cátodo se conecta a 0 (GND).
  • R3 se conecta entre el nodo Q2 y el nodo LED_Q2.
  • D3 el ánodo se conecta a LED_Q2, el cátodo se conecta a 0 (GND).

Diagrama de bloques conceptual

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

Esquemático

INPUTS                                   PROCESSING                                     OUTPUTS / LOADS
(Left)                                    (Center)                                          (Right)

                                   +-----------------------+
                                   |                       |
 [ V_CLK: 1kHz ] --(Pin 1: CP)---> |                       | --(Pin 3: Q0)--> [ R1: 330 ] --> [ D1: Red ] --> GND
                                   |                       |       |
                                   |      U1: 74HC393      |       '--------(Scope Ch1: f/2)
                                   |      Dual 4-bit       |
                                   |      Bin Counter      |
 [ GND ] ---------(Pin 2: MR)--->  |                       | --(Pin 4: Q1)--> [ R2: 330 ] --> [ D2: Grn ] --> GND
             (Reset Disabled)      |   (Power: VCC=Pin 14, |       |
                                   |           GND=Pin 7)  |       '--------(Scope Ch2: f/4)
                                   |                       |
                                   |                       |
                                   |                       | --(Pin 5: Q2)--> [ R3: 330 ] --> [ D3: Yel ] --> GND
                                   |                       |       |
                                   +-----------------------+       '--------(Scope Ch3: f/8)
Esquema Eléctrico

Mediciones y pruebas

Para validar el circuito, realice las siguientes mediciones utilizando el osciloscopio de 4 canales:

  1. Configuración: Conecte la pinza de tierra de todas las sondas del osciloscopio al nodo 0 (GND).
  2. Canal 1 (Entrada): Conecte a CLK_IN. Verifique que la frecuencia sea de 1 kHz.
  3. Canal 2 (Q0): Conecte a Q0. Mida la frecuencia. Debe ser 500 Hz ($1kHz / 2$).
  4. Canal 3 (Q1): Conecte a Q1. Mida la frecuencia. Debe ser 250 Hz ($1kHz / 4$).
  5. Canal 4 (Q2): Conecte a Q2. Mida la frecuencia. Debe ser 125 Hz ($1kHz / 8$).
  6. Comprobación visual: Si reduce la frecuencia del reloj de entrada a 10 Hz, debería ver a D1 parpadear más rápido, D2 más lento y D3 el más lento.

Netlist SPICE y simulación

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

* Practical case: Frequency divider by 2, 4 and 8

.width out=256

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

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

* --- Input Signal ---
* V_CLK: 1kHz Pulse, 0V to 5V, 50% Duty Cycle
V_CLK CLK_IN 0 PULSE(0 5 0 1u 1u 0.5m 1m)

* --- Subcircuit: 74HC393 (Behavioral XSPICE) ---
* Dual 4-bit Binary Counter
* Implements Counter 1 logic using XSPICE primitives.
* Pinout (DIP-14): 1=1CP, 2=1MR, 3=1Q0, 4=1Q1, 5=1Q2, 6=1Q3, 7=GND
* ... (truncated in public view) ...

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

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

* Practical case: Frequency divider by 2, 4 and 8

.width out=256

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

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

* --- Input Signal ---
* V_CLK: 1kHz Pulse, 0V to 5V, 50% Duty Cycle
V_CLK CLK_IN 0 PULSE(0 5 0 1u 1u 0.5m 1m)

* --- Subcircuit: 74HC393 (Behavioral XSPICE) ---
* Dual 4-bit Binary Counter
* Implements Counter 1 logic using XSPICE primitives.
* Pinout (DIP-14): 1=1CP, 2=1MR, 3=1Q0, 4=1Q1, 5=1Q2, 6=1Q3, 7=GND
*                  8=2Q3, 9=2Q2, 10=2Q1, 11=2Q0, 12=2MR, 13=2CP, 14=VCC
.subckt 74HC393 1CP 1MR 1Q0 1Q1 1Q2 1Q3 GND 2Q3 2Q2 2Q1 2Q0 2MR 2CP VCC

    * ADC Bridge to read analog inputs (Clock and Reset)
    .model adc_mod adc_bridge(in_low=1.5 in_high=3.5)
    A_IN [1CP 1MR] [d_1cp d_1mr] adc_mod
    
    * ADC Bridge to read GND for Logic Low (used for SET inputs)
    A_GND [GND] [d_low] adc_mod

    * Logic Models
    .model inv_mod d_inverter(rise_delay=10n fall_delay=10n)
    .model dff_mod d_dff(clk_delay=10n rise_delay=10n fall_delay=10n)
    .model dac_mod dac_bridge(out_low=0.0 out_high=5.0)

    * --- Counter Logic (Side 1) ---
    * 74HC393 triggers on High-to-Low transition of CP.
    * XSPICE DFF triggers on Rising Edge. So we invert CP.
    A_INV1 d_1cp d_1cp_inv inv_mod

    * Stage 1 (Q0): Divider by 2
    * T-FF behavior: D = ~Q. Clock = ~CP. Reset = MR.
    * Port order: din clk set reset out nout
    A_DFF1 d_1q0_bar d_1cp_inv d_low d_1mr d_1q0 d_1q0_bar dff_mod

    * Stage 2 (Q1): Divider by 4
    * Ripples from Q0 Falling Edge.
    * Q0 Falling = ~Q0 Rising. Use d_1q0_bar as clock.
    A_DFF2 d_1q1_bar d_1q0_bar d_low d_1mr d_1q1 d_1q1_bar dff_mod

    * Stage 3 (Q2): Divider by 8
    * Ripples from Q1 Falling Edge. Use d_1q1_bar as clock.
    A_DFF3 d_1q2_bar d_1q1_bar d_low d_1mr d_1q2 d_1q2_bar dff_mod

    * Stage 4 (Q3): Divider by 16 (Not used externally but part of logic)
    A_DFF4 d_1q3_bar d_1q2_bar d_low d_1mr d_1q3 d_1q3_bar dff_mod

    * Drive Outputs
    A_OUT [d_1q0 d_1q1 d_1q2 d_1q3] [1Q0 1Q1 1Q2 1Q3] dac_mod

    * Side 2 is unused, inputs grounded in main circuit, outputs open.
.ends 74HC393

* --- Main Circuit Instances ---
* U1: 74HC393 Counter
* Pin connections based on Wiring Guide:
* 1(CLK_IN), 2(0/Reset), 3(Q0), 4(Q1), 5(Q2), 7(0/GND), 14(VCC)
* Unused outputs mapped to NC nodes. Unused inputs to 0.
* Subcircuit Pin Order: 1CP 1MR 1Q0 1Q1 1Q2 1Q3 GND 2Q3 2Q2 2Q1 2Q0 2MR 2CP VCC
XU1 CLK_IN 0 Q0 Q1 Q2 NC_1Q3 0 NC_2Q3 NC_2Q2 NC_2Q1 NC_2Q0 0 0 VCC 74HC393

* --- Output Paths (LEDs and Resistors) ---
* Path 1: Q0 -> R1 -> D1 (Red)
R1 Q0 LED_Q0 330
D1 LED_Q0 0 DLED

* Path 2: Q1 -> R2 -> D2 (Green)
R2 Q1 LED_Q1 330
D2 LED_Q1 0 DLED

* Path 3: Q2 -> R3 -> D3 (Yellow)
R3 Q2 LED_Q2 330
D3 LED_Q2 0 DLED

* --- Simulation & Output ---
.op
.tran 10u 20m
.print tran V(CLK_IN) V(Q0) V(Q1) V(Q2)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation shows a clear binary counting sequence. CLK_IN is a 1kHz clock (period 1ms). Q0 toggles every 1ms (f/2, period 2ms). Q1 toggles every 2ms (f/4, period 4ms). Q2 toggles every 4ms (f/8, period 8ms). The outputs transition cleanly between 0V and 5V.
* bom_vs_spice equivalences ignored:
*   - LEDs (D1, D2, D3) are modeled using a generic diode model (DLED) with specific parameters.
*   - U1 (74HC393) is modeled as a behavioral subcircuit using XSPICE primitives (ADC/DAC bridges, DFFs) instead of a transistor-level model.
* overall_comment: The circuit is perfectly functional and accurately represents a 3-bit binary ripple counter (frequency divider). The behavioral model for the 74HC393 is correctly implemented with the necessary ADC/DAC bridges for XSPICE. The wiring matches the guide exactly, and the simulation results confirm the expected frequency division ratios (f/2, f/4, f/8). It is an excellent didactic example.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows a clear binary counting sequence. CLK_IN is a 1kHz clock (period 1ms). Q0 toggles every 1ms (f/2, period 2ms). Q1 toggles every 2ms (f/4, period 4ms). Q2 toggles every 4ms (f/8, period 8ms). The outputs transition cleanly between 0V and 5V.
Show raw data table (3323 rows)
Index   time            v(clk_in)       v(q0)           v(q1)           v(q2)
0	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
1	1.000000e-08	5.000000e-02	0.000000e+00	0.000000e+00	0.000000e+00
2	2.000000e-08	1.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
3	4.000000e-08	2.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
4	8.000000e-08	4.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
5	1.600000e-07	8.000000e-01	0.000000e+00	0.000000e+00	0.000000e+00
6	3.200000e-07	1.600000e+00	0.000000e+00	0.000000e+00	0.000000e+00
7	6.400000e-07	3.200000e+00	0.000000e+00	0.000000e+00	0.000000e+00
8	1.000000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
9	1.064000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
10	1.192000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
11	1.448000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
12	1.960000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
13	2.984000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
14	5.032000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
15	9.128000e-06	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
16	1.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
17	2.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
18	3.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
19	4.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
20	5.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
21	6.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
22	7.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
23	8.732000e-05	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
... (3299 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar flotante el pin Master Reset (MR): Dejar el pin 2 desconectado provoca que el contador se reinicie aleatoriamente debido al ruido. Solución: Conecte siempre el pin MR a GND (Lógica 0) para un funcionamiento normal de conteo.
  2. Confundir los números de los pines: El 74HC393 tiene dos contadores en su interior. Los estudiantes a menudo mezclan los pines del Contador 1 y del Contador 2. Solución: Siga estrictamente la hoja de datos (datasheet) y utilice los pines 1, 2, 3, 4, 5 y 6 solo para el primer contador.
  3. Ignorar VCC/GND: Olvidar alimentar el chip conduce a una salida impredecible o sin actividad. Solución: Conecte siempre el Pin 14 a +5 V y el Pin 7 a GND antes de realizar pruebas.

Solución de problemas

  • Síntoma: Ningún LED se enciende y las salidas permanecen en 0 V.
    • Causa: El Master Reset (Pin 2) podría estar conectado a VCC en lugar de a GND.
    • Solución: Mueva la conexión del Pin 2 a GND.
  • Síntoma: Los LED están siempre encendidos o parpadean muy tenuemente.
    • Causa: La frecuencia es demasiado alta para que el ojo vea el parpadeo (por ejemplo, 1 kHz).
    • Solución: Utilice el osciloscopio para verificar la señal o reduzca la frecuencia de V_CLK a < 10 Hz para confirmación visual.
  • Síntoma: La frecuencia de salida es inestable o errática.
    • Causa: Fuente de alimentación ruidosa o falta de condensador de desacoplo.
    • Solución: Añada un condensador de 100 nF entre VCC y GND cerca del CI.

Posibles mejoras y extensiones

  1. Dividir por 16 y 256: Conecte en cascada el primer contador al segundo contador del chip U1 (conecte 1Q3 a 2CP) para lograr relaciones de división más altas hasta 256.
  2. Generador de audio variable: Conecte las salidas a un controlador de altavoz simple y utilice un potenciómetro variable en un temporizador 555 (como reloj) para escuchar cómo el tono cae por octavas al cambiar entre Q0, Q1 y Q2.

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 en este circuito para la división de frecuencia?




Pregunta 2: ¿Qué operación realiza el contador binario sobre la frecuencia de la señal de reloj de entrada?




Pregunta 3: Si la frecuencia de entrada es 'f', ¿cuál es la frecuencia esperada en la salida Q0?




Pregunta 4: ¿Por qué factor divide la frecuencia la salida Q1 (2^2)?




Pregunta 5: Si la señal de reloj de entrada es de 100 Hz, ¿cuál será la frecuencia en la salida Q2 (división por 8)?




Pregunta 6: En el contexto de síntesis de audio, ¿qué resultado produce reducir la frecuencia a la mitad?




Pregunta 7: ¿Cuál es la utilidad de la división de frecuencia en los relojes digitales?




Pregunta 8: ¿De cuántos bits es el contador binario 74HC393 mencionado en el objetivo?




Pregunta 9: ¿Qué tipo de forma de onda se espera obtener en las salidas Q del contador?




Pregunta 10: ¿Para qué aplicación se utiliza la generación de velocidad de baudios mencionada en el contexto?




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

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

Sígueme:


Caso práctico: Contador ascendente de 4 bits con LEDs

Prototipo de Contador ascendente de 4 bits con LEDs (Maker Style)

Nivel: Básico. Verifique el funcionamiento de un contador binario de 4 bits visualizando la secuencia de conteo con LEDs.

Objetivo y caso de uso

En este caso práctico, construirá un circuito digital síncrono utilizando el circuito integrado 74HC161 para contar pulsos de reloj en binario desde 0 (0000) hasta 15 (1111). Visualizará los estados de salida utilizando cuatro LEDs que representan los bits desde LSB (Bit menos significativo) hasta MSB (Bit más significativo).

Por qué es útil:
* Relojes digitales: Forma el bloque fundamental para el seguimiento del tiempo (segundos, minutos, horas).
* División de frecuencia: Los contadores se utilizan para reducir señales de reloj de alta frecuencia a frecuencias más bajas y utilizables para otros componentes.
* Direccionamiento de memoria: En sistemas informáticos, los contadores generan direcciones secuenciales para acceder a datos en la memoria.
* Conteo de eventos: Útil en automatización industrial para contar artículos en una cinta transportadora o activaciones de sensores.
* Máquinas de estados: Proporciona la secuencia de estados requerida para controlar operaciones lógicas digitales complejas.

Resultado esperado:
* Cuatro LEDs (D1–D4) se encenderán en un patrón binario (0000, 0001, 0010… 1111).
* La secuencia se repite cada 16 pulsos de reloj.
* Activar el interruptor de reset fuerza a que todos los LEDs se apaguen inmediatamente.
* Tensión de salida de Lógica Alta aprox. 5 V; Lógica Baja aprox. 0 V.

Público objetivo y nivel:
Estudiantes y aficionados familiarizados con niveles lógicos básicos que se inician en el diseño de lógica secuencial.

Materiales

  • U1: 74HC161, función: CI contador binario síncrono de 4 bits
  • V1: Fuente de alimentación de 5 V CC, función: fuente de alimentación principal
  • V2: Fuente de tensión pulsada (0 V a 5 V), función: Señal de reloj (1 Hz para visualización)
  • R1: Resistencia de 330 Ω, función: limitación de corriente para el LED Q0
  • R2: Resistencia de 330 Ω, función: limitación de corriente para el LED Q1
  • R3: Resistencia de 330 Ω, función: limitación de corriente para el LED Q2
  • R4: Resistencia de 330 Ω, función: limitación de corriente para el LED Q3
  • R5: Resistencia de 10 kΩ, función: pull-up para Master Reset
  • D1: LED rojo, función: Indicador para Q0 (LSB)
  • D2: LED rojo, función: Indicador para Q1
  • D3: LED rojo, función: Indicador para Q2
  • D4: LED rojo, función: Indicador para Q3 (MSB)
  • S1: Pulsador momentáneo (normalmente abierto), función: disparador de Reset

Pin-out del CI utilizado

Chip seleccionado: 74HC161 (Contador Binario Síncrono de 4 bits, Reset Asíncrono)

Pin Nombre Función lógica Conexión en este caso
1 \overlineMR Master Reset (Activo bajo) Conectado al nodo Reset (S1/R5)
2 CP Pulso de reloj (Flanco ascendente) Conectado a V2 (Fuente de reloj)
7 CEP Habilitación de conteo paralelo Conectado a VCC (Siempre habilitado)
8 GND Tierra Conectado a 0 (GND)
9 \overlinePE Habilitación paralela (Carga) Conectado a VCC (Deshabilitado)
10 CET Habilitación de conteo «Trickle» Conectado a VCC (Siempre habilitado)
11 Q3 Bit de salida 3 (MSB) Conectado a D4 a través de R4
12 Q2 Bit de salida 2 Conectado a D3 a través de R3
13 Q1 Bit de salida 1 Conectado a D2 a través de R2
14 Q0 Bit de salida 0 (LSB) Conectado a D1 a través de R1
16 VCC Alimentación (+5 V) Conectado a VCC

Nota: Los pines 3, 4, 5, 6 (Entradas de datos paralelos) y 15 (Salida de acarreo «Ripple Carry») no se utilizan en esta configuración básica de conteo y las entradas pueden conectarse a tierra si se prefiere, aunque normalmente son irrelevantes cuando la Carga (Load) está deshabilitada.

Guía de conexionado

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

  • Nodos de alimentación:

    • Conecte el terminal positivo de V1 al nodo VCC.
    • Conecte el terminal negativo de V1 al nodo 0 (GND).
    • Conecte el pin 16 de U1 a VCC.
    • Conecte el pin 8 de U1 a 0.
  • Entradas de control:

    • Conecte el positivo de V2 (Fuente de reloj) al nodo CLK. Conecte el negativo de V2 a 0.
    • Conecte el pin 2 de U1 al nodo CLK.
    • Conecte los pines 7 (CEP), 10 (CET) y 9 (\overlinePE) de U1 directamente a VCC para habilitar el conteo y deshabilitar la carga paralela.
    • Circuito de Reset: Conecte R5 entre VCC y el nodo RESET_N. Conecte S1 entre el nodo RESET_N y 0. Conecte el pin 1 de U1 a RESET_N.
  • Salidas (Indicadores LED):

    • Bit 0 (LSB): Conecte el pin 14 de U1 al nodo Q0. Conecte R1 entre Q0 y el nodo LED_A1. Conecte el ánodo de D1 a LED_A1 y el cátodo a 0.
    • Bit 1: Conecte el pin 13 de U1 al nodo Q1. Conecte R2 entre Q1 y el nodo LED_A2. Conecte el ánodo de D2 a LED_A2 y el cátodo a 0.
    • Bit 2: Conecte el pin 12 de U1 al nodo Q2. Conecte R3 entre Q2 y el nodo LED_A3. Conecte el ánodo de D3 a LED_A3 y el cátodo a 0.
    • Bit 3 (MSB): Conecte el pin 11 de U1 al nodo Q3. Conecte R4 entre Q3 y el nodo LED_A4. Conecte el ánodo de D4 a LED_A4 y el cátodo a 0.

Diagrama de bloques conceptual

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

Esquemático

+-------------------------------------------------------------------------------------------------------+
|                                  PRACTICAL CASE: 4-BIT UP COUNTER                                     |
+-------------------------------------------------------------------------------------------------------+

      INPUTS & CONTROL                     PROCESSING (U1)                     OUTPUTS & LOAD
   (Left-to-Right Flow)                   (74HC161 Counter)                 (LED Visualization)

                                     +-------------------------+
                                     |                         |
[ V2: Clock Source ] --(CLK 1Hz)---> | [Pin 2] CP              |
                                     |                         |
                                     |                         |          (Bit 0 - LSB)
[ Reset Logic ]                      |             [Pin 14] Q0 | --(Q0)--> [ R1: 330 ] --> [ D1: Red ] --> GND
(VCC->R5->Node->S1->GND) --(RST_N)-> | [Pin 1] ~MR             |
                                     |                         |
                                     |                         |          (Bit 1)
                                     |             [Pin 13] Q1 | --(Q1)--> [ R2: 330 ] --> [ D2: Red ] --> GND
[ VCC: 5 V Source ] --(Enable High)-> | [Pin 7]  CEP            |
                   --(Enable High)-> | [Pin 10] CET            |
                   --(Disable Load)> | [Pin 9]  ~PE            |          (Bit 2)
                                     |             [Pin 12] Q2 | --(Q2)--> [ R3: 330 ] --> [ D3: Red ] --> GND
                                     |                         |
                                     |                         |
                                     |                         |          (Bit 3 - MSB)
                                     |             [Pin 11] Q3 | --(Q3)--> [ R4: 330 ] --> [ D4: Red ] --> GND
                                     |                         |
                                     +-------------------------+
                                            |           |
                                         [Pin 16]    [Pin 8]
                                            |           |
                                           VCC         GND
Esquema Eléctrico

Mediciones y pruebas

  1. Comprobación de alimentación: Antes de conectar el CI, mida la tensión entre VCC y 0 para asegurarse de que sea estable a 5 V.
  2. Verificación del reloj: Ajuste V2 a una frecuencia baja (p. ej., 1 Hz). Verifique que la señal en el nodo CLK oscila entre 0 V y 5 V.
  3. Observación de la secuencia: Encienda el circuito. Observe de D1 a D4. Deberían alternar en la secuencia binaria:
    • 0: Todos APAGADOS
    • 1: D1 ENCENDIDO
    • 2: D2 ENCENDIDO
    • 3: D1 y D2 ENCENDIDOS
    • … hasta 15: Todos ENCENDIDOS.
  4. Prueba de Reset: Mientras el contador está funcionando, presione S1. Todos los LEDs deben apagarse inmediatamente (Reset Asíncrono) o en el siguiente flanco de reloj (si se usa una variante de reset síncrono, aunque el Reset del 74HC161 estándar suele ser asíncrono).
  5. Niveles lógicos: Use un multímetro para medir el nodo Q3 cuando D4 esté encendido. Debería leer cerca de 5 V (Lógica Alta).

Netlist SPICE y simulación

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

* Practical case: 4-bit up counter with LEDs (74HC161)
* NGSPICE Netlist
* Requires XSPICE extensions

.width out=256

* --- Power Supplies ---
V1 VCC 0 DC 5
* Clock Source: 1 Hz Pulse (0V to 5V), 50% duty cycle
* Corrected to 1 Hz per BOM (Period = 1s, Pulse Width = 0.5s)
V2 CLK 0 PULSE(0 5 0 1u 1u 0.5 1)

* --- Reset Circuit ---
* Pull-up resistor for Master Reset
R5 VCC RESET_N 10k
* S1: Momentary Push Button (Normally Open)
* Implemented as a Voltage Controlled Switch driven by V_BTN source
S1 RESET_N 0 CTRL_RST 0 SW_BTN
* Button Actuator (Simulates a press at 8s for 1s duration to test reset)
V_BTN CTRL_RST 0 PULSE(0 1 8 1m 1m 1 20)
* ... (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: 4-bit up counter with LEDs (74HC161)
* NGSPICE Netlist
* Requires XSPICE extensions

.width out=256

* --- Power Supplies ---
V1 VCC 0 DC 5
* Clock Source: 1 Hz Pulse (0V to 5V), 50% duty cycle
* Corrected to 1 Hz per BOM (Period = 1s, Pulse Width = 0.5s)
V2 CLK 0 PULSE(0 5 0 1u 1u 0.5 1)

* --- Reset Circuit ---
* Pull-up resistor for Master Reset
R5 VCC RESET_N 10k
* S1: Momentary Push Button (Normally Open)
* Implemented as a Voltage Controlled Switch driven by V_BTN source
S1 RESET_N 0 CTRL_RST 0 SW_BTN
* Button Actuator (Simulates a press at 8s for 1s duration to test reset)
V_BTN CTRL_RST 0 PULSE(0 1 8 1m 1m 1 20)
.model SW_BTN sw(vt=0.5 ron=1 roff=10Meg)

* --- 74HC161 4-bit Binary Counter Subcircuit Instance ---
* Connections match Wiring Guide:
* Pin 1 (MR_N) -> RESET_N
* Pin 2 (CP) -> CLK
* Pin 3-6 (D0-D3) -> 0 (GND)
* Pin 7 (CEP) -> VCC
* Pin 8 (GND) -> 0
* Pin 9 (PE_N) -> VCC
* Pin 10 (CET) -> VCC
* Pin 11-14 (Q3-Q0) -> Output Nodes
* Pin 15 (TC) -> TC_NC (Floating)
* Pin 16 (VCC) -> VCC
XU1 RESET_N CLK 0 0 0 0 VCC 0 VCC VCC Q3 Q2 Q1 Q0 TC_NC VCC 74HC161

* --- LED Output Indicators ---
* Bit 0 (LSB)
R1 Q0 LED_A1 330
D1 LED_A1 0 LED_RED
* Bit 1
R2 Q1 LED_A2 330
D2 LED_A2 0 LED_RED
* Bit 2
R3 Q2 LED_A3 330
D3 LED_A3 0 LED_RED
* Bit 3 (MSB)
R4 Q3 LED_A4 330
D4 LED_A4 0 LED_RED

* --- Models ---
.model LED_RED D(Is=1e-14 Rs=5 N=2)

* --- Subcircuit Definition: 74HC161 ---
* Behavioral XSPICE implementation of a 4-bit Counter with Async Reset
.subckt 74HC161 MR_N CP D0 D1 D2 D3 CEP GND PE_N CET Q3 Q2 Q1 Q0 TC VCC
    * XSPICE Models
    .model adc_in adc_bridge(in_low=2.0 in_high=3.0)
    .model dac_out dac_bridge(out_low=0.0 out_high=5.0)
    .model dff_mod d_dff(rise_delay=10n fall_delay=10n)
    .model inv_mod d_inverter(rise_delay=5n fall_delay=5n)

    * Input Bridges (Analog to Digital)
    A_IN [MR_N CP] [mr_dig cp_dig] adc_in

    * Reset Logic (MR_N is active low, d_dff reset is active high)
    A_RST_INV mr_dig rst_high inv_mod

    * Counter Chain (Ripple Up Counter)
    * Bit 0: Toggles on CP rising edge
    A_D0 q0_inv cp_dig NULL rst_high q0_dig q0_inv dff_mod

    * Bit 1: Toggles on Q0 falling edge (Q0_inv rising edge)
    A_D1 q1_inv q0_inv NULL rst_high q1_dig q1_inv dff_mod

    * Bit 2: Toggles on Q1 falling edge
    A_D2 q2_inv q1_inv NULL rst_high q2_dig q2_inv dff_mod

    * Bit 3: Toggles on Q2 falling edge
    A_D3 q3_inv q2_inv NULL rst_high q3_dig q3_inv dff_mod

    * Output Bridges (Digital to Analog)
    A_OUT [q3_dig q2_dig q1_dig q0_dig] [Q3 Q2 Q1 Q0] dac_out

    * Terminal Count (Unused/Dummy pull-down)
    R_TC TC 0 100k
.ends

* --- Simulation Commands ---
* Transient analysis: 20s duration to capture full counting cycle (0-15) at 1 Hz
.op
.tran 10m 20s

* Print critical signals (Inputs first)
.print tran V(CLK) V(RESET_N) V(Q0) V(Q1) V(Q2) V(Q3)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows a correct 4-bit binary counting sequence (0000 to 1111) on outputs Q0-Q3. The clock toggles at 1Hz. The reset button press at 8s is simulated, but the log data shows RESET_N remaining high (~4.99V) throughout the sampled points, suggesting the reset event might have been missed in the condensed log or the switch resistance ratio wasn’t sufficient to pull the node to logic low in the analog domain against the pull-up, although the counter continues counting correctly.
Show raw data table (3020 rows)
Index   time            v(clk)          v(reset_n)      v(q0)           v(q1)           v(q2)           v(q3)
0	0.000000e+00	0.000000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
1	1.000000e-08	5.000000e-02	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
2	2.000000e-08	1.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
3	4.000000e-08	2.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
4	8.000000e-08	4.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
5	1.600000e-07	8.000000e-01	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
6	3.200000e-07	1.600000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
7	6.400000e-07	3.200000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
8	6.520000e-07	3.260000e+00	4.995005e+00	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
9	6.760000e-07	3.380000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
10	7.240000e-07	3.620000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
11	8.200000e-07	4.100000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
12	1.000000e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
13	1.019200e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
14	1.057600e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
15	1.134400e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
16	1.288000e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
17	1.595200e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
18	2.209600e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
19	3.438400e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
20	5.896000e-06	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
21	1.081120e-05	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
22	2.064160e-05	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
23	4.030240e-05	5.000000e+00	4.995005e+00	5.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
... (2996 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar los pines Enable flotando: La serie 74HC tiene entradas de alta impedancia. Si los pines 7 (CEP) o 10 (CET) no están conectados a VCC, el contador puede no contar o comportarse de manera errática. Siempre conecte las entradas de control no utilizadas a un nivel lógico definido.
  2. Frecuencia de reloj demasiado alta: Si V2 se ajusta a 1 kHz o más, todos los LEDs parecerán estar tenuemente encendidos de forma continua debido a la persistencia de la visión. Mantenga el reloj por debajo de 5 Hz para la depuración visual.
  3. Pin de Carga Paralela flotante: Si el pin 9 (\overlinePE) se deja flotando o bajo, el chip podría intentar cargar constantemente datos desde las entradas P0-P3 en lugar de contar. Asegúrese de que el pin 9 esté conectado a VCC.

Solución de problemas

  • Los LEDs nunca se encienden: Verifique las conexiones de alimentación a los pines 16 y 8. Asegúrese de que los LEDs estén insertados con la polaridad correcta (ánodo a resistencia/CI, cátodo a tierra).
  • El contador se queda en cero: Verifique que el pin de Reset (1) esté Alto (5 V). Si S1 está atascado o falta la resistencia de pull-up R5, el chip permanece en estado de Reset. Además, verifique que los pines Enable (7, 10) estén Altos.
  • El contador salta números: Esto se debe a menudo al «rebote del interruptor» (switch bounce) si está utilizando un interruptor mecánico como reloj manual. Use un generador de onda cuadrada limpia o un circuito antirrebote (condensador + resistencia) para la entrada de reloj.
  • Secuencia aleatoria: Verifique si el pin de Habilitación Paralela (\overlinePE) está accidentalmente Bajo o flotando. Debe estar Alto.

Posibles mejoras y extensiones

  1. Contador de 8 bits: Conecte en cascada un segundo 74HC161 conectando la Salida de Acarreo (pin 15) del primer contador a la Habilitación «Trickle» (pin 10) del segundo contador. Esto permite contar hasta 255.
  2. Reloj manual: Reemplace el generador de frecuencia V2 con un circuito temporizador 555 en modo astable o un pulsador con antirrebote para avanzar la cuenta manualmente.

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é circuito integrado se utiliza en este caso práctico para el contador binario?




Pregunta 2: ¿Cuál es el rango de conteo en binario que realiza este circuito?




Pregunta 3: ¿Qué representan las siglas LSB y MSB mencionadas en el texto?




Pregunta 4: ¿Cuál es una aplicación útil de los contadores mencionada en el texto con respecto a la frecuencia?




Pregunta 5: ¿Qué utilidad tiene el conteo de eventos en la automatización industrial según el texto?




Pregunta 6: ¿Cada cuántos pulsos de reloj se repite la secuencia de conteo completa (0 a 15)?




Pregunta 7: ¿Qué función fundamental cumplen los contadores en los relojes digitales?




Pregunta 8: ¿Qué función cumplen los contadores en el direccionamiento de memoria?




Pregunta 9: ¿Qué tipo de circuito digital se construye en este caso práctico?




Pregunta 10: ¿Qué patrón visual se espera observar en los cuatro LEDs?




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: Cerradura de bóveda con retardo y etapa de potencia

Prototipo de Cerradura de bóveda con retardo y etapa de potencia (Maker Style)

Nivel: Básico. Construya una cerradura electrónica segura que mantenga un solenoide activo durante unos segundos después de que se giren dos llaves simultáneamente.

Objetivo y caso de uso

En este caso práctico, construirá un circuito de seguridad que requiere dos entradas distintas (llaves/botones) activadas simultáneamente para disparar un mecanismo de alta potencia. Una vez disparado, el sistema incluye una memoria analógica (red RC) para mantener la cerradura abierta por una corta duración, permitiendo al usuario abrir la puerta.

  • Escenarios del mundo real:

    • Bóvedas bancarias: Requiere que dos gerentes de banco giren las llaves al mismo tiempo para prevenir robos.
    • Prensas industriales: Requiere que un operador presione botones con ambas manos para garantizar la seguridad antes de que la máquina se active.
    • Entradas seguras: Permite que el pestillo de una puerta permanezca desbloqueado durante 5 segundos después de la autorización.
  • Resultado esperado:

    • Lógica: La carga (Solenoide/LED) permanece APAGADA (OFF) si solo se presiona un botón.
    • Activación: La carga se ENCIENDE (ON) completamente solo cuando ambos SW1 y SW2 se mantienen presionados.
    • Temporización: Al soltar los botones, la carga permanece ENCENDIDA (ON) durante aproximadamente 2 a 5 segundos antes de desvanecerse.
    • Público objetivo: Estudiantes de electrónica básica enfocados en la conmutación con transistores y constantes de tiempo RC.

Materiales

  • V1: Fuente de alimentación de 12 V DC, función: Fuente de energía principal.
  • SW1: Pulsador (Normalmente Abierto), función: Llave de seguridad 1.
  • SW2: Pulsador (Normalmente Abierto), función: Llave de seguridad 2.
  • R1: Resistencia de 1 kΩ, función: Limitador de corriente para la carga del condensador (protección).
  • R2: Resistencia de 47 kΩ, función: Resistencia de temporización de descarga (Bleeder).
  • C1: Condensador electrolítico de 100 µF, función: Almacenamiento de energía para el retardo de tiempo.
  • Q1: MOSFET de Canal N IRF540, función: Interruptor de potencia para la carga.
  • L1: Inductor de 10 mH, función: Simulación de bobina de solenoide.
  • R3: Resistencia de 10 Ω, función: Resistencia interna del solenoide.
  • D1: Diodo 1N4007, función: Protección Flyback contra picos de voltaje inductivos.

Guía de conexionado

Esta guía utiliza los nombres de nodo 12 V, 0 (Tierra), Mid_Switch, Gate_Node y Drain_Node.

  • Etapa lógica (AND en serie):

    • V1 (Positivo) se conecta a SW1 (Entrada).
    • SW1 (Salida) se conecta a Mid_Switch.
    • SW2 (Entrada) se conecta a Mid_Switch.
    • SW2 (Salida) se conecta a R1 (Entrada).
  • Etapa de temporización (Retención RC):

    • R1 (Salida) se conecta a Gate_Node.
    • C1 (Positivo) se conecta a Gate_Node.
    • C1 (Negativo) se conecta a 0.
    • R2 se conecta entre Gate_Node y 0 (En paralelo a C1).
    • Q1 (Gate) se conecta a Gate_Node.
  • Etapa de potencia:

    • Q1 (Source) se conecta a 0.
    • Q1 (Drain) se conecta a Drain_Node.
    • L1 y R3 (representando el Solenoide) se conectan en serie entre 12 V y Drain_Node.
    • D1 (Cátodo) se conecta a 12 V.
    • D1 (Ánodo) se conecta a Drain_Node (a través de la carga).

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: Vault Lock with Delay and Power Drive

(1) LOGIC & TIMING STAGE
------------------------
                                                                    (Gate_Node)
[ 12 V ] --(Logic)--> [ SW1 ] --> [ SW2 ] --> [ R1: 1k ] --+------------+----------> [ Q1:Gate ]
                                                          |            |                |
                                                          |            |                |
                                                          v            v                |
                                                    [ C1: 100uF ]  [ R2: 47k ]          |
                                                          |            |                |
                                                          v            v                |
                                                         GND          GND               |
                                                                                        |
(2) POWER DRIVE STAGE                                                                   |
---------------------                                                                   |
                                                                                        |
[ 12 V ] --(Power)-----------------------------------------+                             |
   |                                                      |                             |
   |                                                      v                             |
   |                                              [ Solenoid (L1+R3) ]                  |
   |                                                      |                             |
   |                                                      v                             |
   +----(Cathode)-- [ D1: Flyback ] --(Anode)----> (Drain_Node) ----> [ Q1:Drain ]      |
                                                                            |           |
                                                                            +-----------+
                                                                            |
                                                                      (Internal FET)
                                                                            |
                                                                            v
                                                                      [ Q1:Source ]
                                                                            |
                                                                            v
                                                                           GND
Esquema Eléctrico

Mediciones y pruebas

Valide el funcionamiento del circuito utilizando un multímetro u osciloscopio:

  1. Verificación lógica: Presione solo SW1. Mida el voltaje en Gate_Node. Debería ser 0 V. Repita solo para SW2. La carga debería permanecer APAGADA (OFF).
  2. Activación: Presione SW1 y SW2 simultáneamente. Mida el voltaje en Gate_Node. Debería subir inmediatamente a aprox. 12 V. El Solenoide (Carga) debería activarse.
  3. Tiempo de retención (Retardo): Suelte ambos botones simultáneamente. Observe la carga.
    • El voltaje en Gate_Node comenzará a caer.
    • El Solenoide debería permanecer activo.
    • Mida el tiempo que tarda la carga en apagarse (típicamente cuando el voltaje de Gate cae por debajo del umbral del MOSFET, ~3-4 V). Con 47 kΩ y 100µF, esto debería ser aproximadamente de 3 a 5 segundos.
  4. Comprobación de Flyback: (Solo osciloscopio) Monitoree Drain_Node cuando el transistor se apague. No debería ver un pico de voltaje masivo por encima de 12 V, confirmando que D1 está limitando el contragolpe inductivo.

Netlist SPICE y simulación

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

* Practical case: Vault Lock with Delay and Power Drive
.width out=256

* --- Models ---
* Generic Switch Model for Push Buttons
.model SW_push SW(Vt=2.5 Ron=0.01 Roff=100Meg)

* Power MOSFET Model (Approximation of IRF540)
* N-Channel, Threshold ~4V, Low Rds(on)
.model IRF540 NMOS(Level=1 Vto=4.0 Kp=20 Lambda=0.001 Rd=0.05 Rs=0.05)

* Diode Model (1N4007)
.model D1N4007 D(Is=14.11n N=1.984 Rs=33.89m Ikf=100m Cjo=20p M=0.3333 Vj=0.75 Bv=1000 Ibv=10u)

* --- Main Power Supply ---
V1 12V 0 DC 12

* --- User Interface (Push Buttons) ---
* We simulate physical button presses using Pulse Voltage Sources controlling switches.
* Logic: To unlock, SW1 and SW2 must be pressed simultaneously (AND logic).
* ... (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: Vault Lock with Delay and Power Drive
.width out=256

* --- Models ---
* Generic Switch Model for Push Buttons
.model SW_push SW(Vt=2.5 Ron=0.01 Roff=100Meg)

* Power MOSFET Model (Approximation of IRF540)
* N-Channel, Threshold ~4V, Low Rds(on)
.model IRF540 NMOS(Level=1 Vto=4.0 Kp=20 Lambda=0.001 Rd=0.05 Rs=0.05)

* Diode Model (1N4007)
.model D1N4007 D(Is=14.11n N=1.984 Rs=33.89m Ikf=100m Cjo=20p M=0.3333 Vj=0.75 Bv=1000 Ibv=10u)

* --- Main Power Supply ---
V1 12V 0 DC 12

* --- User Interface (Push Buttons) ---
* We simulate physical button presses using Pulse Voltage Sources controlling switches.
* Logic: To unlock, SW1 and SW2 must be pressed simultaneously (AND logic).
V_act1 Ctrl1 0 PULSE(0 5 1 1m 1m 3 10)
V_act2 Ctrl2 0 PULSE(0 5 2.5 1m 1m 3 10)

* --- Logic Stage (Series AND) ---
* SW1 connects 12V to Mid_Switch
S1 12V Mid_Switch Ctrl1 0 SW_push

* SW2 connects Mid_Switch to R1 Input
S2 Mid_Switch Pre_R1 Ctrl2 0 SW_push

* --- Timing Stage (RC Hold) ---
* R1: Current limiter for charging
R1 Pre_R1 Gate_Node 1k

* C1: Energy storage (Timing capacitor)
C1 Gate_Node 0 100u

* R2: Discharge timing resistor (Bleeder)
* Time Constant (Discharge) = 47k * 100u = 4.7 seconds
R2 Gate_Node 0 47k

* --- Power Stage ---
* Q1 renamed to M1 to match SPICE MOSFET syntax (requires M prefix for NMOS model).
* Pin order: Drain Gate Source Bulk. Bulk connected to Source (0).
M1 Drain_Node Gate_Node 0 0 IRF540

* --- Load (Solenoid Simulation) ---
* Modeled as Inductor L1 and Resistor R3 in series
L1 12V Solenoid_Mid 10mH
R3 Solenoid_Mid Drain_Node 10

* --- Protection ---
* D1: Flyback diode to suppress inductive spikes from L1 upon turn-off
* Connected Cathode to 12V, Anode to Drain
D1 Drain_Node 12V D1N4007

* --- Simulation Commands ---
.op
* Transient analysis: 10ms step for 10 seconds to capture full charge/discharge cycle
.tran 10m 10s

* --- Output ---
* Monitoring Control signals, Gate voltage (Timing), and Drain voltage (Output state)
.print tran V(Ctrl1) V(Ctrl2) V(Gate_Node) V(Drain_Node) I(L1)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms the intended operation. When the control signals activate the series switches (AND logic), the gate node charges to ~11.7V, turning the MOSFET ON (Drain drops to ~0.13V, Current ~1.18A). After the input pulses cease, the gate voltage decays slowly via R2. Around 9 seconds into the simulation, the gate voltage drops near the threshold (4V), and the MOSFET turns off, returning the Drain voltage to 12V.
Show raw data table (1095 rows)
Index   time            v(ctrl1)        v(ctrl2)        v(gate_node)    v(drain_node)   l1#branch
0	0.000000e+00	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199844e-11
1	1.000000e-04	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.204503e-11
2	2.000000e-04	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.196043e-11
3	4.000000e-04	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.204260e-11
4	8.000000e-04	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.204346e-11
5	1.600000e-03	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.201220e-11
6	3.200000e-03	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199165e-11
7	6.400000e-03	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.202979e-11
8	1.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.202182e-11
9	2.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199840e-11
10	3.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
11	4.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
12	5.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
13	6.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
14	7.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
15	8.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
16	9.280000e-02	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
17	1.028000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
18	1.128000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
19	1.228000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
20	1.328000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
21	1.428000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
22	1.528000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.200551e-11
23	1.628000e-01	0.000000e+00	0.000000e+00	2.819323e-03	1.200000e+01	1.199929e-11
... (1071 more rows) ...

Errores comunes y cómo evitarlos

  1. Omitir el diodo Flyback (D1):
    • Error: El MOSFET falla después de unos pocos ciclos debido a los altos picos de voltaje del solenoide.
    • Solución: Coloque siempre un diodo en paralelo con cargas inductivas, cátodo al suministro positivo.
  2. Polaridad incorrecta del condensador:
    • Error: C1 explota o se calienta; el circuito actúa como un cortocircuito.
    • Solución: Asegúrese de que la franja negativa del condensador electrolítico se conecte a Tierra (0).
  3. Gate flotante:
    • Error: Si se quita R2, la cerradura se queda atascada en «ON» indefinidamente porque la carga de la puerta (gate) no tiene a dónde ir.
    • Solución: Asegúrese de que R2 esté conectado entre Gate y Tierra para proporcionar una ruta de descarga.

Solución de problemas

  • El solenoide se apaga instantáneamente (Sin retardo):
    • Causa: C1 es demasiado pequeño, está dañado, o R2 es demasiado bajo (ej. 1 kΩ en lugar de 47 kΩ).
    • Solución: Verifique el valor de R2 o aumente la capacitancia de C1.
  • El MOSFET se calienta mucho durante la transición de «APAGADO»:
    • Causa: La descarga lenta hace que el MOSFET permanezca en la «región lineal» (actuando como una resistencia) durante demasiado tiempo.
    • Solución: Esto es esperado en circuitos de retardo RC simples. Asegúrese de que el MOSFET tenga un disipador de calor o cambie a un retardo basado en lógica (Schmitt Trigger) para un corte más nítido.
  • El circuito nunca se activa:
    • Causa: SW1 y SW2 no están cableados en serie, o el pin-out del MOSFET (G-D-S) es incorrecto.
    • Solución: Verifique la continuidad a través de los interruptores hasta el pin Gate.

Posibles mejoras y extensiones

  1. Acción rápida con Schmitt Trigger: Inserte un inversor Schmitt Trigger (como CD40106) entre la red RC y el MOSFET. Esto crea una transición de ENCENDIDO/APAGADO digital limpia, evitando que el MOSFET se caliente durante la fase de descarga.
  2. Reinicio de emergencia: Agregue un interruptor de «Pánico» (Normalmente Cerrado) en paralelo con el condensador C1. Presionarlo cortocircuita instantáneamente el condensador, bloqueando la bóveda inmediatamente independientemente del tiempo restante.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




Pregunta 2: ¿Qué componente se utiliza para almacenar energía y mantener la cerradura abierta por unos segundos?




Pregunta 3: ¿Qué condición lógica debe cumplirse para que la carga se active inicialmente?




Pregunta 4: ¿Cuál es el voltaje de la fuente de alimentación (V1) utilizada en este proyecto?




Pregunta 5: ¿Qué sucede con la carga si solo se presiona uno de los botones?




Pregunta 6: ¿Cuál es la función de SW1 y SW2 en el circuito?




Pregunta 7: ¿Cuánto tiempo aproximado permanece desbloqueado el pestillo según el ejemplo de entrada segura?




Pregunta 8: ¿Qué ejemplo del mundo real se menciona que utiliza una lógica similar para prevenir robos?




Pregunta 9: ¿Para qué nivel de dificultad está clasificado este proyecto?




Pregunta 10: ¿Por qué se requiere presionar botones con ambas manos en una prensa industrial 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: El peligro del nivel lógico indefinido

Prototipo de El peligro del nivel lógico indefinido (Maker Style)

Nivel: Básico. Analizando la inestabilidad causada por entradas incorrectas de divisores de tensión en puertas digitales.

Objetivo y caso de uso

En este caso práctico, construirás un circuito donde la entrada a un inversor digital (puerta NOT) se mantiene exactamente a 2.5 V usando un divisor de tensión simétrico. Esto crea un estado «prohibido» para las familias lógicas de 5 V.

  • Entendiendo los umbrales lógicos: Aprende por qué las entradas digitales necesitan tensiones Alta y Baja definidas, no solo «algo en el medio».
  • Diagnosticando la inestabilidad: Reconoce los síntomas de estados indefinidos, como la oscilación o el calentamiento excesivo.
  • Comportamiento interno del transistor: Visualiza qué sucede con los MOSFETs internos cuando la tensión de entrada está en la «zona muerta».

Resultado esperado:
* Señal: La tensión de entrada (Vin) mide exactamente 2.5 V.
* Salida: El LED de salida puede estar tenue, parpadeando o atascado en una tensión intermedia (no totalmente 0 V o 5 V).
* Térmico: El chip 74HC04 puede calentarse ligeramente debido a la corriente interna de «shoot-through» (conducción cruzada).

Público objetivo: Estudiantes que trabajan con interfaces de sensores y niveles lógicos.

Materiales

  • V1: Fuente de alimentación de 5 V DC, función: Fuente de alimentación principal
  • R1: Resistencia de 10 kΩ, función: Rama superior del divisor de tensión
  • R2: Resistencia de 10 kΩ, función: Rama inferior del divisor de tensión
  • U1: 74HC04, función: Hex Inverter (puerta NOT)
  • R3: Resistencia de 330 Ω, función: Limitación de corriente del LED
  • D1: LED rojo, función: Indicador de estado lógico
  • C1: Condensador de 100 nF, función: Desacoplo de la fuente de alimentación

Pin-out del CI utilizado

Chip: 74HC04 (Hex Inverter)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Conectado al divisor de tensión (2.5 V)
2 1Y Salida Conectado a la resistencia del LED
7 GND Tierra Conectado a Tierra de la fuente de alimentación
14 VCC Alimentación (+5 V) Conectado a +5 V de la fuente de alimentación

Guía de conexionado

  • VCC: Conecta el terminal positivo de V1, el Pin 14 de U1 y un lado de R1.
  • 0 (GND): Conecta el terminal negativo de V1, el Pin 7 de U1, un lado de R2 y el cátodo (patilla corta) de D1.
  • V_IN: Conecta el lado restante de R1, el lado restante de R2 y el Pin 1 (Entrada 1 A) de U1. Nota: Este nodo crea el nivel problemático de 2.5 V.
  • V_OUT: Conecta el Pin 2 (Salida 1Y) de U1 a un lado de R3.
  • LED_NODE: Conecta el lado restante de R3 al ánodo (patilla larga) de D1.
  • Desacoplo: Conecta C1 directamente entre el Pin 14 y el Pin 7 de U1.

Diagrama de bloques conceptual

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

Esquemático

INPUT STAGE (Voltage Divider)              PROCESSING STAGE (Logic)                  OUTPUT STAGE (Load)

VCC (5 V)
   |
[ R1: 10 kΩ ]
   |
+---------(V_IN: ~2.5 V)---------> [ U1: 74HC04 (Inverter) ] -------(V_OUT)-------> [ R3: 330 Ω ] ----> [ D1: LED ] ----> GND
   |          (Undefined Level)      [ Input: Pin 1          ]
[ R2: 10 kΩ ]                         [ Output: Pin 2         ]
   |                                 [ Power: VCC/GND + C1   ]
GND (0 V)
Esquema Eléctrico

Tabla de verdad

Puerta: NOT (Inversor)

Entrada (A) Salida (Y)
L (0 V) H (5 V)
H (5 V) L (0 V)
2.5 V Indefinido / Inestable

Mediciones y pruebas

  1. Comprobación de tensión de entrada: Configura tu multímetro en tensión continua (DC). Coloca la sonda roja en el nodo V_IN (Pin 1 de U1) y la sonda negra en GND. Verifica que la lectura sea de aproximadamente 2.5 V.
  2. Observación de la salida: Mira D1. Podría estar brillando tenuemente o parpadeando. Esto indica que la salida no está proporcionando un nivel lógico Alto o Bajo sólido.
  3. Comprobación de tensión de salida: Mide la tensión en V_OUT (Pin 2). Probablemente no será 0 V ni 5 V, sino un valor intermedio, o puede estar oscilando (lectura fluctuante).
  4. Prueba táctil (Precaución): Toca con cuidado la parte superior del encapsulado de plástico del 74HC04. Si el chip se siente más caliente que la temperatura ambiente, está consumiendo corriente en exceso.

Netlist SPICE y simulación

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

* Practical case: The Undefined Logic Level Danger
.width out=256

* --- Models ---
* Generic Red LED Model
.model LED_RED D(IS=1e-22 N=1.5 RS=10 BV=5 CJO=50p IBV=1u)

* Subcircuit for U1: 74HC04 Hex Inverter
* Pinout: 1=Input(A), 2=Output(Y), 7=GND, 14=VCC
* Implemented with a continuous sigmoid function to allow robust simulation 
* of the linear region (undefined state) without convergence issues.
.subckt 74HC04 1 2 7 14
B_INV 2 7 V = V(14,7) / (1 + exp(20 * (V(1,7) - 0.5*V(14,7))))
.ends

* --- Components ---

* V1: Main Power Supply
* Using PULSE to simulate power-on transient (0V to 5V)
V1 VCC 0 PULSE(0 5 1u 10u 10u 100m 200m)
* ... (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: The Undefined Logic Level Danger
.width out=256

* --- Models ---
* Generic Red LED Model
.model LED_RED D(IS=1e-22 N=1.5 RS=10 BV=5 CJO=50p IBV=1u)

* Subcircuit for U1: 74HC04 Hex Inverter
* Pinout: 1=Input(A), 2=Output(Y), 7=GND, 14=VCC
* Implemented with a continuous sigmoid function to allow robust simulation 
* of the linear region (undefined state) without convergence issues.
.subckt 74HC04 1 2 7 14
B_INV 2 7 V = V(14,7) / (1 + exp(20 * (V(1,7) - 0.5*V(14,7))))
.ends

* --- Components ---

* V1: Main Power Supply
* Using PULSE to simulate power-on transient (0V to 5V)
V1 VCC 0 PULSE(0 5 1u 10u 10u 100m 200m)

* R1: Top leg of voltage divider (10k)
R1 VCC V_IN 10k

* R2: Bottom leg of voltage divider (10k)
* This creates approx 2.5V at V_IN when VCC is 5V
R2 V_IN 0 10k

* U1: 74HC04 Hex Inverter
* Connections: Pin 1=V_IN, Pin 2=V_OUT, Pin 7=0(GND), Pin 14=VCC
XU1 V_IN V_OUT 0 VCC 74HC04

* C1: Decoupling capacitor (100nF)
C1 VCC 0 100n

* R3: LED current limiting resistor (330 Ohm)
R3 V_OUT LED_NODE 330

* D1: Red LED
D1 LED_NODE 0 LED_RED

* --- Analysis ---

* Transient analysis to capture power-up and settling
* Step size 1us, Stop time 500us
.tran 1u 500u

* Print directives for simulation logging
.print tran V(V_IN) V(V_OUT) V(LED_NODE) V(VCC)

* Operating point calculation
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation shows V_IN settling at exactly 2.5V (half of VCC). The inverter output V_OUT also settles at 2.5V, causing the LED node to sit at ~1.75V. This confirms the ‘undefined’ behavior where the output is neither clearly High nor Low.
Show raw data table (519 rows)
Index   time            v(v_in)         v(v_out)        v(led_node)     v(vcc)
0	0.000000e+00	0.000000e+00	0.000000e+00	-1.32954e-36	0.000000e+00
1	1.000000e-08	0.000000e+00	0.000000e+00	-8.37118e-37	0.000000e+00
2	2.000000e-08	0.000000e+00	0.000000e+00	-2.17031e-37	0.000000e+00
3	4.000000e-08	0.000000e+00	0.000000e+00	6.442019e-37	0.000000e+00
4	8.000000e-08	0.000000e+00	0.000000e+00	1.087387e-36	0.000000e+00
5	1.600000e-07	0.000000e+00	0.000000e+00	5.886649e-37	0.000000e+00
6	3.200000e-07	0.000000e+00	0.000000e+00	-7.16419e-38	0.000000e+00
7	6.400000e-07	0.000000e+00	0.000000e+00	-1.33719e-37	0.000000e+00
8	1.000000e-06	0.000000e+00	0.000000e+00	-1.75658e-38	0.000000e+00
9	1.005123e-06	1.280776e-03	1.280776e-03	3.255392e-04	2.561552e-03
10	1.015369e-06	3.842328e-03	3.842328e-03	1.418765e-03	7.684656e-03
11	1.035862e-06	8.965432e-03	8.965432e-03	5.258943e-03	1.793086e-02
12	1.070382e-06	1.759552e-02	1.759552e-02	1.345000e-02	3.519104e-02
13	1.105069e-06	2.626716e-02	2.626716e-02	2.210557e-02	5.253431e-02
14	1.174442e-06	4.361042e-02	4.361042e-02	3.941132e-02	8.722085e-02
15	1.313188e-06	7.829696e-02	7.829696e-02	7.402122e-02	1.565939e-01
16	1.590680e-06	1.476700e-01	1.476700e-01	1.432281e-01	2.953401e-01
17	2.145665e-06	2.864162e-01	2.864162e-01	2.815810e-01	5.728324e-01
18	3.145665e-06	5.364162e-01	5.364162e-01	5.305352e-01	1.072832e+00
19	4.145665e-06	7.864162e-01	7.864162e-01	7.789169e-01	1.572832e+00
20	5.145665e-06	1.036416e+00	1.036416e+00	1.027633e+00	2.072832e+00
21	6.145665e-06	1.286416e+00	1.286416e+00	1.276050e+00	2.572832e+00
22	7.145665e-06	1.536416e+00	1.536416e+00	1.521539e+00	3.072832e+00
23	8.145665e-06	1.786416e+00	1.786416e+00	1.662480e+00	3.572832e+00
... (495 more rows) ...

Errores comunes y cómo evitarlos

  1. Asumir que 2.5 V es «Alto»: Muchos estudiantes piensan que cualquier tensión > 0 V es «Alta». Consulta la hoja de datos para los requisitos mínimos de VIH (Tensión de entrada Alta) (generalmente ~3.5 V para lógica HC de 5 V).
  2. Usar divisores de alta impedancia: Usar 10 kΩ/10 kΩ está bien para referencias, pero el ruido puede acoplarse fácilmente en este nodo de alta impedancia, causando que la puerta conmute aleatoriamente.
  3. Ignorar los condensadores de desacoplo: En este estado inestable, el chip genera ruido en los rieles de alimentación. Omitir C1 hace que el comportamiento sea aún más errático.

Solución de problemas

  • Síntoma: El LED está tenue o parpadea rápidamente.
    • Causa: La entrada está en la «región lineal» o «zona prohibida». Los transistores internos están amplificando ruido.
    • Solución: Ajusta la tensión de entrada para que sea claramente válida (p. ej., conecta la Entrada directamente a VCC o GND para probar).
  • Síntoma: El chip se está calentando, pero el LED funciona.
    • Causa: Corriente de «shoot-through». Dentro del chip, tanto el P-MOSFET como el N-MOSFET de la etapa de entrada están conduciendo parcialmente porque 2.5 V los polariza a ambos en ON. Esto crea un cortocircuito desde VCC a GND dentro del silicio.
    • Solución: Nunca dejes una entrada CMOS en una tensión intermedia.
  • Síntoma: La tensión en V_IN no es exactamente 2.5 V.
    • Causa: Tolerancia de las resistencias (p. ej., resistencias del 5% o 10%) o carga del multímetro.
    • Solución: Mide los valores de R1 y R2 independientemente o verifica con un multímetro de precisión.
🕵️ Ver Diagnóstico y Solución (Clic para revelar)

### Diagnóstico y Solución

**1. El Problema (Síntoma):** «El LED parpadea, está tenue o el chip se calienta. La entrada mide 2.5 V. ¿Es eso un 1 o un 0?»

**2. La Investigación:** Mides Vin y confirmas que es 2.5 V. Consultas la hoja de datos del 74HC04:
* VIL (Entrada Baja Máx) = 1.35 V
* VIH (Entrada Alta Mín) = 3.15 V
* **Resultado:** ¡Estás en «Tierra de Nadie»! La tensión es mayor que un Bajo, pero menor que un Alto.

**3. La Revelación:** Esto demuestra los **Márgenes de Ruido** y la Física de Transistores. A 2.5 V, tanto los transistores internos de entrada PMOS como NMOS están parcialmente encendidos (ON). Esto crea un camino directo para que fluya corriente desde VCC a GND (Shoot-through), causando calor. La salida se vuelve impredecible y sensible incluso a milivoltios de ruido.

**4. La Solución:** Modifica el divisor para entregar un nivel lógico seguro.
* **Para enviar un ‘1’:** Cambia **R1 a 1 kΩ** (y mantén R2 en 10k). Vout ≈ 4.5 V (Alto Lógico Sólido).
* **Para enviar un ‘0’:** Cambia **R2 a 1 kΩ** (y mantén R1 en 10k). Vout ≈ 0.45 V (Bajo Lógico Sólido).

Posibles mejoras y extensiones

  1. Implementación de histéresis: Reemplaza el 74HC04 con un 74HC14 (Inversor Schmitt Trigger). Observa cómo el Schmitt trigger maneja la entrada de 2.5 V (permanecerá en el estado anterior hasta que se cruce un umbral específico) sin oscilar.
  2. Entrada Variable: Reemplaza las resistencias fijas R1/R2 con un potenciómetro de 10 kΩ. Barre la tensión de 0 V a 5 V mientras mides la corriente de alimentación (Amperaje). Verás un pico de corriente exactamente alrededor del punto de transición de 2.5 V.

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 de este caso práctico?




Pregunta 2: ¿Qué componente específico se menciona para ser usado como inversor digital (puerta NOT)?




Pregunta 3: ¿Qué efecto crea mantener la entrada exactamente a 2.5 V en una familia lógica de 5 V?




Pregunta 4: ¿Qué función cumple el divisor de tensión simétrico en este circuito?




Pregunta 5: ¿Qué síntoma térmico podría presentar el chip 74HC04 debido a este estado indefinido?




Pregunta 6: ¿Qué se espera observar en el LED de salida como resultado del experimento?




Pregunta 7: ¿Por qué es crítico que las entradas digitales tengan tensiones Alta y Baja definidas?




Pregunta 8: ¿Qué fenómeno interno ocurre en los MOSFETs cuando la entrada está en la 'zona muerta'?




Pregunta 9: ¿Cuál es el valor esperado de la tensión de entrada (Vin) en este experimento?




Pregunta 10: ¿Qué tipo de inestabilidad se busca diagnosticar en este caso de uso?




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: Solución de problemas de saturación en interruptor NPN

Prototipo de Solución de problemas de saturación en interruptor NPN (Maker Style)


Nivel: Básico. Aprende a identificar y arreglar un transistor NPN atascado en la región activa.

Objetivo y caso de uso

En este caso práctico, construirás un interruptor de lado bajo (Low-Side Switch) estándar utilizando un BJT (Transistor de Unión Bipolar) para controlar una carga de alta corriente. Sin embargo, el circuito contendrá un fallo deliberado en la selección de la resistencia de base para demostrar la diferencia entre la Región activa y la Saturación.

  • Entendiendo los modos del transistor: Aprende por qué un transistor actúa como una resistencia en lugar de un interruptor si no está polarizado correctamente.
  • Disipación de potencia: Entiende por qué los transistores parcialmente abiertos se sobrecalientan.
  • Solución de problemas: Practica la medición de VCE para diagnosticar la eficiencia de conmutación.

Resultado esperado:
* Inicialmente, el LED de alta corriente será sorprendentemente tenue.
* La medición de voltaje a través del transistor (VCE) será alta (> 2 V).
* Después del arreglo, el LED brillará intensamente y VCE caerá a cerca de 0 V.
* Público objetivo: Principiantes y estudiantes familiarizados con la Ley de Ohm básica.

Materiales

  • V1: Fuente de alimentación de 5 V DC, función: Alimentación del circuito principal.
  • Q1: Transistor NPN 2N2222, función: Interruptor de lado bajo.
  • D1: LED blanco de alto brillo, función: La carga pesada (requiere aprox. 80-100 mA).
  • R1: Resistencia de 33 Ω (1/2 Watt), función: Limitación de corriente del LED (Rload).
  • R2: Resistencia de 100 kΩ, función: Resistencia de base incorrecta (Caso de prueba).
  • R3: Resistencia de 1 kΩ, función: Resistencia de base correcta (Solución).
  • S1: Interruptor SPST o cable puente (jumper), función: Control de entrada.

Guía de conexionado

Construye el circuito utilizando las siguientes conexiones de la lista de redes (netlist). Presta atención a los nombres de los nodos.

  • V1 (5 V) se conecta al nodo VCC.
  • V1 (GND) se conecta al nodo 0.
  • S1 se conecta entre VCC y el nodo SWITCH_OUT.
  • R2 (100 kΩ) se conecta entre SWITCH_OUT y el nodo BASE.
  • Base de Q1 se conecta al nodo BASE.
  • Emisor de Q1 se conecta al nodo 0 (GND).
  • Colector de Q1 se conecta al nodo COLLECTOR.
  • Ánodo de D1 se conecta al nodo VCC.
  • Cátodo de D1 se conecta al nodo LED_CATHODE.
  • R1 (33 Ω) se conecta entre LED_CATHODE y COLLECTOR.

Diagrama de bloques conceptual

Conceptual block diagram — NPN Switch (Saturation Test)
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

Title: Practical case: NPN Switch Saturation Troubleshooting

(1) CONTROL PATH (Base Current Drive)
    VCC --> [ S1: Switch ] --(SWITCH_OUT)--> [ R2: 100k ] --(BASE)--> [ Q1: Base ]
                                                                           |
                                                                    (Activates Switch)
                                                                           |
                                                                           V

(2) POWER PATH (High Current Load)
    VCC --> [ D1: LED ] --(LED_CATHODE)--> [ R1: 33 Ohm ] --(COLLECTOR)--> [ Q1: Collector ]
                                                                                 |
                                                                           (Current Flow)
                                                                                 |
                                                                                 V
                                                                           [ Q1: Emitter ] --> GND
Esquema Eléctrico

Mediciones y pruebas

Sigue este procedimiento para analizar el comportamiento del circuito antes de aplicar el arreglo.

  1. Inspección visual: Cierra el interruptor S1. Observa el brillo de D1. Debería ser notablemente tenue para un LED de alto brillo.
  2. Comprobación de voltaje de base: Mide el voltaje en el nodo BASE con respecto a GND. Debería ser aproximadamente 0.7 V.
  3. Comprobación de voltaje de colector (VCE): Mide el voltaje en el nodo COLLECTOR con respecto a GND (a través del transistor).
    • Expectativa para un interruptor perfecto: ~0 V.
    • Medición real: Probablemente medirás un voltaje significativo (por ejemplo, 2 V a 4 V dependiendo de la ganancia exacta de tu Q1 específico).
  4. Corriente calculada: Calcula la corriente entrando a la base: IB = (5 V – 0.7 V) / 100 kΩ.

Netlist SPICE y simulación

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

* Practical case: NPN Switch Saturation Troubleshooting
.width out=256

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

* --- Input Control (S1) ---
* S1 connects VCC to SWITCH_OUT. Modeled as a voltage-controlled switch
* driven by a PULSE source to simulate user actuation.
S1 VCC SWITCH_OUT CTRL 0 SW_IDEAL
Vctrl CTRL 0 PULSE(0 5 0 1u 1u 50u 100u)
.model SW_IDEAL SW(Vt=2.5 Ron=0.01 Roff=100Meg)

* --- Circuit Components ---
* R2: Incorrect Base resistor (100k) causing weak saturation.
* This matches the "Troubleshooting" state defined in the Wiring Guide.
R2 SWITCH_OUT BASE 100k

* Note: R3 (1k) is listed in the BOM as the 'Solution' but is not connected
* in the current wiring guide configuration. It is omitted to prevent floating nodes.
* ... (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: NPN Switch Saturation Troubleshooting
.width out=256

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

* --- Input Control (S1) ---
* S1 connects VCC to SWITCH_OUT. Modeled as a voltage-controlled switch
* driven by a PULSE source to simulate user actuation.
S1 VCC SWITCH_OUT CTRL 0 SW_IDEAL
Vctrl CTRL 0 PULSE(0 5 0 1u 1u 50u 100u)
.model SW_IDEAL SW(Vt=2.5 Ron=0.01 Roff=100Meg)

* --- Circuit Components ---
* R2: Incorrect Base resistor (100k) causing weak saturation.
* This matches the "Troubleshooting" state defined in the Wiring Guide.
R2 SWITCH_OUT BASE 100k

* Note: R3 (1k) is listed in the BOM as the 'Solution' but is not connected
* in the current wiring guide configuration. It is omitted to prevent floating nodes.

* Q1: NPN Transistor Switch (Low-side)
Q1 COLLECTOR BASE 0 2N2222MOD

* D1: High-Brightness White LED
D1 VCC LED_CATHODE D_WHITE

* R1: LED Current Limiting Resistor
R1 LED_CATHODE COLLECTOR 33

* --- Models ---
* Generic NPN Model for 2N2222
.model 2N2222MOD NPN(IS=1E-14 BF=200 VAF=100 IKF=0.3 RB=10 RC=0.3 RE=0.2 CJE=25p CJC=8p)

* Approximate White LED Model (High Forward Voltage)
.model D_WHITE D(IS=1p N=3.5 RS=5 BV=5 IBV=10u)

* --- Analysis Commands ---
* Transient analysis to visualize switching behavior
.tran 1u 200u

* Output identification:
* Input: V(SWITCH_OUT)
* Output: V(COLLECTOR) (Low-side switch voltage)
.print tran V(SWITCH_OUT) V(COLLECTOR) V(BASE) V(LED_CATHODE)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms the ‘Troubleshooting’ scenario: when the switch is ON (V(SWITCH_OUT)=5V), the Collector voltage drops only to ~2.6V rather than near 0V. This indicates the transistor is in the active region (not fully saturated) due to the high base resistance (100kΩ), failing to fully power the LED load.
Show raw data table (271 rows)
Index   time            v(switch_out)   v(collector)    v(base)         v(led_cathode)
0	0.000000e+00	5.375300e-01	3.548129e+00	5.330675e-01	3.548432e+00
1	1.000000e-08	5.375300e-01	3.548129e+00	5.330675e-01	3.548432e+00
2	2.000000e-08	5.375300e-01	3.548129e+00	5.330675e-01	3.548432e+00
3	4.000000e-08	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
4	8.000000e-08	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
5	1.600000e-07	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
6	3.200000e-07	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
7	3.562500e-07	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
8	4.196875e-07	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
9	4.372461e-07	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
10	4.679736e-07	5.375300e-01	3.548129e+00	5.330676e-01	3.548432e+00
11	5.019934e-07	5.000000e+00	3.537721e+00	5.508590e-01	3.538060e+00
12	5.700330e-07	5.000000e+00	3.337558e+00	5.996484e-01	3.340559e+00
13	6.907446e-07	5.000000e+00	3.004466e+00	6.704095e-01	3.063080e+00
14	8.252066e-07	5.000000e+00	2.710645e+00	7.051011e-01	2.922994e+00
15	1.000000e-06	5.000000e+00	2.604154e+00	7.130054e-01	2.886751e+00
16	1.026892e-06	5.000000e+00	2.605141e+00	7.129945e-01	2.887005e+00
17	1.080677e-06	5.000000e+00	2.606105e+00	7.129106e-01	2.887380e+00
18	1.188247e-06	5.000000e+00	2.607032e+00	7.128469e-01	2.887677e+00
19	1.403386e-06	5.000000e+00	2.607269e+00	7.128312e-01	2.887753e+00
20	1.833664e-06	5.000000e+00	2.607219e+00	7.128340e-01	2.887737e+00
21	2.694221e-06	5.000000e+00	2.607248e+00	7.128325e-01	2.887747e+00
22	3.694221e-06	5.000000e+00	2.607227e+00	7.128335e-01	2.887740e+00
23	4.694221e-06	5.000000e+00	2.607243e+00	7.128328e-01	2.887745e+00
... (247 more rows) ...

Errores comunes y cómo evitarlos

  1. Confundir el pinout: Colocar el transistor al revés (Colector y Emisor intercambiados) a menudo permite que fluya algo de corriente pero con una ganancia muy baja, imitando este problema específico. Verifica siempre la hoja de datos (datasheet).
  2. Asumir que hFE es constante: Los estudiantes a menudo usan el hFE máximo (por ejemplo, 300) para el cálculo. Para conmutación, debes asumir un «beta forzado» mucho más bajo (generalmente 10) para asegurar la saturación.
  3. Ignorar las clasificaciones de potencia: Si el transistor está dejando caer 3 V y pasando 50 mA, está disipando 150mW. Aunque es seguro para un 2N2222, este calor es energía desperdiciada.

Solución de problemas

  • El LED no se enciende en absoluto: Comprueba si la polaridad del LED es correcta (Ánodo a VCC). Verifica que S1 esté realmente conectando energía a R2.
  • El transistor se calienta: Si VCE es alto y la corriente fluye, el transistor está actuando como una resistencia. Esto confirma que está en la Región Activa.
  • VCE marca 5 V: El transistor no se está encendiendo en absoluto. Comprueba si R2 está conectada correctamente o si la unión Base-Emisor está quemada.

Diagnóstico y solución

Sigue esta secuencia pedagógica para entender y resolver el problema.

1. El problema (Síntoma)
Has ensamblado el circuito, cerrado el interruptor, pero el LED de alta corriente apenas brilla. Se ve débil. ¿Por qué sucede esto si se supone que el transistor es un «interruptor»?

2. La investigación
Toma tu multímetro. Mide el voltaje entre el Colector y el Emisor (VCE).
* Si Q1 fuera un interruptor cerrado, esperarías 0 V (o muy cerca de ello).
* Sin embargo, probablemente encontrarás de 2 V a 3 V.
* Ahora, calcula la Corriente de Base que estás proporcionando: IB = (VIN – 0.7 V) / RB. Con 100 kΩ, IB es diminuta (~43µ A).

🕵️ Ver diagnóstico y solución (Clic para revelar)

**3. La revelación**
El transistor no tiene suficiente corriente de base para abrir completamente la «válvula».
* Para actuar como un interruptor, el transistor debe estar en **Saturación**.
* Actualmente, está en la **Región activa (lineal)**.
* Se está produciendo la condición IB × hFE < Icload. El transistor está limitando la corriente y actuando como una resistencia variable, dejando caer voltaje y desperdiciando energía. **4. La solución** Debes forzar el transistor a saturación. 1. **Recalcular RB:** Generalmente usamos un «Beta forzado» de 10 para conmutación. Objetivo IB = Iload / 10. 2. **El arreglo:** Retira la resistencia de 100 kΩ (R2) y reemplázala con la **resistencia de 1 kΩ (R3)**. 3. **Verificar:** Enciende el interruptor. El LED debería brillar intensamente. Mide VCE de nuevo; ahora debería ser **< 0.2 V** (Voltaje de saturación).

Posibles mejoras y extensiones

  1. Par Darlington: Usa dos transistores configurados como un par Darlington para aumentar la ganancia total, permitiendo que la resistencia de 100 kΩ conmute exitosamente la carga (a costa de una caída Vcesat mayor de ~1.2 V).
  2. Actualización a MOSFET: Reemplaza el 2N2222 con un MOSFET de Canal-N (como un 2N7000) para lograr requisitos de corriente de puerta cercanos a cero y una menor caída de voltaje.

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 de este caso práctico?



Pregunta 2: ¿Qué tipo de interruptor se construirá en este ejercicio?



Pregunta 3: ¿Qué componente principal se utiliza para controlar la carga de alta corriente?



Pregunta 4: ¿Dónde se encuentra el fallo deliberado en el circuito inicial?



Pregunta 5: ¿Cómo se comporta un transistor si no está polarizado correctamente para conmutación?



Pregunta 6: ¿Qué consecuencia tiene que un transistor esté ‘parcialmente abierto’ o en región activa?



Pregunta 7: ¿Qué síntoma visual presentará el LED de alta corriente inicialmente?



Pregunta 8: ¿Qué valor de voltaje Vce se espera medir cuando el circuito tiene el fallo?



Pregunta 9: ¿Cuál es el valor ideal de Vce cuando el transistor está correctamente saturado?



Pregunta 10: ¿Qué medición es clave para diagnosticar la eficiencia de la conmutación en este caso?



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: Comprendiendo la Alta Impedancia y el Efecto Fantasma

Prototipo de Comprendiendo la Alta Impedancia y el Efecto Fantasma (Maker Style)

Nivel: Básico. Objetivo: Observar los efectos de la capacitancia parásita y el ruido en una entrada digital con una resistencia pull-down débil.

Objetivo y caso de uso

En este caso práctico, construirás un circuito inversor lógico accionado por un pulsador, pero utilizando intencionalmente una resistencia pull-down de valor extremadamente alto (10 MΩ) para crear un estado de entrada «débil».

  • Demostrar Alta Impedancia: Entender por qué las entradas digitales no deben dejarse flotantes o con referencias débiles.
  • Visualizar Efectos Parásitos: Ver cómo la capacitancia parásita de la protoboard crea retardos no deseados (constantes de tiempo RC).
  • Susceptibilidad al Ruido: Observar cómo reacciona el circuito a la interferencia electromagnética (EMI) de tu mano o al zumbido de la red eléctrica.

Resultado esperado:
* Cuando se suelta el botón, el LED no cambiará de estado instantáneamente.
* El LED puede parpadear cuando mueves la mano cerca del cableado debido al ruido inducido.
* El voltaje de entrada mostrará un decaimiento lento en lugar de una caída brusca a 0 V.

Público objetivo: Principiantes en electrónica digital y puertas lógicas.

Materiales

  • U1: 74HC04 (CI Inversor Séxtuple), función: Inversión lógica
  • SW1: Interruptor de pulsador (NA), función: Disparador de señal de entrada
  • R_PD: Resistencia de 10 MΩ, función: Pull-down débil para IN_WEAK (Fallo de diseño intencional)
  • R_LED: Resistencia de 330 Ω, función: Limitación de corriente para la salida
  • D1: LED rojo, función: Indicador de estado lógico
  • V1: Fuente de alimentación de 5 V DC
  • C_Parasitic: (Interno/Protoboard), aprox 10pF, función: capacitancia parásita (componente invisible)

Pin-out del 74HC04

Chip Seleccionado: 74HC04 (Inversor Séxtuple)

Pin Nombre Función Lógica Conexión en este caso
1 1 A Entrada Conectado a IN_WEAK
2 1Y Salida Conectado a OUT
7 GND Tierra Conectado a 0 (GND)
14 VCC Alimentación Conectado a VCC (+5 V)

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos:

  • V1 se conecta entre el nodo VCC y el nodo 0.
  • U1 (Pin 14) se conecta a VCC.
  • U1 (Pin 7) se conecta a 0.
  • SW1 se conecta entre el nodo VCC y el nodo IN_WEAK.
  • R_PD (10 MΩ) se conecta entre el nodo IN_WEAK y el nodo 0.
  • U1 (Pin 1) se conecta al nodo IN_WEAK.
  • U1 (Pin 2) se conecta al nodo OUT.
  • R_LED se conecta entre el nodo OUT y el nodo LED_ANODE.
  • D1 se conecta entre el nodo LED_ANODE (Ánodo) y el nodo 0 (Cátodo).

Nota: Dado que este es un inversor, cuando IN_WEAK está en Alto (Botón presionado), OUT está en Bajo (LED Apagado). Cuando IN_WEAK está en Bajo (Botón soltado), OUT está en Alto (LED Encendido).

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

Title: Practical case: Understanding High Impedance and Ghosting

(Input Stage: High Impedance)                    (Logic Stage)                    (Output Stage)

[ VCC ]                                          [ VCC ]
   |                                                |
   v                                                v
[ SW1: Button ] --(Node: IN_WEAK)-------------> [ U1: 74HC04 ] --(Node: OUT)--> [ R_LED: 330R ] --> [ D1: LED ] --> GND
                       |                            ^
                       |                            |
                       +--> [ R_PD: 10M ] --> GND   |
                       |                          [ GND ]
                       |
                       +--> [ C_Parasitic ] -> GND

--------------------------------------------------------------------------------
Key:
-->  : Signal/Current Flow
[ ]  : Component Block
IN_WEAK : The node susceptible to "Ghosting" due to weak pull-down (10M)
          struggling to discharge C_Parasitic quickly.
Esquema Eléctrico

Tabla de verdad (Puerta NOT estándar)

Entrada (IN_WEAK) Salida (OUT) Estado del LED
Bajo (0 V) Alto (5 V) ENCENDIDO
Alto (5 V) Bajo (0 V) APAGADO

Mediciones y pruebas

  1. Prueba estática: Presiona y mantén SW1. El LED debería APAGARSE. Suelta SW1. El LED debería ENCENDERSE.
  2. La prueba «Fantasma»: Con SW1 soltado (LED ENCENDIDO), mueve tu mano rápidamente cerca del cable IN_WEAK sin tocarlo. ¿Parpadea el LED?
  3. Medición de decaimiento: Conecta un multímetro (u osciloscopio si está disponible) a IN_WEAK. Presiona SW1 (lee 5 V). Suelta SW1 y observa la caída de voltaje. Nota que tarda una fracción de segundo en estabilizarse a 0 V, a diferencia de un circuito estándar.

Netlist SPICE y simulación

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

* Practical case: Understanding High Impedance and Ghosting
.width out=256
* This circuit demonstrates the effect of a weak pull-down resistor and 
* parasitic capacitance on a CMOS input node.

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

* --- Input Stimulus (Button SW1) ---
* Modeled as a voltage-controlled switch to simulate physical button press.
* Control Source V_BTN_CTRL simulates the user's finger.
* Timing: Wait 100us, Press for 300us, Release.
V_BTN_CTRL CTRL 0 PULSE(0 5 100u 1u 1u 300u 1m)

* SW1 connects between node VCC and node IN_WEAK
* When CTRL is High (5V), Switch is ON (Low Resistance).
S1 VCC IN_WEAK CTRL 0 SW_IDEAL

* --- Input Network ---
* ... (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: Understanding High Impedance and Ghosting
.width out=256
* This circuit demonstrates the effect of a weak pull-down resistor and 
* parasitic capacitance on a CMOS input node.

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

* --- Input Stimulus (Button SW1) ---
* Modeled as a voltage-controlled switch to simulate physical button press.
* Control Source V_BTN_CTRL simulates the user's finger.
* Timing: Wait 100us, Press for 300us, Release.
V_BTN_CTRL CTRL 0 PULSE(0 5 100u 1u 1u 300u 1m)

* SW1 connects between node VCC and node IN_WEAK
* When CTRL is High (5V), Switch is ON (Low Resistance).
S1 VCC IN_WEAK CTRL 0 SW_IDEAL

* --- Input Network ---
* R_PD connects between node IN_WEAK and node 0
* Value is 10 Megohms (Weak pull-down)
R_PD IN_WEAK 0 10Meg

* C_Parasitic (Internal/Breadboard) on node IN_WEAK
* Represents stray capacitance causing RC delay with high-Z R_PD
C_Parasitic IN_WEAK 0 10p

* --- Logic IC U1: 74HC04 (Hex Inverter) ---
* Mapping: Pin 1=IN_WEAK, Pin 2=OUT, Pin 7=0(GND), Pin 14=VCC
* We model one gate of the hex inverter.
XU1 IN_WEAK OUT 0 VCC 74HC04_INV

* --- Output Network ---
* R_LED connects between node OUT and node LED_ANODE
R_LED OUT LED_ANODE 330

* D1 connects between node LED_ANODE (Anode) and node 0 (Cathode)
D1 LED_ANODE 0 LED_RED

* --- Models ---
* Switch Model: Threshold 2.5V, Low On-Resistance, High Off-Resistance
.model SW_IDEAL sw vt=2.5 vh=0 ron=1 roff=1G

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

* --- Subcircuits ---
* 74HC04 Inverter Behavioral Model
* Pins: 1=Input, 2=Output, 7=GND, 14=VCC
.subckt 74HC04_INV 1 2 7 14
* Continuous Sigmoid function for robust convergence.
* Logic Threshold set to VCC/2.
* Output is inverted: High Input -> Low Output.
B_INV 2 7 V = V(14) * (1 / (1 + exp(20 * (V(1) - V(14)/2))))
.ends

* --- Simulation Directives ---
.op
* Transient analysis: 1us step, 1ms duration to capture pulse and decay
.tran 1u 1ms

* --- Output Printing ---
* Monitor Input, Output, and Control signal
.print tran V(IN_WEAK) V(OUT) V(LED_ANODE) V(CTRL)

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation correctly shows the inverter logic. Initially (0s-100us), IN_WEAK is near 0V and OUT is 5V (LED ON). When the button is pressed (100us-400us), IN_WEAK rises to 5V and OUT drops to ~0V (LED OFF). After release (400us+), IN_WEAK decays slowly due to the RC time constant (10MΩ * 10pF), demonstrating the ‘ghosting’ or slow turn-off effect intended by the lesson.
Show raw data table (1053 rows)
Index   time            v(in_weak)      v(out)          v(led_anode)    v(ctrl)
0	0.000000e+00	4.950495e-02	5.000000e+00	1.536792e+00	0.000000e+00
1	1.000000e-08	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
2	2.000000e-08	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
3	4.000000e-08	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
4	8.000000e-08	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
5	1.600000e-07	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
6	3.200000e-07	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
7	6.400000e-07	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
8	1.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
9	2.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
10	3.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
11	4.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
12	5.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
13	6.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
14	7.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
15	8.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
16	9.280000e-06	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
17	1.028000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
18	1.128000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
19	1.228000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
20	1.328000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
21	1.428000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
22	1.528000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
23	1.628000e-05	4.950495e-02	5.000000e+00	1.536791e+00	0.000000e+00
... (1029 more rows) ...

Errores comunes y cómo evitarlos

  1. Confundir valores de resistencias: Es fácil confundir 10 MΩ (Marrón-Negro-Azul) con 10 kΩ (Marrón-Negro-Naranja). Asegúrate de usar el rango de Mega-ohmios para ver el efecto.
  2. Polaridad del LED: Conectar el LED al revés resultará en que no haya luz en absoluto. Asegúrate de que la pata larga (Ánodo) mire hacia la resistencia y la pata corta (Cátodo) mire hacia Tierra.
  3. Entradas flotantes: Dejar entradas no utilizadas en el 74HC04 flotando puede causar oscilación. Conecta las entradas no utilizadas (Pines 3, 5, 9, 11, 13) a GND si el chip se comporta de manera errática.

Solución de problemas

  • Síntoma: El LED está siempre ENCENDIDO y no se APAGA cuando se presiona el botón.
    • Causa: El botón podría no estar haciendo buen contacto, o R_PD es demasiado pequeña (improbable aquí) o está mal colocada.
    • Solución: Verifica la continuidad de SW1.
  • Síntoma: El LED está siempre APAGADO.
    • Causa: Lógica invertida incorrectamente o problema de alimentación.
    • Solución: Verifica VCC en el Pin 14. Recuerda, para una puerta NOT, si la Entrada es Alta (o flota en Alto), la Salida es Baja (LED Apagado).
  • Síntoma: El circuito funciona pero reacciona muy lentamente.
    • Causa: Este es el comportamiento intencionado de este caso específico debido a RPD = 10 MΩ.
    • Solución: Procede a la sección de Diagnóstico a continuación.

Diagnóstico y solución

🕵️ Ver Diagnóstico y Solución (Clic para revelar)

### 1. El Problema (Síntoma)
«El LED parpadea cuando mueves la mano cerca de él o tarda mucho tiempo en cambiar de estado. ¿Es un poltergeist?»

### 2. La Investigación
Mide el voltaje en la entrada (**IN_WEAK**) inmediatamente después de soltar el botón. ¡No cae a 0 V instantáneamente! Decae muy lentamente según la constante de tiempo (\tau = R × C).

### 3. La Revelación
La resistencia de 10 MΩ es tan alta que la pequeña capacitancia parásita de la protoboard (aprox. 10pF a 50pF) retiene la carga de voltaje. Además, la alta impedancia crea un efecto de antena, captando el ruido de red de 50/60Hz del entorno, causando el parpadeo.

### 4. La Solución
**Reemplaza R_PD con un valor estándar de 10 kΩ (Pull-down fuerte).**
Verifica que la señal sea ahora limpia, que el LED conmute instantáneamente y que el efecto fantasma desaparezca.

Posibles mejoras y extensiones

  1. Añadir un condensador: Coloca un condensador de 1 µF en paralelo con R_PD. Calcula la constante de tiempo \tau = R × C. Crearás un temporizador de retardo de varios segundos.
  2. Schmitt Trigger: Reemplaza el 74HC04 con un 74HC14 (Inversor Schmitt Trigger). Observa cómo la histéresis hace que la conmutación del LED sea «más ágil» incluso con el voltaje de entrada decayendo lentamente.

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 de utilizar una resistencia pull-down de 10 megaohmios en este experimento?




Pregunta 2: ¿Qué componente se utiliza para realizar la función de inversión lógica en este caso práctico?




Pregunta 3: ¿Qué efecto se espera observar en el LED cuando se suelta el botón?




Pregunta 4: ¿Qué fenómeno provoca retardos no deseados en el circuito según el texto?




Pregunta 5: ¿Por qué podría parpadear el LED al mover la mano cerca del cableado?




Pregunta 6: ¿Cuál es la función de la resistencia R_LED de 330 ohmios?




Pregunta 7: ¿Qué voltaje de alimentación se utiliza típicamente para circuitos lógicos de la serie 74HC como este?




Pregunta 8: ¿Cómo se comportará el voltaje de entrada al soltar el botón?




Pregunta 9: ¿Qué concepto relacionado con las entradas digitales se busca demostrar?




Pregunta 10: ¿Qué constante de tiempo se menciona como causa de los retardos no deseados?




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: