Warum ist dieser Oszillator instabil?

Ich habe einen einfachen Dreieckwellen-Oszillator entworfen, der auf einer schaltbaren Stromquelle basiert. Es funktioniert für ein paar Zyklen, dann wird es instabil und hört schließlich ganz auf zu arbeiten. Warum ist das?

Geben Sie hier die Bildbeschreibung ein

Falls jemand das simulieren möchte - hier ist der Link .

Eine andere Sache - manchmal schafft der Oszillator 20 Zyklen, manchmal schafft er keinen einzigen. Warum ist die Simulation anscheinend nicht deterministisch?

Antworten (4)

Alternativ können Sie anstelle des Fensterkomparators einfach einen Komparator mit positiver Rückkopplung verwenden.

Sim-Link

Geben Sie hier die Bildbeschreibung ein

Es hat den Vorteil, dass es in Bezug auf die Teile VIEL einfacher ist. Außerdem sollte es dank des positiven Feedbacks auf den Komparator SEHR stabil sein.

Sie können es noch einfacher machen, indem Sie einfach den analogen Schalter sowie zwei der Operationsverstärker loswerden.

Sim-Link

Geben Sie hier die Bildbeschreibung ein


Ok, ich habe jetzt Spaß.

Diese Schaltung erzeugt also niemals eine perfekte Dreieckswelle, da Sie den Kondensator über einen Widerstand mit einer Spannung aufladen.

Damit es als echter Dreieckswellengenerator funktioniert, müssen wir eine erhebliche Menge an Refactoring durchführen.

Grundsätzlich müssen wir den Kondensator mit einer Stromquelle aufladen.

Dies ist einfach genug, alles, was Sie tun müssen, ist, die Kappe in das Feedback des Operationsverstärkers zu stecken.

Schau dir das an

Geben Sie hier die Bildbeschreibung ein(Hinweis: Der Start dieses Oszillators ist etwas seltsam. Er beruht im Wesentlichen auf Leckagen, um den Kondensator so weit aufzuladen, dass der untere Ausgang des Operationsverstärkers auf eine der Schienen geht. Dies wäre in der realen Welt kein Problem, da op -Amps haben immer einen kleinen Offset, der den Ausgang sofort beim Start auf eine der Schienen treiben würde.

Im Grunde sind die simulierten Operationsverstärker zu perfekt.)

die letzte ist keine Dreieckswelle mehr, weil die "Stromquelle" eine so niedrige Ausgangsimpedanz hat.
@markrages - Stimmt, aber die Originalzeichnung ist auch kein perfekter Dreieckswellengenerator. Wie auch immer, ich habe einen echten Dreieckswellengenerator hinzugefügt.

Was passiert ist, dass die Simulation nicht deterministisch ist! Was für eine aufregende Eigenschaft für einen Simulator! Es scheint, dass, wenn es (rechnerisch) zu lange dauert, bis ein Ereignis eintritt, es um einen Zeitschritt verzögert wird. Wenn Sie die Simulationsgeschwindigkeit zu schnell einstellen, erhalten Sie möglicherweise ein anderes Ergebnis!

Auf jeden Fall wird Ihr Flip-Flop bei einer der Spitzen doppelt getaktet, und das führt dazu, dass der Ausgang schießt oder andere dumme Sachen macht.

Sie können diese Schaltung verbessern, indem Sie anstelle eines Flip-Flops ein SR-Latch verwenden. Auf diese Weise zählt selbst dann, wenn Ihre Komparatoren Störungen aufweisen, die erste Störung. Zweitens gibt es keine möglichen ungültigen Zustände. Beachten Sie in Ihrem Bild, dass Ihre Schaltung dauerhaft feststeckt, wenn der Q_Bar-Ausgang = 0 und die Ausgangswelle unter -0,2 V liegt.

