Caso práctico: Red de resistencias R-2R (DAC simple)

Prototipo de Red de resistencias R-2R (DAC simple) (Maker Style)

Nivel: Medio. Construye una escalera resistiva para convertir señales binarias de 4 bits en niveles de voltaje analógicos precisos.

Objetivo y caso de uso

En esta sesión, construirás un Convertidor Digital a Analógico (DAC) de 4 bits utilizando una topología de escalera de resistencias R-2R. Este circuito suma entradas ponderadas binarias para producir una salida analógica proporcional al valor digital.

Por qué es útil:
* Síntesis de audio: Utilizado en generadores de funciones simples para crear ondas senoidales o triangulares desde microcontroladores digitales.
* Señales de video: Históricamente utilizado en adaptadores VGA para generar niveles de intensidad de color.
* Control rentable: Permite generar voltajes de control variables sin chips DAC dedicados.
* Educación en procesamiento de señales: Demuestra la superposición y el teorema de Thévenin de una manera práctica.

Resultado esperado:
* Un voltaje de salida estable (VOUT) que varía de 0 V a aproximadamente 4.68 V (dada una alimentación de 5 V).
* Dieciséis pasos de voltaje distintos (del binario 0000 al 1111).
* Relación lineal entre el valor de entrada binario y el voltaje analógico medido.

Público objetivo y nivel: Estudiantes de electrónica y aficionados familiarizados con las leyes básicas de circuitos.

Materiales

  • V1: Fuente de CC de 5 V, función: Referencia de lógica alta y alimentación principal.
  • R1: Resistencia de 10 kΩ, función: Resistencia en serie (R) en la columna de la escalera (Bit 0-1).
  • R2: Resistencia de 10 kΩ, función: Resistencia en serie (R) en la columna de la escalera (Bit 1-2).
  • R3: Resistencia de 10 kΩ, función: Resistencia en serie (R) en la columna de la escalera (Bit 2-3).
  • R4: Resistencia de 20 kΩ, función: Resistencia en paralelo (2R) para Bit 0 (LSB).
  • R5: Resistencia de 20 kΩ, función: Resistencia en paralelo (2R) para Bit 1.
  • R6: Resistencia de 20 kΩ, función: Resistencia en paralelo (2R) para Bit 2.
  • R7: Resistencia de 20 kΩ, función: Resistencia en paralelo (2R) para Bit 3 (MSB).
  • R8: Resistencia de 20 kΩ, función: Resistencia de terminación (2R) conectada a Tierra.
  • SW1: Interruptor SPDT (o cable puente), función: Entrada del Bit 0 (LSB), conmuta entre VCC y GND.
  • SW2: Interruptor SPDT (o cable puente), función: Entrada del Bit 1, conmuta entre VCC y GND.
  • SW3: Interruptor SPDT (o cable puente), función: Entrada del Bit 2, conmuta entre VCC y GND.
  • SW4: Interruptor SPDT (o cable puente), función: Entrada del Bit 3 (MSB), conmuta entre VCC y GND.

Guía de conexionado

Esta guía utiliza nombres de nodos: VCC (5 V), 0 (GND), B0 (Entrada Bit 0), B1 (Entrada Bit 1), B2 (Entrada Bit 2), B3 (Entrada Bit 3), y nodos internos de la escalera N0, N1, N2. VOUT es la salida analógica.

  • Conexión V1: Conecta el terminal positivo de V1 a VCC y el negativo a 0.
  • Interruptores de entrada (Entradas digitales):
    • SW1: Común a B0, Posición 1 a 0, Posición 2 a VCC.
    • SW2: Común a B1, Posición 1 a 0, Posición 2 a VCC.
    • SW3: Común a B2, Posición 1 a 0, Posición 2 a VCC.
    • SW4: Común a B3, Posición 1 a 0, Posición 2 a VCC.
  • Resistencias «R» de la escalera (Columna):
    • R1: Se conecta entre el nodo N0 y el nodo N1.
    • R2: Se conecta entre el nodo N1 y el nodo N2.
    • R3: Se conecta entre el nodo N2 y el nodo VOUT.
  • Resistencias «2R» de la escalera (Ramas):
    • R8 (Terminación): Se conecta entre el nodo N0 y 0.
    • R4: Se conecta entre el nodo B0 y el nodo N0.
    • R5: Se conecta entre el nodo B1 y el nodo N1.
    • R6: Se conecta entre el nodo B2 y el nodo N2.
    • R7: Se conecta entre el nodo B3 y el nodo VOUT.
  • Salida: Monitorea el voltaje en el nodo VOUT relativo a 0.

Diagrama de bloques conceptual

Conceptual block diagram — LM358 R-2R Ladder DAC
Lectura rápida: entradas → bloque principal → salida (actuador o medida). Resume el esquemático ASCII de la siguiente sección.

Esquemático

[ DIGITAL INPUTS ]              [ R-2R LADDER NETWORK ]                 [ ANALOG OUTPUT ]
(Switches toggle VCC/GND)           (Voltage Summing Logic)

                                                   +--> [ Multimeter ]
                                                                           |    (Measure V)
[ SW4: Bit 3 (MSB) ] --(High/Low)--> [ R7: 20k (2R) ] --(Bit 3 Weight)---->+--> [ VOUT Node  ]
                                                            ^
                                                            |
                                                     [ R3: 10k (R) ]
                                                            |
[ SW3: Bit 2       ] --(High/Low)--> [ R6: 20k (2R) ] --(Bit 2 Weight)---->+ (Node N2)
                                                            ^
                                                            |
                                                     [ R2: 10k (R) ]
                                                            |
[ SW2: Bit 1       ] --(High/Low)--> [ R5: 20k (2R) ] --(Bit 1 Weight)---->+ (Node N1)
                                                            ^
                                                            |
                                                     [ R1: 10k (R) ]
                                                            |
[ SW1: Bit 0 (LSB) ] --(High/Low)--> [ R4: 20k (2R) ] --(Bit 0 Weight)---->+ (Node N0)
                                                            |
                                                            v
                                                     [ R8: 20k (2R) ]
                                                            |
                                                           GND
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Caso práctico: Red de resistencias R-2R (DAC simple)
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

Para validar el DAC, configurarás los interruptores en códigos binarios específicos y medirás el voltaje resultante en VOUT. La fórmula para la salida es:
$VOUT = Vref × ((Decimal Value) / 16)$

  1. Comprobación de cero: Configura todos los interruptores (SW1-SW4) en 0 (GND). Mide VOUT. Debería ser exactamente 0 V.
  2. Comprobación del LSB (Bit 0): Configura SW1 a VCC y los otros a 0 (Binario 0001).
    • Cálculo: $5 V × (1/16) = 0.3125 V$.
    • Verifica que VOUT sea aprox 0.31 V.
  3. Comprobación del MSB (Bit 3): Configura SW4 a VCC y los otros a 0 (Binario 1000).
    • Cálculo: $5 V × (8/16) = 2.5 V$.
    • Verifica que VOUT sea aprox 2.5 V.
  4. Comprobación de escala completa: Configura todos los interruptores a VCC (Binario 1111).
    • Cálculo: $5 V × (15/16) = 4.6875 V. * Verifica que VOUT sea aprox 4.69 V. <! – – SPICE_INSERT_POINT – – > ## Errores comunes y cómo evitarlos 1. Entradas flotantes: Dejar un interruptor abierto (desconectado) en lugar de conectarlo a Tierra para un «0» lógico. * Solución: Las escaleras R – 2R requieren que las entradas estén estrictamente enV_{ref}$ o $0 V$. Usa interruptores SPDT o verifica que tus cables puente se conecten a GND cuando estén «apagados».
  5. Intercambiar R y 2R: Colocar una resistencia de 10 kΩ donde se requiere una de 20 kΩ (o viceversa).
    • Solución: Verifica dos veces los códigos de colores. 10 kΩ es usualmente Marrón-Negro-Naranja; 20 kΩ es Rojo-Negro-Naranja.
  6. Cargar la salida: Conectar una carga de baja impedancia (como un altavoz o LED) directamente a VOUT.
    • Solución: Este circuito tiene una impedancia de salida relativamente alta ($R$). Siempre usa un búfer con Op-Amp (seguidor de voltaje) si necesitas alimentar una carga.

Netlist SPICE y simulación

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

* Practical case: R-2R Resistor Network (Simple DAC)

* --- Power Supply ---
* V1: 5 V DC supply, function: Logic high reference and main power
V1 VCC 0 DC 5

* --- Digital Inputs (Simulated Switches) ---
* Modeled as PULSE voltage sources to strictly simulate user input/switching.
* Generates a binary counting sequence (0000 to 1111) to test the full truth table.
* Logic High = 5V (VCC), Logic Low = 0V (GND).

* SW1 (Bit 0 LSB): Toggles every 100us (Period)
VB0 B0 0 PULSE(0 5 0 1u 1u 50u 100u)

* SW2 (Bit 1): Toggles every 200us (Period)
VB1 B1 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW3 (Bit 2): Toggles every 400us (Period)
VB2 B2 0 PULSE(0 5 0 1u 1u 200u 400u)

