Electrónica Analógica · Tema 20

Comparador con histéresis

Decidir sí o no sin temblequear: el op-amp en modo brutal más una pizca de realimentación positiva.

01 · Punto de partida

¿Luz prendida o apagada?

Termostato, nivel de tanque, detector de oscuridad: la electrónica decide entre dos estados. El comparador es un op-amp sin realimentación (Tema 14): cualquier diferencia satura a un riel. Pero en el borde del umbral, el ruido lo vuelve loco: conmuta cientos de veces. La histéresis lo cura.

  • ¿Cómo se cablea el comparador más simple?
  • ¿Qué es el repiqueteo y cuándo aparece?
  • ¿Cómo se calculan los dos umbrales?
  • ¿Cuánta histéresis es suficiente?

02 · Comparador básico

El op-amp brutal

Vin a −, Vref a +: si Vin supera Vref, la salida cae al riel bajo; si no, sube al alto (lógica invertida; para no invertida, intercambiar entradas). Con LM358 a 5 V: ALTO ≈ 3,5 V, BAJO ≈ 0,5 V: no es lógica de 5 V, es “casi digital” que maneja un transistor o un LED.

Vin vs Vrefsin lazo →riel ALTO o BAJO

03 · Repiqueteo

El borde es una zona de guerra

Con Vin clavado en 2,50 V y ruido de ±100 mV, la entrada cruza el umbral decenas de veces por segundo: relé que tabletea, LED que parpadea, contador que suma de más. El laboratorio lo muestra: banda de ruido que toca el umbral = repiqueteo garantizado.

Sin histéresis

Un umbral: 2,50 V

Ruido de 100 mV → conmutaciones falsas. Solo sirve con señales limpias y rápidas.

Con histéresis

Dos umbrales: 1,5 / 3,0 V

El ruido de 100 mV no cruza 1,5 V de banda: una subida, una bajada. Silencio.

04 · Schmitt

Positiva a propósito

Realimentación positiva al nodo + (Tema 15): dos R de 10k, una a Vref = 2,5 V y otra a la salida. El nodo + vale (2,5 + Vout)/2: con salida en ALTO (3,5) el umbral es 3,0 V; en BAJO (0,5) es 1,5 V. Banda de 1,5 V: memoria de la última decisión.

Subiendo
La salida cae a BAJO recién al cruzar 3,0 V: antes aguanta en ALTO aunque pase por 2,5 V.
Bajando
Vuelve a ALTO recién al cruzar 1,5 V: el ruido entre medio no la mueve.
Ancho justo
Apenas mayor que el ruido pico-pico (×2 de margen): 1,5 V contra 0,2 V de ruido sobra; contra 2 V de ruido falta.
Lógica invertida
Este Schmitt invierte (entrada a −): Vin alto → salida BAJA. Si necesitás no invertido, otra etapa ×−1 o entradas cruzadas.

05 · Decisión en código

Contar conmutaciones

Simular deriva lenta con ruido sobre el umbral: el básico tabletea 11 veces, el Schmitt ni se entera (0).

Python en tu navegador. Subí el ruido y mirá cuándo se rinde cada uno.

def comparador(vin, vref=2.5, hi=3.5, lo=0.5):
    return hi if vin < vref else lo


def schmitt(vin, estado, vref=2.5, hi=3.5, lo=0.5):
    th_hi = (vref + hi) / 2
    th_lo = (vref + lo) / 2
    if vin > th_hi:
        estado = lo
    elif vin < th_lo:
        estado = hi
    return estado, th_hi, th_lo


print(comparador(2.4), comparador(2.6))
e = 3.5
for v in (2.0, 2.6, 3.2, 2.6, 1.2):
    e, thi, tlo = schmitt(v, e)
    print(f"Vin={v}V umbrales={tlo:.1f}/{thi:.1f} -> {e}V")

El básico conmuta en 2,5. El Schmitt: 2,6 no lo mueve (sigue 3,5), 3,2 lo voltea, y para volver hay que bajar de 1,5.

Rampa ruidosa

import random

random.seed(7)
rampa = [2.45 + i * 0.01 + random.uniform(-0.15, 0.15) for i in range(21)]
flancos_b = sum(1 for a, b in zip(rampa, rampa[1:]) if (a < 2.5) != (b < 2.5))
e, flancos_s = 3.5, 0
for v in rampa:
    nuevo, _, _ = schmitt(v, e)
    flancos_s += (nuevo != e)
    e = nuevo
print(f"flancos basico={flancos_b} schmitt={flancos_s}")

06 · Analogía programador

