Caso práctico: Polarización de base con resistor

Prototipo de Polarización de base con resistor (Maker Style)

Nivel: Medio — Calcular y verificar un resistor de base para conmutar de forma segura un transistor NPN desde una salida lógica.

Objetivo y caso de uso

Construirás un interruptor simple con transistor donde una salida lógica de 5 V controla un transistor NPN a través de un resistor de base. El objetivo es elegir el resistor para que el transistor encienda la carga de forma fiable sin exceder la corriente permitida de la salida lógica.

Por qué es útil:
– Para accionar un módulo de relé, zumbador o lámpara pequeña desde un pin de microcontrolador.
– Para controlar cargas que requieren más corriente de la que una salida lógica puede suministrar directamente.
– Para proteger una salida lógica de una corriente de base excesiva.
– Para aprender a verificar la saturación del transistor con mediciones reales de voltaje y corriente.

Resultado esperado:
– Cuando la salida lógica está en LOW, el transistor permanece en OFF y la carga queda desenergizada.
– Cuando la salida lógica está en HIGH, el transistor pasa a ON y la corriente de carga es de aproximadamente 20 mA.
– La corriente de base se mantiene por debajo del límite de la salida lógica, con un objetivo de aproximadamente 4.3 mA.
– El voltaje base-emisor medido es de aproximadamente 0.7 V cuando está en ON.
– El voltaje colector-emisor medido es bajo en saturación, típicamente por debajo de 0.2 V.

Público objetivo y nivel: Estudiantes con conocimientos básicos de circuitos de CC y transistores.

Materiales

  • V1: fuente de CC de 5 V
  • VSIG: fuente lógica de 0 V / 5 V, función: señal de control para la base del transistor
  • R1: resistor de 1 kΩ, función: limitación de corriente de base
  • R2: resistor de 150 Ω, función: limitación de corriente de carga para la rama del LED
  • D1: LED rojo, función: indicador visible de carga en el colector
  • Q1: transistor NPN 2N2222, función: interruptor low-side
  • M1: multímetro digital, función: mediciones de voltaje y corriente
  • M2: segundo multímetro opcional, función: comprobación simultánea de corriente

Guía de conexionado

Usa estos nombres de nodo: VCC, 0, VIN, VB, VC.

  • V1 se conecta entre VCC y 0.
  • VSIG se conecta entre VIN y 0.
  • R1 se conecta entre VIN y VB.
  • El colector de Q1 se conecta a VC.
  • La base de Q1 se conecta a VB.
  • El emisor de Q1 se conecta a 0.
  • R2 se conecta entre VCC y el nodo del ánodo de D1.
  • El ánodo de D1 se conecta a R2; el cátodo de D1 se conecta a VC.

Valores prácticos de diseño:
– Objetivo de corriente de carga: aproximadamente Ic = (5 V - 2.0 V - 0.2 V) / 150 Ω ≈ 18.7 mA
– Ganancia forzada para saturación: usar β_forced ≈ 10
– Corriente de base requerida: Ib ≈ Ic / 10 ≈ 1.9 mA
– Estimación del resistor de base: R1 ≈ (5 V - 0.7 V) / 1.9 mA ≈ 2.26 kΩ

Para hacer la conmutación más robusta, elige un valor estándar más bajo:
R1 seleccionado = 1 kΩ
– Corriente de base esperada: Ib ≈ (5 V - 0.7 V) / 1 kΩ ≈ 4.3 mA

Este valor solo es adecuado si la salida lógica puede suministrar con seguridad al menos 4.3 mA.

Diagrama de bloques conceptual

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

Esquemático

Practical case: Base Biasing with Resistor

Power / load path:
[ V1: 5 V DC Supply ] --(VCC)--> [ R2: 150 ohm ] --(LED current limit)--> [ D1: Red LED ] --(cathode at VC)--> [ Q1:C 2N2222 ]
[ Q1:C 2N2222 ] --(collector-emitter path)--> [ Q1:E 2N2222 ] --(0 / GND)--> [ V1: 0 V ]

Control / base path:
[ VSIG: 0/5 V Logic Source ] --(VIN)--> [ R1: 1 kohm ] --(VB)--> [ Q1:B 2N2222 ]
[ Q1:B 2N2222 ] --(base-emitter junction)--> [ Q1:E 2N2222 ] --(0 / GND)--> [ VSIG: 0 V ]

Node labels:
[ VIN ] --> [ R1 ] --> [ VB ] --> [ Q1:B ]
[ VCC ] --> [ R2 ] --> [ D1 Anode ]
[ D1 Cathode ] --> [ VC ] --> [ Q1:C ]
[ Q1:E ] --> [ 0 / GND ]

Optional measurements:
[ M1 DMM ] --(measure V_B or V_C vs 0)--> [ VB / VC ] --> [ 0 / GND ]
[ M2 DMM ] --(current mode, inserted in series where needed)--> [ Base path or Load path ]
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso práctico: Polarización de base con resistor
Generado desde la netlist SPICE validada del caso.

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

Mediciones y pruebas

  1. Comprobación con alimentación apagada
  2. Verifica todas las conexiones antes de aplicar alimentación.
  3. Confirma que el emisor de Q1 va a 0.
  4. Confirma que R1 está en serie entre VIN y VB.

  5. Prueba en estado OFF

  6. Ajusta VSIG = 0 V.
  7. Mide Vb desde VB hasta 0: se espera cerca de 0 V.
  8. Mide Vce desde VC hasta 0: se espera cerca de 5 V.
  9. Observa D1: debe estar en OFF.
  10. Mide Ib: se espera aproximadamente 0 mA.
  11. Mide Ic: se espera aproximadamente 0 mA.

  12. Prueba en estado ON

  13. Ajusta VSIG = 5 V.
  14. Mide Vb: se espera aproximadamente 0.7 V.
  15. Mide Vbe: se espera aproximadamente entre 0.65 V y 0.8 V.
  16. Mide Ib colocando el medidor en serie con R1: se espera aproximadamente 4.3 mA.
  17. Mide Vc: se espera bajo, típicamente por debajo de 0.2 V a 0.3 V.
  18. Mide Vce: se espera por debajo de 0.2 V si se alcanza la saturación.
  19. Mide Ic en serie con la trayectoria del colector: se espera aproximadamente entre 18 mA y 20 mA.
  20. Observa D1: debe estar claramente en ON.

  21. Comprobación de seguridad de la salida lógica

  22. Compara la Ib medida con la corriente máxima de salida permitida por la salida lógica.
  23. Si la especificación de la salida lógica es menor que la corriente de base medida, aumenta R1.

  24. Cálculo de verificación

  25. Calcula la ganancia medida en modo de conmutación: Ic / Ib.
  26. Ejemplo con valores medidos: 19 mA / 4.3 mA ≈ 4.4
  27. Esto es consistente con conmutación en saturación, donde el transistor es sobreactivado intencionalmente.

  28. Criterios de aprobación

  29. Ib no excede el límite de la salida lógica.
  30. D1 se enciende completamente con lógica HIGH y se apaga completamente con lógica LOW.
  31. Vce en estado ON es lo bastante bajo como para confirmar saturación.