* ... (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: R-2R Resistor Network (Simple DAC)

* --- Power Supply ---
* V1: 5 V DC supply, function: Logic high reference and main power
V1 VCC 0 DC 5

* --- Digital Inputs (Simulated Switches) ---
* Modeled as PULSE voltage sources to strictly simulate user input/switching.
* Generates a binary counting sequence (0000 to 1111) to test the full truth table.
* Logic High = 5V (VCC), Logic Low = 0V (GND).

* SW1 (Bit 0 LSB): Toggles every 100us (Period)
VB0 B0 0 PULSE(0 5 0 1u 1u 50u 100u)

* SW2 (Bit 1): Toggles every 200us (Period)
VB1 B1 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW3 (Bit 2): Toggles every 400us (Period)
VB2 B2 0 PULSE(0 5 0 1u 1u 200u 400u)

* SW4 (Bit 3 MSB): Toggles every 800us (Period)
VB3 B3 0 PULSE(0 5 0 1u 1u 400u 800u)

* --- R-2R Ladder Network ---

* -- Spine Resistors (R = 10k) --
* R1: Connects between node N0 and node N1
R1 N0 N1 10k

* R2: Connects between node N1 and node N2
R2 N1 N2 10k

* R3: Connects between node N2 and node VOUT
R3 N2 VOUT 10k

* -- Branch/Termination Resistors (2R = 20k) --
* R8 (Termination): Connects between node N0 and 0 (GND)
R8 N0 0 20k

* R4 (Bit 0 Input): Connects between node B0 and node N0
R4 B0 N0 20k

* R5 (Bit 1 Input): Connects between node B1 and node N1
R5 B1 N1 20k

* R6 (Bit 2 Input): Connects between node B2 and node N2
R6 B2 N2 20k

* R7 (Bit 3 Input - MSB): Connects between node B3 and node VOUT
R7 B3 VOUT 20k

* --- Simulation Directives ---
* Transient analysis to capture the full binary counting sequence (approx 1ms)
.tran 2u 1000u

* --- Output Printing ---
* Monitor the Input Bits and the Analog Output Voltage
.print tran V(B0) V(B1) V(B2) V(B3) V(VOUT)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1384 rows)
Index   time            v(b0)           v(b1)           v(b2)
0	0.000000e+00	0.000000e+00	0.000000e+00	0.000000e+00
1	1.000000e-08	5.000000e-02	5.000000e-02	5.000000e-02
2	2.000000e-08	1.000000e-01	1.000000e-01	1.000000e-01
3	4.000000e-08	2.000000e-01	2.000000e-01	2.000000e-01
4	8.000000e-08	4.000000e-01	4.000000e-01	4.000000e-01
5	1.600000e-07	8.000000e-01	8.000000e-01	8.000000e-01
6	3.200000e-07	1.600000e+00	1.600000e+00	1.600000e+00
7	6.400000e-07	3.200000e+00	3.200000e+00	3.200000e+00
8	1.000000e-06	5.000000e+00	5.000000e+00	5.000000e+00
9	1.064000e-06	5.000000e+00	5.000000e+00	5.000000e+00
10	1.192000e-06	5.000000e+00	5.000000e+00	5.000000e+00
11	1.448000e-06	5.000000e+00	5.000000e+00	5.000000e+00
12	1.960000e-06	5.000000e+00	5.000000e+00	5.000000e+00
13	2.984000e-06	5.000000e+00	5.000000e+00	5.000000e+00
14	4.984000e-06	5.000000e+00	5.000000e+00	5.000000e+00
15	6.984000e-06	5.000000e+00	5.000000e+00	5.000000e+00
16	8.984000e-06	5.000000e+00	5.000000e+00	5.000000e+00
17	1.098400e-05	5.000000e+00	5.000000e+00	5.000000e+00
18	1.298400e-05	5.000000e+00	5.000000e+00	5.000000e+00
19	1.498400e-05	5.000000e+00	5.000000e+00	5.000000e+00
20	1.698400e-05	5.000000e+00	5.000000e+00	5.000000e+00
21	1.898400e-05	5.000000e+00	5.000000e+00	5.000000e+00
22	2.098400e-05	5.000000e+00	5.000000e+00	5.000000e+00
23	2.298400e-05	5.000000e+00	5.000000e+00	5.000000e+00
... (1360 more rows) ...


Netlist SPICE de referencia (ngspice)

* Practical case: R-2R Resistor Network (Simple DAC)

* --- Power Supply ---
* V1: 5 V DC supply, function: Logic high reference and main power
V1 VCC 0 DC 5

* --- Digital Inputs (Simulated Switches) ---
* Modeled as PULSE voltage sources to strictly simulate user input/switching.
* Generates a binary counting sequence (0000 to 1111) to test the full truth table.
* Logic High = 5V (VCC), Logic Low = 0V (GND).

* SW1 (Bit 0 LSB): Toggles every 100us (Period)
VB0 B0 0 PULSE(0 5 0 1u 1u 50u 100u)

* SW2 (Bit 1): Toggles every 200us (Period)
VB1 B1 0 PULSE(0 5 0 1u 1u 100u 200u)

* SW3 (Bit 2): Toggles every 400us (Period)
VB2 B2 0 PULSE(0 5 0 1u 1u 200u 400u)

* SW4 (Bit 3 MSB): Toggles every 800us (Period)
VB3 B3 0 PULSE(0 5 0 1u 1u 400u 800u)

* --- R-2R Ladder Network ---

* -- Spine Resistors (R = 10k) --
* R1: Connects between node N0 and node N1
R1 N0 N1 10k

* R2: Connects between node N1 and node N2
R2 N1 N2 10k

* R3: Connects between node N2 and node VOUT
R3 N2 VOUT 10k

* -- Branch/Termination Resistors (2R = 20k) --
* R8 (Termination): Connects between node N0 and 0 (GND)
R8 N0 0 20k

* R4 (Bit 0 Input): Connects between node B0 and node N0
R4 B0 N0 20k

* R5 (Bit 1 Input): Connects between node B1 and node N1
R5 B1 N1 20k

* R6 (Bit 2 Input): Connects between node B2 and node N2
R6 B2 N2 20k

* R7 (Bit 3 Input - MSB): Connects between node B3 and node VOUT
R7 B3 VOUT 20k

* --- Simulation Directives ---
* Transient analysis to capture the full binary counting sequence (approx 1ms)
.tran 2u 1000u

* --- Output Printing ---
* Monitor the Input Bits and the Analog Output Voltage
.print tran V(B0) V(B1) V(B2) V(B3) V(VOUT)

.op
.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Solución de problemas

  • Síntoma: $V_{OUT}$ es 2.5 V cuando debería ser 1.25 V.
    • Causa: El MSB (Bit 3) podría estar atascado en alto, o las resistencias están intercambiadas.
    • Solución: Revisa la continuidad del interruptor y verifica la colocación de resistencias en el nodo VOUT.
  • Síntoma: Los voltajes de salida son no lineales o aleatorios.
    • Causa: Conexión deficiente en las resistencias de la «columna» (R1, R2, R3).
    • Solución: Reasienta las resistencias en la protoboard para asegurar que la cadena de la escalera esté intacta.
  • Síntoma: La salida nunca llega cerca de 4.6 V.
    • Causa: Acumulación de tolerancia de resistencias o bajo voltaje de la fuente de alimentación.
    • Solución: Mide el voltaje real de V1. Usa resistencias de película metálica con tolerancia del 1% para una mejor precisión.

Posibles mejoras y extensiones

  1. Expansión a 8 bits: Agrega cuatro etapas más a la escalera (usando más resistencias R y 2R) para crear un DAC de 8 bits con 256 pasos de voltaje.
  2. Búfer activo: Conecta VOUT a un Op-Amp LM358 configurado como un búfer de ganancia unitaria para alimentar un LED o un pequeño altavoz de audio de forma segura.

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 construir una escalera resistiva R-2R en este ejercicio?




Pregunta 2: ¿Qué principio o teorema se menciona explícitamente que demuestra este circuito de manera práctica?




Pregunta 3: ¿Cuántos pasos de voltaje distintos se esperan obtener con este DAC de 4 bits?




Pregunta 4: ¿Cuál es el rango aproximado de voltaje de salida esperado con una alimentación de 5 V?




Pregunta 5: ¿Qué función cumple históricamente este tipo de circuito en adaptadores VGA?




Pregunta 6: ¿Qué relación se espera observar entre el valor de entrada binario y el voltaje analógico medido?




Pregunta 7: ¿Por qué se considera este circuito una solución de 'control rentable'?




Pregunta 8: ¿A qué rango binario corresponden los dieciséis pasos de voltaje generados?




Pregunta 9: ¿Cuál de las siguientes es una aplicación mencionada para la síntesis de audio?




Pregunta 10: ¿Qué tipo de topología se utiliza para construir el Convertidor Digital a Analógico en esta sesión?




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

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

Sígueme:


Caso práctico: Puente de Wheatstone desequilibrado

Prototipo de Puente de Wheatstone desequilibrado (Maker Style)

Nivel: Medio. Analice la variación de voltaje diferencial en un puente resistivo modificando un sensor.

Objetivo y caso de uso

Construirá un circuito de puente de Wheatstone utilizando tres resistencias fijas y una resistencia variable para simular un sensor resistivo. Este circuito convierte un cambio en la resistencia en una salida de voltaje diferencial medible.

Por qué es útil:
* Detección de precisión: Utilizado en celdas de carga (básculas) y galgas extensiométricas donde los cambios de resistencia son minúsculos.
* Medición de temperatura: Fundamental para leer RTD (Detectores de Temperatura de Resistencia) y termistores.
* Calibración a cero: Permite a los sistemas establecer un «punto nulo» (salida de 0 V) para cancelar errores de offset antes de tomar mediciones.
* Detección de señales pequeñas: Filtra el ruido de la fuente de alimentación común a ambas ramas del puente (Rechazo en Modo Común).

Resultado esperado:
* Estado equilibrado: Cuando la resistencia variable coincide con la relación de la rama fija, el voltaje diferencial (VAB) marca exactamente 0 V.
* Estado desequilibrado: A medida que la resistencia cambia, VAB se vuelve positivo o negativo dependiendo de la dirección del cambio.
* Sensibilidad: Observará la relación no lineal entre el cambio de resistencia (\Delta R) y el voltaje de salida (VOUT).

Público objetivo y nivel: Estudiantes de electrónica y aficionados familiarizados con la Ley de Ohm (Medio).

Materiales

  • V1: Fuente de voltaje de 5 V DC, función: alimentación principal.
  • R1: Resistencia de 1 kΩ, función: rama de referencia superior.
  • R2: Resistencia de 1 kΩ, función: rama de referencia inferior.
  • R3: Resistencia de 1 kΩ, función: rama de medición superior.
  • R4: Potenciómetro de 2 kΩ (lineal), función: resistencia variable (simulando un sensor como un termistor o galga extensiométrica).

