Ich versuche einen Bubba Ocsillator auf MATLAB zu simulieren , Simulink. Das Problem ist, dass ich nicht in der Lage bin, die Sinuskurve aus der Schaltung zu erzeugen.
Das unten ist meine Schaltung:
Und das unten ist mein Ergebnis (simuliert für 10 Sekunden):
Vergrößertes Ergebnis (10 Sekunden lang simuliert):
Was habe ich falsch gemacht? Wie man mit diesem Bubba-Oszillator eine reine sinusförmige Wellenform erreicht ...
operational-amplifier
matlab
sine
simulink
Dravidian
quelle
quelle
Antworten:
Sie haben ein ideales Modell (OPAMP mit unendlicher Bandbreite, unendliche Ausgangsspannung usw.) erstellt, das bedingt stabil ist und ausgeführt wird.
Schauen Sie sich Ihre y-Achse an, sie hat das 1,5-fache erreicht1059 ENORM!. Dies ist der Grund für eine Ausnahme ... die Auflösung ist nicht mehr ausreichend, um diesen instabilen "Oszillator" darzustellen.
Wenn ein realitätsnaher OPAMP verwendet wird (+ -15 V, Verstärkung auf 100.000 begrenzt), verhält es sich
quelle
Es oszilliert, Sie können sehen, dass es auf der rechten Seite des Diagramms funktioniert. Wenn Sie auf der linken Seite zoomen, sollten Sie auch die Schwingung sehen, jedoch mit einer viel kleineren Amplitude.
Ihr Missverständnis beruht auf der Tatsache, dass Sie zuerst die Betriebstheorie von Oszillatoren verstehen müssen .
Ich schlage vor, über das Barkhausen-Stabilitätskriterium zu lesen .
Dies besagt, dass ein Oszillator schwingt, wenn die Schleifenverstärkung mehr als 1 beträgt .
Für den Bubba-Oszillator ist dies der Fall.
Wenn jedoch die Schleifenverstärkung höher als 1 bleibt, nimmt die Amplitude der Schwingung zu und nimmt weiter zu.
Sie haben ideale Operationsverstärker verwendet (ich vermute), und das bedeutet, dass die Amplitude der Schwingung zunimmt und weiter zunimmt. Das zeigt deine Handlung.
In dem Artikel über den Bubba-Oszillator verwendet der Autor echte Opamps. Diese Operationsverstärker können keine unendlichen Spannungen erzeugen, sodass ihre Ausgangsspannung bei einer bestimmten Spannung geringer ist als im Idealfall erwartet . Und das bedeutet, dass der Loopgain kleiner wird. Ein solcher Oszillator mit echten Operationsverstärkern stabilisiert seine Signalamplitude an dem Punkt, an dem die Schleifenverstärkung genau eins ist .
Und das führt zu einer stabilen Amplitude.
Die Lösung für Ihr Problem lautet also: Verwenden Sie (Modelle von) weniger idealen Operationsverstärkern.
quelle
Es hat angefangen zu schwingen. Die Amplitude wächst exponentiell. Die Simulation wird gestoppt, wenn ein Strom, eine Spannung oder eine interne Variable die Grenze des verfügbaren Nummernkreises erreicht.
Nehmen Sie ein paar in Reihe geschaltete Zenerdioden, bei denen die Anoden gegeneinander liegen. Fügen Sie diesen Begrenzungskreis parallel zu einem der Kondensatoren ein. Die Amplitude wächst nicht mehr bis ins Unendliche.
Dies ist keine gute Lösung, wenn Sie eine Sinuswelle mit geringer Verzerrung benötigen. Ein guter analoger Sinusoszillator verfügt über eine speziell entwickelte Steuerschaltung, die die Ausgangsamplitude überprüft und die Verstärkung reduziert, bis die Ausgangsamplitude gewünscht wird. Der Regler sucht kontinuierlich nach der richtigen Verstärkung, hat jedoch die richtige Trägheit, die die Verzerrung der Sinusimpulse verhindert. In der Steuerungstheorie nennen sie es PI-Regler. Es benötigt eine spannungsgesteuerte Komponente mit variabler Verstärkung, Dämpfung oder Widerstand. Ich habe in praktischen Schaltungen sogar einen hier verwendeten NTC-Widerstand gesehen.
In Simulink können Sie einen Gleichrichter nehmen, ihn von Ihrer Sinuswelle speisen, seinen Ausgang an einen langzeitkonstanten RC-Integrator pumpen und einen Ihrer Spannungsfolger durch einen Stromkreis ersetzen, der normalerweise eine Verstärkung von 1 hat, die Verstärkung jedoch sofort mit einer steilen Steigung verringert da die Spannung im RC-Integrator einen bestimmten Grenzwert überschreitet.
Leider habe ich weder Matlab noch Simulink, sondern nur kostengünstige Imitationen gewaschen, aber es funktioniert dort.
quelle
Nur um noch einen Beitrag dazu hinzuzufügen. Hier ist eine Schaltung, die tatsächlich funktionieren sollte, wenn ein Quad LT1631 und eine einzelne Stromversorgungsschiene verwendet werden:
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
Die Ausgangsfrequenz sollte in der Nähe von ungefähr liegen12 πR C. oder in der Nähe 15.9kHz für die angegebenen Werte von R = 1k Ω und C.= 10nF im obigen Schema gezeigt.
Hier ist die Ausgabe von LTSpice:
Sie sollten in der Lage sein, ähnliche Ergebnisse in Ihrem eigenen Simulator zu replizieren.
(Für eine günstigere Anordnung versuchen Sie stattdessen das Quad-Paket TI LMV324IPWR.)
quelle
Die Verstärkung reicht nicht aus, um die Schwingung aufrechtzuerhalten. Sie benötigen eine Mindestverstärkung von 4. Mit den gezeigten Widerständen (1,5 M und 360 k ist Ihre Verstärkung viel geringer).
Ich habe die Schaltung gebaut und es funktioniert NICHT. Tatsächlich können die meisten Bubba-Oszillatorschaltungen im Internet nicht funktionieren (außer in einem Simulationsprogramm).
Seien Sie mein Gast, bauen Sie sie mit echten Teilen auf ein Steckbrett und überzeugen Sie sich selbst!
quelle