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

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

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

Objetivo y caso de uso

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

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

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

Materiales

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

Pin-out del CI utilizado

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

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

Guía de conexionado

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

Diagrama de bloques conceptual

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

Esquemático

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

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

Mediciones y pruebas

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

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

Netlist SPICE y simulación

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

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

.width out=256

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

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

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

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

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

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

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

.width out=256

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el componente principal utilizado en este circuito para la división de frecuencia?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


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

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

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

Pin-out del CI utilizado

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

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

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

Guía de conexionado

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

  • Nodos de alimentación:

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

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

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

Diagrama de bloques conceptual

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

Esquemático

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

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

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

.width out=256

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

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

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

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

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

.width out=256

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Qué circuito integrado se utiliza en este caso práctico para el contador binario?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Cerradura de bóveda con retardo y etapa de potencia

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

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

Objetivo y caso de uso

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

  • Escenarios del mundo real:

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

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

Materiales

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

Guía de conexionado

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

  • Etapa lógica (AND en serie):

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

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

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

Diagrama de bloques conceptual

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

Esquemático

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: Cerradura de bóveda con retardo y etapa de potencia
Generado desde la netlist SPICE validada del caso.

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

Mediciones y pruebas

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

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

Netlist SPICE y simulación

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

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

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

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

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

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

* --- User Interface (Push Buttons) ---
* We simulate physical button presses using Pulse Voltage Sources controlling switches.
* Logic: To unlock, SW1 and SW2 must be pressed simultaneously (AND logic).
* ... (truncated in public view) ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




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




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




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




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




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




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




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




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




Pregunta 10: ¿Por qué se requiere presionar botones con ambas manos en una prensa industrial según el texto?




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

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

Sígueme:


Caso práctico: El peligro del nivel lógico indefinido

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

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

Pin-out del CI utilizado

Chip: 74HC04 (Hex Inverter)

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

Guía de conexionado

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

Diagrama de bloques conceptual

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

Esquemático

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: El peligro del nivel lógico indefinido
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad

Puerta: NOT (Inversor)

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

* --- Components ---

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

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

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

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

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

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

* --- Components ---

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

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

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

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

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

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

* D1: Red LED
D1 LED_NODE 0 LED_RED

* --- Analysis ---

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

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

* Operating point calculation
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

### Diagnóstico y Solución

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

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

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

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal de este caso práctico?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Solución de problemas de saturación en interruptor NPN

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


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

Objetivo y caso de uso

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

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

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

Materiales

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

Guía de conexionado

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

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

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: NPN Switch Saturation Troubleshooting

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

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

Diagrama eléctrico

Diagrama eléctrico del caso: Solución de problemas de saturación en interruptor NPN
Generado desde la netlist SPICE validada del caso.

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

Mediciones y pruebas

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

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

Netlist SPICE y simulación

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* R1: LED Current Limiting Resistor
R1 LED_CATHODE COLLECTOR 33

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

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

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

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

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Diagnóstico y solución

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

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

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

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

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal de este caso práctico?



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



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



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



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



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



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



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



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



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



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

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

Sígueme:


Caso práctico: Comprendiendo la Alta Impedancia y el Efecto Fantasma

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

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

Objetivo y caso de uso

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

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

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

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

Materiales

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

Pin-out del 74HC04

Chip Seleccionado: 74HC04 (Inversor Séxtuple)

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

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos:

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

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

Diagrama de bloques conceptual

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

Esquemático

Title: Practical case: Understanding High Impedance and Ghosting

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

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

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

Diagrama eléctrico

Diagrama electrico del caso: Caso práctico: Comprendiendo la Alta Impedancia y el Efecto Fantasma
Generado desde la netlist SPICE validada del caso.

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

Tabla de verdad (Puerta NOT estándar)

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

Mediciones y pruebas

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

Netlist SPICE y simulación

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

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

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

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

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

* --- Input Network ---
* ... (truncated in public view) ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

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

Solución de problemas

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

Diagnóstico y solución

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

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

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

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

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

Posibles mejoras y extensiones

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

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal de utilizar una resistencia pull-down de 10 megaohmios en este experimento?




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




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




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




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




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




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




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




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




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




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

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

Sígueme:


Caso práctico: Activación de motor con doble seguridad

Prototipo de Activación de motor con doble seguridad (Maker Style)

Nivel: Básico — Implementar un sistema donde un motor solo funciona cuando se presionan dos botones simultáneamente.

Objetivo y caso de uso

En esta sesión, construirás un circuito lógico de seguridad utilizando un 74HC00 (cuádruple puerta NAND de 2 entradas) para controlar un motor de CC. El motor solo se activará cuando se accionen dos pulsadores separados al mismo tiempo, imitando un dispositivo de seguridad de «mando a dos manos».

Por qué es útil:
* Seguridad industrial: Evita que los operarios introduzcan las manos en una prensa hidráulica o máquina de corte mientras está en movimiento.
* Prevención de accidentes: Asegura que ambas manos estén ocupadas en los controles durante la fase peligrosa de la operación.
* Composición lógica: Demuestra cómo crear una función AND utilizando puertas NAND universales.

Resultado esperado:
* Estado de reposo: La salida lógica es LOW (0 V); el motor está APAGADO.
* Pulsación única: La salida lógica permanece en LOW (0 V); el motor permanece APAGADO.
* Pulsación dual: La salida lógica pasa a HIGH (5 V); el relé se activa; el motor funciona.
* Manejo de corriente: La puerta lógica excita un transistor, que conmuta de forma segura la bobina del relé de alta corriente.

Público objetivo y nivel:
Estudiantes de electrónica básica y aficionados interesados en aplicaciones de lógica digital.

Materiales

  • V1: Fuente de tensión de 5 V CC, función: Alimentación de la lógica y la bobina del relé.
  • V2: Fuente de tensión de 12 V CC, función: Alimentación del motor.
  • U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas.
  • S1: Pulsador (normalmente abierto), función: Interruptor de seguridad de mano izquierda.
  • S2: Pulsador (normalmente abierto), función: Interruptor de seguridad de mano derecha.
  • R1: Resistencia de 10 kΩ, función: Pull-down para S1.
  • R2: Resistencia de 10 kΩ, función: Pull-down para S2.
  • R3: Resistencia de 1 kΩ, función: Limitación de corriente de base para Q1.
  • Q1: Transistor NPN 2N2222, función: Controlador del relé.
  • D1: Diodo 1N4007, función: Protección flyback para la bobina del relé.
  • K1: Relé SPDT de 5 V, función: Interfaz de conmutación de alta potencia.
  • M1: Motor de 12 V CC, función: Actuador (carga).

Pin-out del CI utilizado (74HC00)

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

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A (Puerta 1) Conectado a S1 (Nodo BTN_L)
2 1B Entrada B (Puerta 1) Conectado a S2 (Nodo BTN_R)
3 1Y Salida (Puerta 1) Conectado a entradas de la Puerta 2 (Nodo NAND_INTER)
4 2 A Entrada A (Puerta 2) Conectado al Nodo NAND_INTER
5 2B Entrada B (Puerta 2) Conectado al Nodo NAND_INTER
6 2Y Salida (Puerta 2) Conectado a R3 (Nodo LOGIC_OUT)
7 GND Tierra (Masa) Conectado al Nodo 0
14 VCC Alimentación Conectado al Nodo VCC

Nota: Los pines del 8 al 13 no se utilizan y deberían conectarse idealmente a GND o VCC en una instalación permanente para evitar ruido, aunque se dejan flotantes para este ejercicio básico en protoboard.

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos. Asegúrate de que la fuente de alimentación esté apagada mientras construyes.

Alimentación y entradas:
* V1 (+): Se conecta al nodo VCC.
* V1 (-) / V2 (-): Se conecta al nodo 0 (Tierra común).
* S1: Se conecta entre VCC y el nodo BTN_L.
* R1: Se conecta entre el nodo BTN_L y 0.
* S2: Se conecta entre VCC y el nodo BTN_R.
* R2: Se conecta entre el nodo BTN_R y 0.

Procesamiento lógico (Usando U1 como puerta AND):
* U1 (Pin 14): Se conecta a VCC.
* U1 (Pin 7): Se conecta a 0.
* U1 (Pin 1): Se conecta al nodo BTN_L.
* U1 (Pin 2): Se conecta al nodo BTN_R.
* U1 (Pin 3): Se conecta al nodo NAND_INTER (Salida de la primera etapa).
* U1 (Pin 4 y Pin 5): Ambos se conectan al nodo NAND_INTER (Configura la Puerta 2 como inversor).
* U1 (Pin 6): Se conecta al nodo LOGIC_OUT.