Guía de conexionado

Este circuito consta de dos divisores de voltaje paralelos conectados a una fuente común. La salida se toma diferencialmente entre los puntos centrales de estos divisores.

  • V1 se conecta entre el nodo VCC (positivo) y el nodo 0 (GND).
  • R1 se conecta entre el nodo VCC y el nodo VA (Punto de Referencia).
  • R2 se conecta entre el nodo VA y el nodo 0.
  • R3 se conecta entre el nodo VCC y el nodo VB (Punto de Medición).
  • R4 se conecta entre el nodo VB y el nodo 0.
  • Medición: La salida VOUT se mide entre el nodo VA y el nodo VB.

Diagrama de bloques conceptual

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

Esquemático

[ SOURCE ]                     [ BRIDGE PROCESSING ]                     [ OUTPUT ]

                               +-----------------------------+
                               |   Reference Divider (Left)  |
                            +->|  (Fixed Ratio: R1 / R2)     |--(Node VA)-->+
                            |  |  [ R1: 1 kΩ ] + [ R2: 1 kΩ ]  |              |
                            |  +-----------------------------+              |
                            |                                               v
[ V1: 5 V DC ] --(Supply)--> +                                          [ V_OUT ]
                            |                                          (Differential)
                            |  +-----------------------------+         ( VA - VB )
                            |  |  Measurement Divider (Right)|              ^
                            +->|  (Variable Ratio: R3 / R4)  |--(Node VB)-->+
                               |  [ R3: 1 kΩ ] + [ R4: Pot ]  |
                               +-----------------------------+
Esquema Eléctrico

Diagrama eléctrico

Diagrama eléctrico del caso: Puente de Wheatstone desequilibrado
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

Siga estos pasos para validar el funcionamiento del puente utilizando un voltímetro o multímetro.

  1. Configuración: Alimente el circuito con 5 V. Configure su multímetro para medir Voltaje DC en el rango de 20 V o 2 V.
  2. Verificar referencia: Mida el voltaje entre VA y 0 (GND). Al ser R1 y R2 iguales (1 kΩ), esto debería ser estable en exactamente 2.5 V.
  3. Encontrar el punto nulo: Conecte las puntas del multímetro entre VA (punta roja) y VB (punta negra). Ajuste el potenciómetro R4 hasta que el multímetro lea 0.00 V.
    • Observación: En este punto, el puente está equilibrado (R1 / R2 = R3 / R4). R4 debería ser aproximadamente 1 kΩ.
  4. Simular aumento del sensor: Aumente la resistencia de R4.
    • Observación: El voltaje en VB aumenta. La lectura diferencial (VA – VB) se volverá negativa (asumiendo punta Roja en A, Negra en B).
  5. Simular disminución del sensor: Disminuya la resistencia de R4 por debajo de 1 kΩ.
    • Observación: El voltaje en VB cae. La lectura diferencial se volverá positiva.

Netlist SPICE y simulación

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

* Practical case: Unbalanced Wheatstone Bridge

* --- Power Supply ---
* V1: 5 V DC voltage source, main power supply
V1 VCC 0 DC 5

* --- Reference Arm (Left) ---
* R1: 1 kΩ, upper reference arm
R1 VCC VA 1k

* R2: 1 kΩ, lower reference arm
R2 VA 0 1k

* --- Measurement Arm (Right) ---
* R3: 1 kΩ, upper measurement arm
R3 VCC VB 1k

* R4: 2 kΩ potentiometer (simulating sensor), lower measurement arm
* Connected between VB and 0. Set to 2k to demonstrate unbalanced state.
R4 VB 0 2k
* ... (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: Unbalanced Wheatstone Bridge

* --- Power Supply ---
* V1: 5 V DC voltage source, main power supply
V1 VCC 0 DC 5

* --- Reference Arm (Left) ---
* R1: 1 kΩ, upper reference arm
R1 VCC VA 1k

* R2: 1 kΩ, lower reference arm
R2 VA 0 1k

* --- Measurement Arm (Right) ---
* R3: 1 kΩ, upper measurement arm
R3 VCC VB 1k

* R4: 2 kΩ potentiometer (simulating sensor), lower measurement arm
* Connected between VB and 0. Set to 2k to demonstrate unbalanced state.
R4 VB 0 2k

* --- Simulation Setup ---
* Calculate DC operating point
.op

* Transient analysis (10ms duration to verify stability)
.tran 100u 10m

* --- Output Directives ---
* Monitor Supply, Reference Voltage (VA), and Sensor Voltage (VB)
* Differential Output VOUT = V(VA) - V(VB)
.print tran V(VCC) V(VA) V(VB)

.end

Resultados de Simulación (Transitorio)

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


Netlist SPICE de referencia (ngspice)

* Practical case: Unbalanced Wheatstone Bridge

* --- Power Supply ---
* V1: 5 V DC voltage source, main power supply
V1 VCC 0 DC 5

* --- Reference Arm (Left) ---
* R1: 1 kΩ, upper reference arm
R1 VCC VA 1k

* R2: 1 kΩ, lower reference arm
R2 VA 0 1k

* --- Measurement Arm (Right) ---
* R3: 1 kΩ, upper measurement arm
R3 VCC VB 1k

* R4: 2 kΩ potentiometer (simulating sensor), lower measurement arm
* Connected between VB and 0. Set to 2k to demonstrate unbalanced state.
R4 VB 0 2k

* --- Simulation Setup ---
* Calculate DC operating point
.op

* Transient analysis (10ms duration to verify stability)
.tran 100u 10m

* --- Output Directives ---
* Monitor Supply, Reference Voltage (VA), and Sensor Voltage (VB)
* Differential Output VOUT = V(VA) - V(VB)
.print tran V(VCC) V(VA) V(VB)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)

Errores comunes y cómo evitarlos

  1. Medir con respecto a Tierra: Los estudiantes a menudo miden VA a GND y VB a GND por separado. Aunque es válido, el puente está diseñado para medirse diferencialmente (VA a VB) directamente.
    • Solución: Coloque las puntas del voltímetro directamente a través de los puntos medios del puente.
  2. Usar resistencias de baja tolerancia: Si R1 y R2 tienen una tolerancia alta (p. ej., 10%), el voltaje de referencia VA no será exactamente VCC/2, dificultando el cálculo del punto nulo.
    • Solución: Utilice resistencias de película metálica del 1% para R1, R2 y R3 para mayor precisión.
  3. Cargar el puente: Conectar una carga de baja impedancia (como un motor o un altavoz de baja resistencia) directamente entre VA y VB.
    • Solución: El puente es para medición de señales, no para potencia. Conecte siempre los nodos de salida a una entrada de alta impedancia, como un amplificador operacional o el ADC de un microcontrolador.

Solución de problemas

  • Síntoma: El voltaje de salida es siempre 0 V independientemente de la posición del potenciómetro.
    • Causa: La fuente de alimentación está apagada o hay un cortocircuito entre VA y VB.
    • Solución: Verifique las conexiones de V1 y asegúrese de que las dos ramas del puente no estén en cortocircuito entre sí.
  • Síntoma: No se puede alcanzar la salida de 0 V (Punto nulo).
    • Causa: La resistencia fija R3 es significativamente diferente del rango del potenciómetro R4.
    • Solución: Asegúrese de que el rango de R4 incluya el valor de R3 (p. ej., si R3 es 1 kΩ, R4 debe ser capaz de alcanzar 1 kΩ).
  • Síntoma: Las lecturas son inestables o «temblorosas».
    • Causa: Cursor del potenciómetro ruidoso o contactos sueltos en la protoboard.
    • Solución: Reemplace el potenciómetro o asegure conexiones sólidas en la protoboard.

Posibles mejoras y extensiones

  1. Amplificador de instrumentación: Alimente los nodos VA y VB en un amplificador de instrumentación (como el AD620) para amplificar el pequeño voltaje diferencial para que lo lea un microcontrolador.
  2. Sensor físico: Reemplace R4 con una fotorresistencia (LDR) o un termistor (NTC). Observe cómo la luz o la temperatura cambian el equilibrio del puente.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Cuál es el objetivo principal del circuito de puente de Wheatstone descrito?




Pregunta 2: ¿Qué sucede en el 'Estado equilibrado' del puente?




Pregunta 3: ¿Qué componente se utiliza para simular un sensor resistivo en este experimento?




Pregunta 4: ¿Cuál es una aplicación práctica mencionada para este tipo de circuito?




Pregunta 5: ¿Qué permite la 'Calibración a cero' en los sistemas de medición?




Pregunta 6: ¿Qué ocurre en el 'Estado desequilibrado' según el contexto?




Pregunta 7: ¿Qué beneficio aporta el circuito respecto al ruido de la fuente de alimentación?




Pregunta 8: ¿Para qué tipo de medición de temperatura es fundamental este circuito?




Pregunta 9: ¿Qué componentes básicos conforman el puente descrito además de la resistencia variable?




Pregunta 10: ¿Por qué es útil este circuito para la detección de señales pequeñas?




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: Indicador de nivel de tanque vacío

Prototipo de Indicador de nivel de tanque vacío (Maker Style)

Nivel: Medio. Diseñe un circuito lógico que alerte al usuario cuando un sensor de agua deje de detectar líquido utilizando una compuerta NOT.

Objetivo y caso de uso

En este caso, construirá un circuito de monitoreo utilizando un inversor 74HC04 que ilumina un LED rojo cuando el nivel de líquido de un tanque cae por debajo de un punto crítico.

  • Evita daños en la bomba: Detiene las bombas de agua para que no funcionen en seco en sistemas hidropónicos.
  • Seguridad doméstica: Alerta cuando los tanques de reserva en la azotea están vacíos.
  • Mantenimiento industrial: Indicador visual de los requisitos de recarga de refrigerante.

