Wie implementiert man einen programmierbaren Schmitt-Trigger?

Ich versuche, einen Schmitt-Trigger zu bauen, der es ermöglicht, hohe und niedrige Schwellenwerte mit einem Mikrocontroller einzustellen.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Ich könnte R1-R2 durch einen DAC ersetzen, aber wie stelle ich den Rückkopplungswiderstand R3 ein? Funktioniert der Trigger richtig, wenn ich R3 durch ein digitales Potentiometer ersetze?

Warum nicht ein Dual-Komparator-Setup mit zwei DAC/digitalen Pot-basierten Sollwerten verwenden (vielleicht DAC über einen analogen Multiplexer mit verriegeltem Ausgang, um mehr Sollwertkanäle zu erhalten), um die Hysterese und viel Flexibilität zu erhalten
ach, egal, ich dachte einen Schritt zu weit voraus, jeder der Komparatoren, die ich erwähnt habe, muss im Grunde sowieso ein Schmitt-Trigger sein. kümmere mich nicht..
Hmm. Wenn Sie bereits eine MCU verwenden, können Sie das Eingangssignal einfach mit einem ADC lesen und die Ausgabe mit einem MCU-Pin erzeugen? Dann könnten die Schwellenwerte nur Zahlen in Ihrem Code sein.
@Gregd'Eon, das hat Vorteile, aber das Auslagern dieser Art von Closed-Loop-Steuerung auf Hardwareschaltungen ist auf lange Sicht besser. Nur das Einstellen von Sollwerten ist eine einfache und langsame Aufgabe, verglichen mit der vollständigen Überwachung eines analogen Signals und der Fähigkeit, jedes Mal richtig zu reagieren
@Gregd'Eon - Die Verwendung eines ADC wäre die beste Option, leider habe ich es mit relativ schnellen Signalen zu tun (~ 500 kHz). Dies würde eine Abtastrate von mindestens 2,5 MSPs erfordern, um angemessene Ergebnisse zu erhalten. Da ich nur Impulse zählen muss, habe ich mich für die Hardware-Implementierung entschieden.

Antworten (2)

Das vollständige Ersetzen von R1-R2 durch einen DAC kann zu gemischten Ergebnissen führen, da die Schaltung einen Teil einspart, indem sie sich auf die parallele Impedanz R1||R2 des Spannungsteilers verlässt. Sie müssen sicherstellen, dass der DAC die gleiche Ausgangsimpedanz hat, wie von R3 aus gesehen.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Dadurch wird der Schwellenwert angepasst, während die Hysterese konstant gehalten wird. Um die Hysterese einzustellen, können Sie nun R1||R2 und R3 durch einen Digipot ersetzen.

Würde es funktionieren, wenn ich den DAC weglasse und einfach einen Digipot R1||R2 zwischen Vcc und R3 schließe?
@AshtonH. Vielleicht. Ich nehme an, Sie verwandeln den festen Teiler in einen Topf? Die Hysterese hängt davon ab, wie nahe Sie sich an einer Schiene befinden, da sich die parallele Impedanz ändert. (entspricht R1||R2)

Für die Pedanten unter uns (und dazu zähle ich meistens auch) ist das eine richtig gute Methode.

Verwenden Sie zwei Komparatoren (einen für die Schwelle des hohen Pegels und einen für die Schwelle des niedrigen Pegels). Verwenden Sie zwei DACs (oder Digipots), um die Schwellenwerte für jeden Komparator einzustellen. Führen Sie das Eingangssignal in beide Komparatoren ein.

Die beiden Komparatorausgänge können zum Setzen eines Flip-Flops bzw. zum Rücksetzen eines Flip-Flops verwendet werden.

Ich habe das in den Kommentaren der Frage irgendwie angedeutet, aber das ist viel besser, +1
@KyranF das hast du getan - große Köpfe denken gleich (oder sind das Dummköpfe?). Ich musste kürzlich so etwas bei der Arbeit implementieren, damit es frisch ist. Du hättest eine Antwort daraus machen sollen (zu spät muhuhahaha).
Die Idee, dass zwei Komparatoren ein Flip-Flop ansteuern, ist nicht so neu – tatsächlich ist sie im bekannten NE555-Timer-Chip implementiert. Die Verwendung von THR und TRIG als Schwelleneingänge (angesteuert von DAC-Ausgängen) und das Erzwingen der Eingangsspannung in CONT ("Forcieren" bedeutet, gegen den Widerstand VCC / CONT zu arbeiten) sollte das vorliegende Problem lösen. Denken Sie daran, dass TRIG mit CONT/2 verglichen wird, während THR mit CONT verglichen wird.
@MichaelKarcher ja, absolut richtig, aber Sie haben keine so einfache Kontrolle über die einzelnen Schwellenwerte, aber Punkt genommen.
@Andy könnten Sie bitte erläutern, was der Vorteil der Verwendung zusätzlicher Komparatoren im Vergleich zu einer einzelnen Operationsverstärkertopologie ist?
Es gibt kein Vertrauen auf den Ausgangspegel zum Bestimmen absoluter Schwellenpegel. Ein einzelner Operationsverstärker erzeugt zwei Schwellenpegel, indem er eine positive Rückkopplung einbezieht, und daher sind der Ausgangspegel und der Leistungsspannungspegel Faktoren, die die Schwellenwerte beeinflussen.