Etapa de salida:
* R3: Se conecta entre el nodo LOGIC_OUT y el nodo BASE.
* Q1 (Base): Se conecta al nodo BASE.
* Q1 (Emisor): Se conecta al nodo 0.
* Q1 (Colector): Se conecta al nodo RELAY_COIL_LO.
* K1 (Bobina +): Se conecta a VCC.
* K1 (Bobina -): Se conecta al nodo RELAY_COIL_LO.
* D1 (Ánodo): Se conecta al nodo RELAY_COIL_LO.
* D1 (Cátodo): Se conecta a VCC (Paralelo a la bobina, polarización inversa).

Circuito del motor:
* V2 (+): Se conecta al contacto Común de K1 (COM).
* K1 (NO – Normalmente Abierto): Se conecta al nodo MOTOR_POS.
* M1 (+): Se conecta al nodo MOTOR_POS.
* M1 (-): Se conecta 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

+-----------------------------------------------------------------------------+
|                  DUAL SAFETY MOTOR ACTIVATION BLOCK DIAGRAM                 |
+-----------------------------------------------------------------------------+

1. INPUTS & LOGIC STAGE (5 V Domain)
   (Both buttons must be pressed to activate the output)

   V1(5 V)
     |
                                                                                             +---> [ S1: Left Button ] ---+--(BTN_L)------\
                                  |                \
                                  v                 \
                               [ R1: 10k ]           +---> [ U1:A (NAND) ] --(NAND_INTER)--> [ U1:B (NOT*) ] --(LOGIC_OUT)-->
                                  |                 /       (Pins 1 & 2)                      (Pins 4 & 5)          |
                                 GND               /                                         *Wired as Inverter     |
                                                  /                                                                 |
   V1(5 V)                                        /                                                                  |
     |                                          /                                                                   |
     +---> [ S2: Right Button ] --+--(BTN_R)---/                                                                    |
                                  |                                                                                 |
                                  v                                                                                 |
                               [ R2: 10k ]                                                                          |
                                  |                                                                                 |
                                 GND                                                                                |
                                                                                                                    |
+-------------------------------------------------------------------------------------------------------------------+
|                                                                                                                   |
| 2. RELAY DRIVER STAGE (5 V Domain)                                                                                 |
|    (Low-Side Transistor Switch)                                                                                   |
|                                                                                                                   |
|    (From Logic Above)                                                                                             |
|            |                                         V1(5 V)                                                       |
|            v                                           |                                                          |
|      [ R3: 1k ]                                        |                                                          |
|            |                                           v                                                          |
|            +----------------------------------> [ Q1: Base ]                                                      |
|                                                        :                                                          |
|                                             (Controls Current Flow)                                               |
|                                                        :                                                          |
|                                      +-----------------+                                                          |
|                                      |                                                                            |
|                              [ Q1: Collector ]                                                                    |
|                                      ^                                                                            |
|                                      |                                                                            |
|                             (Node: RELAY_COIL_LO)                                                                 |
|                                      |                                                                            |
|                    +-----------------+-----------------+                                                          |
|                    |                                   |                                                          |
|           [ K1: Relay Coil ]                    [ D1: Diode ]                                                     |
|           (Control Side)                        (Protection)                                                      |
|                    |                            (Anode to Coll)                                                   |
|                    |                            (Cathode to VCC)                                                  |
|                    +-----------------+-----------------+                                                          |
|                                      ^                                                                            |
|                                      |                                                                            |
|                                    V1(5 V)                                                                         |
|                                                                                                                   |
|                              [ Q1: Emitter ]                                                                      |
|                                      |                                                                            |
|                                      v                                                                            |
|                                     GND                                                                           |
|                                                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
|                                                                                                                   |
| 3. MOTOR OUTPUT STAGE (12 V Domain)                                                                                |
|    (High Power Load)                                                                                              |
|                                                                                                                   |
|                       (Magnetic Link from K1 Coil Above)                                                          |
|                                      |                                                                            |
|                                      v                                                                            |
|    V2(12 V) ---------> [ K1: Switch (COM to NO) ] --(MOTOR_POS)--> [ M1: 12 V Motor ] ----> GND                     |
|                                                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
Esquema Eléctrico

Tabla de verdad

Estamos utilizando dos puertas NAND. La primera combina las entradas; la segunda invierte el resultado para crear una función AND.

S1 (Izquierda) S2 (Derecha) U1 Pin 3 (1Y) U1 Pin 6 (2Y) Estado del motor
0 (OFF) 0 (OFF) 1 (Alto) 0 (Bajo) PARADO
0 (OFF) 1 (ON) 1 (Alto) 0 (Bajo) PARADO
1 (ON) 0 (OFF) 1 (Alto) 0 (Bajo) PARADO
1 (ON) 1 (ON) 0 (Bajo) 1 (Alto) EN MARCHA

Mediciones y pruebas

  1. Comprobación en reposo: Enciende V1. No presiones ningún botón. Mide el voltaje en LOGIC_OUT (Pin 6). Debería ser ~0 V. El motor debería estar parado.
  2. Validación de entradas: Presiona solo S1. Mide el voltaje en el Pin 1. Debería ser 5 V. El Pin 2 debería ser 0 V. La salida en el Pin 6 debe permanecer en 0 V.
  3. Prueba activa: Presiona y mantén presionados ambos botones S1 y S2 simultáneamente.
    • Escucha el «clic» del relé K1.
    • Observa a M1 girando.
    • Mide el voltaje en LOGIC_OUT; debería estar cerca de 5 V.
  4. Prueba de liberación: Suelta solo un botón. El motor debe detenerse inmediatamente.

Netlist SPICE y simulación

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

* Practical case: Logic AND gate controlling a relay and motor

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

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

* Ideal Switch Model for Buttons and Relay Contact
* Vt=2.5V (Logic Threshold), Ron=0.1 Ohm, Roff=10 MegOhm
.model SW_IDEAL SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=10Meg)

* ==============================================================================
* POWER SUPPLIES
* ==============================================================================
* V1: 5V DC Supply for Logic and Relay Coil
V1 VCC 0 DC 5
* ... (truncated in public view) ...

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

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

* Practical case: Logic AND gate controlling a relay and motor

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

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

* Ideal Switch Model for Buttons and Relay Contact
* Vt=2.5V (Logic Threshold), Ron=0.1 Ohm, Roff=10 MegOhm
.model SW_IDEAL SW(Vt=2.5 Vh=0.1 Ron=0.1 Roff=10Meg)

* ==============================================================================
* POWER SUPPLIES
* ==============================================================================
* V1: 5V DC Supply for Logic and Relay Coil
V1 VCC 0 DC 5

* V2: 12V DC Supply for Motor
V2 V_MOTOR_RAIL 0 DC 12

* ==============================================================================
* INPUT STAGE (Safety Switches)
* ==============================================================================
* Simulation of User Pressing Buttons:
* We use Pulse sources (V_ACT_...) to control ideal switches (S1, S2).
* This preserves the Pull-down resistor topology.

* S1: Left Safety Switch (Pushbutton NO)
* Connects VCC to BTN_L when pressed.
* Pulse Pattern: Period 120us, Pulse 50us (Tests asynchronous press)
V_ACT_L ACT_L 0 PULSE(0 5 10u 1u 1u 50u 120u)
S1 VCC BTN_L ACT_L 0 SW_IDEAL
R1 BTN_L 0 10k

* S2: Right Safety Switch (Pushbutton NO)
* Connects VCC to BTN_R when pressed.
* Pulse Pattern: Period 100us, Pulse 50us
V_ACT_R ACT_R 0 PULSE(0 5 20u 1u 1u 50u 100u)
S2 VCC BTN_R ACT_R 0 SW_IDEAL
R2 BTN_R 0 10k

* ==============================================================================
* LOGIC STAGE (U1: 74HC00 Quad NAND)
* ==============================================================================
* Implementing logic using Behavioral Voltage Sources (B-Sources) with continuous
* sigmoid functions for convergence robustness.
* Logic High = 5V, Logic Low = 0V. Threshold ~ 2.5V.

* U1 Gate 1: Inputs BTN_L (Pin 1), BTN_R (Pin 2) -> Output NAND_INTER (Pin 3)
* Function: NAND(BTN_L, BTN_R)
B_U1_G1 NAND_INTER 0 V=5 * (1 - ( (1/(1+exp(-20*(V(BTN_L)-2.5)))) * (1/(1+exp(-20*(V(BTN_R)-2.5)))) ))