Resultado esperado:
* Agua presente: El sensor está abierto (entrada Lógica 1) $\rightarrow$ el LED permanece APAGADO.
* Tanque vacío: El sensor se cierra (entrada Lógica 0) $\rightarrow$ el LED se ENCIENDE.
* Nivel lógico: $V_{in} \approx 0\text{ V}$ activa la alerta; $V_{in} \approx 5\text{ V}$ indica estado normal.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con la lógica digital básica.

Materiales

  • V1: Fuente de alimentación de 5 V CC, función: alimentación principal del circuito
  • U1: CI Inversor Hexagonal 74HC04, función: inversión lógica
  • S1: Interruptor de flotador (configurado para Cerrar cuando está Vacío), función: sensor de nivel de líquido
  • R1: Resistencia de 10 kΩ, función: pull-up para señal del sensor
  • R2: Resistencia de 330 Ω, función: limitación de corriente del LED
  • D1: LED rojo, función: alerta visual de vacío
  • C1: Condensador cerámico de 100 nF, función: desacoplo de la fuente de alimentación

Pin-out del CI utilizado

Chip seleccionado: 74HC04 (Inversor Hexagonal)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conectado al nodo del sensor (SENSE_IN)
2 1Y Salida Conectado al circuito LED (ALERT_OUT)
7 GND Tierra Conectado a 0 (GND)
14 VCC Alimentación Conectado a la fuente de 5V

Guía de conexionado

  • V1 se conecta entre el nodo VCC y el nodo 0 (GND).
  • C1 se conecta entre el nodo VCC y el nodo 0 (colocado físicamente cerca de U1).
  • R1 se conecta entre el nodo VCC y el nodo SENSE_IN.
  • S1 se conecta entre el nodo SENSE_IN y el nodo 0.
  • U1 pin 1 se conecta al nodo SENSE_IN.
  • U1 pin 2 se conecta al nodo ALERT_OUT.
  • U1 pin 14 se conecta a VCC; el pin 7 se conecta a 0.
  • R2 se conecta entre el nodo ALERT_OUT y el nodo LED_ANODE.
  • D1 se conecta entre el nodo LED_ANODE (Ánodo) y el nodo 0 (Cátodo).

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

[ INPUT / SENSOR ]                 [ LOGIC PROCESSING ]                 [ OUTPUT / ALERT ]

[ VCC 5V ] --> [ R1: 10k ] --+
               (Pull-Up)     |
                             |
                             V
                        (SENSE_IN) ---->+------------------+
                        (Pin 1)         |    U1: 74HC04    |
                             ^          |   Hex Inverter   |--(ALERT_OUT)--> [ R2: 330R ] --> [ D1: Red LED ] --> GND
                             |          |   (Pin 1 -> 2)   |  (Pin 2)        (Limiting)       (Anode/Cathode)
[ GND 0V ] --> [ S1: Float ]-+          +------------------+
               (Switch)                           ^
                                                  |
                                            [ C1: 100nF ]
                                            (Decoupling)
                                            (VCC / GND)
Esquema Eléctrico

Tabla de verdad

Estado del agua Interruptor del sensor (S1) Voltaje de entrada (Pin 1) Entrada lógica Voltaje de salida (Pin 2) Estado del LED
Lleno ABIERTO 5 V (vía Pull-up) 1 0 V APAGADO
Vacío CERRADO 0 V (conectado a GND) 0 5 V ENCENDIDO

Mediciones y pruebas

  1. Verificación de alimentación: Mida el voltaje entre VCC y 0. Asegúrese de que sea estable a 5 V.
  2. Simulación de tanque lleno: Levante manualmente el flotador (abra S1). Mida el voltaje en SENSE_IN. Debería ser $\approx 5\text{ V}$. Verifique que el LED esté APAGADO.
  3. Simulación de tanque vacío: Deje caer el flotador (cierre S1). Mida el voltaje en SENSE_IN. Debería ser $\approx 0\text{ V}$.
  4. Salida lógica: Mientras S1 está cerrado (Vacío), mida el voltaje en ALERT_OUT. Debería ser $\approx 5\text{ V}$.
  5. Consumo de corriente: Mida la corriente a través de D1 ($I_{led}$) cuando esté ENCENDIDO. Debería ser de aproximadamente 10–12 mA dependiendo de la caída de voltaje específica del LED.

Netlist SPICE y simulación

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

* Practical case: Empty Tank Level Indicator

* ==============================================================================
* BILL OF MATERIALS & COMPONENTS
* ==============================================================================

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

* --- Decoupling ---
* C1: 100 nF ceramic capacitor (Power supply decoupling)
C1 VCC 0 100n

* --- Sensor Input Section ---
* R1: 10 kΩ resistor (Pull-up for sensor signal)
R1 VCC SENSE_IN 10k

* S1: Float switch (SPST)
* Wiring: Connects between node SENSE_IN and node 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: Empty Tank Level Indicator

* ==============================================================================
* BILL OF MATERIALS & COMPONENTS
* ==============================================================================

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

* --- Decoupling ---
* C1: 100 nF ceramic capacitor (Power supply decoupling)
C1 VCC 0 100n

* --- Sensor Input Section ---
* R1: 10 kΩ resistor (Pull-up for sensor signal)
R1 VCC SENSE_IN 10k

* S1: Float switch (SPST)
* Wiring: Connects between node SENSE_IN and node GND.
* Simulation: Modeled as a Voltage Controlled Switch (SW).
* Logic: 
*   - Tank Full (Float Up) -> Switch Open -> SENSE_IN pulled to VCC.
*   - Tank Empty (Float Down) -> Switch Closed -> SENSE_IN pulled to GND.
* Control Source V_FLOAT_ACT simulates the float movement.
*   - 0V = Float Up (Full)
*   - 5V = Float Down (Empty)
S1 SENSE_IN 0 FLOAT_CTRL 0 SW_FLOAT
.model SW_FLOAT SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* Stimulus: Float starts Up (Full), drops to Down (Empty) at 50us, returns at 200us.
V_FLOAT_ACT FLOAT_CTRL 0 PULSE(0 5 50u 1u 1u 150u 400u)

* --- Logic Processing ---
* U1: 74HC04 Hex Inverter
* Wiring Guide: Pin 1 (In) -> SENSE_IN, Pin 2 (Out) -> ALERT_OUT
* Power: Pin 14 -> VCC, Pin 7 -> GND
* Implemented as a subcircuit to strictly map pins.
XU1 SENSE_IN ALERT_OUT 0 VCC 74HC04_GATE

* Subcircuit definition for one gate of 74HC04
.subckt 74HC04_GATE IN OUT GND VCC
    * Behavioral voltage source for robust logic inversion
    * Uses sigmoid function for convergence: Vout = VCC if Vin < 2.5V
    B1 OUT GND V = V(VCC) * (1 / (1 + exp(50 * (V(IN) - 2.5))))
.ends

* --- Output Alert ---
* R2: 330 Ω resistor (LED current limiting)
R2 ALERT_OUT LED_ANODE 330

* D1: Red LED (Visual empty alert)
* Wiring: Anode -> LED_ANODE, Cathode -> GND
D1 LED_ANODE 0 LED_RED
.model LED_RED D(IS=1e-14 N=2 RS=5 BV=5 IBV=10u CJO=40p)

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

* Operating Point Analysis
.op

* Transient Analysis
* Run for 500us to capture the float switch activation cycle
.tran 1u 500u

* Output Printing
* Monitor Sensor Input, Inverter Output, and LED Voltage
.print tran V(SENSE_IN) V(ALERT_OUT) V(LED_ANODE) V(FLOAT_CTRL)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1190 rows)
Index   time            v(sense_in)     v(alert_out)    v(led_anode)
0	0.000000e+00	4.995005e+00	3.316079e-54	-1.70080e-28
1	1.000000e-08	4.995005e+00	3.316079e-54	-9.73961e-29
2	2.000000e-08	4.995005e+00	3.316079e-54	-1.41516e-29
3	4.000000e-08	4.995005e+00	3.316079e-54	8.723601e-29
4	8.000000e-08	4.995005e+00	3.316079e-54	1.163518e-28
5	1.600000e-07	4.995005e+00	3.316079e-54	4.380930e-29
6	3.200000e-07	4.995005e+00	3.316079e-54	-1.45299e-29
7	6.400000e-07	4.995005e+00	3.316079e-54	-1.01395e-29
8	1.280000e-06	4.995005e+00	3.316079e-54	-5.46095e-32
9	2.280000e-06	4.995005e+00	3.316079e-54	4.098577e-31
10	3.280000e-06	4.995005e+00	3.316079e-54	2.282032e-32
11	4.280000e-06	4.995005e+00	3.316079e-54	-9.50625e-33
12	5.280000e-06	4.995005e+00	3.316079e-54	-1.09186e-33
13	6.280000e-06	4.995005e+00	3.316079e-54	1.911218e-34
14	7.280000e-06	4.995005e+00	3.316079e-54	3.847480e-35
15	8.280000e-06	4.995005e+00	3.316079e-54	-2.97995e-36
16	9.280000e-06	4.995005e+00	3.316079e-54	-1.15977e-36
17	1.028000e-05	4.995005e+00	3.316079e-54	1.723722e-38
18	1.128000e-05	4.995005e+00	3.316079e-54	3.117034e-38
19	1.228000e-05	4.995005e+00	3.316079e-54	1.177223e-39
20	1.328000e-05	4.995005e+00	3.316079e-54	-7.52109e-40
21	1.428000e-05	4.995005e+00	3.316079e-54	-6.99870e-41
22	1.528000e-05	4.995005e+00	3.316079e-54	1.597704e-41
23	1.628000e-05	4.995005e+00	3.316079e-54	2.660714e-42
... (1166 more rows) ...

🔒 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: Empty Tank Level Indicator

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

* -----------------------------------------------------------------------------
* Decoupling Capacitor
* C1 connects between node VCC and node 0
* -----------------------------------------------------------------------------
C1 VCC 0 100n