Netlist SPICE y simulación

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

* Practical case: Base Biasing with Resistor
.width out=256

V1 VCC 0 DC 5
VSIG VIN 0 PULSE(0 5 10m 1u 1u 245m 1s)

R1 VIN VB 1k
R2 VCC VLED 150
D1 VLED VC DRED
Q1 VC VB 0 Q2N2222

* Optional multimeter loading approximations (high impedance voltmeters)
RM1 VC 0 10Meg
RM2 VB 0 10Meg

* Alias nodes for guaranteed logging
VALIASIN IN VIN 0
VALIASOUT OUT VC 0

.model DRED D(IS=1e-18 N=2.0 RS=10 CJO=20p VJ=0.75 M=0.5 TT=50n BV=5 IBV=10u)
* ... (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 la suscripción mensual (7 días gratis) 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: Base Biasing with Resistor
.width out=256

V1 VCC 0 DC 5
VSIG VIN 0 PULSE(0 5 10m 1u 1u 245m 1s)

R1 VIN VB 1k
R2 VCC VLED 150
D1 VLED VC DRED
Q1 VC VB 0 Q2N2222

* Optional multimeter loading approximations (high impedance voltmeters)
RM1 VC 0 10Meg
RM2 VB 0 10Meg

* Alias nodes for guaranteed logging
VALIASIN IN VIN 0
VALIASOUT OUT VC 0

.model DRED D(IS=1e-18 N=2.0 RS=10 CJO=20p VJ=0.75 M=0.5 TT=50n BV=5 IBV=10u)
.model Q2N2222 NPN(IS=1e-14 BF=200 VAF=100 IKF=0.1 ISE=1e-13 NE=1.5 BR=5 NR=1.0 VAR=25 IKR=0.05
+ RC=0.5 RE=0.2 RB=10 CJE=25p VJE=0.75 MJE=0.33 TF=0.4n XTF=2 CJC=8p VJC=0.55 MJC=0.33 TR=50n)

.save V(IN) V(OUT) V(VIN) V(VC) V(VB) V(VLED) I(V1) I(VSIG)

.op
.print op V(IN) V(OUT) V(VIN) V(VC) V(VB) V(VLED) I(V1) I(VSIG)

.tran 0.1m 250m
.print tran V(IN) V(OUT) V(VIN) V(VC) V(VB) V(VLED) I(V1) I(VSIG)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (2528 rows)
Index   time            v(in)           v(out)          v(vin)          v(vc)           v(vb)           v(vled)         v1#branch       vsig#branch
0	0.000000e+00	0.000000e+00	3.623103e+00	0.000000e+00	3.623103e+00	3.624741e-09	4.999946e+00	-3.62318e-07	3.624741e-12
1	1.000000e-06	0.000000e+00	3.623104e+00	0.000000e+00	3.623104e+00	6.699379e-09	4.999946e+00	-3.62321e-07	6.699379e-12
2	2.000000e-06	0.000000e+00	3.623105e+00	0.000000e+00	3.623105e+00	6.506970e-09	4.999946e+00	-3.62321e-07	6.506970e-12
3	4.000000e-06	0.000000e+00	3.623106e+00	0.000000e+00	3.623106e+00	5.984372e-09	4.999946e+00	-3.62320e-07	5.984372e-12
4	8.000000e-06	0.000000e+00	3.623108e+00	0.000000e+00	3.623108e+00	5.188535e-09	4.999946e+00	-3.62320e-07	5.188535e-12
5	1.600000e-05	0.000000e+00	3.623110e+00	0.000000e+00	3.623110e+00	4.293865e-09	4.999946e+00	-3.62319e-07	4.293865e-12
6	3.200000e-05	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.693772e-09	4.999946e+00	-3.62318e-07	3.693772e-12
7	6.400000e-05	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.610539e-09	4.999946e+00	-3.62318e-07	3.610539e-12
8	1.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.631021e-09	4.999946e+00	-3.62318e-07	3.631021e-12
9	2.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.621414e-09	4.999946e+00	-3.62318e-07	3.621414e-12
10	3.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.626121e-09	4.999946e+00	-3.62318e-07	3.626121e-12
11	4.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.624676e-09	4.999946e+00	-3.62318e-07	3.624676e-12
12	5.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.623957e-09	4.999946e+00	-3.62318e-07	3.623957e-12
13	6.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.626113e-09	4.999946e+00	-3.62318e-07	3.626113e-12
14	7.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.623011e-09	4.999946e+00	-3.62318e-07	3.623011e-12
15	8.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.626745e-09	4.999946e+00	-3.62318e-07	3.626745e-12
16	9.280000e-04	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.622584e-09	4.999946e+00	-3.62318e-07	3.622584e-12
17	1.028000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.627045e-09	4.999946e+00	-3.62318e-07	3.627045e-12
18	1.128000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.622367e-09	4.999946e+00	-3.62318e-07	3.622367e-12
19	1.228000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.627168e-09	4.999946e+00	-3.62318e-07	3.627168e-12
20	1.328000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.622305e-09	4.999946e+00	-3.62318e-07	3.622305e-12
21	1.428000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.627229e-09	4.999946e+00	-3.62318e-07	3.627229e-12
22	1.528000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.622257e-09	4.999946e+00	-3.62318e-07	3.622257e-12
23	1.628000e-03	0.000000e+00	3.623112e+00	0.000000e+00	3.623112e+00	3.627228e-09	4.999946e+00	-3.62318e-07	3.627228e-12
... (2504 more rows) ...


Netlist SPICE de referencia (ngspice)

* Practical case: Base Biasing with Resistor
.width out=256

V1 VCC 0 DC 5
VSIG VIN 0 PULSE(0 5 10m 1u 1u 245m 1s)

R1 VIN VB 1k
R2 VCC VLED 150
D1 VLED VC DRED
Q1 VC VB 0 Q2N2222

* Optional multimeter loading approximations (high impedance voltmeters)
RM1 VC 0 10Meg
RM2 VB 0 10Meg

* Alias nodes for guaranteed logging
VALIASIN IN VIN 0
VALIASOUT OUT VC 0

.model DRED D(IS=1e-18 N=2.0 RS=10 CJO=20p VJ=0.75 M=0.5 TT=50n BV=5 IBV=10u)
.model Q2N2222 NPN(IS=1e-14 BF=200 VAF=100 IKF=0.1 ISE=1e-13 NE=1.5 BR=5 NR=1.0 VAR=25 IKR=0.05
+ RC=0.5 RE=0.2 RB=10 CJE=25p VJE=0.75 MJE=0.33 TF=0.4n XTF=2 CJC=8p VJC=0.55 MJC=0.33 TR=50n)

.save V(IN) V(OUT) V(VIN) V(VC) V(VB) V(VLED) I(V1) I(VSIG)

.op
.print op V(IN) V(OUT) V(VIN) V(VC) V(VB) V(VLED) I(V1) I(VSIG)

.tran 0.1m 250m
.print tran V(IN) V(OUT) V(VIN) V(VC) V(VB) V(VLED) I(V1) I(VSIG)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Errores comunes y cómo evitarlos

  1. No usar resistor de base
  2. Error: conectar la salida lógica directamente a la base del transistor.
  3. Resultado: corriente de base excesiva y posible daño a la salida lógica.
  4. Solución: coloca siempre R1 entre VIN y VB.

  5. Elegir un resistor de base demasiado grande

  6. Error: usar R1 = 10 kΩ sin comprobar la corriente.
  7. Resultado: la corriente de base puede ser demasiado baja, por lo que el transistor puede no saturarse.
  8. Solución: calcula Ib a partir de la corriente de carga y usa una ganancia forzada de aproximadamente 10 para conmutación.

  9. Invertir los terminales del transistor

  10. Error: intercambiar colector y emisor.
  11. Resultado: voltajes anómalos, corriente de carga débil o ausencia de conmutación.
  12. Solución: confirma el pinout del 2N2222 en su hoja de datos antes de cablear.

Solución de problemas

  • Síntoma: el LED nunca se enciende
  • Causa: VSIG no está llegando a 5 V, o la base de Q1 no está conectada a través de R1.
  • Solución: mide VIN y VB; verifica la continuidad de R1 y el pinout del transistor.

  • Síntoma: el LED está tenue

  • Causa: el transistor no está saturado porque R1 es demasiado grande.
  • Solución: reduce R1 después de comprobar el límite de corriente de la salida lógica.

  • Síntoma: el voltaje de salida lógica cae cuando está en ON

  • Causa: la demanda de corriente de base es demasiado alta para la fuente lógica.
  • Solución: aumenta R1 o usa una etapa driver con transistor.

  • Síntoma: el LED permanece encendido todo el tiempo

  • Causa: conexionado incorrecto en el nodo del colector o polarización de base no intencionada.
  • Solución: comprueba que el emisor de Q1 está en 0 y que VIN realmente baja a 0 V en el estado LOW.

  • Síntoma: la Vce medida es alta cuando está en ON

  • Causa: corriente de base insuficiente o cableado incorrecto de la carga del colector.
  • Solución: verifica Ib, recalcula R1 y comprueba R2 y la orientación de D1.

Posibles mejoras y extensiones

  • Añade un resistor pull-down de 10 kΩ desde VB hasta 0 para que el transistor permanezca en OFF si la fuente lógica se desconecta o queda en alta impedancia.
  • Sustituye la carga LED por una bobina de relé y añade un diodo flyback en paralelo con la bobina para estudiar la conmutación de transistores con cargas inductivas.

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 resistor de base en un transistor NPN controlado por una salida lógica de 5 V?




Pregunta 2: Cuando la salida lógica está en LOW en este circuito, ¿qué ocurre normalmente?




Pregunta 3: ¿Qué valor de corriente de base se busca aproximadamente en el artículo?




Pregunta 4: Si la salida lógica es de 5 V y el voltaje base-emisor es de 0.7 V, ¿qué caída de tensión hay aproximadamente en el resistor de base?




Pregunta 5: Con un resistor de base de 1 kΩ y una caída de 4.3 V en él, ¿cuál es la corriente de base aproximada?




Pregunta 6: ¿Qué valor de voltaje base-emisor se espera medir cuando el transistor está encendido?




Pregunta 7: En saturación, el voltaje colector-emisor de un transistor NPN suele ser:




Pregunta 8: ¿Para qué sirve principalmente este tipo de etapa con transistor NPN?




Pregunta 9: Si la corriente de carga esperada es de aproximadamente 20 mA cuando el transistor está en ON, ¿qué elemento del montaje ayuda a limitar esa corriente en la rama de la carga?




Pregunta 10: ¿Qué comprobación práctica ayuda a verificar que el transistor está saturando correctamente?




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: Conmutación de luz desde dos puntos

Prototipo de Conmutación de luz desde dos puntos (Maker Style)

Nivel: Medio. Implemente una función lógica XOR utilizando puertas NAND universales para controlar una fuente de luz desde dos ubicaciones independientes.

Objetivo y caso de uso

En este caso, construirá un circuito lógico digital que replica un sistema de conmutación residencial de 2 vías (luz de pasillo) utilizando un solo CI 74HC00 de cuádruple puerta NAND. Al combinar cuatro puertas NAND, sintetizará la función O-Exclusiva (XOR), demostrando que las puertas NAND son bloques de construcción «universales».

Por qué es útil:
* Simulación de cableado residencial: Demuestra cómo dos interruptores pueden alternar independientemente una sola carga (lógica de pasillo/escalera).
* Síntesis de lógica digital: Enseña cómo construir lógica compleja (XOR) a partir de puertas universales básicas (NAND).
* Circuitos aritméticos: Esta topología XOR específica es el componente fundamental de un «Semisumador» digital utilizado en las ALU de las CPU.
* Detección de errores: La lógica XOR se utiliza para calcular bits de paridad para la transmisión de datos.

Resultado esperado:
* Estado 00: Cuando ambos interruptores están OFF, el LED está OFF.
* Estado 01/10: Cuando solo un interruptor está ON, el LED está ON (Nivel lógico alto > 3.5 V).
* Estado 11: Cuando ambos interruptores están ON, el LED está OFF.
* Universalidad: Demostración exitosa de que 4 puertas NAND = 1 puerta XOR.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con las puertas lógicas básicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas.
  • S1: Interruptor SPST, función: Entrada A (Interruptor 1).
  • S2: Interruptor SPST, función: Entrada B (Interruptor 2).
  • R1: Resistencia de 10 kΩ, función: Pull-down para Entrada A.
  • R2: Resistencia de 10 kΩ, función: Pull-down para Entrada B.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente del LED.
  • D1: LED rojo, función: Indicador de salida (Luz).

Pin-out del CI utilizado

Chip seleccionado: 74HC00 (Cuádruple puerta NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Puerta 1 Conectar al nodo INPUT_A
2 1B Entrada Puerta 1 Conectar al nodo INPUT_B
3 1Y Salida Puerta 1 Nodo interno NAND_1_OUT
4 2 A Entrada Puerta 2 Conectar al nodo INPUT_A
5 2B Entrada Puerta 2 Conectar al nodo NAND_1_OUT
6 2Y Salida Puerta 2 Nodo interno NAND_2_OUT
7 GND Tierra Conectar al nodo 0 (GND)
8 3Y Salida Puerta 3 Nodo interno NAND_3_OUT
9 3 A Entrada Puerta 3 Conectar al nodo NAND_1_OUT
10 3B Entrada Puerta 3 Conectar al nodo INPUT_B
11 4Y Salida Puerta 4 Conectar al nodo FINAL_OUT
12 4 A Entrada Puerta 4 Conectar al nodo NAND_2_OUT
13 4B Entrada Puerta 4 Conectar al nodo NAND_3_OUT
14 VCC Alimentación Conectar al nodo VCC (+5 V)

Guía de conexionado

  • V1: Conectar el terminal positivo al nodo VCC y el terminal negativo al nodo 0.
  • U1 (Alimentación): Conectar el Pin 14 a VCC y el Pin 7 a 0.
  • S1: Conectar un lado a VCC y el otro al nodo INPUT_A.
  • R1: Conectar entre el nodo INPUT_A y el nodo 0.
  • S2: Conectar un lado a VCC y el otro al nodo INPUT_B.
  • R2: Conectar entre el nodo INPUT_B y el nodo 0.
  • U1 (Puerta 1): Conectar el Pin 1 a INPUT_A, el Pin 2 a INPUT_B. El Pin 3 es el nodo NAND_1_OUT.
  • U1 (Puerta 2): Conectar el Pin 4 a INPUT_A, el Pin 5 a NAND_1_OUT. El Pin 6 es el nodo NAND_2_OUT.
  • U1 (Puerta 3): Conectar el Pin 10 a INPUT_B, el Pin 9 a NAND_1_OUT. El Pin 8 es el nodo NAND_3_OUT.
  • U1 (Puerta 4): Conectar el Pin 12 a NAND_2_OUT, el Pin 13 a NAND_3_OUT. El Pin 11 es el nodo FINAL_OUT.
  • R3: Conectar entre el nodo FINAL_OUT y el Ánodo de D1.
  • D1: Conectar el Cátodo al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC00 NAND 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: Light switching from two points (XOR Logic)

INPUT STAGE                  LOGIC PROCESSING (74HC00)                  OUTPUT STAGE
(User Controls)              (NAND-based XOR Circuit)                   (Indicator)

                                     (Pin 4)
VCC --> [ S1 ] --(Node A)----------> [ U1:Gate 2 ] --(NAND_2)--\
          |                          (Pin 5,6)                  \
       [ R1 ]                            ^                       \
          v                              |                        \
         GND                        (NAND_1_OUT)                   \
                                         |                          \
                                         |                           \
(Node A) & (Node B) -----------> [ U1:Gate 1 ]                        --> [ U1:Gate 4 ] --(FINAL)--> [ R3 ] --> [ D1: LED ] --> GND
                                 (Pin 1,2->3)                        /    (Pin 12,13->11)
                                         |                          /
                                         |                         /
                                    (NAND_1_OUT)                  /
          ^                              |                       /
       [ R2 ]                            v                      /
          |                          (Pin 9)                   /
VCC --> [ S2 ] --(Node B)----------> [ U1:Gate 3 ] --(NAND_3)-/
                                     (Pin 10,8)
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Conmutación de luz desde dos puntos
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Interruptor A (S1) Interruptor B (S2) Estado del LED (D1) Función lógica
0 (OFF) 0 (OFF) OFF (0) Sin entrada activa
0 (OFF) 1 (ON) ON (1) Entradas diferentes
1 (ON) 0 (OFF) ON (1) Entradas diferentes
1 (ON) 1 (ON) OFF (0) Entradas coinciden

Mediciones y pruebas

  1. Comprobación del estado inicial: Asegúrese de que ambos S1 y S2 estén abiertos. Mida el voltaje en el Pin 11 (FINAL_OUT). Debería ser < 0.5 V (Lógica 0). D1 debería estar apagado.
  2. Conmutación del primer interruptor: Cierre solo S1. Mida el voltaje en el Pin 11. Debería estar cerca de 5 V (Lógica 1). D1 debería encenderse.
  3. Conmutación del segundo interruptor: Abra S1 y cierre S2. Observe D1. Debería encenderse de nuevo (Lógica 1).
  4. Comprobación de colisión: Cierre S1 y S2 simultáneamente. Mida el voltaje en el Pin 3 (NAND_1_OUT). Dado que ambas entradas están en Alto (High), el Pin 3 debe estar en Bajo (Low). En consecuencia, el Pin 11 (FINAL_OUT) debería pasar a Bajo (Low), apagando D1.

Netlist SPICE y simulación

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

* Practical case: Light switching from two points
* Title: Light switching from two points

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

* Simple LED Model
.model DLED D(IS=1e-22 RS=10 N=1.5 CJO=10p BV=5 IBV=10u)

* Voltage Controlled Switch Model for Buttons
* Vt=2.5V threshold, Ron=1 ohm, Roff=10Meg ohm
.model SW_PUSH SW(Vt=2.5 Ron=1 Roff=10Meg)

* ==============================================================================
* MAIN CIRCUIT
* ==============================================================================

* --- Power Supply ---
* V1: 5 V DC power supply
* ... (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 la suscripción mensual (7 días gratis) 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: Light switching from two points
* Title: Light switching from two points

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

* Simple LED Model
.model DLED D(IS=1e-22 RS=10 N=1.5 CJO=10p BV=5 IBV=10u)

* Voltage Controlled Switch Model for Buttons
* Vt=2.5V threshold, Ron=1 ohm, Roff=10Meg ohm
.model SW_PUSH SW(Vt=2.5 Ron=1 Roff=10Meg)

* ==============================================================================
* MAIN CIRCUIT
* ==============================================================================

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

* --- Input A (Switch 1) ---
* Simulating physical switch S1 connecting VCC to INPUT_A
* Controlled by V_ACT_S1 (User pressing the button)
* Timing: Period 100us, Width 50us (Toggles faster)
V_ACT_S1 S1_CTRL 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC INPUT_A S1_CTRL 0 SW_PUSH

* R1: 10 kΩ pull-down for Input A
R1 INPUT_A 0 10k

* --- Input B (Switch 2) ---
* Simulating physical switch S2 connecting VCC to INPUT_B
* Controlled by V_ACT_S2 (User pressing the button)
* Timing: Period 200us, Width 100us (Toggles slower)
V_ACT_S2 S2_CTRL 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC INPUT_B S2_CTRL 0 SW_PUSH

* R2: 10 kΩ pull-down for Input B
R2 INPUT_B 0 10k

* --- Logic IC U1: 74HC00 ---
* Quad 2-input NAND gate IC
* Pin connections per Wiring Guide:
* P1=INPUT_A, P2=INPUT_B, P3=NAND_1_OUT
* P4=INPUT_A, P5=NAND_1_OUT, P6=NAND_2_OUT
* P7=0 (GND)
* P8=NAND_3_OUT, P9=NAND_1_OUT, P10=INPUT_B
* P11=FINAL_OUT, P12=NAND_2_OUT, P13=NAND_3_OUT
* P14=VCC
XU1 INPUT_A INPUT_B NAND_1_OUT INPUT_A NAND_1_OUT NAND_2_OUT 0 NAND_3_OUT NAND_1_OUT INPUT_B FINAL_OUT NAND_2_OUT NAND_3_OUT VCC 74HC00

* --- Output Stage ---
* R3: 330 Ω resistor
R3 FINAL_OUT LED_NODE 330

* D1: Red LED
D1 LED_NODE 0 DLED

* ==============================================================================
* SUBCIRCUITS
* ==============================================================================

* Subcircuit for 74HC00 Quad 2-Input NAND Gate
* Uses continuous behavioral sources for robust convergence
* Pinout: 1=1A, 2=1B, 3=1Y, 4=2A, 5=2B, 6=2Y, 7=GND, 8=3Y, 9=3A, 10=3B, 11=4Y, 12=4A, 13=4B, 14=VCC
.subckt 74HC00 1 2 3 4 5 6 7 8 9 10 11 12 13 14
    * Gate 1 (1,2 -> 3)
    * Logic: Vout = VCC * (1 - (High(A) * High(B)))
    Bg1 3 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(1,7)-2.5))))*(1/(1+exp(-50*(V(2,7)-2.5)))))}

    * Gate 2 (4,5 -> 6)
    Bg2 6 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(4,7)-2.5))))*(1/(1+exp(-50*(V(5,7)-2.5)))))}

    * Gate 3 (9,10 -> 8)
    Bg3 8 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(9,7)-2.5))))*(1/(1+exp(-50*(V(10,7)-2.5)))))}

    * Gate 4 (12,13 -> 11)
    Bg4 11 7 V={V(14,7)*(1-(1/(1+exp(-50*(V(12,7)-2.5))))*(1/(1+exp(-50*(V(13,7)-2.5)))))}