* U1 Gate 2: Inputs NAND_INTER (Pin 4, 5) -> Output LOGIC_OUT (Pin 6)
* Function: NAND(NAND_INTER, NAND_INTER) = NOT(NAND_INTER)
* Combined Function: AND(BTN_L, BTN_R)
B_U1_G2 LOGIC_OUT 0 V=5 * (1 - ( (1/(1+exp(-20*(V(NAND_INTER)-2.5)))) * (1/(1+exp(-20*(V(NAND_INTER)-2.5)))) ))

* ==============================================================================
* OUTPUT DRIVER STAGE
* ==============================================================================
* R3: Base current limiting
R3 LOGIC_OUT BASE 1k

* Q1: 2N2222 Relay Driver
* Emitter to GND, Collector to RELAY_COIL_LO
Q1 RELAY_COIL_LO BASE 0 2N2222MOD

* ==============================================================================
* RELAY STAGE (K1)
* ==============================================================================
* Relay Coil Configuration:
* Connected between VCC and RELAY_COIL_LO.
* Modeled as Inductor + Series Resistor.
L_K1 VCC K1_NODE 10m
R_K1 K1_NODE RELAY_COIL_LO 100

* D1: Flyback Diode (1N4007)
* Anode to RELAY_COIL_LO, Cathode to VCC (Reverse biased)
D1 RELAY_COIL_LO VCC D1N4007

* Relay Contact (Switch):
* Logic: Switch closes when Coil is energized.
* Coil is energized when Q1 is ON (RELAY_COIL_LO is Low).
* Control Voltage = V(VCC) - V(RELAY_COIL_LO).
* If Q1 ON: 5V - 0.2V = 4.8V (> 2.5V Threshold) -> Switch CLOSED.
* If Q1 OFF: 5V - 5V = 0V (< 2.5V Threshold) -> Switch OPEN.
B_K1_CTRL K1_CTRL 0 V = V(VCC) - V(RELAY_COIL_LO)
S_K1 V_MOTOR_RAIL MOTOR_POS K1_CTRL 0 SW_IDEAL

* ==============================================================================
* LOAD (Motor M1)
* ==============================================================================
* M1: 12V DC Motor connected between MOTOR_POS and 0
* Modeled as Resistor + Inductor
R_M1 MOTOR_POS M1_INT 20
L_M1 M1_INT 0 5m

* ==============================================================================
* ANALYSIS COMMANDS
* ==============================================================================
.op
* Transient analysis: 1us step, 500us total time
.tran 1u 500u

* Print results for batch processing
* Inputs: BTN_L, BTN_R
* Output: MOTOR_POS (Load Voltage)
* Debug: LOGIC_OUT, RELAY_COIL_LO
.print tran V(BTN_L) V(BTN_R) V(MOTOR_POS) V(LOGIC_OUT) V(RELAY_COIL_LO) I(L_M1)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation confirms the AND logic behavior. The motor voltage (v(motor_pos)) only goes high (~12V) when both inputs (v(btn_l) and v(btn_r)) are high (~5V) simultaneously (e.g., around time index 60-100 and 300-340). When only one or neither is high, the motor voltage remains near zero.
Show raw data table (1202 rows)
Index   time            v(btn_l)        v(btn_r)        v(motor_pos)    v(logic_out)    v(relay_coil_lo l_m1#branch
0	0.000000e+00	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
1	1.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
2	2.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
3	4.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
4	8.000000e-08	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
5	1.600000e-07	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
6	3.200000e-07	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
7	6.400000e-07	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
8	1.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
9	2.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
10	3.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
11	4.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
12	5.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
13	6.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
14	7.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
15	8.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
16	9.280000e-06	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
17	1.000000e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
18	1.010000e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
19	1.027500e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
20	1.032344e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
21	1.040820e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
22	1.043167e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
23	1.047272e-05	4.995005e-03	4.995005e-03	2.399995e-05	-6.01853e-36	5.000000e+00	1.199998e-06
... (1178 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 provoca que las entradas de la puerta NAND queden flotantes, a menudo leyéndose como «Alto» debido al ruido. Solución: Asegúrate de que las resistencias pull-down estén firmemente conectadas a Tierra.
  2. Falta del diodo flyback: Omitir D1 crea picos de voltaje cuando el relé se apaga, lo que puede destruir Q1 o reiniciar el chip lógico. Solución: Coloca siempre un diodo a través de la bobina del relé (Cátodo al positivo).
  3. Accionamiento directo: Intentar accionar el motor o el relé directamente desde el pin de salida del 74HC00. Solución: Utiliza siempre un transistor (Q1) para amplificar la corriente para cargas inductivas como relés.

Solución de problemas

  • El motor funciona inmediatamente al encender: Comprueba si S1 o S2 están cableados como Normalmente Cerrados en lugar de Normalmente Abiertos, o si el transistor Q1 está en cortocircuito.
  • El relé hace clic pero el motor no funciona: Comprueba la fuente de alimentación V2 y las conexiones en los contactos del relé (COM y NO).
  • La lógica funciona pero se calienta: Comprueba si VCC (Pin 14) y GND (Pin 7) están invertidos. Desconecta la alimentación inmediatamente.
  • Comportamiento errático: Añade un condensador de desacoplo de 100 nF entre el Pin 14 y el Pin 7 del CI, cerca del chip.

Posibles mejoras y extensiones

  1. Parada de emergencia: Añade un botón de enclavamiento Normalmente Cerrado (NC) en serie con la bobina del relé o la resistencia de base R3 para cortar la alimentación instantáneamente independientemente del estado lógico.
  2. Retroalimentación visual: Añade un LED verde (con una resistencia de 330 Ω) conectado al nodo LOGIC_OUT para indicar cuándo se cumple la condición de seguridad, incluso si la alimentación del motor (V2) está apagada.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




Pregunta 2: ¿Qué componente lógico principal se utiliza para construir el circuito de seguridad?




Pregunta 3: ¿Qué función lógica se busca imitar utilizando las puertas NAND universales?




Pregunta 4: ¿Cuál es la utilidad principal de este sistema en un entorno industrial?




Pregunta 5: ¿Qué sucede con el motor si solo se presiona uno de los pulsadores?




Pregunta 6: ¿Qué voltaje se espera en la salida lógica cuando se realiza una 'Pulsación dual'?




Pregunta 7: ¿Qué estado tiene la salida lógica en el 'Estado de reposo'?




Pregunta 8: ¿Qué tipo de dispositivo de seguridad imita este circuito?




Pregunta 9: ¿Qué ocurre con el relé cuando la salida lógica pasa a HIGH?




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




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

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

Sígueme:


Caso práctico: Sistema de votación con veto

Prototipo de Sistema de votación con veto (Maker Style)

Nivel: Básico
Implemente un circuito lógico donde una propuesta se aprueba solo si dos miembros votan «Sí» y un tercer miembro otorga su aprobación (sin veto), utilizando un único CI 74HC00.

Objetivo y caso de uso

En este caso práctico, construirá un circuito de toma de decisiones utilizando lógica digital. El sistema representa un comité donde el Miembro A y el Miembro B deben votar a favor para que se apruebe una moción, pero el Miembro C (el Presidente) posee una «Llave de autorización». Si el Miembro C no activa su interruptor (Lógica Baja), el voto es vetado independientemente de A y B.

  • Gobierno corporativo: Modela una junta directiva donde se necesita el apoyo de la mayoría, pero el CEO tiene la aprobación final.
  • Enclavamientos de seguridad: Representa una prensa mecánica donde dos operadores deben presionar botones (A y B), pero se debe insertar una llave de Habilitación Maestra (C) para que la máquina funcione.
  • Acceso de seguridad: Requiere dos llaves de usuario distintas más una señal de autorización del servidor central.

Resultado esperado:
* Salida Alta (LED ENCENDIDO): Solo cuando la Entrada A es Alta, la Entrada B es Alta Y la Entrada C es Alta.
* Salida Baja (LED APAGADO): Cualquier otra combinación (por ejemplo, si A o B votan «No», o si C ejerce el veto poniendo su entrada en Bajo).
* Público objetivo: Estudiantes y aficionados que aprenden a construir funciones lógicas complejas (AND de 3 entradas) utilizando puertas NAND universales.

Materiales

  • U1: 74HC00 (Cuádruple puerta NAND de 2 entradas)
  • SW1: Interruptor DIP de 3 posiciones (o tres interruptores SPST individuales), función: Entradas A, B y C
  • R1: Resistencia de 10 kΩ, función: pull-down para la Entrada A
  • R2: Resistencia de 10 kΩ, función: pull-down para la Entrada B
  • R3: Resistencia de 10 kΩ, función: pull-down para la Entrada C
  • R4: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: Indicador de salida lógica
  • V1: Fuente de alimentación de 5 V CC

Pin-out del CI utilizado

Chip: 74HC00 (Cuádruple NAND de 2 entradas)
Este proyecto utiliza las cuatro puertas dentro del chip para crear una función AND de 3 entradas (Y = A · B · C).

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada Conectar al Interruptor A
2 1B Entrada Conectar al Interruptor B
3 1Y Salida Salida de la Puerta 1 (\overlineA · B)
4 2 A Entrada Conectar al Pin 3 (1Y)
5 2B Entrada Conectar al Pin 3 (1Y)
6 2Y Salida Salida de la Puerta 2 (1Y invertida \to A · B)
7 GND Tierra Conectar a la Fuente de Alimentación 0 V
8 3Y Salida Salida de la Puerta 3 (\overline(A · B) · C)
9 3 A Entrada Conectar al Interruptor C
10 3B Entrada Conectar al Pin 6 (2Y)
11 4Y Salida Salida final (controla el LED)
12 4 A Entrada Conectar al Pin 8 (3Y)
13 4B Entrada Conectar al Pin 8 (3Y)
14 VCC Alimentación Conectar a +5 V

Guía de conexionado

  • VCC: Conectar el terminal positivo de V1, el pin 14 de U1 y el lado común de SW1.
  • GND: Conectar el terminal negativo de V1, el pin 7 de U1, R1 (parte inferior), R2 (parte inferior), R3 (parte inferior) y D1 (cátodo).
  • Input_A: Conectar SW1 (Interruptor 1) a R1 (parte superior) y al pin 1 de U1.
  • Input_B: Conectar SW1 (Interruptor 2) a R2 (parte superior) y al pin 2 de U1.
  • Input_C (Veto): Conectar SW1 (Interruptor 3) a R3 (parte superior) y al pin 9 de U1.
  • Node_NAND1: Conectar el pin 3 de U1 (Salida 1) al pin 4 de U1 y al pin 5 de U1 (Entradas de la Puerta 2).
  • Node_AND_AB: Conectar el pin 6 de U1 (Salida 2) al pin 10 de U1 (Entrada de la Puerta 3).
  • Node_NAND_FINAL: Conectar el pin 8 de U1 (Salida 3) al pin 12 de U1 y al pin 13 de U1 (Entradas de la Puerta 4).
  • Vout: Conectar el pin 11 de U1 (Salida Final) a R4 (un lado).
  • LED_Anode: Conectar R4 (el otro lado) a D1 (ánodo).

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

Practical Case: Veto Voting System (74HC00 Logic Flow)

INPUTS (Active High)           LOGIC PROCESSING (74HC00 Quad NAND)                               OUTPUT
=======================================================================================================

[ SW A + R1 ] --(Pin 1)-->+
                          |
                    [ U1: Gate 1 ] --(Pin 3)--> [ U1: Gate 2 ] --(Pin 6)---+
                    [ 2-In NAND  ]              [ NAND as NOT]             |
                          |                     (Pins 4+5)                 |
[ SW B + R2 ] --(Pin 2)-->+                                                |
                                                                           |
                                                                           v
                                                                     [ U1: Gate 3 ] --(Pin 8)--> [ U1: Gate 4 ] --(Pin 11)--> [ R4: 330R ] --> [ D1: LED ] --> GND
                                                                     [ 2-In NAND  ]              [ NAND as NOT]
                                                                     (Pin 10)      \             (Pins 12+13)
                                                                                    \
[ SW C + R3 ] -------------------------------------------------------(Pin 9)---------+
(Veto/Enable)

=======================================================================================================
Logic Summary:
1. Gate 1 & 2 form an AND gate for Inputs A & B.
2. Gate 3 & 4 form an AND gate for (Result of A/B) & Input C.
3. Final Function: LED turns ON only if A AND B AND C are all High.
Esquema Eléctrico

Tabla de verdad

El circuito implementa la función lógica Y = A · B · C.
* A/B: Votantes
* C: Presidente/Autorización (0 = Veto/Bloqueo, 1 = Permitir)

Entrada A (Votante 1) Entrada B (Votante 2) Entrada C (Autorización) Salida Y (LED) Resultado
0 0 0 0 Fallo
0 1 1 0 Fallo (Falta de votos)
1 0 1 0 Fallo (Falta de votos)
1 1 0 0 VETADO
1 1 1 1 Aprobado

Mediciones y pruebas

  1. Verificación de alimentación: Antes de insertar el CI, verifique 5 V entre las líneas VCC y GND en su protoboard.
  2. Estado predeterminado: Asegúrese de que todos los interruptores estén en OFF (apagados). Encienda la alimentación. El LED debe estar APAGADO.
  3. Prueba de veto: Ponga el Interruptor A y el Interruptor B en ON (Alto). Mantenga el Interruptor C en OFF (Bajo).
    • Observación: El LED debe permanecer APAGADO. Esto confirma que el Veto está activo.
  4. Prueba de aprobación: Con A y B aún en ON, ponga el Interruptor C en ON.
    • Observación: El LED debe encenderse (Lógica Alta, aprox. 3.5 V – 4.5 V).
  5. Prueba de voto único: Ponga el Interruptor A en OFF mientras B y C están en ON.
    • Observación: El LED debe apagarse.

Netlist SPICE y simulación

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

* Practical case: Veto Voting System
.width out=256

* ==============================================================================
* Components and Models
* ==============================================================================

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

* 74HC00 Quad 2-Input NAND Gate Subcircuit
* Pins: 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
* Logic Threshold (2.5V) and Gain (20)
.param Vth=2.5
.param K=20
* Gate 1: Inputs 1,2 -> Output 3
B1 3 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(1,7)-Vth)))) * (1/(1+exp(-K*(V(2,7)-Vth)))))
* Gate 2: Inputs 4,5 -> Output 6
B2 6 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(4,7)-Vth)))) * (1/(1+exp(-K*(V(5,7)-Vth)))))
* ... (truncated in public view) ...

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

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

