Forum: Analoge Elektronik und Schaltungstechnik Problem mit PWM-Simulation


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Joost (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein Problem mit einer Simulation. Ich habe mir einen 
Bubba-Oszillator sowie einer Dreieckspannung erstellt und will diese 
dann als PWM in eine N-Channel MOSFET H-Brücke geben.

Soweit vom Schaltungstechnischen her kein Problem, nur habe ich glaube 
ich irgendwo einen Fehler im Offset, da meine modifizierte 
Dreieckspannung und mein Sinus irgendwie versetzt laufen.

Würde mich freuen, wenn da mal jemand drübergucken kann und mir mit Rat 
und/oder Tat zur Seite stehen könnte.

Vielen Dank schonmal.

Bei Bedarf sende ich gerne mal die Schaltung hinterher.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Der LM2901 ist ein Komparator mit Open-Collector-Ausgang und damit 
extrem asymmetrisch. Ist sein Ausgangspegel low (0V), wird das 
Dreiecksignal durch den Spannungsteiler R14/R13 auf etwa 60% 
abgeschwächt. Ist der Ausgangspegel des Komparators high (offen), dan 
gelangt das Dreiecksignal praktisch unverändert zum Ausgang der 
Schaltung. Das stimmt gut mit dem Plot in PWM2.png überein.

Ich verstehe aber auch nicht ganz, wo hier ein PWM-Signal enstehen soll. 
Möchtest du nicht lieber das Sinus- und das Dreiecksignal auf die beiden 
Eingägne des Komparators geben? Dann bekämst du am Ausgang das 
pulsweitenmodulierte Sinussignal.

von Joost (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Yalu,

vielen Dank für deine Erklärung.
Ursprüuglich sollte statt des LM2901 der MC3302D zum Einsatz kommen. 
Konnte für diesen jedoch kein explizites Spice-File finden. Scheinbar 
sind aber beide gleichwertig.

Ich habe mal ein Block-Diagramm angehängt nach dem ich das erstelle. 
Hier werden Sinus und Dreieck erzeugt, Sinus verstärkt, mit dem Dreieck 
überlagert und in deine H-Brücke gegeben. Der Ausgang soll dann mittels 
Trafo auf die entsprechende Spannung gebracht werden.

Die Sinus-Spannung soll hierbei laut "Detailzeichnung" an der Stelle wie 
in der Angehängten Zeichnung entnommen werden. Aus meiner Sicht (und aus 
Simulationen) kann hier aber kein sinus erzeigt werden. Ein Sinus wird 
hinter U2B erzeugt, wie auch in meiner Schaltung erfolgt.

Ich hoffe das hilft ein bißchen weiter.

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

Joost schrieb:
> Die Sinus-Spannung soll hierbei laut "Detailzeichnung" an der Stelle wie
> in der Angehängten Zeichnung entnommen werden. Aus meiner Sicht (und aus
> Simulationen) kann hier aber kein sinus erzeigt werden.

Sicher? Ich hätte gesagt, dass an dieser Stelle der Sinus sogar die 
geringsten Verzerrungen hat.

Die Verzerrungen kommen von U1A, der übersteuert betrieben wird. Jede 
der drei darauffolgenden Filterstufen reduziert die Verzerrungen bis sie 
an Knoten 7 ihr Minimum erreichen. Allerdings ist dort die Amplitude 
auch nur etwa das ¼√2-fache der Amplitude an Knoten 5, wo du das Signal 
abnimmst.

Der einzige Nachteil, Knoten 7 als Ausgang zu verwenden, besteht darin, 
dass er nur minimal belastet werden darf, sonst hört der Oszillator u.U. 
auf zu schwingen. Vielleicht ist das der Grund für deine Annahme, dass 
da kein Sinus erzeugt wird. Ich sehe allerdings weder in PWM.png noch in 
Block.png Dinge, die den Ausgang nennenswert belasten könnten. Notfalls 
kannst du auch einen Spannungsfolger nachschalten, um das Problem zu 
beseitigen. Du könntest das Signal auch an Knoten 2 (Ausgang von U4D) 
abgreifen. Der ist niederohmig und darf belastet werden. Allerdings 
nehmen dann die Verzerrungen dann wieder etwas zu, weil die letzte 
Filterstufe (R4/C4) nicht zur Entzerrung genutzt wird.

Noch ein paar Tipps:

Die 50Hz, die du mit dem Oszillator offensichtlich erzeugen möchtest, 
werden genauer erreicht, wenn du die vier RC-Glieder mit der 
Zeitkonstante 33kΩ·100nF (48,2Hz) durch welche mit 47kΩ·68nF (49,8Hz) 
ersetzt, entsprechend engtolerierte Bauteile vorausgesetzt.

Das RC-Glied R4/C4 wird als einziges am Ausgang belastet, nämlich durch 
R5. Dadurch ändert sich seine Zeitkonstante von R4·C4 auf (R4||R5)·C4, 
was 9% zu wenig ist. Das lässt sich leicht ändern, indem du R4=56kΩ und 
R5=300kΩ, dann ist R4||R4≈47,2kΩ, was nur noch 0,4% daneben liegt.

Der theoretisch richtige Wert für R6 ist 4·(R4+R5), denn dann ist die 
Schleifenverstärkung für die Schwingfrequenz genau 1. Für die 
vorangegangenen Dimensionierungsvorschläge wäre also R6=1,424MΩ optimal. 
Ein größerer R6 führt zu mehr Verzerrungen, da dann U1A stärker 
übersteuert wird, ein kleinerer R6 lässt die Schwingungen abklingen. Da 
die Verzerrungen das kleinere Übel sind, wählt man R6 etwas größer als 
der theoretische Wert, also bspw. 1,5MΩ. Du kannst R6 aber auch 
abgleichbar machen. Du stellst ihn dann so ein, dass der Oszillator 
gerade noch schwingt und machst in anschließend sicherheitshalber wieder 
etwas größer. Damit ist die Schaltung für minimale Verzerrungen 
optimiert.

Im Anhang ist das Simulationsergebnis für die modifizierte Schaltung. 
Der erzeugte Sinus (grün) stimmt fast pixelgenau mit einem idealen (rot) 
überein. Leider ist die Amplitude relativ gering. Du kannst das Signal 
entweder nachverstärken oder es doch an einem der Opamp-Ausgänge 
abgreifen. Wenn du die Verstärkung von U1A richtig einstellst, sind auch 
dort die Verzerrungen deutlich niedriger als mit der ursprünglichen 
Bauteildimnsionierung

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.