Sinusgenerator - Bubba-Oszillator

7

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: Geben Sie hier die Bildbeschreibung ein

Und das unten ist mein Ergebnis (simuliert für 10 Sekunden): Geben Sie hier die Bildbeschreibung ein

Vergrößertes Ergebnis (10 Sekunden lang simuliert): Geben Sie hier die Bildbeschreibung ein

Fehler erhalten: Geben Sie hier die Bildbeschreibung ein

Was habe ich falsch gemacht? Wie man mit diesem Bubba-Oszillator eine reine sinusförmige Wellenform erreicht ...

Dravidian
quelle
1
Was passiert danach .....
Trevor_G
Was Sie sehen, ist der Oszillator, der startet. Stellen Sie mehr Zeit für die Simulation ein.
Martin Petrei
Nach dem Einstellen von 100 Sekunden als Simulationszeit geht die Amplitude auf unendlich und bei etwa 51 Sekunden ist die Ableitung des Zustands zum Zeitpunkt 51.62098161663971 nicht endlich. Die Simulation wird gestoppt. Dies ist die Fehlermeldung.
Dravidian

Antworten:

13

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.

Geben Sie hier die Bildbeschreibung ein

Wenn ein realitätsnaher OPAMP verwendet wird (+ -15 V, Verstärkung auf 100.000 begrenzt), verhält es sich

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

JonRB
quelle
+1, vielen Dank Kumpel, können Sie mir bitte die Werte zeigen, die Sie in Ihrer Schaltung verwendet haben ... Nochmals vielen Dank
Dravidian
1
uuur ... genau das gleiche wie deins (nur Simulink ist Unsinn beim Anzeigen ...) Ich habe die Designdatei, die ich hochladen kann. HINWEIS: Sie benötigen Simscape-Electronics, wenn Sie einen bandbegrenzten OPAMP
JonRB
Es tut mir leid, Sie zu nerven. Ich verwende MATLAB 2015 b. Können Sie die Datei in der vorherigen Version hochladen, wenn dies keine großen Probleme verursacht? Wenn nicht, egal. Vielen Dank für die Hilfe ... * Datei> Modell exportieren nach> Vorherige Version *, wie hoch ist auf jeden Fall die Amplitudenverstärkung, die Sie in Ihren Operationsverstärkern verwendet haben?
Dravidian
10

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.

Bimpelrekkie
quelle
Meinen Sie mit echten Operationsverstärkern einen Operationsverstärker mit endlicher Verstärkung ? Entschuldigung, ich bin ziemlich neu in der Elektronik ...
Dravidian
+1 Also, was ihr sagt, sind echte Operationsverstärker, ist wie Bubbas ärmerer Cousin ....;)
Trevor_G
Nein, ich meine Opamps mit endlicher Verstärkung, aber probieren Sie es aus und sehen Sie, ob es hilft, es wird nicht. Was benötigt wird, ist eine Begrenzung der Ausgangsspannung. In einem echten Operationsverstärker gehen den Ausgangstransistoren der Strom / die Spannung aus. Dies ist nicht so einfach zu modellieren (ich weiß, ich habe es versucht). Sie könnten die Ausgangsspannung der Operationsverstärker wie -10 <Vout <+10 stark begrenzen. Dies führt jedoch wahrscheinlich zu einer verzerrten Sinuswelle. Besser wäre es, eine tanh (x) -ähnliche Funktion zu verwenden, damit sie begrenzt ist, aber auf kontinuierliche Weise.
Bimpelrekkie
3
@ Trevor Ja, seltsamerweise beruht dieser Oszillator auf den nicht idealen Eigenschaften der Operationsverstärker.
Bimpelrekkie
Bimpelrekkie - das ist nicht der Fall. Die einzige wichtige Eigenschaft ist eine Amplitudenbegrenzung aufgrund der Stromversorgungsschienen. Überraschenderweise verursacht eine solche "harte Begrenzung" nur eine geringfügige Verzerrung, da sich die Schleife auf eine Schleifenverstärkung von Eins einstellt. Eine drastische Verbesserung (Reduzierung) der Verzerrung ist möglich, wenn zwei verschiedene Versorgungsschienen-Spannungspaare verwendet werden und wenn der Ausgang mit der größeren Versorgungsspannung aus dem Block entnommen wird (begrenzender Effekt im Block mit kleineren Versorgungsspannungen). Dieser Effekt kann nicht gefunden werden in der Literatur.
LvW
5

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.

user287001
quelle
5

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:

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Die Ausgangsfrequenz sollte in der Nähe von ungefähr liegen 12π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:

Geben Sie hier die Bildbeschreibung ein

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.)

Jonk
quelle
1

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!

Stephen Mendes
quelle