* -----------------------------------------------------------------------------
* Sensor / Input Stage
* S1: Float switch (configured to Close when Empty)
* R1: Pull-up resistor
* Wiring: R1 between VCC and SENSE_IN. S1 between SENSE_IN and 0.
*
* Simulation Note: S1 is modeled as a Voltage-Controlled Switch driven by 
* a PULSE source (V_SW_CTRL) to simulate the physical action of the tank 
* emptying and the switch closing.
* -----------------------------------------------------------------------------
R1 VCC SENSE_IN 10k

* Switch S1
* Controlled by node SW_CTRL. 
* Control = 0V -> Switch Open (Tank Full, SENSE_IN pulled High)
* Control = 5V -> Switch Closed (Tank Empty, SENSE_IN pulled Low)
S1 SENSE_IN 0 SW_CTRL 0 FLOAT_SW_MODEL

* Switch Model
.model FLOAT_SW_MODEL SW(Vt=2.5 Ron=0.1 Roff=100M)

* Stimulus: User/Environment simulation
* Pulse starts at 0V (Full), pulses to 5V (Empty) at 100us, holds for 200us.
V_SW_CTRL SW_CTRL 0 PULSE(0 5 100u 1u 1u 200u 500u)

* -----------------------------------------------------------------------------
* Logic Stage: U1 74HC04 Hex Inverter
* Wiring: Pin 1 (Input) -> SENSE_IN, Pin 2 (Output) -> ALERT_OUT
*         Pin 14 -> VCC, Pin 7 -> 0 (GND)
* Implemented as a subcircuit to expose pins and provide robust behavioral logic.
* -----------------------------------------------------------------------------
XU1 SENSE_IN ALERT_OUT 0 VCC 74HC04_GATE

.subckt 74HC04_GATE IN OUT GND VCC
* Robust behavioral model of a CMOS Inverter using sigmoid function
* Vout = VCC if Vin < Vth, Vout = 0 if Vin > Vth
* Vth set to VCC/2. Steepness factor k=50.
B_INV OUT GND V = V(VCC) / (1 + exp(50 * (V(IN) - V(VCC)/2)))
.ends

* -----------------------------------------------------------------------------
* Output Stage: Indicator LED
* Wiring: R2 between ALERT_OUT and LED_ANODE. D1 between LED_ANODE and 0.
* -----------------------------------------------------------------------------
R2 ALERT_OUT LED_ANODE 330

* D1 Red LED
D1 LED_ANODE 0 RED_LED_MODEL

* LED Model (Approximate Red LED Vf ~ 1.8V @ 10mA)
.model RED_LED_MODEL D(IS=1e-18 N=2 RS=5 BV=5 IBV=10u CJO=10p)

* -----------------------------------------------------------------------------
* Analysis Commands
* -----------------------------------------------------------------------------
.op
* Transient analysis: 1us step, 500us total duration
.tran 1u 500u

* Print results to log (Required)
.print tran V(SENSE_IN) V(ALERT_OUT) V(LED_ANODE) V(SW_CTRL)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Dejar entradas flotantes: Aunque solo usamos una compuerta (Pin 1/2), las entradas no utilizadas en chips CMOS (pines 3, 5, 9, 11, 13) deben conectarse a GND o VCC para evitar oscilaciones y un consumo excesivo de energía.
  2. Cableado de Pull-up incorrecto: Conectar la resistencia en serie con la entrada en lugar de como pull-up a VCC. Asegúrese de que R1 vaya estrictamente a 5V.
  3. Inversión lógica del sensor: Usar un sensor que está Abierto cuando está Vacío sin cambiar la lógica del circuito. Esto causaría que la luz esté ENCENDIDA cuando el tanque está lleno. Asegúrese de que la acción mecánica coincida con la tabla de verdad.

Solución de problemas

Posibles mejoras y extensiones

  1. Alerta de audio: Agregue un zumbador activo de 5V en paralelo con la combinación LED/Resistencia para proporcionar una alarma audible cuando el tanque esté vacío.
  2. Histéresis: Reemplace el 74HC04 con un 74HC14 (Inversor Schmitt Trigger). Esto evita que el LED parpadee si el nivel del agua está justo en el umbral de conmutació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: ¿Cuál es el objetivo principal del circuito descrito en el artículo?




Pregunta 2: ¿Qué componente principal se utiliza para realizar la inversión lógica en este circuito?




Pregunta 3: ¿Cuál es el estado del LED cuando el sensor detecta que hay agua presente (entrada Lógica 1)?




Pregunta 4: ¿Qué función cumple la resistencia R1 de 10 kΩ en el circuito?




Pregunta 5: ¿Cómo debe comportarse el sensor (interruptor) para que el LED se encienda según el diseño?




Pregunta 6: ¿Qué voltaje de entrada ($V_{in}$) activa la alerta visual (LED encendido)?




Pregunta 7: ¿Cuál es el propósito del condensador cerámico C1 de 100 nF mencionado en la lista de materiales?




Pregunta 8: ¿Qué aplicación de seguridad doméstica se menciona específicamente para este circuito?




Pregunta 9: ¿Qué función cumple la resistencia R2 de 330 Ω?




Pregunta 10: Si el tanque está vacío, ¿qué nivel lógico recibe la entrada del inversor?




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:
¿Quiénes somos?


Caso práctico: Monitoreo de fallas en línea de producción

Prototipo de Monitoreo de fallas en línea de producción (Maker Style)

Nivel: Medio. Implementar un sistema de seguridad que detenga una cinta transportadora si el sensor de temperatura O el sensor de atasco detectan una anomalía.

Objetivo y caso de uso

Construirás un circuito de control lógico utilizando una puerta OR para combinar señales de dos sensores de seguridad distintos (Temperatura y Atasco Óptico). Cuando cualquiera de los sensores detecte una falla (Lógica Alta), el sistema emitirá una señal activa para activar un indicador o un mecanismo de parada.

Por qué es útil:
* Seguridad industrial: Evita que la maquinaria opere bajo condiciones peligrosas.
* Protección de equipos: Detiene los motores inmediatamente si se sobrecalientan para prevenir daños permanentes.
* Eficiencia del proceso: Detecta atascos físicos en las cintas transportadoras automáticamente, reduciendo el desperdicio.
* Redundancia: Permite que múltiples tipos de errores diferentes activen la misma rutina de parada de emergencia.

Resultado esperado:
* Sistema en espera: Cuando ambos sensores están en Bajo (0 V), el LED de salida está APAGADO.
* Falla de temperatura: Si el sensor de temperatura se activa (Alto/5 V), el LED se ENCIENDE.
* Falla de atasco: Si el sensor de atasco se activa (Alto/5 V), el LED se ENCIENDE.
* Falla crítica: Si ambos sensores se activan simultáneamente, el LED permanece ENCENDIDO.

Público objetivo y nivel: Estudiantes de electrónica y aficionados, Nivel Medio.

Materiales

Pin-out del CI utilizado

