Hinzufügen von DC-Offset zu PWM durch einen Unity-Gain-Puffer

Ich habe ein PWM-Signal mit einer Periode von 200 uS und einem Tastverhältnis von 20%. Aus Prototyping-Gründen (dies simuliert einen Impuls, den ich später im Projekt von Schaltungen erhalte) möchte ich das PWM-Signal über einen ADC auf einem STM32F7 lesen. Der ADC hat eine Vref von 2,5 V von einem TI 5025 . Der reale Puls hat ein Signal, das unter 0 V fällt, bevor es sich erholt, daher möchte ich einen DC-Offset hinzufügen, der die Hälfte von Vref (1,25 V) beträgt.

Die Spannungsreferenz funktioniert einwandfrei und ich habe am Ausgang einen Spannungsteiler hinzugefügt, um mir die Hälfte des gewünschten Offsets von 1,25 V zu geben. Da der Impuls das Vref-Signal stört, habe ich mich entschieden, dem Ausgang einen Unity-Gain-Puffer ( MAX4167 ) hinzuzufügen, um die 2,5-V-Referenz und den 1,25-V-Offset zu isolieren und dem Signal hinzuzufügen. Der Puffer gibt die erwartete Gleichspannung aus.

Alle diese Schaltkreise funktionieren wie erwartet.

Was nicht funktioniert, ist, wenn ich das PWM-Signal zum Ausgang des Puffers hinzufüge. Ich erwarte, dass mein 1-V-PWM-Signal mit einem Offset von 1,25 V ausgegeben wird, aber was passiert, ist, dass der DC-Offset bleibt, aber das Signal geht vollständig verloren. Ich möchte, dass mein PWM-Signal identisch ist, aber mit einem Offset. Ich habe ein Bild von dem, was ich getan habe und was ich will, angehängt. Es ist viel einfacher, visuell zu verdauenGeben Sie hier die Bildbeschreibung ein

PWM-Signal, das ich über einen Signalgenerator erzeuge:Geben Sie hier die Bildbeschreibung ein

Ausgabe, die ich vom Puffer bekomme, wenn ich das PWM-Signal zum Ausgang hinzufüge:Geben Sie hier die Bildbeschreibung ein

Irgendwelche Vorschläge, wie ich dieses Problem lösen kann, wären großartig. Ich habe noch nicht viel mit Operationsverstärkern gearbeitet, also bin ich mir sicher, dass es etwas Einfaches ist. Danke

Antworten (3)

Sie können kein Signal an den Ausgang eines Operationsverstärkers anschließen, ohne einen Vorwiderstand dazwischen zu verwenden. Versuchen Sie es mit einem 1-kOhm-Widerstand. Der Operationsverstärker bekämpft jedes "harte" Signal, das an seinen Ausgang angelegt wird, und in Ihrer Schaltung kann der Operationsverstärker nur gewinnen, wenn er instabil wird. Seien Sie vernünftig und "summieren" Sie Ihre Signale.