Was Sie wirklich wollen, ist so etwas wie ein Set-Reset-Latch. Auf diese Weise kümmern Sie sich nicht um die Komparatoren, da Ihre Schaltung weiterhin funktioniert. Hier ist ein Link zurück zum Farstad-Simulator sowie ein Screenshot.

Verbesserte Zustandsspeicherung

Alternativ können Sie den Komparatoren ein wenig positives Feedback hinzufügen
Einverstanden - etwas zusätzliche Hysterese in den Komparatoren würde die ursprüngliche Schaltung verbessern. Ich behaupte immer noch, dass der SR-Latch eine "stabile" Lösung ist.
Stabil wäre es auf jeden Fall. Es ist jedoch in Bezug auf die Teile nicht sehr effizient.
Natürlich könnten Sie immer nur einen 555 verwenden ... Ich habe nur auf die Frage geantwortet. Die Fensterfunktion ist etwas teuer, obwohl die Stromsenke / -quelle für einen IC ohne Operationsverstärker einfach wäre.
Ich habe ziemlich viel mit dem Code für den Falstad-Simulator gespielt. Einige Komponenten sind so konzipiert, dass sie einen Zeitschritt zum Reagieren benötigen, während andere so konzipiert sind, dass sie „sofort“ sind und den Simulator veranlassen, alles neu zu bewerten, wenn sie sich ändern. Wenn dieser Neubewertungsprozess zu oft wiederholt wird, erscheint die gefürchtete Meldung „Konvergenz fehlgeschlagen“. Eine Schwierigkeit dabei besteht darin, dass einige Komponenten, die normalerweise einen Schritt unternehmen, um Eingaben an Ausgaben weiterzuleiten, ihre Ausgabe "in der Mitte" ändern können, wenn der Simulator die Auswirkungen einer Änderung neu bewertet. Ich habe einiges damit experimentiert...
...das Ändern von Teilen des Simulators, sodass Komponenten, deren Ausgänge voraussichtlich um einen Schritt verzögert werden, nur einmal pro Zeitschritt verarbeitet werden, und auch das automatische Partitionieren des Schaltplans in "Inseln" von Dingen, die sich nicht gegenseitig beeinflussen können während eines bestimmten Zeitschritts. Dies kann die Simulationsgeschwindigkeit erheblich verbessern, aber da neuere Java-Versionen keine unsignierten Applets ausführen und ich nichts über das Signieren von Applets weiß, sind meine Experimente in den Hintergrund gerückt. Schade, denn der Falstad-Simulator gefällt mir in vielerlei Hinsicht besser als der, den SO nutzt.

Ich gebe keine vollständige Antwort, aber ich erinnere mich, dass Oszillatorsimulationen notorisch schwierig durchzuführen sind. Wenn Sie die Schrittzeit nicht richtig einstellen, sehen Sie überhaupt nichts. Ich bin mir nicht sicher, ob ich davon ausgehen würde, dass die Simulation korrekt ist.

Normalerweise besteht die Schwierigkeit bei Oszillatorsimulationen darin, sie in Gang zu bringen. Typischerweise haben Simulationen kein Rauschen, sodass nichts verstärkt und gefiltert werden kann. Außerdem kann die Simulation des Starts Hunderte bis Tausende von Zyklen dauern. Dies ist nur ein instabiler Oszillator.

Wenn Sie den Spannungsregler niedriger einstellen, scheint es gut zu simulieren.

Geben Sie hier die Bildbeschreibung ein

Ja; aber schauen Sie sich die Spitzen der Wellenform an; Sie zeigen Mikroinstabilität (ist das ein Wort?) Vielleicht ist die Schaltung einfach nicht korrekt ...
Sie ärgern sich über ziemlich unbedeutende Dinge in einer Simulation. Ist diese Schaltung so komplex und teuer, dass Sie sie nicht einfach bauen und sehen können, ob sie funktioniert?
@AngryEE, nun, es ist schön, eine reine Welle zu haben. Schauen Sie sich in diesen Zeiträumen den Ausgang des Operationsverstärkers an, er schwingt schnell.