Chip seleccionado: 74HC32 (Cuádruple puerta OR de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al Sensor de Temperatura (S1)
2 1B Entrada B Conectado al Sensor de Atasco (S2)
3 1Y Salida Conectado al controlador del LED (R3 + D1)
7 GND Tierra Conectado al Negativo de la Fuente de Alimentación (0 V)
14 VCC Alimentación (+) Conectado al Positivo de la Fuente de Alimentación (5 V)

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Title: Production Line Fault Monitoring (OR Logic)

      [ INPUT SENSORS ]                       [ LOGIC PROCESSING ]                 [ VISUAL OUTPUT ]

                                                 (Pin 14: VCC)
                                                       |
                                                       v
[ VCC ] --> [ S1: Temp Switch ] --+--(Pin 1)-->+---------------+
                                  |            |               |
                             [ R1: 10k ]       |   U1: 74HC32  |
                                  |            |   (OR Gate)   |--(Pin 3)--> [ R3: 330 ] --> [ D1: LED ] --> [ GND ]
                               [ GND ]         |               |
                                               |               |
[ VCC ] --> [ S2: Jam Switch  ] --+--(Pin 2)-->+---------------+
                                  |                    ^
                             [ R2: 10k ]               |
                                  |               (Pin 7: GND)
                               [ GND ]
Esquema Eléctrico

Diagrama eléctrico

Diagrama electrico del caso: Caso práctico: Monitoreo de fallas en línea de producción
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

Este circuito utiliza lógica positiva (Activo en Alto).

Sensor A (Temp) Sensor B (Atasco) Salida (Indicador de falla) Estado del LED
Bajo (0) Bajo (0) Bajo (0) APAGADO
Bajo (0) Alto (1) Alto (1) ENCENDIDO
Alto (1) Bajo (0) Alto (1) ENCENDIDO
Alto (1) Alto (1) Alto (1) ENCENDIDO

Mediciones y pruebas

  1. Verificación en espera: Asegúrese de que ambos interruptores S1 y S2 estén abiertos. Mida el voltaje en el Pin 3 de U1 con respecto a GND. Debería ser ~0 V. El LED debería estar APAGADO.
  2. Simulación de falla de temperatura: Cierre S1 mientras mantiene S2 abierto. Mida el voltaje en el Pin 1 (Entrada A). Debería ser 5 V. La Salida en el Pin 3 debería pasar a Alto (~5 V) y el LED debe encenderse.
  3. Simulación de falla de atasco: Abra S1 y cierre S2. Mida el voltaje en el Pin 2 (Entrada B). Debería ser 5 V. El LED debe encenderse.
  4. Falla simultánea: Cierre tanto S1 como S2. El LED debe permanecer ENCENDIDO.

Netlist SPICE y simulación

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

* Practical case: Production Line Fault Monitoring

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

* --- Subcircuits ---
* 74HC32 Quad 2-input OR Gate
* Pinout: 1=InputA, 2=InputB, 3=Output, 7=GND, 14=VCC
* Implemented using a robust behavioral source with continuous functions
.subckt 74HC32 1 2 3 7 14
* Logic: Output = VCC if (A > 2.5V OR B > 2.5V)
* Using sigmoid function for smooth convergence: S(x) = 1/(1+exp(-k*(x-thresh)))
* max(V(1), V(2)) selects the higher voltage to compare against threshold (2.5V)
B_OR 3 7 V = V(14) * (1 / (1 + exp(-20 * (max(V(1), V(2)) - 2.5))))
.ends

* --- Main Power Supply ---
* V1: 5V DC Supply
* Wiring: Positive -> Node 14 (VCC), Negative -> Node 0 (GND)
V1 14 0 DC 5

* --- Input Sensors (Simulated Switches) ---
* S1: Temperature Sensor Switch
* Wiring: Connects VCC to VA (Pin 1). Modeled as Pulse Source to simulate toggling.
* Logic Sequence: High (Overheat) / Low (Normal)
VS1 VA 0 PULSE(0 5 0 1u 1u 200u 400u)

* S2: Jam Sensor Switch
* Wiring: Connects VCC to VB (Pin 2). Modeled as Pulse Source with faster period.
* ... (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: Production Line Fault Monitoring

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

* --- Subcircuits ---
* 74HC32 Quad 2-input OR Gate
* Pinout: 1=InputA, 2=InputB, 3=Output, 7=GND, 14=VCC
* Implemented using a robust behavioral source with continuous functions
.subckt 74HC32 1 2 3 7 14
* Logic: Output = VCC if (A > 2.5V OR B > 2.5V)
* Using sigmoid function for smooth convergence: S(x) = 1/(1+exp(-k*(x-thresh)))
* max(V(1), V(2)) selects the higher voltage to compare against threshold (2.5V)
B_OR 3 7 V = V(14) * (1 / (1 + exp(-20 * (max(V(1), V(2)) - 2.5))))
.ends

* --- Main Power Supply ---
* V1: 5V DC Supply
* Wiring: Positive -> Node 14 (VCC), Negative -> Node 0 (GND)
V1 14 0 DC 5

* --- Input Sensors (Simulated Switches) ---
* S1: Temperature Sensor Switch
* Wiring: Connects VCC to VA (Pin 1). Modeled as Pulse Source to simulate toggling.
* Logic Sequence: High (Overheat) / Low (Normal)
VS1 VA 0 PULSE(0 5 0 1u 1u 200u 400u)

* S2: Jam Sensor Switch
* Wiring: Connects VCC to VB (Pin 2). Modeled as Pulse Source with faster period.
* Logic Sequence: High (Jam) / Low (Clear)
VS2 VB 0 PULSE(0 5 0 1u 1u 100u 200u)

* --- Pull-down Resistors ---
* R1: 10k Pull-down for Temp Input
R1 VA 0 10k
* R2: 10k Pull-down for Jam Input
R2 VB 0 10k

* --- Logic IC U1 ---
* U1: 74HC32 Quad OR Gate
* Connections per wiring guide:
* Pin 1 (A) -> VA
* Pin 2 (B) -> VB
* Pin 3 (Y) -> V_OUT
* Pin 7 (GND) -> 0
* Pin 14 (VCC) -> 14
XU1 VA VB V_OUT 0 14 74HC32

* --- Output Indicator ---
* R3: 330 Ohm Current Limiting Resistor
R3 V_OUT LED_NODE 330

* D1: Red LED Visual Indicator
* Anode -> LED_NODE, Cathode -> GND
D1 LED_NODE 0 DLED

* --- Analysis Directives ---
* Transient analysis to capture truth table states (00, 01, 10, 11)
.tran 1u 400u

* Print required voltages for verification
.print tran V(VA) V(VB) V(V_OUT) V(LED_NODE)

* Calculate DC operating point
.op

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (906 rows)
Index   time            v(va)           v(vb)           v(v_out)
0	0.000000e+00	0.000000e+00	0.000000e+00	9.643749e-22
1	1.000000e-08	5.000000e-02	5.000000e-02	1.928750e-21
2	2.000000e-08	1.000000e-01	1.000000e-01	5.242886e-21
3	4.000000e-08	2.000000e-01	2.000000e-01	2.137746e-20
4	8.000000e-08	4.000000e-01	4.000000e-01	2.632654e-19
5	1.600000e-07	8.000000e-01	8.000000e-01	2.587285e-17
6	3.200000e-07	1.600000e+00	1.600000e+00	7.614990e-08
7	4.700575e-07	2.350288e+00	2.350288e+00	2.384318e-01
8	6.126008e-07	3.063004e+00	3.063004e+00	4.999936e+00
9	7.041960e-07	3.520980e+00	3.520980e+00	5.000000e+00
10	7.932149e-07	3.966074e+00	3.966074e+00	5.000000e+00
11	9.007723e-07	4.503862e+00	4.503862e+00	5.000000e+00
12	1.000000e-06	5.000000e+00	5.000000e+00	5.000000e+00
13	1.021511e-06	5.000000e+00	5.000000e+00	5.000000e+00
14	1.064534e-06	5.000000e+00	5.000000e+00	5.000000e+00
15	1.150580e-06	5.000000e+00	5.000000e+00	5.000000e+00
16	1.322672e-06	5.000000e+00	5.000000e+00	5.000000e+00
17	1.666856e-06	5.000000e+00	5.000000e+00	5.000000e+00
18	2.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
19	3.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
20	4.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
21	5.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
22	6.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
23	7.355224e-06	5.000000e+00	5.000000e+00	5.000000e+00
... (882 more rows) ...

Errores comunes y cómo evitarlos

  1. Dejar entradas flotantes: No instalar las resistencias pull-down (R1, R2) provoca que las entradas «floten» y capten ruido, causando que el LED parpadee o permanezca ENCENDIDO aleatoriamente. Solución: Utilice siempre resistencias pull-down de 10 kΩ en las entradas CMOS conectadas a interruptores.
  2. Falta de resistencia limitadora de corriente: Conectar el LED directamente al pin de salida del 74HC32 sin R3. Solución: Asegúrese de que R3 (330 Ω) esté en serie con el LED para evitar quemar el CI o el LED.
  3. Confundir el pinout: Tratar el 74HC32 como un chip lógico diferente (ej. 74HC02 NOR) debido a la forma similar del encapsulado. Solución: Verifique siempre el diagrama de pines en la hoja de datos; el Pin 3 es la salida para la primera puerta en el 74HC32.

Solución de problemas

Posibles mejoras y extensiones

  1. Alarma con enclavamiento: Añada un Flip-Flop SR o un bucle de retroalimentación para que, una vez detectada una falla, la alarma permanezca ENCENDIDA hasta que se presione un botón de «Reinicio» manual, incluso si el sensor vuelve a la normalidad.
  2. Alerta audible: Conecte un controlador de transistor y un zumbador activo de 5 V en paralelo con el LED para proporcionar una advertencia sonora en entornos de fábrica ruidosos.

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 se utiliza para combinar las señales de los dos sensores?




Pregunta 3: ¿Qué sucede con el LED de salida si el sensor de temperatura detecta una falla (Alto) pero el de atasco no?




Pregunta 4: ¿Cuál es el estado del sistema cuando ambos sensores están en Bajo (0 V)?




Pregunta 5: ¿Por qué es útil este sistema para la protección de equipos?




Pregunta 6: ¿Qué voltaje se considera 'Lógica Alta' para activar los sensores en este diseño?




Pregunta 7: ¿Cuál es el resultado esperado si ambos sensores se activan simultáneamente (Falla crítica)?




Pregunta 8: ¿Qué beneficio aporta la 'Redundancia' mencionada en el contexto?




Pregunta 9: ¿Qué nivel de dificultad se asigna a este proyecto según el contexto?




Pregunta 10: ¿Qué ocurre con el proceso si se detecta un atasco físico en la cinta?




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:
¿Quiénes somos?


Caso práctico: Sistema de arranque de motor redundante

Prototipo de Sistema de arranque de motor redundante (Maker Style)

Nivel: Medio. Diseña un circuito de control para arrancar maquinaria industrial desde un panel principal o un mando remoto de seguridad.

Objetivo y caso de uso

En este caso práctico, construirás un circuito de control digital utilizando una compuerta lógica OR para operar un motor de CC de alta potencia a través de un relé. El sistema permite arrancar el motor desde dos ubicaciones físicas distintas: el panel de control principal o una estación de seguridad remota.

Resultado esperado:
* Presionar el Botón A (Principal) arranca el motor inmediatamente.
* Presionar el Botón B (Remoto) arranca el motor inmediatamente.
* La salida lógica Alta ($V_{OH}$) mide aproximadamente 5 V cuando se presiona cualquiera de los botones.
* El relé produce un «clic» audible y el motor de CC gira cuando se cumple la condición lógica.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con compuertas lógicas básicas y manejo de relés.

Materiales

Pin-out del CI utilizado

Chip: 74HC32 (Cuádruple compuerta OR de 2 entradas)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada A Conectado al Nodo START_MAIN
2 1B Entrada B Conectado al Nodo START_REMOTE
3 1Y Salida Conectado al Nodo LOGIC_OUT
7 GND Tierra Conectado al Nodo 0
14 VCC Fuente de alimentación Conectado al Nodo VCC

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC32 OR gate

Esquemático

Practical case: Redundant motor starter system

      [ INPUTS ]                     [ LOGIC ]                     [ DRIVER ]                   [ OUTPUT / LOAD ]

 [ S1: Main Start ] --+
                      |
 [ R1: Pull-down  ] --+--(Pin 1)-->+------------+
                                   |            |
                                   | U1: 74HC32 |             (Base Sig)
                                   | (OR Gate)  |--(Pin 3)--> [ R3: 1k ] --> [ Q1: NPN ] --(Sink)--> [ K1: Relay Coil ]
                                   |            |                               |                    (w/ D1 Diode)
 [ S2: Remote Cmd ] --+--(Pin 2)-->+------------+                            [ GND ]                       |
                      |                                                                                (Magnetic)
 [ R2: Pull-down  ] --+                                                                                    |
                                                                                                           v
                                                                                                   [ K1: NO Contact ]
                                                                                                           |
                                                                                                     (Switched 5V)
                                                                                                           |
                                                                                                           v
                                                                                                    [ M1: DC Motor ]
                                                                                                           |
                                                                                                        [ GND ]
Esquema Eléctrico

Diagrama eléctrico

Diagrama electrico del caso: Caso práctico: Sistema de arranque de motor redundante
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

Este sistema utiliza lógica positiva (activa en ALTO).

Entrada A (Principal) Entrada B (Remota) Salida Y (Lógica) Estado del relé Estado del motor
0 (Abierto) 0 (Abierto) 0 (Bajo) APAGADO Detenido
0 (Abierto) 1 (Presionado) 1 (Alto) ENCENDIDO En marcha
1 (Presionado) 0 (Abierto) 1 (Alto) ENCENDIDO En marcha
1 (Presionado) 1 (Presionado) 1 (Alto) ENCENDIDO En marcha

Mediciones y pruebas

  1. Validación de entrada ($V_{in_high}$): Sin presionar ningún botón, mida el voltaje en START_MAIN y START_REMOTE. Debería ser 0 V. Presione S1 y verifique que el voltaje suba a aprox. 5 V.
  2. Verificación de salida lógica ($V_{out_logic}$): Coloque una sonda de multímetro en el Pin 3 de U1. Presione S1 O S2. El voltaje debería saltar de cerca de 0 V a $\approx$ 5 V.
  3. Prueba de actuador (RPM del motor): Observe el motor. Debería girar cuando la salida lógica es Alta. Si utiliza un tacómetro, verifique que Motor_RPM sea consistente independientemente de qué botón (S1 o S2) activó el arranque.

Netlist SPICE y simulación

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

* Redundant motor starter system
* Created based on BOM and Wiring Guide

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

* --- Input Section ---
* S1: Pushbutton (Main Start)
* Wiring: Connects VCC to START_MAIN.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT1)
* Timing: Period 200us, covers logic states 00, 10, 11, 01 combined with S2
V_ACT1 ACT1 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC START_MAIN ACT1 0 SW_PUSH

* R1: 10 kΩ resistor (Pull-down for Input A)
R1 START_MAIN 0 10k

* S2: Pushbutton (Remote Start)
* Wiring: Connects VCC to START_REMOTE.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT2)
V_ACT2 ACT2 0 PULSE(0 5 10u 1u 1u 200u 400u)
S2 VCC START_REMOTE ACT2 0 SW_PUSH

* R2: 10 kΩ resistor (Pull-down for Input B)
R2 START_REMOTE 0 10k

* Model for Pushbuttons
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* ... (truncated in public view) ...

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

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

* Redundant motor starter system
* Created based on BOM and Wiring Guide

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

* --- Input Section ---
* S1: Pushbutton (Main Start)
* Wiring: Connects VCC to START_MAIN.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT1)
* Timing: Period 200us, covers logic states 00, 10, 11, 01 combined with S2
V_ACT1 ACT1 0 PULSE(0 5 10u 1u 1u 100u 200u)
S1 VCC START_MAIN ACT1 0 SW_PUSH

* R1: 10 kΩ resistor (Pull-down for Input A)
R1 START_MAIN 0 10k

* S2: Pushbutton (Remote Start)
* Wiring: Connects VCC to START_REMOTE.
* Implementation: Voltage Controlled Switch driven by a Stimulus Pulse (V_ACT2)
V_ACT2 ACT2 0 PULSE(0 5 10u 1u 1u 200u 400u)
S2 VCC START_REMOTE ACT2 0 SW_PUSH

* R2: 10 kΩ resistor (Pull-down for Input B)
R2 START_REMOTE 0 10k

* Model for Pushbuttons
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=10Meg)

* --- Logic Section ---
* U1: 74HC32 Quad 2-input OR gate
* Pins: 1(A), 2(B), 3(Y), 7(GND), 14(VCC)
* Implemented as a subcircuit to expose all pins
XU1 START_MAIN START_REMOTE LOGIC_OUT VCC 0 74HC32_OR

.subckt 74HC32_OR A B Y VCC GND
* Behavioral OR logic using continuous tanh function for convergence
* Logic: If (A + B) > Threshold(2.5V), Output High
* Function scales 0-1 range to 0-5V
B1 Y GND V = 5 * (tanh(10 * (V(A) + V(B) - 2.5)) + 1) / 2
.ends

* --- Driver Section ---
* R3: 1 kΩ resistor (Base current limiting)
R3 LOGIC_OUT BASE_DRIVE 1k

* Q1: 2N2222 NPN Transistor (Relay driver)
* Connections: Base=BASE_DRIVE, Collector=RELAY_COIL_LO, Emitter=0
Q1 RELAY_COIL_LO BASE_DRIVE 0 2N2222
.model 2N2222 NPN(IS=1E-14 VAF=100 BF=200 IKF=0.3 XTB=1.5 BR=3 CJC=8p CJE=25p TR=46n TF=411p ITF=0.6 VTF=1.7 XTF=3 RB=10 RC=0.3 RE=0.2)

* --- Relay Section ---
* K1: 5 V Relay (SPDT)
* Coil Connection: VCC to RELAY_COIL_LO
* Modeled as Inductor + Series Resistance
L_K1 VCC K1_INT 10m
R_K1_COIL K1_INT RELAY_COIL_LO 100

* D1: 1N4007 Diode (Flyback protection)
* Connections: Anode=RELAY_COIL_LO, Cathode=VCC
D1 RELAY_COIL_LO VCC 1N4007
.model 1N4007 D(IS=7n RS=0.034 N=1.26 BV=1000 IBV=5u CJO=10p)

* Relay Contact Switch
* Wiring: Common(VCC) to NO(MOTOR_PWR)
* Controlled by voltage across the coil (VCC - RELAY_COIL_LO)
* Threshold set to 3V (Energized state)
S_K1 VCC MOTOR_PWR VCC RELAY_COIL_LO SW_RELAY
.model SW_RELAY SW(Vt=3.0 Ron=0.05 Roff=100Meg)

* --- Motor Load ---
* M1: 5 V DC Motor
* Wiring: MOTOR_PWR to 0
* Modeled as resistive load with slight inductance
R_M1 MOTOR_PWR M1_INT 20
L_M1 M1_INT 0 1m

* --- Simulation Directives ---
.op
.tran 1u 500u

* Print directive for transient analysis
.print tran V(START_MAIN) V(START_REMOTE) V(LOGIC_OUT) V(BASE_DRIVE) V(RELAY_COIL_LO) V(MOTOR_PWR)

.end

Resultados de Simulación (Transitorio)

Resultados de Simulación (Transitorio)
Show raw data table (1304 rows)
Index   time            v(start_main)   v(start_remote) v(logic_out)
0	0.000000e+00	4.995005e-03	4.995005e-03	0.000000e+00
1	1.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
2	2.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
3	4.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
4	8.000000e-08	4.995005e-03	4.995005e-03	0.000000e+00
5	1.600000e-07	4.995005e-03	4.995005e-03	0.000000e+00
6	3.200000e-07	4.995005e-03	4.995005e-03	0.000000e+00
7	6.400000e-07	4.995005e-03	4.995005e-03	0.000000e+00
8	1.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
9	2.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
10	3.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
11	4.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
12	5.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
13	6.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
14	7.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
15	8.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
16	9.280000e-06	4.995005e-03	4.995005e-03	0.000000e+00
17	1.000000e-05	4.995005e-03	4.995005e-03	0.000000e+00
18	1.010000e-05	4.995005e-03	4.995005e-03	0.000000e+00
19	1.026000e-05	4.995005e-03	4.995005e-03	0.000000e+00
20	1.030750e-05	4.995005e-03	4.995005e-03	0.000000e+00
21	1.039062e-05	4.995005e-03	4.995005e-03	0.000000e+00
22	1.041363e-05	4.995005e-03	4.995005e-03	0.000000e+00
23	1.045390e-05	4.995005e-03	4.995005e-03	0.000000e+00
... (1280 more rows) ...

Errores comunes y cómo evitarlos

  1. Entradas flotantes: Olvidar R1 o R2 permite que los pines de entrada «floten», causando que el motor se encienda aleatoriamente debido al ruido electrostático. Utilice siempre resistencias pull-down con la serie 74HC.
  2. Falta del diodo flyback: Omitir D1 permite que los picos de alto voltaje de la bobina del relé destruyan Q1 o reinicien U1 cuando el motor se apaga. Instale siempre el diodo en paralelo inverso a la bobina.
  3. Manejar el relé directamente: Intentar alimentar la bobina del relé directamente desde el Pin 3 de U1 dañará el CI, ya que las compuertas lógicas no pueden suministrar suficiente corriente. Utilice siempre un transistor (Q1) como controlador.

Solución de problemas

Posibles mejoras y extensiones

  1. Circuito de enclavamiento: Agregue un bucle de retroalimentación para que el motor permanezca encendido después de soltar el botón (estación de Marcha/Paro).
  2. Interbloqueo de seguridad: Agregue un 74HC08 (compuerta AND) en serie con un «Interruptor de seguridad» para que el motor solo funcione si la protección está cerrada Y se presiona un botó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: ¿Cuál es el componente principal utilizado para implementar la lógica de control en este circuito?




Pregunta 2: ¿Cuál es el voltaje de operación de la lógica de bajo voltaje utilizada en este diseño?




Pregunta 3: ¿Qué función cumple el relé en este circuito?




Pregunta 4: ¿Qué sucede si se presiona únicamente el Botón A (Panel Principal)?




Pregunta 5: ¿Qué tipo de carga se controla a través del relé en este caso práctico?




Pregunta 6: ¿Cuál es el propósito de la 'Redundancia operativa' mencionada en el objetivo?




Pregunta 7: ¿Qué valor aproximado debe tener la salida lógica Alta (V_OH) cuando se activa el circuito?




Pregunta 8: ¿Qué ventaja de 'Conveniencia' ofrece este diseño?




Pregunta 9: ¿Qué sucede si se presiona el Botón B (Remoto) en lugar del Botón A?




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:
¿Quiénes somos?


Caso práctico: Control de seguridad con lógica inversa

Prototipo de Control de seguridad con lógica inversa (Maker Style)