Ich habe zunächst einen 100-Ohm-Widerstand zwischen dem Ausgang des Operationsverstärkers und dem Signal hinzugefügt, aber alles, was das tat, war, den 0-V-Teil des Signals auf etwa die Hälfte zu verschieben, ohne die 1-V-Spitze des Signals anzuheben. dh. Es fügte etwas Offset hinzu, reduzierte aber auch die Spitze zu Spitze. Könnten Sie bitte mehr über das Summieren erklären? Danke
Verwenden Sie einen 1-kOhm-Widerstand von Offset- und Rechteckwelle zu einem neuen Knoten. Dieser neue Knoten ist der Summierpunkt, aber die Amplitude beider wird durch den "Misch" -Vorgang beeinflusst, sodass Sie möglicherweise die Offset-Spannung entsprechend anpassen müssen UND möglicherweise die PWM-Amplitude entsprechend anpassen müssen ODER einen geeigneten Operationsverstärker-Mischer verwenden müssen Schaltkreis.
Ich habe Ihren Vorschlag ausprobiert, aber er erhöht nur den 0-V-Teil des Signals auf etwa 700 mV und erhöht den 1-V-Impuls überhaupt nicht. Ich hatte gehofft, eine richtige Mischerschaltung zu vermeiden.
Wenn Sie danach eine Verstärkungsstufe von zwei hinzufügen, was erhalten Sie?
Entschuldigung, wenn dies eine dumme Frage ist, aber schlagen Sie vor, dass ich den Offset und die Spannung vor oder nach der Operationsverstärkerstufe summiere? Ich habe mich gegen einen standardmäßigen nichtinvertierenden Summierverstärker entschieden, da ich die Vref vom DC-Offset isolieren möchte, bevor sie gemischt wird, daher zuerst der Puffer. Ich habe den Verstärkerausgang und den Signalausgang über jeweils einen 1-kOhm-Widerstand gemischt und den neuen Knoten gemessen (ähnlich einem Spannungsteiler, aber mit dem Gleichstrom an einem Ende und dem Signal am anderen. Ich messe die "Vout" zwischen den Widerständen ).
Rechnen Sie einfach mit dem kombinierten Signal und was Sie bekommen.
OK, ich bin am Ende angekommen. Die beiden Widerstände, die den neuen Knoten bilden, den ich messen möchte, bilden einen Teiler von 1/1 und daher wird mein Peak halbiert. Wenn ich den Knoten mit Widerständen von 2/1 bilde, bekomme ich meine Werte. Danke, dass du mir geholfen hast, es zu verstehen.
Sie haben bestätigt, was ich dachte, aber egal welche Widerstände Sie verwenden, Sie werden nicht die volle Amplitude und den Offset wiederherstellen. Sie sollten sie kombinieren und dann eine Verstärkung von 2 Operationsverstärkern verwenden. Möglicherweise können Sie immer noch einen einzelnen Operationsverstärker verwenden, wenn Sie anstelle des 1k-Potentialteilers Ihre Referenzspannung auf 1,25 Volt reduzieren mussten, waren 10-kOhm-Widerstände, bei denen der untere Widerstand mit Ihrem Impuls verbunden ist. Denk darüber nach.
Ja, du hast recht. Das Ändern des Widerstandsverhältnisses half, gab mir aber nicht die genaue Ausgabe. Es war nie Impulsspannung + DC-Offset, wie ich es wollte. Ich könnte dem DC-Offset ODER der Impulsspannung nahe kommen, aber niemals beides. Wenn ich den Spannungsteiler auf der Vref-Seite entferne und den Operationsverstärker mit einer Verstärkung von 1 mit 2,5 V füttere, kann ich am Ausgang den Summierknoten verwenden, um den Offset auf 1,25 V zu reduzieren, während die Signalamplitude beibehalten wird. Ich finde
Lassen Sie mich Ihnen den .... Simulator vorstellen. Hast du einen probiert? Eine ziemlich steile Lernkurve, aber wenn ich es einmal halbwegs beherrschte, eine Hilfe beim Entwerfen, auf die ich nie mehr verzichten könnte.
Der einzige kostenlose Simulator, den ich kenne, ist LTSpice, und ich hatte immer Probleme, mehr als nur grundlegende Komponenten damit zu verwenden. Ich stimme zu, dass ich es lernen sollte. Endlich bin ich auf eine Lösung gekommen. Mein Operationsverstärkerpaket ist ein DIP-8 mit 2 Operationsverstärkern, also habe ich die Einheitsverstärkung mit einem Operationsverstärker gemacht, um die Vref von DC-Offset und PWM zu isolieren, und mit dem zweiten Operationsverstärker habe ich einen nicht invertierenden Summierverstärker mit 2x Verstärkung zur Kompensation gemacht für die halbe Amplitude. Danke für die Hilfe, ich hätte viel länger gebraucht, um alleine dorthin zu gelangen.

Um das 1-V-PWM-Signal um 1,25 V zu versetzen, könnten Sie einen passiven Mischer verwenden, gefolgt von einem Verstärker, um die Amplitude wiederherzustellen. so was:-

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

R1 ist doppelt so groß wie R2, sodass Vref den halben Einfluss hat, was gleichen Werten mit Vref = 1,25 V entspricht. Die Mischerdämpfung beträgt 3:1 für Vref und 1,5:1 für PWM, was die richtige Wellenform erzeugt, jedoch reduziert Amplitude. OA1 ist als nicht invertierender Verstärker mit einer Verstärkung von 1,5 konfiguriert und stellt die ursprüngliche PWM-Amplitude von 1 V mit einem Offset von 1,25 V wieder her.

Anmerkungen:

Diese Schaltung bietet eine niedrige Ausgangsimpedanz zum Treiben des ADC. Vref und PWM werden jedoch nicht gepuffert, sodass Sie möglicherweise zwei weitere Operationsverstärker benötigen, um diese Eingänge ebenfalls zu puffern. Alternativ können Sie die Werte von R1 und R2 erhöhen, damit sie die Quellen weniger belasten, wobei zu berücksichtigen ist, dass die parasitäre Kapazität bei höherer Impedanz einen größeren Einfluss hat.