.ends

* ==============================================================================
* ANALYSIS COMMANDS
* ==============================================================================

.op
.tran 1u 500u

* Print critical nodes including Inputs and the Output driving the LED
.print tran V(INPUT_A) V(INPUT_B) V(FINAL_OUT) V(LED_NODE)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation confirms the XOR logic behavior required for 2-way switching. When inputs differ (e.g., t=51us: A=0, B=1 -> Out=5V; t=101us: A=1, B=1 -> Out=0V; t=180us: A=1, B=0 -> Out=5V), the LED is ON (approx 1.88V drop). When inputs match (0,0 or 1,1), the output is near 0V.
* bom_vs_spice equivalences ignored:
*   - Physical switches S1 and S2 are modeled as voltage-controlled switches (SW_PUSH) driven by PULSE sources (V_ACT_S1, V_ACT_S2) to simulate user interaction.
*   - The 74HC00 Quad NAND IC is modeled as a behavioral subcircuit using mathematical expressions for logic gates.
*   - The LED D1 is modeled as a generic diode DLED with specific parameters.
* overall_comment: The circuit is a classic XOR implementation using four NAND gates, correctly wired to simulate a 2-way light switch (staircase switch). The SPICE netlist accurately represents the BOM and wiring guide. The simulation results perfectly match the provided truth table: the LED lights up only when the switch states are different.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms the XOR logic behavior required for 2-way switching. When inputs differ (e.g., t=51us: A=0, B=1 -> Out=5V; t=101us: A=1, B=1 -> Out=0V; t=180us: A=1, B=0 -> Out=5V), the LED is ON (approx 1.88V drop). When inputs match (0,0 or 1,1), the output is near 0V.
Show raw data table (773 rows)
Index   time            v(input_a)      v(input_b)      v(final_out)    v(led_node)
0	0.000000e+00	4.995005e-03	4.995005e-03	-3.70921e-68	-1.32951e-36
1	1.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	-3.37339e-37
2	2.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	1.661518e-37
3	4.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	2.976605e-37
4	8.000000e-08	4.995005e-03	4.995005e-03	-3.70921e-68	8.146600e-38
5	1.600000e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-2.74917e-38
6	3.200000e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-1.00046e-38
7	3.562500e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-9.54478e-40
8	4.196875e-07	4.995005e-03	4.995005e-03	-3.70921e-68	1.440911e-39
9	4.372461e-07	4.995005e-03	4.995005e-03	-3.70921e-68	5.873353e-40
10	4.679736e-07	4.995005e-03	4.995005e-03	-3.70921e-68	-1.64244e-40
11	5.019934e-07	4.999500e+00	4.999500e+00	-3.70921e-68	5.471353e-16
12	5.700330e-07	4.999500e+00	4.999500e+00	-3.70921e-68	1.883035e-16
13	7.061121e-07	4.999500e+00	4.999500e+00	-3.70921e-68	-1.89304e-16
14	9.782703e-07	4.999500e+00	4.999500e+00	-3.70921e-68	1.713539e-16
15	1.000000e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-8.76370e-17
16	1.043459e-06	4.999500e+00	4.999500e+00	-3.70921e-68	2.969253e-18
17	1.130378e-06	4.999500e+00	4.999500e+00	-3.70921e-68	1.336375e-17
18	1.304216e-06	4.999500e+00	4.999500e+00	-3.70921e-68	1.285658e-18
19	1.651892e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-4.38731e-19
20	2.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-3.76487e-20
21	3.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	3.641502e-21
22	4.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	3.034717e-22
23	5.347244e-06	4.999500e+00	4.999500e+00	-3.70921e-68	-2.04956e-23
... (749 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten», a menudo leyéndose como Alto (High) debido al ruido electromagnético. Solución: Asegúrese siempre de que las entradas estén conectadas a Tierra (Ground) cuando el interruptor esté abierto.
  2. Retroalimentación de puerta incorrecta: Cablear la salida del Pin 3 a las entradas incorrectas en las Puertas 2 o 3 destruye la lógica. Solución: Verifique dos veces que la salida de la primera NAND (Pin 3) se conecte TANTO a la segunda (Pin 5) como a la tercera (Pin 9) puerta.
  3. Olvidar la alimentación: Los chips lógicos no funcionan pasivamente. Solución: Verifique 5 V en el Pin 14 y continuidad a Tierra en el Pin 7 antes de insertar señales.

Solución de problemas

  • Síntoma: El LED está siempre ON, independientemente de la posición del interruptor.
    • Causa: Error de cableado en la puerta NAND final (Puerta 4) o salida cortocircuitada a VCC.
    • Solución: Compruebe las conexiones en los Pines 11, 12 y 13. Asegúrese de que el Pin 11 no esté tocando el riel positivo.
  • Síntoma: El LED se comporta como una puerta OR (permanece ON cuando ambos interruptores están ON).
    • Causa: La primera puerta NAND (Puerta 1) no está inhibiendo la señal eficazmente.
    • Solución: Compruebe la continuidad en los Pines 1, 2 y 3. Si la salida de la Puerta 1 permanece en Alto (High) cuando las entradas están en Alto, la lógica XOR falla.
  • Síntoma: El circuito funciona de forma errática al tocar los cables.
    • Causa: Faltan resistencias pull-down (entradas flotantes).
    • Solución: Verifique que R1 y R2 estén conectadas firmemente entre los pines de entrada y Tierra.

Posibles mejoras y extensiones

  1. Conmutación de 3 vías: Añada un tercer interruptor y otra etapa XOR (utilizando un segundo 74HC00 o un 74HC86) para controlar la luz desde tres ubicaciones.
  2. Comparación con CI dedicado: Construya el mismo circuito utilizando un 74HC86 (Cuádruple XOR) junto a este para comparar el retardo de propagación y la complejidad del cableado.

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 contexto?




Pregunta 2: ¿Qué circuito integrado específico se utiliza para este proyecto?




Pregunta 3: ¿Qué función lógica se sintetiza al combinar las cuatro puertas NAND?




Pregunta 4: ¿Por qué se consideran las puertas NAND como bloques de construcción 'universales'?




Pregunta 5: Según el resultado esperado, ¿cuál es el estado del LED cuando ambos interruptores están OFF (00)?




Pregunta 6: ¿En qué tipo de circuito aritmético de las CPU se utiliza fundamentalmente esta topología XOR?




Pregunta 7: ¿Cuál es la aplicación de la lógica XOR en la transmisión de datos mencionada en el texto?




Pregunta 8: ¿Cuántas puertas NAND del CI se combinan para sintetizar la función XOR en este caso?




Pregunta 9: En la lógica de conmutación de pasillo (XOR), ¿qué ocurre si las entradas son diferentes (01 o 10)?




Pregunta 10: ¿Qué demuestra este proyecto sobre la relación entre interruptores y carga?




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: Latch SR antirrebote con NAND

Prototipo de Latch SR antirrebote con NAND (Maker Style)

Nivel: Medio – Construye un circuito de memoria estable para eliminar el ruido de interruptores mecánicos usando compuertas NAND acopladas en cruz.

Objetivo y caso de uso

En este caso práctico, construirás un Latch Set-Reset (SR) utilizando un CI 74HC00. Al disponer dos compuertas NAND en una topología de retroalimentación acoplada en cruz, el circuito crea un elemento de memoria biestable que ignora el ruido mecánico de «rebote» generado cuando se cierran los contactos de un interruptor físico.

Por qué es útil:
* Interfaz con interruptores mecánicos: Esencial para leer botones en sistemas digitales sin disparos falsos.
* Interrupciones de microcontrolador: Proporciona un flanco limpio (subida/bajada) para disparar interrupciones de hardware de manera confiable.
* Retención de estado: Mantiene el último estado conocido (Set o Reset) incluso después de que se libera el disparador de entrada (retorno a reposo).
* Control industrial: Utilizado en circuitos de control de motores «Marcha/Parada» donde la estabilidad es crítica para la seguridad.

Resultado esperado:
* Salida Q: Permanece en ALTO (5 V) cuando se dispara Set y se mantiene en ALTO hasta que se dispara Reset.
* Salida Q_bar: Siempre la inversa de Q (Lógica BAJA cuando Q es ALTA).
* Retroalimentación visual: Dos LEDs (Verde y Rojo) indicando claramente el estado almacenado.
* Inmunidad al ruido: La salida transiciona una vez limpiamente, incluso si los contactos del interruptor rebotan múltiples veces en milisegundos.

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

Materiales

  • V1: Fuente de alimentación de 5 V DC
  • U1: 74HC00 (Cuádruple compuerta NAND de 2 entradas)
  • SW1: Interruptor SPDT (Un Polo Doble Tiro), función: selector Set/Reset
  • R1: Resistencia de 10 kΩ, función: pull-up para SET_N
  • R2: Resistencia de 10 kΩ, función: pull-up para RESET_N
  • R3: Resistencia de 330 Ω, función: limitación de corriente LED para Q
  • R4: Resistencia de 330 Ω, función: limitación de corriente LED para Q_bar
  • D1: LED Verde, función: Indicador para Estado Q (Activo)
  • D2: LED Rojo, función: Indicador para Estado Q_bar (Inactivo)
  • C1: Condensador de 100 nF, función: desacople para pines de alimentación de U1

Pin-out del CI utilizado

Chip: 74HC00 (Cuádruple compuerta NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Conecta al Nodo SET_N
2 1B Entrada Conecta al Nodo Q_BAR (Retroalimentación)
3 1Y Salida Conecta al Nodo Q
4 2 A Entrada Conecta al Nodo RESET_N
5 2B Entrada Conecta al Nodo Q (Retroalimentación)
6 2Y Salida Conecta al Nodo Q_BAR
7 GND Tierra Conecta al Nodo 0
14 VCC Alimentación Conecta al Nodo VCC (5 V)

Guía de conexionado

  • Fuente de Alimentación:
  • Conecta el terminal positivo de V1 al nodo VCC.
  • Conecta el terminal negativo de V1 al nodo 0 (GND).
  • Conecta C1 entre VCC y 0 (cerca de U1).
  • Conecta el pin 14 de U1 a VCC.
  • Conecta el pin 7 de U1 a 0.

  • Etapa de Entrada (Interruptor y Pull-ups):

  • Conecta R1 entre VCC y el nodo SET_N.
  • Conecta R2 entre VCC y el nodo RESET_N.
  • Conecta el terminal Común de SW1 al nodo 0.
  • Conecta el terminal Normalmente Abierto (NO) de SW1 al nodo SET_N.
  • Conecta el terminal Normalmente Cerrado (NC) de SW1 al nodo RESET_N. (Nota: Alternar SW1 lleva una línea a Bajo mientras la otra permanece en Alto).

  • Núcleo Lógico (NANDs acopladas en cruz):

  • Conecta el pin 1 (1 A) de U1 al nodo SET_N.
  • Conecta el pin 2 (1B) de U1 al nodo Q_BAR.
  • Conecta el pin 3 (1Y) de U1 al nodo Q.
  • Conecta el pin 4 (2 A) de U1 al nodo RESET_N.
  • Conecta el pin 5 (2B) de U1 al nodo Q.
  • Conecta el pin 6 (2Y) de U1 al nodo Q_BAR.

  • Etapa de Salida (Indicadores):

  • Conecta R3 entre el nodo Q y el Ánodo de D1.
  • Conecta el Cátodo de D1 al nodo 0.
  • Conecta R4 entre el nodo Q_BAR y el Ánodo de D2.
  • Conecta el Cátodo de D2 al nodo 0.

Diagrama de bloques conceptual

Conceptual block diagram — 74HC00 Feedback: Q sends state to …
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: Debouncing SR Latch with NAND

      INPUT STAGE (Switch & Pull-ups)           LOGIC CORE (74HC00 Latch)               OUTPUT STAGE (Indicators)
      ================================          =========================               =========================

      [ VCC ]
         |
         V
      [ R1: 10k Pull-up ]
         |
         V
      (Node: SET_N) --------------------------> [ U1: NAND Gate A ] --(Signal: Q)-----> [ R3: 330 ] --> [ D1: Green LED ] --> GND
         ^                                      ^       |
         |                                      |       |
      [ SW1: SPDT Switch ]                      |       +--(Feedback: Q sends state to Gate B)
      (Connects GND to SET_N or RESET_N)        |
         |                                      +--(Feedback: Q_BAR maintains state of Gate A)
         v                                              |
      (Node: RESET_N) ------------------------> [ U1: NAND Gate B ] --(Signal: Q_BAR)-> [ R4: 330 ] --> [ D2: Red LED ] ----> GND
         ^
         |
      [ R2: 10k Pull-up ]
         |
         ^
         |
      [ VCC ]


      POWER & DECOUPLING:
      [ VCC ] --(Power)--> [ U1: Pin 14 ]
      [ GND ] --(Ground)--> [ U1: Pin 7 ]
      [ VCC ] --(Filter)--> [ C1: 100nF ] --> [ GND ]
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Latch SR antirrebote con NAND
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Las entradas del Latch SR NAND son Activas en Bajo.

SET_N (Entrada) RESET_N (Entrada) Q (Salida) Q_bar (Salida) Descripción del estado
1 (Alto) 1 (Alto) Q Anterior Q_bar Anterior Retención (Memoria)
0 (Bajo) 1 (Alto) 1 0 Set
1 (Alto) 0 (Bajo) 0 1 Reset
0 (Bajo) 0 (Bajo) 1 1 Inválido (Evitar)

Mediciones y pruebas

  1. Encendido inicial: Enciende la fuente de 5 V. Asegúrate de que SW1 esté en una posición específica.
  2. Verificar Reset: Alterna SW1 para llevar RESET_N a Bajo (y SET_N a Alto).
    • Confirma que el LED Rojo (D2, Q_bar) se ENCIENDE.
    • Confirma que el LED Verde (D1, Q) se APAGA.
    • Mide el voltaje en Q: debería ser aprox 0 V.
  3. Verificar Set: Alterna SW1 para llevar SET_N a Bajo.
    • Confirma que el LED Verde (D1, Q) se ENCIENDE.
    • Confirma que el LED Rojo (D2, Q_bar) se APAGA.
    • Mide el voltaje en Q: debería ser aprox 5 V.
  4. Prueba de antirrebote: Mientras mueves el interruptor, observa los LEDs. Deberían cambiar de estado instantáneamente sin parpadear, incluso si el contacto del interruptor es imperfecto.
  5. Prueba de desconexión (Estado de retención): Si desconectas los cables del interruptor para que ambas entradas sean llevadas a Alto por R1/R2, los LEDs deben mantener su último estado válido.

Netlist SPICE y simulación

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

* Title: Practical case: Debouncing SR Latch with NAND
* NGSPICE Netlist
.width out=256

* --- Power Supply ---
V1 VCC 0 DC 5
C1 VCC 0 100n

* --- Input Stage (Switch and Pull-ups) ---
* R1 Pull-up for SET_N
R1 VCC SET_N 10k
* R2 Pull-up for RESET_N
R2 VCC RESET_N 10k

* --- Switch Simulation (SW1 SPDT) ---
* Control Signal Source
V_SW_CTRL CTRL 0 PULSE(0 5 100u 1u 1u 200u 600u)

* Inverted control signal for the NC contact
B_SW_INV CTRL_N 0 V=5-V(CTRL)
* ... (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 la suscripción mensual (7 días gratis) tendrás acceso al contenido completo (materiales, conexionado, compilación detallada, validación paso a paso, troubleshooting, mejoras/variantes y checklist) y podrás descargar el pack PDF listo para imprimir.

* Title: Practical case: Debouncing SR Latch with NAND
* NGSPICE Netlist
.width out=256

* --- Power Supply ---
V1 VCC 0 DC 5
C1 VCC 0 100n

* --- Input Stage (Switch and Pull-ups) ---
* R1 Pull-up for SET_N
R1 VCC SET_N 10k
* R2 Pull-up for RESET_N
R2 VCC RESET_N 10k

* --- Switch Simulation (SW1 SPDT) ---
* Control Signal Source
V_SW_CTRL CTRL 0 PULSE(0 5 100u 1u 1u 200u 600u)

* Inverted control signal for the NC contact
B_SW_INV CTRL_N 0 V=5-V(CTRL)

* Switch Models (Threshold 2.5V)
.model SW_MECH SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=100Meg)

* S1 (NO Contact): Connects SET_N to 0 when CTRL is High
S1 SET_N 0 CTRL 0 SW_MECH

* S2 (NC Contact): Connects RESET_N to 0 when CTRL_N is High (CTRL is Low)
S2 RESET_N 0 CTRL_N 0 SW_MECH

* --- Logic Core (74HC00 Quad 2-Input NAND) ---
* Subcircuit for 74HC00 using robust behavioral NAND gates
* Pinout: 1=1A, 2=1B, 3=1Y, 4=2A, 5=2B, 6=2Y, 7=GND, 14=VCC
.subckt 74HC00 1 2 3 4 5 6 7 14
    * Gate 1 (Pins 1, 2 -> Output 3)
    * Logic: NAND. Implementation: Sigmoid-based continuous function for convergence.
    * Vout = VCC * (1 - (Sigmoid(A) * Sigmoid(B)))
    B_NAND1 3 7 V=V(14) * (1 - ( (1/(1+exp(-50*(V(1)-2.5)))) * (1/(1+exp(-50*(V(2)-2.5)))) ))

    * Gate 2 (Pins 4, 5 -> Output 6)
    B_NAND2 6 7 V=V(14) * (1 - ( (1/(1+exp(-50*(V(4)-2.5)))) * (1/(1+exp(-50*(V(5)-2.5)))) ))
.ends

* --- Instantiate U1 ---
* Wiring per guide: 1=SET_N, 2=Q_BAR, 3=Q, 4=RESET_N, 5=Q, 6=Q_BAR, 7=0, 14=VCC
XU1 SET_N Q_BAR Q RESET_N Q Q_BAR 0 VCC 74HC00

* --- Output Stage (Indicators) ---
* R3 between node Q and D1 Anode
R3 Q D1_A 330
* D1 Green LED (Q Active)
D1 D1_A 0 LED_GREEN

* R4 between node Q_BAR and D2 Anode
R4 Q_BAR D2_A 330
* D2 Red LED (Q_BAR Inactive)
D2 D2_A 0 LED_RED

* LED Models
.model LED_GREEN D(Is=1e-22 Rs=5 N=1.5 Eg=2.1)
.model LED_RED D(Is=1e-22 Rs=5 N=1.5 Eg=1.8)

* --- Simulation Commands ---
.op
.tran 1u 1ms

* --- Measurements ---
* Listing SET_N (Input) and Q (Output) first
.print tran V(SET_N) V(Q) V(RESET_N) V(Q_BAR) V(CTRL)

.end
* --- GPT review (BOM/Wiring/SPICE) ---
* circuit_ok=true
* simulation_summary: The simulation confirms correct SR Latch behavior. At t=0, SET_N is Low and RESET_N is High, resulting in Q=High (Set state). At t=100us, the switch toggles: SET_N goes High and RESET_N goes Low, causing Q to go Low and Q_BAR to go High (Reset state). The latch holds state correctly between transitions.
* bom_vs_spice equivalences ignored:
*   - SW1 (SPDT Switch) is modeled using a voltage-controlled switch pair (S1, S2) driven by a PULSE source (V_SW_CTRL) and its inverse.
*   - U1 (74HC00 Quad NAND) is modeled using a behavioral subcircuit with sigmoid-based voltage sources.
* overall_comment: The circuit is a textbook example of a NAND-based SR latch used for switch debouncing. The SPICE implementation faithfully follows the wiring guide, using a clever behavioral model for the 74HC00 and a dual-switch setup to simulate the SPDT action. The transient analysis clearly demonstrates the Set and Reset actions corresponding to the switch position, matching the provided truth table perfectly.
* --------------------------------------

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms correct SR Latch behavior. At t=0, SET_N is Low and RESET_N is High, resulting in Q=High (Set state). At t=100us, the switch toggles: SET_N goes High and RESET_N goes Low, causing Q to go Low and Q_BAR to go High (Reset state). The latch holds state correctly between transitions.
Show raw data table (1072 rows)
Index   time            v(set_n)        v(q)            v(reset_n)      v(q_bar)        v(ctrl)
0	0.000000e+00	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
1	1.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
2	2.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
3	4.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
4	8.000000e-08	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
5	1.600000e-07	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
6	3.200000e-07	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
7	6.400000e-07	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
8	1.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
9	2.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
10	3.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
11	4.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
12	5.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
13	6.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
14	7.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
15	8.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
16	9.280000e-06	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
17	1.028000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
18	1.128000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
19	1.228000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
20	1.328000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
21	1.428000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
22	1.528000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
23	1.628000e-05	4.999500e+00	3.709206e-68	4.999950e-05	5.000000e+00	0.000000e+00
... (1048 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar entradas flotando: Si quitas el interruptor y no tienes las resistencias R1/R2, las entradas flotan, causando oscilación impredecible. Solución: Usa siempre resistencias pull-up (10 kΩ) en las entradas del latch NAND.
  2. Confundir Activo en Bajo vs. Activo en Alto: Los usuarios a menudo esperan que un «1» active el latch. Un latch NAND se activa cuando la entrada va a «0». Solución: Recuerda que los latches NAND se disparan con pulsos a tierra (Bajo).
  3. Estado prohibido: presionar dos botones simultáneamente (si se usan botones en lugar de SPDT) crea un 0 Lógico en ambas entradas, forzando ambas salidas a Alto. Solución: Evita mecánicamente las pulsaciones simultáneas o diseña lógica para priorizar una entrada.

Solución de problemas

  • Ambos LEDs están ENCENDIDOS:
    • Causa: Tanto SET_N como RESET_N están conectados a Tierra (Lógica 0) simultáneamente.
    • Solución: Revisa el cableado del interruptor; asegúrate de no estar cortocircuitando ambas entradas a tierra.
  • El circuito no retiene el estado (los LEDs parpadean o siguen al interruptor vagamente):
    • Causa: Falta la conexión de retroalimentación.
    • Solución: Asegúrate de que el cable del Pin 3 (Q) vaya al Pin 5, y el del Pin 6 (Q_BAR) vaya al Pin 2.
  • El chip se calienta:
    • Causa: Cortocircuito en la salida o polaridad de alimentación invertida.
    • Solución: Comprueba que R3 y R4 estén presentes (no conectes LEDs directamente a las salidas) y verifica que el Pin 14 sea 5 V y el Pin 7 sea GND.

Posibles mejoras y extensiones

  1. Latch SR con habilitación (Gated): Agrega dos compuertas NAND extra (usando las dos restantes en el 74HC00) para añadir una señal de «Enable» (Habilitación), convirtiéndolo en una celda de memoria síncrona.
  2. Controlador de contador digital: Usa la salida Q para manejar la entrada de reloj de un contador CD4017 o 74HC4017, demostrando que la pulsación manual del botón genera exactamente un pulso de reloj limpio.

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 construir el Latch SR?




Pregunta 2: ¿Cuál es el objetivo principal de usar este circuito con interruptores mecánicos?




Pregunta 3: ¿Qué topología de conexión se utiliza entre las compuertas NAND?




Pregunta 4: ¿Qué característica define a este circuito como un elemento de memoria 'biestable'?




Pregunta 5: ¿Qué sucede con la salida Q cuando se dispara la entrada Set en este circuito?




Pregunta 6: ¿Por qué es útil este circuito para las interrupciones de un microcontrolador?




Pregunta 7: ¿Qué ocurre con el estado del circuito cuando se libera el disparador de entrada (retorno a reposo)?




Pregunta 8: ¿En qué aplicación de control industrial es crítico este tipo de circuito por seguridad?




Pregunta 9: ¿Qué problema físico de los botones resuelve este circuito?




Pregunta 10: ¿Cuántas entradas de control principales tiene típicamente un Latch SR básico?




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: Amplificador lineal CMOS

Prototipo de Amplificador lineal CMOS (Maker Style)

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

Objetivo y caso de uso

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

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

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

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

Materiales

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

Pin-out del CI utilizado

Chip: 74HC04 (Hex Inverter)

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

Guía de conexionado

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

Diagrama de bloques conceptual

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

Esquemático

Practical case: CMOS linear amplifier

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

Tabla de verdad

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

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

Mediciones y pruebas

  1. Verificación de polarización CC:

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

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

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

Netlist SPICE y simulación

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

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

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

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

* --- Components ---

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

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

* U1: 74HC04 Hex Inverter
* ... (truncated in public view) ...

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

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

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

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

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

* --- Components ---

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

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

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

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

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

* --- Subcircuit Models ---

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

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

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

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

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Oscilador en anillo y retardo

Prototipo de Oscilador en anillo y retardo (Maker Style)

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

Objetivo y caso de uso

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

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

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

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

Materiales

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

Pin-out del CI utilizado

Chip seleccionado: 74HC04 (Hex Inverter)

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

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

Guía de conexionado

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

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

Diagrama de bloques conceptual

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

Esquemático

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


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

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

Tabla de verdad (Puerta NOT simple)

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

* --- Integrated Circuit U1: 74HC04 Hex Inverter ---
* Modeled as a subcircuit to strictly follow physical pinout and wiring guide.
* Pin Mapping (Standard DIP-14):
* 1:1A  2:1Y  3:2A  4:2Y  5:3A  6:3Y  7:GND
* 8:4Y  9:4A 10:5Y 11:5A 12:6Y 13:6A 14:VCC
*
* Wiring Connections based on Guide:
* Pin 1 (In1)  -> N5
* ... (truncated in public view) ...

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

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

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

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

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

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

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

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

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

* --- Subcircuit Definitions ---

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

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

* --- Simulation Directives ---

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

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

* Operating Point (for check)
.op

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

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

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es la condición fundamental respecto al número de etapas para que un oscilador en anillo funcione correctamente?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: 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

Diagrama eléctrico

Diagrama electrico del caso: Caso práctico: Divisor de frecuencia por 2, 4 y 8
Generado desde la netlist SPICE validada del caso.

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

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 la suscripción mensual (7 días gratis) 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: