Rechteckwellen-zu-Dreieckwellen-Konverter des Operationsverstärkers funktioniert nicht wie erwartet

Eine Folgefrage zu einer ähnlichen Frage von gestern, da das Problem, auf das ich gestoßen bin, so unterschiedlich war, dass mehr als eine Bearbeitung gerechtfertigt ist.

Ich habe einen Integrator gebaut, der als 5-V-32-Hz-Rechteckwellen-Dreieckswellen-Konverter fungiert.

Geben Sie hier die Bildbeschreibung ein

Das ist meine Ausgabe.

Geben Sie hier die Bildbeschreibung ein

Wir können sehen, dass der Spannungsoffset zu hoch ist, was seltsam ist, da nach meinem Verständnis von Integratoren der Spannungsoffset gleich der "Masse" -Spannung sein sollte, die 2,5 V beträgt.

Eine Möglichkeit, dieses Verhalten zu ändern, besteht darin, den hochohmigen Rückkopplungswiderstand zu modifizieren. Dies ist ein Beispiel für den Widerstand (R2) mit einem reduzierten Widerstand (200 k). Je näher der Rückkopplungswiderstand an 0 liegt, desto geringer ist der Offset.

Geben Sie hier die Bildbeschreibung ein

Ich bin mir nicht sicher, warum dies einen solchen Einfluss auf die Offset-Spannung hat. Da das Reduzieren des hochohmigen Rückkopplungswiderstands zu einer runderen Dreieckswelle führt und ich das nicht möchte (ich verwende das Dreieck zur Modulation auf einem CD4046-VCO-Chip), versuche ich, einen Weg zu finden, um die Offset-Spannung zu reduzieren ohne die Dreieckswelle zu verzerren.

Das LTspice-Modell , falls jemand es braucht. Wenn Sie weitere Informationen zu diesem Problem benötigen, lassen Sie es mich bitte wissen.

Bearbeiten: Eine Nahaufnahme der Rechteckwelle.

Geben Sie hier die Bildbeschreibung ein

Zuvor habe ich Sie gebeten, 20 Sekunden zu warten, bis sich die Ausgabe beruhigt hat - haben Sie das getan?
Ich habe 20 Sekunden gewartet. die Ergebnisse wurden nicht verändert.
Ist das ein Rechteckwelleneingang mit gleichem Abstand oder eine Rechteckwelle?
Wenn Ihr quadratischer Eingang nicht "perfekt" ist (Duty Cycle = 0,5 ...), benötigen Sie einen weiteren Integrator für eine Feedback-Korrektur auf den ersten Integrator-Offset ... Ohne diesen wird er immer driften ... und schließlich "sättigen" hoch oder tief.
Eine Eingangswellenform mit einem Tastverhältnis von nicht 50 % führt dazu, dass der Ausgang des Integrators auf einen Offset geht, bei dem das Tastverhältnis durch den Entladeeffekt ausgeglichen wird, den der Rückkopplungswiderstand auf den Kondensator hat.
Meine quadratische Eingabe ist wahrscheinlich nicht perfekt. Wie würde ich vorgehen, um diesen anderen Integrator hinzuzufügen?
@HFOrangefish warten Sie, Herr Orangenfisch; Wie schätzen Sie ein, dass Ihr Eingangssignal ist likely to be not perfect- von dem, was ich über die Zahlen in der Sim-Schaltung sagen kann, ist es perfekt. Ersetzen Sie es möglicherweise durch eine 2,5-Volt-Gleichstromquelle und prüfen Sie, ob der Operationsverstärkerausgang nahe bei 2,5 Volt bleibt. Wenn dies nicht geschieht, stimmt möglicherweise etwas mit Ihrem AD822-Modell nicht. Ich bin mir jedoch nicht sicher, wofür die "1000" am Ende der Impulsdefinitionszeile steht (mein Sim hat das nicht).
Mit nicht perfekt meine ich, dass die Anstiegs- und Abfallzeit den Arbeitszyklus beeinflusst. In LTSpice ist 1000 die Anzahl der Zyklen, die der Rechteckgenerator erzeugt. Und ich plane, diese Schaltung wirklich zu bauen, wobei die PWM einer MCU sowieso als Rechteckwelle fungiert. Ich habe die Schaltung mit einer 2,5-DC-Quelle getestet und der Ausgang des Operationsverstärkers bleibt nahe bei 2,5 Volt.
Dann haben Sie eine ungenaue Rechteckwelle. Ich fordere Sie auf, dies zu prüfen und zu korrigieren. Verwenden Sie möglicherweise Zykluszeiten von 0,032 Sekunden und eine Einschaltdauer von 0,016 Sekunden, um fraktionelle Anomalien auszuschließen. Anstieg und Abfall auf Null setzen. Sie könnten auch die Spannungsimpulsquelle neu installieren, aber sowohl die obere als auch die untere Amplitude auf 2,5 Volt einstellen und sehen, was passiert. Wenn das OK aussieht, stellen Sie die obere Spannung auf 3 Volt und die untere Spannung auf 2 Volt ein. Wiederholen und beobachten.
Ein CD4047-IC verfügt über einen RC-Oszillator, der einen digitalen Teiler durch zwei antreibt, der eine absolut perfekte Rechteckwelle mit gleichmäßigen hohen und niedrigen Zeiten erzeugt.

Antworten (3)

Bei einer LTSpice-Simulation konnte ich die Ausgangswellenform (V_triangle) verbessern, indem ich Tr (Anstiegszeit) und Tf (Abfallzeit) als 1n anstelle von 0 angab.

Ich habe das Tastverhältnis von V_square mit 0 für Tr und Tf überprüft: Die Wellenform war bei 0 V sichtbar länger als bei 5 V. Als ich Tr und Tf auf 1n änderte, änderte sich die Eingangswellenform (V_square) auf 50-50 Leerzeichen. Die Ausgangsspannung stellte sich dann als Dreieck ein, das auf 2,5 V zentriert war.

BEARBEITEN

Hier ist mein Ergebnis, beginnend bei etwa 4 Sekunden. (Beachten Sie, dass die Zeitkonstante von R2*C1 1 Sekunde beträgt.)Geben Sie hier die Bildbeschreibung ein

Sie müssen nicht enger aufdrücken, tr/tfwenn Sie nur ein Dreieck sehen möchten. Es reicht aus, Tonso zu machen, dass das Ergebnis Ton+tr=T/2. Da tr=min(Ton,T-Ton)/10können Sie dies mit lösen x+x/10=1/2, was zu Ton={5/11}. Es funktioniert tatsächlich , wenn auch mit glatten Ecken (aufgrund der time**2/2Integration der Rampen).

Ein paar Punkte zu LTspice: Wenn Sie kontinuierliche Impulse wünschen, müssen Sie die Anzahl der Zyklen nicht einstellen, Sie können das leer lassen und es wird einfach weitergehen. Sie sollten die Anstiegs- und Abfallzeiten festlegen, sonst erledigt LTspice das für Sie, und sie werden wahrscheinlich nicht das sein, was Sie wollen. Wenn Sie möchten, dass sie fast vertikal sind, verwenden Sie einen sehr kleinen Wert, 1n, 1u oder in einigen Fällen sogar 1p.

PULSE(5 0 0 1n 1n 0.015625 0.03125)

Wenn Sie die realen Anstiegs- und Abfallzeiten kennen, die Sie von Ihrer Schaltung erwarten, verwenden Sie diese stattdessen, je besser die eingehenden Daten sind, desto besser sind die Ergebnisse.

Sie können die Genauigkeit der Simulation verbessern, indem Sie eine Reihe von Einstellungen und Optionen ändern. Am häufigsten werden diese Befehle hinzugefügt

.OPTIONS plotwinsize=0
.OPTIONS numdgt=7

Wenn Sie in Ihrem transienten Simulationsbefehl keinen Zeitschritt angeben, wird LTspice einen eigenen erstellen, was wiederum wahrscheinlich nicht das ist, was Sie wollen. Sie können auch den Beginn der Datenaufzeichnung verzögern, um die Schaltung zu stabilisieren. Diese Anweisung wartet 3,5 Sekunden und zeichnet dann die nächsten 0,5 Sekunden mit einem Zeitschritt von 100 uS. Dies ergibt eine bessere Auflösung, läuft aber langsamer.

.tran 0 4 3.5 100u

Probieren Sie diese Techniken aus und sehen Sie, ob sie Ihre Simulationen nicht verbessern.

tr/tfSo lächerlich niedrig anzugeben, ist eine unnötige Übertreibung . Wenn es darum geht, einen idealen Integrator zu erreichen, ist eine Mathematica-Software besser geeignet. Andernfalls ist ein Wert, der 1000-mal kleiner als die Periode ist, oft ausreichend, ohne numerische Probleme mit dem Solver aufgrund des enormen Dynamikbereichs zu riskieren, der dem Zeitschritt für die Unterbrechungspunkte auferlegt wird. Außerdem werden numdgtund plotwinsizenur benötigt, wenn mehr als floatnumerische Genauigkeit von den Diagrammen verlangt wird.

Hier ist ein „Brute-Force“-Beispiel für die „Unterdrückung“ von Drift in einigen Anwendungen.
Es wird in einigen "opamp"-Verstärkern verwendet.
Wird nur bei einer Wellenform mit 50% Arbeitszyklus verwendet, und vielleicht (?) Einige andere Einschränkungen ...

Geben Sie hier die Bildbeschreibung ein