* Practical case: Veto Voting System
.width out=256

* ==============================================================================
* Components and Models
* ==============================================================================

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

* 74HC00 Quad 2-Input NAND Gate Subcircuit
* Pins: 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
* Logic Threshold (2.5V) and Gain (20)
.param Vth=2.5
.param K=20
* Gate 1: Inputs 1,2 -> Output 3
B1 3 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(1,7)-Vth)))) * (1/(1+exp(-K*(V(2,7)-Vth)))))
* Gate 2: Inputs 4,5 -> Output 6
B2 6 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(4,7)-Vth)))) * (1/(1+exp(-K*(V(5,7)-Vth)))))
* Gate 3: Inputs 9,10 -> Output 8
B3 8 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(9,7)-Vth)))) * (1/(1+exp(-K*(V(10,7)-Vth)))))
* Gate 4: Inputs 12,13 -> Output 11
B4 11 7 V = V(14,7) * (1 - (1/(1+exp(-K*(V(12,7)-Vth)))) * (1/(1+exp(-K*(V(13,7)-Vth)))))
.ends 74HC00

* ==============================================================================
* Main Circuit Wiring
* ==============================================================================

* Power Supply (V1)
V1 VCC 0 DC 5

* Inputs (Simulating Switches SW1 positions A, B, C)
* Generating dynamic pulses to test the truth table (000 to 111)
* Input A (LSB, Period 100us)
Va Input_A 0 PULSE(0 5 10u 1u 1u 50u 100u)
* Input B (Period 200us)
Vb Input_B 0 PULSE(0 5 10u 1u 1u 100u 200u)
* Input C (MSB, Period 400us)
Vc Input_C 0 PULSE(0 5 10u 1u 1u 200u 400u)

* Pull-down Resistors (R1, R2, R3)
R1 Input_A 0 10k
R2 Input_B 0 10k
R3 Input_C 0 10k

* Logic IC U1 (74HC00)
* Connectivity based on Wiring Guide:
* Pin 1 (In A) -> Input_A
* Pin 2 (In B) -> Input_B
* Pin 3 (Out 1) -> Node_NAND1
* Pin 4 (In 2A) -> Node_NAND1
* Pin 5 (In 2B) -> Node_NAND1
* Pin 6 (Out 2) -> Node_AND_AB
* Pin 7 (GND)   -> 0
* Pin 8 (Out 3) -> Node_NAND_FINAL
* Pin 9 (In 3A) -> Input_C
* Pin 10 (In 3B)-> Node_AND_AB
* Pin 11 (Out 4)-> Vout
* Pin 12 (In 4A)-> Node_NAND_FINAL
* Pin 13 (In 4B)-> Node_NAND_FINAL
* Pin 14 (VCC)  -> VCC
XU1 Input_A Input_B Node_NAND1 Node_NAND1 Node_NAND1 Node_AND_AB 0 Node_NAND_FINAL Input_C Node_AND_AB Vout Node_NAND_FINAL Node_NAND_FINAL VCC 74HC00