Debounce por hardware

  1. 1
    Histéresis = debounce.

    Igual que ignorar rebotes de un pulsador por 20 ms: dos umbrales ignoran rebotes de voltaje.

  2. 2
    Banda muerta = termostato.

    Prende a 19 °C, apaga a 21 °C: sin banda el relé tabletea toda la noche.

  3. 3
    Memoria = estado.

    Entre umbrales la salida recuerda: es un flip-flop de 1 bit con entradas analógicas.

07 · Taller

Laboratorio: cazar el repiqueteo

Vref = 2,5 V, salida 0,5/3,5 V. Mové Vin y el ruido: el laboratorio cuenta flancos y avisa si la banda toca umbrales.

TALLER 20

Caza-repiqueteo

Schmitt · ALTO 3,5 V

Vout3,5 V ALTO
Umbral activo3,00 V (bajar de 1,50)
Flancos0
EstadoEstable ✓

Schmitt en ALTO: la banda 1,90–2,10 no toca umbrales.

Preguntas para explorar

  1. Pasá a básico con Vin = 2,50 y ruido 100 mV. ¿Estado? Movelo 2,45–2,55: ¿flancos?
  2. Volvé a Schmitt, subí Vin a 3,5 V y bajalo a 1,0 V. ¿En qué valores conmuta cada sentido?
  3. Con Schmitt y ruido 300 mV en Vin = 2,5: ¿sigue estable? ¿Qué enseña sobre el ancho?
Ver respuestas sugeridas
  1. La banda 2,40–2,60 contiene 2,50: repiqueteo, flancos sumando al mover. Tablaeteo garantizado.
  2. Subiendo ≈ 3,0 V, bajando ≈ 1,5 V (más el margen del ruido configurado): asimetría visible de la memoria. Anotalos del laboratorio.
  3. Banda 2,2–2,8 dentro de 1,5–3,0: estable todavía. El ancho debe superar el ruido pico-pico con margen.

08 · Comprensión

Confusiones frecuentes

«La salida es lógica 5 V»

Es 0,5/3,5 V (LM358 a 5 V): un 3,3 V lo lee, un 5 V TTL a veces no. Para lógica seria: transistor o comparador dedicado.

«Histéresis = hacerlo más lento»

No es retardo: es memoria. Conmuta igual de rápido, pero solo ante cambios que importan.

«Más histéresis, mejor»

Ancho de más come sensibilidad: con 1,5 V de banda no detectás cambios de 0,5 V. Justa y necesaria.

«Op-amp = comparador dedicado»

El op-amp es lento decidiendo (µs, saturación profunda): para MHz o respuesta rápida, LM393/dedicados (Tema 21).

09 · Práctica guiada

Ejercicios de decisión

Ejercicio 1: umbrales a mano

Schmitt del tema (2×10k, Vref 2,5, 0,5/3,5). Calculá umbrales y verificá con schmitt() barriendo 0→5 V.

Ver solución razonada

1,5 / 3,0 V: (2,5+0,5)/2 y (2,5+3,5)/2. El barrido conmuta una vez por sentido, sin importar el ruido menor a 1,5 V.

Ejercicio 2: bomba de tanque

Nivel 0–5 V = 0–100 %. Querés bomba ON bajo 30 % y OFF sobre 70 %. ¿Vref y R sirven los del tema? ¿Lógica?

Ver solución

Sirven casi (1,5/3,0 V = 30/60 %): para 30/70 % exactos, Vref = 3,5 V con Ra = 20k y Rf = 10k → umbrales 1,5/3,5 V. Lógica invertida: Vin bajo → ALTO → transistor prende bomba.

Ejercicio 3: montar y soplar

Schmitt con pote en Vin. Subí despacio hasta que conmute, anotá; bajá hasta que vuelva, anotá. ¿Histéresis medida?

Ver solución

≈ 1,5 V (3,0 − 1,5) ± tolerancias de R y rieles reales. Si da ~0: la Rf no va al nodo correcto (revisar +).

10 · Síntesis

Ideas para recordar

  • Comparador = op-amp sin lazo: rieles 0,5/3,5 V (no lógica).
  • Un umbral + ruido = repiqueteo; dos umbrales = decisión.
  • Schmitt: Vth = (Vref + Vsat)/2 con 2×R iguales → 1,5/3,0 V.
  • Ancho apenas mayor que el ruido pico-pico.
  • Lógica invertida (entrada a −): planificar la etapa siguiente.

Bloque operacional completo (T14–T20). Ahora lo incómodo pero necesario: en el próximo tema, límites reales del operacional.