¿Cómo implementar el disparador Schmitt programable?

Estoy tratando de construir un disparador Schmitt que permita ajustar los valores de umbral alto y bajo con un microcontrolador.

esquemático

simular este circuito : esquema creado con CircuitLab

Podría reemplazar R1-R2 con un DAC, pero ¿cómo ajusto la resistencia de retroalimentación R3? ¿El gatillo funcionará correctamente si reemplazo R3 con un potenciómetro digital?

¿Por qué no usar una configuración de comparador dual con dos puntos de ajuste basados ​​en DAC/pot digital (tal vez DAC a través de un multiplexor analógico de salida bloqueada para obtener más canales de punto de ajuste) para obtener la histéresis y mucha flexibilidad?
ah, no importa, estaba pensando un paso demasiado adelante, cada uno de los comparadores que mencioné básicamente deben ser disparadores de Schmitt de todos modos. no me hagas caso..
Mmm. Si ya está usando una MCU, ¿puede simplemente leer la señal de entrada con un ADC y producir la salida con un pin MCU? Entonces, los valores de umbral podrían ser simplemente números en su código.
@Gregd'Eon hay mérito en eso, pero descargar este tipo de control de bucle cerrado en los circuitos de hardware es mejor a largo plazo. solo establecer puntos de ajuste es una tarea fácil y de baja velocidad, en comparación con monitorear completamente una señal analógica y poder responder correctamente cada vez
@ Gregd'Eon: usar un ADC sería la mejor opción, desafortunadamente estoy tratando con señales relativamente rápidas (~ 500 kHz). Esto requeriría una tasa de muestreo de al menos 2,5 MSP para obtener resultados adecuados. Como todo lo que necesito es contar pulsos, decidí ir con la implementación de hardware.

Respuestas (2)

Reemplazar completamente R1-R2 con un DAC puede brindarle resultados mixtos porque el circuito ahorra una parte al depender de la impedancia paralela R1||R2 del divisor de voltaje. Deberá asegurarse de que el DAC tenga la misma impedancia de salida que se ve desde R3.

esquemático

simular este circuito : esquema creado con CircuitLab

Eso ajustará el umbral mientras mantiene constante la histéresis. Para ajustar la histéresis, ahora puede reemplazar R1||R2 y R3 con un digipot.

¿Funcionaría si omito el DAC y simplemente conecto un digipot R1||R2 entre Vcc y R3?
@AshtonH. Tal vez. ¿Supongo que estás convirtiendo el divisor fijo en una olla? La histéresis dependerá de qué tan cerca esté de un riel porque la impedancia paralela cambia. (equivalente a R1||R2)

Esta es una forma realmente adecuada de hacerlo para los pedantes entre nosotros (y eso generalmente me incluye a mí).

Utilice dos comparadores (uno para el umbral de nivel alto y otro para el umbral de nivel bajo). Use dos DAC (o digipots) para establecer los umbrales para cada comparador. Introduzca la señal de entrada en ambos comparadores.

Las dos salidas del comparador se pueden usar para configurar un flip flop y restablecer un flip flop respectivamente.

Estaba insinuando eso en los comentarios de la pregunta, pero esto es mucho mejor, +1
@KyranF así lo hiciste: las grandes mentes piensan igual (¿o son tontos?). Recientemente tuve que implementar algo como esto en el trabajo para que esté fresco. Deberías haber hecho una respuesta (demasiado tarde muhuhahaha).
La idea de dos comparadores que manejan un flip-flop no es tan nueva; en realidad, está implementada en el conocido chip temporizador NE555. Usar THR y TRIG como entradas de umbral (impulsadas por salidas DAC) y forzar el voltaje de entrada a CONT ("forzar" significa trabajar contra la resistencia VCC/CONT) debería resolver el problema en cuestión. Recuerde que TRIG se compara con CONT/2, mientras que THR se compara con CONT.
@MichaelKarcher sí, absolutamente correcto, pero no tiene un control tan simple de los umbrales individuales, pero, punto tomado.
@Andy, ¿podría explicar cuál es la ventaja de usar comparadores adicionales en comparación con una topología de amplificador operacional único?
No se depende del nivel de salida para determinar los niveles de umbral absolutos. Un solo opamp crea dos niveles de umbral al involucrar retroalimentación positiva y, por lo tanto, el nivel de salida y el nivel de voltaje de potencia son factores que afectan los umbrales.