* Output Stage
R4 Vout LED_Anode 330
D1 LED_Anode 0 DLED

* ==============================================================================
* Simulation Commands
* ==============================================================================

.op
.tran 1u 500u

* Print Inputs and Output to check logic (Vout should be High only when A, B, C are High)
.print tran V(Input_A) V(Input_B) V(Input_C) V(Vout)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation successfully sweeps inputs A, B, and C. Vout is High (5V) only when A, B, and C are all High (e.g., around 33us, 301us, 559us). In all other states (000, 011, 101, 110, etc.), Vout remains Low (~0V). This matches the logic Y = A · B · C.
Show raw data table (671 rows)
Index   time            v(input_a)      v(input_b)      v(input_c)      v(vout)
0	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
1	1.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
2	2.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
3	4.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
4	8.000000e-08	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
5	1.600000e-07	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
6	3.200000e-07	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
7	6.400000e-07	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
8	1.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
9	2.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
10	3.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
11	4.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
12	5.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
13	6.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
14	7.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
15	8.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
16	9.280000e-06	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
17	1.000000e-05	0.000000e+00	0.000000e+00	0.000000e+00	-6.01853e-36
18	1.010000e-05	5.000000e-01	5.000000e-01	5.000000e-01	-6.01853e-36
19	1.030000e-05	1.500000e+00	1.500000e+00	1.500000e+00	-6.01853e-36
20	1.048757e-05	2.437858e+00	2.437858e+00	2.437858e+00	-6.01853e-36
21	1.071179e-05	3.558937e+00	3.558937e+00	3.558937e+00	5.000000e+00
22	1.085965e-05	4.298271e+00	4.298271e+00	4.298271e+00	5.000000e+00
23	1.099537e-05	4.976846e+00	4.976846e+00	4.976846e+00	5.000000e+00
... (647 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar las resistencias pull-down (R1, R2, R3). Sin ellas, las entradas CMOS del 74HC00 flotarán, causando conmutación errática u oscilación.
  2. Confundir el pinout: El pinout del 74HC00 es estándar, pero mezclar los pines de Entrada (por ejemplo, 1 A/1B) con los pines de Salida (por ejemplo, 1Y) es común. Verifique dos veces el diagrama de la hoja de datos.
  3. Malinterpretar el «Veto»: En este diseño, la Entrada C es una línea de «Habilitación» (Activa Alta). Si piensa en el Veto como «Interruptor ON para Bloquear» (lógica Activa Baja), el cableado del Interruptor C necesitaría ser invertido. Aquí, Interruptor C ON significa «Autorizar».

Solución de problemas

  • El LED nunca se enciende: Compruebe que la polaridad del LED sea correcta (Ánodo a la resistencia, Cátodo a GND). Verifique que U1 esté alimentado (Pin 14 a 5 V, Pin 7 a GND).
  • El LED permanece encendido incluso cuando los interruptores están en OFF: Compruebe si faltan o están desconectadas R1, R2 o R3. Asegúrese de no estar utilizando interruptores NC (Normalmente Cerrados) por error.
  • El circuito funciona para A y B pero C no tiene efecto: Compruebe el cableado en la Puerta 3 (Pines 8, 9, 10). Asegúrese de que el pin 9 se conecte al Interruptor C y el pin 10 se conecte a la salida de la etapa anterior (Pin 6).

Posibles mejoras y extensiones

  1. Indicador de veto: Añada un segundo LED (Verde) controlado por una puerta no utilizada (o un transistor) conectado a la Entrada C, indicando «Sesión Abierta» (Autorización Concedida) o «Sesión Bloqueada» (Veto).
  2. Modificación de voto por mayoría: Rediseñe el circuito para permitir que la propuesta se apruebe si cualesquiera dos de los tres miembros (A, B, C) votan Sí, eliminando el poder de veto específico y haciendo que todos los miembros sean iguales.

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 específico se utiliza para implementar la lógica del sistema?




Pregunta 2: ¿Cuál es la función del Miembro C (Presidente) en el circuito propuesto?




Pregunta 3: ¿Qué condición es necesaria para que la salida sea Alta (LED ENCENDIDO)?




Pregunta 4: ¿Qué tipo de puertas lógicas contiene internamente el CI 74HC00?




Pregunta 5: ¿Qué sucede si el Miembro C pone su entrada en Bajo (Lógica Baja)?




Pregunta 6: ¿Qué función lógica final se busca construir utilizando el CI 74HC00 en este ejercicio?




Pregunta 7: ¿Cuál es un ejemplo de uso de 'Enclavamientos de seguridad' mencionado en el texto?




Pregunta 8: ¿Qué nivel de dificultad se asigna a este ejercicio práctico según el contexto?




Pregunta 9: ¿Qué representa el sistema en el ejemplo de 'Gobierno corporativo'?




Pregunta 10: ¿Cuántos miembros deben votar 'Sí' (además de la aprobación del tercero) para que la propuesta se apruebe?




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

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

Sígueme:


Caso práctico: Control de nivel de tanque de agua

Prototipo de Control de nivel de tanque de agua (Maker Style)

Nivel: Básico. Implementa una parada de seguridad lógica para una bomba de agua usando una compuerta NAND.

Objetivo y caso de uso

En esta sesión, construirás un circuito digital de seguridad utilizando una compuerta NAND 74HC00. El circuito monitorea dos sensores de nivel de líquido y corta automáticamente la energía a una «bomba» (simulada por un LED) solo cuando ambos sensores indican que el tanque está peligrosamente lleno.

  • Llenado de tanques industriales: Previene derrames químicos asegurando que los sensores redundantes coincidan antes de activar un apagado de emergencia.
  • Sistemas de bombas de sumidero: Previene el quemado del motor o desbordamientos gestionando estados lógicos entre las marcas de nivel alto y desbordamiento crítico.
  • Domótica: Lógica simple para la gestión de depósitos sin necesidad de un microcontrolador.

Resultado esperado:
* Operación normal: El LED (bomba) permanece ENCENDIDO (Lógica Alta, ~5 V) cuando el tanque está vacío o parcialmente lleno.
* Parada de emergencia: El LED se APAGA (Lógica Baja, ~0 V) inmediatamente cuando ambas entradas de interruptor están en Lógica Alta (simulando detección de agua).
* Validación: Se verificará una Tabla de verdad específica donde solo la condición de entrada 1, 1 resulta en una salida de 0.

Público objetivo: Estudiantes de electrónica de nivel básico y aficionados.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación del circuito principal.
  • U1: 74HC00, función: CI de cuatro compuertas NAND de 2 entradas.
  • S1: Interruptor de palanca SPST, función: Simulador de sensor de nivel alto.
  • S2: Interruptor de palanca SPST, función: Simulador de sensor de nivel de seguridad.
  • R1: Resistencia de 10 kΩ, función: Pull-down para S1.
  • R2: Resistencia de 10 kΩ, función: Pull-down para S2.
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED de estado de la bomba.
  • D1: LED verde, función: Indicador de estado de la bomba (ENCENDIDO = Funcionando, APAGADO = Detenida).

Pin-out del CI utilizado

Chip: 74HC00 (Cuatro compuertas NAND de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1 A Entrada A Conectado al Sensor S1
2 1B Entrada B Conectado al Sensor S2
3 1Y Salida Y Conectado al LED (Bomba)
7 GND Tierra Conectado a 0 V
14 VCC Alimentación Conectado a 5 V

Guía de conexionado

Construye el circuito siguiendo estas conexiones de nodos. Asegúrate de que la fuente de alimentación esté apagada mientras construyes.

  • Riel de alimentación: Conecta el terminal positivo de V1 al nodo VCC y el terminal negativo al nodo 0 (GND).
  • Alimentación del CI: Conecta el pin 14 de U1 a VCC y el pin 7 a 0.
  • Sensor 1 (Entrada A):
    • Conecta S1 entre VCC y el nodo SENSOR_HI.
    • Conecta R1 entre SENSOR_HI y 0 (Pull-down).
    • Conecta el pin 1 de U1 al nodo SENSOR_HI.
  • Sensor 2 (Entrada B):
    • Conecta S2 entre VCC y el nodo SENSOR_SAFE.
    • Conecta R2 entre SENSOR_SAFE y 0 (Pull-down).
    • Conecta el pin 2 de U1 al nodo SENSOR_SAFE.
  • Control de bomba (Salida):
    • Conecta el pin 3 de U1 al nodo PUMP_CTRL.
    • Conecta D1 (Ánodo) al nodo PUMP_CTRL.
    • Conecta D1 (Cátodo) al nodo LED_NODE.
    • Conecta R3 entre LED_NODE y 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: Water tank level control

      INPUTS (Sensors)                       PROCESSING (U1: 74HC00)                  OUTPUT (Pump Indicator)
   ======================                  ===========================              ===========================

   [ VCC ]
      |
   [ S1: High Sensor ]
      |
                      +--(Node: SENSOR_HI)---------------> [ U1: Pin 1 (Input A) ]
      |                                             |
   [ R1: 10k Pull-Down ]                            |
      |                                             v
   [ GND ]                                     [ NAND Gate ] --(Node: PUMP_CTRL)--> [ D1: Green LED ]
                                                    ^                                       |
                                                    |                               (Node: LED_NODE)
   [ VCC ]                                          |                                       |
      |                                             |                                  [ R3: 330R ]
   [ S2: Safe Sensor ]                              |                                       |
      |                                             |                                    [ GND ]
+--(Node: SENSOR_SAFE)-------------> [ U1: Pin 2 (Input B) ]
      |
   [ R2: 10k Pull-Down ]
      |
   [ GND ]

   (Note: U1 Power Connections -> Pin 14: VCC, Pin 7: GND)
Esquema Eléctrico

Tabla de verdad

El 74HC00 actúa como un bloqueo de seguridad. La bomba funciona (Salida 1) por defecto y solo se detiene (Salida 0) cuando se cumple la condición de peligro específica (1, 1).

S1 (Nivel alto) S2 (Nivel de seguridad) Voltaje en Pin 3 Estado de bomba (LED) Estado lógico
0 (Seco) 0 (Seco) Alto (~5 V) ENCENDIDO Seguro
0 (Seco) 1 (Húmedo) Alto (~5 V) ENCENDIDO Error de sensor/Seguro
1 (Húmedo) 0 (Seco) Alto (~5 V) ENCENDIDO Nivel de advertencia
1 (Húmedo) 1 (Húmedo) Bajo (~0 V) APAGADO PARADA (Peligro)

Mediciones y pruebas

  1. Comprobación del estado por defecto: Asegúrate de que S1 y S2 estén abiertos (OFF). Enciende el circuito. Mide el voltaje en el nodo PUMP_CTRL con respecto a GND. Debería leer aproximadamente 5 V. El LED verde debería estar encendido.
  2. Prueba de un solo sensor: Cierra solo S1. El LED debería permanecer ENCENDIDO. Abre S1 y cierra solo S2. El LED debería permanecer ENCENDIDO.
  3. Prueba de parada de seguridad: Cierra ambos S1 y S2 simultáneamente.
    • Mide el voltaje en el nodo PUMP_CTRL. Debería caer a cerca de 0 V (< 0.1 V).
    • Confirma que el LED se APAGA inmediatamente.
  4. Recuperación: Abre cualquiera de los interruptores; el LED debería volver a ENCENDERSE.

Netlist SPICE y simulación

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

* Practical case: Water tank level control
.width out=256

* --- Models ---
* Generic Green LED Model
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)
* Ideal Voltage-Controlled Switch Model
.model SW_IDEAL sw(vt=2.5 vh=0 ron=1 roff=10Meg)

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

* --- Input Sensors (Switches + Pull-downs) ---
* S1: High Level Sensor simulator
* Modeled as a switch connected to VCC, controlled by a pulse source (V_ACT1)
* Timing: Period 100us, covers logic states quickly
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC SENSOR_HI ACT1 0 SW_IDEAL
R1 SENSOR_HI 0 10k
* ... (truncated in public view) ...

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

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

* Practical case: Water tank level control
.width out=256

* --- Models ---
* Generic Green LED Model
.model DLED D(IS=1e-14 N=2 RS=10 BV=5 IBV=10u CJO=10p)
* Ideal Voltage-Controlled Switch Model
.model SW_IDEAL sw(vt=2.5 vh=0 ron=1 roff=10Meg)

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

* --- Input Sensors (Switches + Pull-downs) ---
* S1: High Level Sensor simulator
* Modeled as a switch connected to VCC, controlled by a pulse source (V_ACT1)
* Timing: Period 100us, covers logic states quickly
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 50u 100u)
S1 VCC SENSOR_HI ACT1 0 SW_IDEAL
R1 SENSOR_HI 0 10k

* S2: Safety Level Sensor simulator
* Modeled as a switch connected to VCC, controlled by a pulse source (V_ACT2)
* Timing: Period 200us, provides different state combinations with S1
V_ACT2 ACT2 0 PULSE(0 5 0 1u 1u 100u 200u)
S2 VCC SENSOR_SAFE ACT2 0 SW_IDEAL
R2 SENSOR_SAFE 0 10k

* --- Logic IC: U1 (74HC00 Quad 2-Input NAND Gate) ---
* Wiring Guide connections:
* Pin 1 (Input A) -> SENSOR_HI
* Pin 2 (Input B) -> SENSOR_SAFE
* Pin 3 (Output)  -> PUMP_CTRL
* Pin 7 (GND)     -> 0
* Pin 14 (VCC)    -> VCC

.subckt 74HC00 1 2 3 7 14
    * Behavioral NAND implementation using continuous sigmoid functions for convergence
    * V(3) = VCC * (1 - (Sigmoid(In1) * Sigmoid(In2)))
    * Threshold is set to VCC/2 (approx 2.5V)
    B_NAND 3 7 V = V(14) * (1 - ( (1/(1+exp(-50*(V(1)-0.5*V(14))))) * (1/(1+exp(-50*(V(2)-0.5*V(14))))) ))
.ends

XU1 SENSOR_HI SENSOR_SAFE PUMP_CTRL 0 VCC 74HC00

* --- Output Stage ---
* D1: Pump Status LED (Green)
* R3: Current limiting resistor
D1 PUMP_CTRL LED_NODE DLED
R3 LED_NODE 0 330

* --- Simulation Directives ---
.op
* Transient analysis for 500us to capture full truth table sequence
.tran 1u 500u