Nivel: Medio. Diseña un circuito de parada de emergencia donde una señal alta del sensor detiene un motor usando una compuerta NOT.

Objetivo y caso de uso

Diseñarás y construirás un circuito digital de parada de seguridad utilizando un inversor 74HC04. En esta configuración, el sistema se encuentra por defecto en estado «ON» (Motor en marcha) y requiere una señal lógica ALTA (HIGH) de un sensor para forzar al sistema a un estado «OFF» (Apagado).

Resultado esperado:
* Estado inactivo: Entrada $0\text{ V}$ (Bajo) $\rightarrow$ Salida $5\text{ V}$ (Alto) $\rightarrow$ Simulador de motor ON.
* Estado activo: Entrada $5\text{ V}$ (Alto) $\rightarrow$ Salida $0\text{ V}$ (Bajo) $\rightarrow$ Simulador de motor OFF.
* Umbrales: Voltajes de entrada superiores a $3.5\text{ V}$ se leen como Alto; inferiores a $1.5\text{ V}$ se leen como Bajo.

Público objetivo: Estudiantes de electrónica y aficionados familiarizados con niveles lógicos digitales básicos.

Materiales

Pin-out del CI utilizado

Chip: 74HC04 (Inversor Hexagonal)

Pin Nombre Función lógica Conexión en este caso
1 1A Entrada Conectado al nodo del sensor (S1, R1)
2 1Y Salida Conectado al nodo de control del motor (D1 vía R2)
7 GND Tierra Conectado a 0 (GND)
14 VCC Alimentación Conectado a VCC (5 V)

Guía de conexionado

Diagrama de bloques conceptual

Conceptual block diagram — 74HC04 NOT gate

Esquemático

[ INPUT STAGE ]                     [ LOGIC STAGE ]                     [ OUTPUT STAGE ]

 (VCC)
   |
 [ S1: Button (NO) ] --+
                       |
                   +--(SENSOR_IN)-->+-----------------------+
                       |                |       U1: 74HC04      |
 [ R1: 10k Resistor ] -+                |     (Hex Inverter)    |
   |                                    | Pin 1           Pin 2 | --(MOTOR_CTRL)--> [ R2: 330R ] --> [ D1: Green LED ] --> (GND)
 (GND)                                  |                       |
                                        | Power: [ V1: 5V ]     |
                                        | Filter: [ C1: 100nF ] |
                                        +-----------------------+
Esquema Eléctrico

Tabla de verdad

En esta lógica de seguridad, $0$ representa $0\text{ V}$ (Tierra) y $1$ representa $5\text{ V}$ (VCC).

Entrada del sensor (Pin 1) Salida de comando del motor (Pin 2) Estado del sistema
0 (Bajo) 1 (Alto) EN MARCHA (Por defecto)
1 (Alto) 0 (Bajo) DETENIDO (Emergencia)

Mediciones y pruebas

  1. Validación del estado inactivo:

    • Asegurar que S1 no esté presionado.
    • Medir voltaje en SENSOR_IN relativo a 0. Esperado: $\approx 0\text{ V}$.
    • Medir voltaje en MOTOR_CTRL. Esperado: $\approx 5\text{ V}$.
    • Verificar que D1 (Sim Motor) esté encendido.
  2. Validación de parada activa:

    • Presionar y mantener S1.
    • Medir voltaje en SENSOR_IN. Esperado: $5\text{ V}$.
    • Medir voltaje en MOTOR_CTRL. Esperado: $\approx 0\text{ V}$.
    • Verificar que D1 (Sim Motor) se APAGUE inmediatamente.
  3. Retardo de propagación (Opcional):

    • Si usa un osciloscopio, conecte el Canal 1 a SENSOR_IN y el Canal 2 a MOTOR_CTRL.
    • Disparar (Trigger) en el flanco de subida del Canal 1.
    • Medir la diferencia de tiempo entre que la entrada alcanza el 50% y la salida cae al 50%. Los valores típicos para el 74HC04 están en el rango de nanosegundos ($7\text{–}15\text{ ns}$).

Netlist SPICE y simulación

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

* Practical case: Safety control with inverse logic

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

* --- Decoupling ---
* C1 connects between node VCC and node 0 (near U1)
C1 VCC 0 100n

* --- Input Stage: Sensor (Push Button) ---
* S1 connects between node VCC and node SENSOR_IN
* Implemented as a Voltage-Controlled Switch to simulate the physical connection
S1 VCC SENSOR_IN S1_CTRL 0 SW_PUSH
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* Control source for S1 (Simulates user pressing the button)
* Pulse: Press at 200us, hold for 300us, release (Total simulation 1ms)
V_S1_ACT S1_CTRL 0 PULSE(0 5 200u 1u 1u 300u 1ms)

* R1 connects between node SENSOR_IN and node 0 (Pull-down)
R1 SENSOR_IN 0 10k

* --- Logic Stage: U1 (74HC04 Hex Inverter) ---
* U1 Pin 14 connects to VCC
* U1 Pin 7 connects to 0
* U1 Pin 1 connects to SENSOR_IN
* U1 Pin 2 connects to MOTOR_CTRL
* Implemented using a Behavioral Source (B-Source) for robust logic simulation
* Logic: Inverts SENSOR_IN. Uses sigmoid function for convergence.
* ... (truncated in public view) ...

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

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

* Practical case: Safety control with inverse logic

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

* --- Decoupling ---
* C1 connects between node VCC and node 0 (near U1)
C1 VCC 0 100n

* --- Input Stage: Sensor (Push Button) ---
* S1 connects between node VCC and node SENSOR_IN
* Implemented as a Voltage-Controlled Switch to simulate the physical connection
S1 VCC SENSOR_IN S1_CTRL 0 SW_PUSH
.model SW_PUSH SW(Vt=2.5 Ron=0.1 Roff=100Meg)

* Control source for S1 (Simulates user pressing the button)
* Pulse: Press at 200us, hold for 300us, release (Total simulation 1ms)
V_S1_ACT S1_CTRL 0 PULSE(0 5 200u 1u 1u 300u 1ms)

* R1 connects between node SENSOR_IN and node 0 (Pull-down)
R1 SENSOR_IN 0 10k

* --- Logic Stage: U1 (74HC04 Hex Inverter) ---
* U1 Pin 14 connects to VCC
* U1 Pin 7 connects to 0
* U1 Pin 1 connects to SENSOR_IN
* U1 Pin 2 connects to MOTOR_CTRL
* Implemented using a Behavioral Source (B-Source) for robust logic simulation
* Logic: Inverts SENSOR_IN. Uses sigmoid function for convergence.
* Vout = VCC if Vin < 2.5V, else 0V.
B_U1 MOTOR_CTRL 0 V = V(VCC) * (1 / (1 + exp(50 * (V(SENSOR_IN) - 2.5))))

* --- Output Stage: Motor Simulator (LED) ---
* R2 connects between node MOTOR_CTRL and node LED_ANODE
R2 MOTOR_CTRL LED_ANODE 330

* D1 connects between node LED_ANODE (Anode) and node 0 (Cathode)
D1 LED_ANODE 0 LED_GREEN
.model LED_GREEN D(IS=1e-22 RS=5 N=1.5 BV=5 IBV=10u CJO=10p)

* --- Simulation Directives ---
* Perform a transient analysis to observe the button press event
.op
.tran 1u 1ms

* Print required nodes for verification
.print tran V(SENSOR_IN) V(MOTOR_CTRL) V(LED_ANODE)

.end

Resultados de Simulación (Transitorio)

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

Errores comunes y cómo evitarlos

  1. Entrada flotante: Omitir R1 (Pull-down) hace que la entrada flote, provocando que el motor cambie aleatoriamente u oscile debido al ruido electromagnético. Solución: Asegurar siempre que las entradas tengan un camino definido a tierra o VCC cuando el interruptor esté abierto.
  2. Sobrecargar la salida: Conectar un motor de CC real directamente a la salida del 74HC04. El chip solo puede suministrar $\approx 20\text{ mA}$. Solución: Usar la salida para controlar un transistor (BJT o MOSFET) que luego conmute el motor real.
  3. Confundir familias lógicas: Usar un 74LS04 con resistencias de alto valor o niveles de voltaje incorrectos. Solución: Mantenerse en la serie 74HC para compatibilidad con 5 V CMOS y entradas de alta impedancia.

Solución de problemas

Posibles mejoras y extensiones

  1. Circuito de seguridad con enclavamiento: Agregar un bucle de retroalimentación o un Latch SR para que una vez que se active la parada de emergencia, el motor permanezca apagado incluso si se suelta el botón (requiere un reinicio manual).
  2. Indicadores de estado: Agregar un LED rojo conectado al lado de entrada (con buffer) para indicar «ESTADO DE EMERGENCIA» visualmente junto con el apagado del motor.

Más Casos Prácticos en Prometeo.blog

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

Ir a Amazon

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

Quiz rápido

Pregunta 1: ¿Qué componente principal se utiliza para realizar la inversión lógica en este circuito?




Pregunta 2: ¿Cuál es el estado por defecto del sistema (motor) cuando la entrada es 0 V?




Pregunta 3: ¿Qué señal lógica del sensor se requiere para detener el motor?




Pregunta 4: ¿Cuál es el voltaje de salida esperado cuando el sistema está en 'Estado inactivo' (Entrada 0 V)?




Pregunta 5: ¿Qué sucede con el simulador de motor en el 'Estado activo' (Entrada ALTA)?




Pregunta 6: ¿Cuál es el propósito de la 'Lógica a prueba de fallos' mencionada en el texto?




Pregunta 7: ¿Qué función cumple la inversión de señal en este contexto?




Pregunta 8: ¿Qué voltaje de entrada se lee típicamente como 'Bajo' en lógica de 5V (según el estándar TTL/CMOS implícito)?




Pregunta 9: ¿Para qué tipo de aplicación industrial es útil este circuito?




Pregunta 10: ¿Qué ocurre lógicamente si el sensor detecta un objeto (Señal ALTA)?




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

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

Sígueme:
¿Quiénes somos?