Um die Wellenformtreue aufrechtzuerhalten, sollte der Operationsverstärker eine große Bandbreite und ein geringes Überschwingen haben. Je nach Gerät kann ein gewisser Widerstand in Reihe mit dem Ausgang erforderlich sein, um Oszillationen zu vermeiden, wenn die relativ hohe Kapazität des ADC-Eingangs angesteuert wird.

Wie ich das Problem bisher angegangen bin, besteht darin, Vref / 2 mit einer Verstärkung von Eins zu puffern, da ich nicht möchte, dass meine Rechteckwelle die Vref beeinflusst, sodass ich konstante 1,25 V gepuffert habe. Dann mische ich Vref/2 und Rechteckwelle mit gleichen Verhältnissen (2 x 10 kOhm), was beide Signale halbiert, aber dann leite ich sie durch einen nicht invertierenden Operationsverstärker mit einer Verstärkung von 2, um dies zu kompensieren. Effektiv verwende ich eine Einheitsverstärkung, die sich dann mit einem nicht invertierenden Sommer mit 2-facher Verstärkung verbindet. Ich kann Ihre Schaltung auch mit dem Puffer ausprobieren. Danke

Sie können den Offset nicht ohne eine Ausgangsimpedanz zum Signal hinzufügen, der OmAmp-Ausgang mit niedriger Impedanz übersteuert Ihr Signal einfach. Summieren Sie beide Signale mit gleichen Widerständen!

Ich habe mir Beispiele für Summierverstärker angesehen, war mir aber nicht sicher, ob diese Konfiguration für meine Zwecke richtig war, da ich zuerst einen Puffer verwende, um den DC-Offset und das Signal zu isolieren.
Das ist kein Problem, eigentlich kann man den einfachen Buffer durch einen Summierverstärker mit ausreichend hoher Eingangsimpedanz ersetzen. Ich werde meiner Antwort ein Schema hinzufügen.
Danke für den Schaltplan, das macht sehr viel Sinn. Nur ein kleines Problem: Ich möchte, dass der Puffer auch mehr Strom liefert, als das Signal an meinen ADC hat, um die Einschwingzeit zu verkürzen, daher ist der Puffer für meine Anwendung definitiv erforderlich. Wenn ich nur die 2,5 V isolieren und den Offset zur PWM hinzufügen wollte, könnte ich dann einfach den gesamten Operationsverstärker entfernen? Würde die 10-kOhm-Konfiguration mit dem 500-Ohm-Spannungsteiler ausreichen, um zu verhindern, dass die PWM auf der Vref Rauschen erzeugt?
Ich habe Ihren Vorschlag gerade ausprobiert, aber er verschiebt den 0-V-Teil des Signals auf etwa 700 mV, ohne die 1-V-Spitze des Signals anzuheben. dh. Es fügte dem 0-V-Teil des Signals etwa die Hälfte des Offsets hinzu, verschiebt jedoch nicht den Impulsteil des Signals. Seltsam
Du hast Recht, es tut mir leid. Ich habe nicht nachgedacht, als ich die Schaltung gepostet habe. Ich dachte an den invertierenden Summierverstärker. Da dieser den Eingang auf 0 V hält, würde es wie beschrieben funktionieren, ABER Sie benötigen dafür eine negative Versorgungsschiene und erhalten einen invertierten Ausgang. Sie können den Offset auch an den nicht invertierenden Eingang und die PWM an den invertierenden Eingang mit einem Rückkopplungswiderstand an den Ausgang anschließen. Aber hier ist es dasselbe, Sie erhalten invertierte Ausgangssignale.
@ChristopherDyer Sie sagen: "Ich möchte, dass der Puffer auch mehr Strom liefert als das Signal an meinen ADC hat, um die Einschwingzeit zu verkürzen . " Was ist die maximal akzeptable Signalimpedanz für den ADC und welche Einschwingzeit möchten Sie? Bitte geben Sie diese Informationen in Ihrer Frage an.
@Bruce Abbott Ich habe absichtlich keine ADC-Informationen hinzugefügt, da sie für das Mischen des DC- und PWM-Signals nicht relevant sind. Dies ist das Problem, das ich gerade habe. Die maximale Impedanz für den ADC hängt von der gewünschten Einschwingzeit ab . Idealerweise wäre die Einschwingzeit das Maximum, das STM32 bietet, was in meinem Fall 3 Zyklen bei 30 MHz beträgt, 100 ns, aber das ist der beste Fall.