* --- Output Printing ---
* Required to generate simulation log
.print tran V(SENSOR_HI) V(SENSOR_SAFE) V(PUMP_CTRL) V(LED_NODE)

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation successfully cycles through all 4 logic states. When both inputs are High (~5V), the output PUMP_CTRL goes Low (~0V) and the LED voltage drops to ~0V (OFF). In all other states (00, 01, 10), the output is High (~5V) and the LED node is ~3.46V (ON).
Show raw data table (810 rows)
Index   time            v(sensor_hi)    v(sensor_safe)  v(pump_ctrl)    v(led_node)
0	0.000000e+00	4.995005e-03	4.995005e-03	5.000000e+00	3.463208e+00
1	1.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
2	2.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
3	4.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
4	8.000000e-08	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
5	1.600000e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
6	3.200000e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
7	3.562500e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
8	4.196875e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
9	4.372461e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
10	4.679736e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
11	4.795524e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
12	4.902290e-07	4.995005e-03	4.995005e-03	5.000000e+00	3.463209e+00
13	5.023412e-07	4.999500e+00	4.999500e+00	4.417025e-69	-7.81556e-01
14	5.138120e-07	4.999500e+00	4.999500e+00	4.417025e-69	1.002344e-01
15	5.170059e-07	4.999500e+00	4.999500e+00	4.417025e-69	3.466376e-02
16	5.182905e-07	4.999500e+00	4.999500e+00	4.417025e-69	2.349502e-02
17	5.201200e-07	4.999500e+00	4.999500e+00	4.417025e-69	1.345184e-02
18	5.222326e-07	4.999500e+00	4.999500e+00	4.417025e-69	7.036188e-03
19	5.244685e-07	4.999500e+00	4.999500e+00	4.417025e-69	3.539225e-03
20	5.268938e-07	4.999500e+00	4.999500e+00	4.417025e-69	1.673565e-03
21	5.291278e-07	4.999500e+00	4.999500e+00	4.417025e-69	8.446489e-04
22	5.313933e-07	4.999500e+00	4.999500e+00	4.417025e-69	4.221950e-04
23	5.337647e-07	4.999500e+00	4.999500e+00	4.417025e-69	2.037947e-04
... (786 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 resulta en conmutaciones erráticas porque las entradas CMOS captan ruido eléctrico cuando los interruptores están abiertos. Solución: Asegúrate siempre de que las entradas estén conectadas a Tierra a través de resistencias cuando el interruptor esté abierto.
  2. Polaridad del LED: Conectar el LED al revés evita que se encienda incluso cuando la lógica es Alta. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia el pin de salida del CI.
  3. Cortocircuitar la salida a Tierra: Conectar el Pin 3 directamente a Tierra para «probarlo» dañará el CI cuando intente emitir una salida Alta. Solución: Mide siempre el voltaje con un multímetro en paralelo, nunca fuerces un nodo a tierra con un cable.

Solución de problemas

  • Síntoma: El LED siempre está ENCENDIDO, incluso cuando ambos interruptores están cerrados.
    • Causa: Las resistencias R1/R2 podrían estar conectadas a VCC en lugar de GND, o el CI está puenteado.
    • Solución: Verifica que R1 y R2 se conecten al riel negativo (0) y los interruptores se conecten a VCC.
  • Síntoma: El LED nunca se ENCIENDE.
    • Causa: LED invertido o R3 tiene un valor demasiado alto/abierto.
    • Solución: Verifica la orientación de D1 y la continuidad de R3.
  • Síntoma: El circuito se comporta de manera errática al tocar los cables.
    • Causa: Entradas flotantes (Faltan resistencias pull-down).
    • Solución: Verifica que R1 y R2 estén conectados firmemente al nodo 0.

Posibles mejoras y extensiones

  1. Alarma visual y sonora: Conecta un zumbador activo adicional (a través de un controlador de transistor) a la salida, pero invierte la señal primero para que el zumbador suene cuando la bomba se detenga.
  2. Accionamiento de motor: Reemplaza el LED con un transistor NPN (como el 2N2222) y un relé para controlar un motor de bomba de agua de CC real, añadiendo un diodo flyback para protección.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Qué componente principal se utiliza para construir el circuito digital de seguridad?




Pregunta 2: ¿Qué elemento físico simula la 'bomba de agua' en este circuito?




Pregunta 3: ¿Cuál es la condición lógica de entrada que provoca que la bomba (LED) se apague?




Pregunta 4: ¿Qué voltaje aproximado representa el estado de 'Operación normal' (LED encendido)?




Pregunta 5: ¿Qué ventaja se menciona sobre el uso de este circuito en domótica?




Pregunta 6: ¿Cuál es el propósito de la 'Parada de emergencia' descrita?




Pregunta 7: ¿Qué tipo de lógica se utiliza para gestionar el depósito según el contexto?




Pregunta 8: ¿Qué previene el sistema en el caso de uso de 'Sistemas de bombas de sumidero'?




Pregunta 9: ¿Qué ocurre en 'Operación normal' si el tanque está vacío o parcialmente lleno?




Pregunta 10: ¿Por qué se menciona el 'Llenado de tanques industriales' como caso de uso?




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

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

Sígueme:


Caso práctico: Alarma de seguridad con sensor de ventana

Prototipo de Alarma de seguridad con sensor de ventana (Maker Style)

Nivel: Básico | Construye un sistema de alarma a prueba de fallos utilizando lógica NAND para detectar ventanas abiertas.

Objetivo y caso de uso

En este caso práctico, construirás un circuito lógico digital que monitorea dos sensores de ventana. La alarma permanecerá en silencio (LED APAGADO) solo cuando ambas ventanas estén cerradas de forma segura. Si se abre alguna ventana —o si se corta un cable— la alarma se activa (LED ENCENDIDO).

  • Seguridad en el hogar: Monitoreo de múltiples puntos de entrada (ventanas/puertas) donde todos deben estar cerrados para asegurar el perímetro.
  • Seguridad en maquinaria: Asegurar que todas las guardas de seguridad o compuertas de mantenimiento estén cerradas antes de que una máquina pueda operar (o señalar un fallo si se abren).
  • Diseño a prueba de fallos: Demostración de cómo los bucles activos en alto (active-high) detectan cables rotos o interruptores abiertos como condiciones de alarma.

Resultado esperado:
* Estado seguro: Cuando ambos interruptores (ventanas) están cerrados (Lógica 1), la Salida es 0 V (LED APAGADO).
* Estado de alarma: Si el Interruptor 1 O el Interruptor 2 se abren (Lógica 0), la Salida sube a ≈ 5 V (LED ENCENDIDO).
* Verificación lógica: Confirmación del comportamiento de la tabla de verdad NAND donde la Salida es BAJA (LOW) solo si todas las entradas son ALTAS (HIGH).

Público objetivo: Estudiantes de electrónica y aficionados que aprenden sobre puertas lógicas digitales básicas.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: Alimentación principal del circuito
  • U1: 74HC00, función: CI de cuádruple puerta NAND de 2 entradas
  • SW1: Interruptor SPST, función: Sensor de ventana 1 (Cerrado = Ventana cerrada)
  • SW2: Interruptor SPST, función: Sensor de ventana 2 (Cerrado = Ventana cerrada)
  • R1: Resistencia de 10 kΩ, función: Pull-down para SW1
  • R2: Resistencia de 10 kΩ, función: Pull-down para SW2
  • R3: Resistencia de 330 Ω, función: Limitación de corriente para el LED
  • D1: LED rojo, función: Indicador de alarma

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 A Conectado al Nodo SENS1
2 1B Entrada B Conectado al Nodo SENS2
3 1Y Salida Conectado al Nodo ALARM_OUT
7 GND Tierra Conectado al Nodo 0 (GND)
14 VCC Alimentación Conectado al Nodo VCC (5 V)

Guía de conexionado

Esta guía utiliza nombres de nodos específicos para ayudarte a visualizar las conexiones en una protoboard.

  • Riel de alimentación: Conecta el terminal positivo de V1 al nodo VCC y el terminal negativo al nodo 0.
  • Alimentación del CI: Conecta el pin 14 de U1 a VCC y el pin 7 de U1 a 0.
  • Sensor 1: Conecta SW1 entre VCC y el nodo SENS1.
  • Pull-down 1: Conecta R1 entre SENS1 y 0.
  • Sensor 2: Conecta SW2 entre VCC y el nodo SENS2.
  • Pull-down 2: Conecta R2 entre SENS2 y 0.
  • Entrada lógica: Conecta el pin 1 (1 A) de U1 a SENS1 y el pin 2 (1B) de U1 a SENS2.
  • Salida lógica: Conecta el pin 3 (1Y) de U1 al nodo ALARM_OUT.
  • Indicador: Conecta R3 entre ALARM_OUT y el Ánodo de D1.
  • Tierra del LED: Conecta el Cátodo de D1 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: Window sensor security alarm

(Input Stage: Sensors)                  (Processing Stage: Logic)             (Output Stage: Alarm)

[ VCC ]
   |
[ SW1: Window 1 ]
   |
+--(SENS1)-------+-----------------> [ U1: Pin 1 (Input A) ]
                    |                                         |
                 [ R1: 10k ]                                  v
                    |                                 [ U1: NAND Gate ] --(ALARM_OUT)--> [ R3: 330 Ω ] --> [ D1: LED ] --> GND
                 [ GND ]                                      ^
                                                              |
[ VCC ]             |                                         |
   |                |                                         |
[ SW2: Window 2 ]   |                                         |
   |                |                                         |
+--(SENS2)-------+-----------------> [ U1: Pin 2 (Input B) ]
                    |
                 [ R2: 10k ]
                    |
                 [ GND ]
Esquema Eléctrico

Tabla de verdad

El 74HC00 implementa la función NAND. En este contexto de seguridad, Lógica 1 representa una «Ventana cerrada» (Seguro), y Lógica 0 representa una «Ventana abierta» (Intrusión).

Ventana 1 (SW1) Ventana 2 (SW2) Entrada A (Pin 1) Entrada B (Pin 2) Salida Y (Pin 3) Estado LED Estado
Cerrada Cerrada 1 (Alto) 1 (Alto) 0 (Bajo) OFF Seguro
Abierta Cerrada 0 (Bajo) 1 (Alto) 1 (Alto) ON ALARMA
Cerrada Abierta 1 (Alto) 0 (Bajo) 1 (Alto) ON ALARMA
Abierta Abierta 0 (Bajo) 0 (Bajo) 1 (Alto) ON ALARMA

Mediciones y pruebas

Sigue estos pasos para validar tu sistema de alarma:

  1. Encendido inicial: Asegúrate de que ambos interruptores (SW1, SW2) estén cerrados. Enciende la fuente de 5 V. El LED D1 debería estar APAGADO.
  2. Verificación de voltaje (Seguro): Usa un multímetro para medir el voltaje en el nodo ALARM_OUT. Debería estar cerca de 0 V (< 0.2 V).
  3. Prueba de intrusión 1: Abre SW1 mientras mantienes SW2 cerrado. El LED debería ponerse en ON (Encendido). Mide ALARM_OUT; debería leer cerca de 5 V.
  4. Prueba de intrusión 2: Cierra SW1 y abre SW2. El LED debería ponerse en ON.
  5. Intrusión total: Abre ambos interruptores. El LED debería permanecer en ON.

Netlist SPICE y simulación

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

* Practical case: Window sensor security alarm
.width out=256
* ngspice netlist

* --- Component Models ---
* Switch model for SW1 and SW2 (Sensors)
* Vt=2.5V: Switch closes when control voltage > 2.5V
* Ron=1m: Low resistance when closed
* Roff=100Meg: High resistance when open
.model SW_MOD SW(Vt=2.5 Ron=1m Roff=100Meg)

* LED model for D1
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=10p BV=5)

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

* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* ... (truncated in public view) ...

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

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

* Practical case: Window sensor security alarm
.width out=256
* ngspice netlist

* --- Component Models ---
* Switch model for SW1 and SW2 (Sensors)
* Vt=2.5V: Switch closes when control voltage > 2.5V
* Ron=1m: Low resistance when closed
* Roff=100Meg: High resistance when open
.model SW_MOD SW(Vt=2.5 Ron=1m Roff=100Meg)

* LED model for D1
.model LED_RED D(IS=1e-22 RS=5 N=1.5 CJO=10p BV=5)

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

* --- Window Sensor 1 ---
* Control source V_ACT1 simulates the physical action of opening/closing Window 1
* Logic: High (5V) = Window Closed, Low (0V) = Window Open
* Timing: Toggles every 100us (Period 200us)
V_ACT1 ACT1 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW1: Connects VCC to SENS1 when window is closed
S1 VCC SENS1 ACT1 0 SW_MOD

* R1: Pull-down resistor for SENS1 (10k)
R1 SENS1 0 10k

* --- Window Sensor 2 ---
* Control source V_ACT2 simulates Window 2
* Timing: Toggles every 200us (Period 400us) to test all truth table combinations
V_ACT2 ACT2 0 PULSE(0 5 0 1u 1u 200u 400u)

* SW2: Connects VCC to SENS2 when window is closed
S2 VCC SENS2 ACT2 0 SW_MOD

* R2: Pull-down resistor for SENS2 (10k)
R2 SENS2 0 10k

* --- Logic IC: U1 (74HC00) ---
* Quad 2-input NAND gate. We instantiate one gate.
* Pin mapping according to wiring guide:
* Pin 1 (Input A) -> SENS1
* Pin 2 (Input B) -> SENS2
* Pin 3 (Output Y) -> ALARM_OUT
* Pin 7 -> GND (0), Pin 14 -> VCC
XU1 SENS1 SENS2 ALARM_OUT 0 VCC 74HC00_GATE

* Subcircuit for NAND Gate using robust continuous functions
.subckt 74HC00_GATE A B Y GND VCC
* Logic: Y = NAND(A, B) = NOT(A AND B)
* Implemented using sigmoid functions for convergence:
* 1 / (1 + exp(-k*(V-Vth))) acts as a smooth logical comparator.
* Vth = 2.5V, k = 20
B_NAND Y GND V = V(VCC) * (1 - ( (1/(1+exp(-20*(V(A)-2.5)))) * (1/(1+exp(-20*(V(B)-2.5)))) ))
.ends

* --- Alarm Output Indicator ---
* R3: Current limiting resistor (330 Ohm)
R3 ALARM_OUT LED_ANODE 330

* D1: Red LED connected to Ground
D1 LED_ANODE 0 LED_RED

* --- Simulation Commands ---
.op
* Transient analysis for 500us to capture all logic states
.tran 1u 500u

* Output configuration
* We print the Sensor inputs and the Alarm output
.print tran V(SENS1) V(SENS2) V(ALARM_OUT) V(LED_ANODE)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Análisis: The simulation correctly implements the NAND logic truth table. When both sensors are High (5V, Closed), the Output is Low (~0V). If either or both sensors are Low (Open), the Output goes High (5V), activating the LED (approx 1.83V at anode).
Show raw data table (657 rows)
Index   time            v(sens1)        v(sens2)        v(alarm_out)    v(led_anode)
0	0.000000e+00	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
1	1.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
2	2.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
3	4.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
4	8.000000e-08	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
5	1.600000e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
6	3.200000e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
7	3.562500e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
8	4.196875e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
9	4.372461e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
10	4.679736e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
11	4.795524e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
12	4.902290e-07	4.999500e-04	4.999500e-04	5.000000e+00	1.833072e+00
13	5.023412e-07	5.000000e+00	5.000000e+00	3.894872e-36	1.057689e+00
14	5.138120e-07	5.000000e+00	5.000000e+00	3.894872e-36	-7.61250e-02
15	5.160398e-07	5.000000e+00	5.000000e+00	3.894872e-36	-3.72798e-02
16	5.172425e-07	5.000000e+00	5.000000e+00	3.894872e-36	-2.57490e-02
17	5.188923e-07	5.000000e+00	5.000000e+00	3.894872e-36	-1.54585e-02
18	5.214063e-07	5.000000e+00	5.000000e+00	3.894872e-36	-6.97976e-03
19	5.238372e-07	5.000000e+00	5.000000e+00	3.894872e-36	-3.25627e-03
20	5.261078e-07	5.000000e+00	5.000000e+00	3.894872e-36	-1.60566e-03
21	5.281984e-07	5.000000e+00	5.000000e+00	3.894872e-36	-8.40881e-04
22	5.304310e-07	5.000000e+00	5.000000e+00	3.894872e-36	-4.20300e-04
23	5.328536e-07	5.000000e+00	5.000000e+00	3.894872e-36	-1.97001e-04
... (633 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 hace que las entradas «floten» cuando los interruptores están abiertos, provocando un parpadeo errático del LED. Solución: Asegúrate siempre de que las entradas tengan un camino a tierra (vía resistencias pull-down) cuando el interruptor esté abierto.
  2. Polaridad del LED: Conectar el LED al revés evita que se ilumine incluso cuando la alarma está activa. Solución: Asegúrate de que la pata más larga (Ánodo) mire hacia la resistencia y la salida del CI.
  3. Cableado incorrecto del interruptor: Colocar el interruptor en paralelo con la resistencia en lugar de en serie con la fuente de voltaje crea un cortocircuito. Solución: Sigue la guía de conexionado: VCC -> Interruptor -> Nodo -> Resistencia -> GND.

Solución de problemas

  • Síntoma: El LED está siempre ENCENDIDO, incluso cuando los interruptores están cerrados.
    • Causa: Uno de los interruptores no está haciendo contacto, o un cable de entrada está suelto.
    • Solución: Verifica la continuidad en SW1 y SW2; asegúrate de que el pin 1 y el pin 2 realmente reciban 5 V.
  • Síntoma: El LED nunca se ENCIENDE.
    • Causa: El LED está invertido, el CI no está alimentado o R3 es demasiado alta.
    • Solución: Verifica que haya 5 V en el pin 14. Invierte el LED. Verifica que R3 sea de 330 Ω, no de 330 kΩ.
  • Síntoma: La lógica funciona al revés (LED ENCENDIDO cuando es seguro, APAGADO cuando está abierto).
    • Causa: Puedes estar usando una puerta AND (74HC08) en lugar de NAND, o la lógica de tus interruptores/resistencias está invertida (Pull-ups en lugar de Pull-downs).
    • Solución: Verifica que el número del chip sea 74HC00.

Posibles mejoras y extensiones

  1. Alarma audible: Conecta la base de un transistor NPN a ALARM_OUT para controlar un zumbador activo de 5 V, añadiendo sonido a la luz.
  2. Alarma con enclavamiento: Usa las puertas restantes en el 74HC00 para construir un Latch SR. Esto mantendría la alarma sonando incluso si el ladrón cierra la ventana inmediatamente después de entrar.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

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




Pregunta 2: ¿Qué componente lógico es fundamental para el funcionamiento de este sistema de alarma?




Pregunta 3: ¿En qué estado debe estar el LED cuando ambas ventanas están cerradas de forma segura?




Pregunta 4: ¿Qué sucede si se corta un cable en el sistema de sensores?




Pregunta 5: ¿Qué nivel lógico representan los interruptores cerrados en este diseño?




Pregunta 6: ¿Cuál es el voltaje de salida esperado en el 'Estado seguro' (ventanas cerradas)?




Pregunta 7: ¿Qué tipo de diseño de seguridad demuestra este circuito?




Pregunta 8: ¿Según la lógica del sistema, qué ocurre si el Interruptor 1 se abre?




Pregunta 9: ¿Cuál es una aplicación industrial mencionada para este tipo de circuito?




Pregunta 10: ¿Qué nivel de dificultad se asigna a este proyecto 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: