Pulsweitenmodulation

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Einleitung

Bei der Pulsweitenmodulation (engl. Pulse Width Modulation, abgekürzt PWM), teilweise auch Puls-Dauer-Modulation, wird das Verhältnis zwischen der Einschaltzeit und Periodendauer eines Rechtecksignals bei fester Grundfrequenz variiert. Das Verhältnis zwischen der Einschaltzeit [math]\displaystyle{ t_{ein} }[/math] und der Periodendauer [math]\displaystyle{ T = t_{ein} + t_{aus} }[/math] wird als das Tastverhältnis p bezeichnet. (laut DIN IEC 60469-1: Tastgrad) (engl. Duty Cycle, meist abgekürzt DC, nicht zu verwechseln mit Direct Current = Gleichstrom ).

Die Pulsweitenmodulation für ein Signal [math]\displaystyle{ x(t) }[/math] ist für die Dauer einer Periode im Intervall [0,T] wie folgt definiert:

[math]\displaystyle{ x(t) = \left\{\begin{array}{l l} 0 & \quad t \lt t_1 \\ 1 & \quad t \ge t_1 \\ 0 & \quad t \gt T \end{array} \right. }[/math]

Pwmdoc.png

[math]\displaystyle{ p = \dfrac{t_{ein}}{T} = \dfrac{t_{ein}}{t_{ein}+t_{aus}} }[/math]

Der Wert des Tastverhältnis p kann dabei Werte zwischen 0 und 100% annehmen.


Der zeitliche Mittelwert der Spannung [math]\displaystyle{ U(t) }[/math] innerhalb eines Intervalls [0,T] ist unten stehend beschrieben.

[math]\displaystyle{ U_m = \frac{1}{T} \int_0^T u(t)dt = \frac{1}{T}\int_0^{t_{ein}} U_{ein}dt + \frac{1}{T} \int_{t_{ein}}^T U_{aus}dt }[/math]
[math]\displaystyle{ U_m = U_{aus} + (U_{ein} - U_{aus}) \cdot \frac{t_{ein}}{t_{ein}+t_{aus}} }[/math]

[math]\displaystyle{ U_{aus} }[/math] ist dabei normalerweise 0V, [math]\displaystyle{ U_{ein} }[/math] die Betriebsspannung [math]\displaystyle{ V_{CC} }[/math], z. B. 5V. Deshalb kann man vereinfacht schreiben:

[math]\displaystyle{ U_m = V_{CC} \cdot \frac{t_{ein}}{t_{ein}+t_{aus}} = V_{CC} \cdot DC }[/math].

Beispiele

Die folgenden Beispiele zeigen PWM-Signale mit einem Tastverhältnis von 75% bzw. 25%.

Beispiel 1

[math]\displaystyle{ U_{ein}=5\,\mathrm{V} }[/math]
[math]\displaystyle{ U_{aus}=0\,\mathrm{V} }[/math]
[math]\displaystyle{ t_{ein}=3\,\mathrm{ms} }[/math]
[math]\displaystyle{ t_{aus}=1\,\mathrm{ms} }[/math]

[math]\displaystyle{ U_m = 0\,\mathrm{V} + (5\,\mathrm{V} - 0\,\mathrm{V}) \cdot \frac{3\,\mathrm{ms}}{3\,\mathrm{ms}+1\,\mathrm{ms}} = 3,75\,\mathrm{V} }[/math]

Pwm1.png

Beispiel 2

[math]\displaystyle{ U_{ein}=5\,\mathrm{V} }[/math]
[math]\displaystyle{ U_{aus}=0\,\mathrm{V} }[/math]
[math]\displaystyle{ t_{ein}=1\,\mathrm{ms} }[/math]
[math]\displaystyle{ t_{aus}=3\,\mathrm{ms} }[/math]

[math]\displaystyle{ U_m = 0\,\mathrm{V} + (5\,\mathrm{V} - 0\,\mathrm{V}) \cdot \frac{1\,\mathrm{ms}}{1\,\mathrm{ms}+3\,\mathrm{ms}} = 1,25\,\mathrm{V} }[/math]

Pwm2.png


Die blaue Linie in der Grafik zeigt den mathematischen Mittelwert der sich einstellenden Spannung, wenn jeweils eine volle Periode der PWM betrachtet wird. In der Realität schwankt der Wert je nach Beobachtungsfester und in der praktischen Umsetzung besonders, da es keine perfekte Mittelung gibt.

Leistungsberechnung

Steuert man mit einem pulsweitenmodulierten Signal direkt einen ohmschen Verbraucher an (z. B. Heizdraht), so ist darauf zu achten, dass man zur Bestimmung der Leistung nicht einfach

[math]\displaystyle{ P = \frac{{U_m}^2}{R} }[/math]

rechnen darf, sondern die Leistung während der Ein- und Ausschaltzeit getrennt betrachten muss:

[math]\displaystyle{ P = \frac{{U_{ein}}^2}{R} \cdot \frac{t_{ein}}{t_{ein} + t_{aus}} + \frac{{U_{aus}}^2}{R} \cdot \frac{t_{aus}}{t_{ein} + t_{aus}} }[/math]

Da vereinfacht gilt [math]\displaystyle{ U_{aus}=0V }[/math] sowie [math]\displaystyle{ U_{ein}=V_{CC} }[/math]

kann man schreiben und damit rechnen. Mit Regelfall muss die Verlustleistung des Schaltelementes mitberücksichtigt werden. Bei Halbleitern ist das jeweils abhängig von Ron / Roff und den sich ergebenden Differenzen zur Rail-Spannung.

[math]\displaystyle{ P = \frac {{V_{CC}}^2}{R} \cdot DC = P_{max} \cdot DC }[/math]

Für die Spannung muss der Effektivwert berechnet werden, mit der kann man dann auch wieder die Leistung direkt berechnen.

[math]\displaystyle{ U_{eff} = V_{CC} \cdot \sqrt{DC} }[/math].
[math]\displaystyle{ P = \frac{{U_{eff}}^2}{R} }[/math]

Anwendungen (Kleinsignal)

AD-Wandlung mit PWM

Der folgende Tipp stammt noch aus der Zeit, als es keinen Mikroprozessor mit AD-Wandler gab.

Einen recht billigen und einfachen AD-Wandler mit "1-Draht Kommunikation" kann man mit dem IC 556 (NE556 o.ä.) realisieren: der eine Timer des 556 arbeitet als 50% duty-cycle Rechteckgenerator bei beispielsweise 1 kHz und steuert den zweiten Timer an. Dieser besitzt einen Steuereingang zu Beeinflussung des Tastverhältnisses und auf diesen Pin gibt man das analoge Signal. Ein angeschlossener µC oder PC misst bei jedem Impuls die Impulslänge und man erhält so das Messergebnis. Bei einer Frequenz von >10 kHz liesse sich sogar Sprache digital übertragen oder speichern. Allerdings ist dafür eine Auflösung von wenigstens 8 Bit nötig, wodurch 256 Stufen und eine entsprechemde Abstatfrequenz durch den Chip gefordert sind. Ohne Chip lässt sich dies nur mit eimem Logikbaustein und etwas Signalverarbeitung lösen, siehe Analog-IO mit digitalen Bausteinen.

Für anspruchsvollere Aufgaben verwendet man jedoch besser die Pulsdichtemodulation.

DA-Wandlung mit PWM

Die meisten Mikrocontroller haben keine DA-Wandler integriert, da diese relativ aufwändig sind. Allerdings kann man mittels eines PWM-Ausgangs auch eine DA-Wandlung vornehmen und eine Gleichspannung bereitstellen. Wird ein PWM-Signal über einen Tiefpass gefiltert (geglättet), entsteht eine Gleichspannung mit Wechselanteil, deren Mittelwert dem des PWM-Signals entspricht und dessen Wechselanteil von der Beschaltung abhängig ist. Nun bleibt das Problem der Dimensionierung des Tiefpasses. Ein Beispiel:

PWM-Takt 1 MHz, 8 Bit Auflösung (256 Stufen), 0/5V. -> 3906 Hz PWM Frequenz

RC-Tiefpass 22nF, 100kΩ -> 72 Hz Grenzfrequenz

(Die Grenzfrequenz errechnet sich über [math]\displaystyle{ f_c=\frac{1}{2\,\pi\,R\cdot C} }[/math] .)


Pwm filter 1.png

Bei diesem Tiefpass mit 72 Hz Bandbreite verbleibt am Ausgang noch ein Ripple auf der Gleichspannung, da die PWM nie ideal gefiltert werden kann. Eine Rechnung bzw. Simulation in PSPICE zeigen ca. 150mV Ripple. Das ist ziemlich viel, da ein idealer 8-Bit DA-Wandler bei 5V Referenzspannung eine Auflösung von 20mV hat. Wir haben hier also ein Störsignal von 150mV/20mv=7,5 LSB. Um den Ripple bis auf die Auflösungsgrenze von 20mV zu reduzieren, muss die Grenzfrequenz auf ca. 10 Hz reduziert werden. Es ist somit effektiv nur ein 390tel der PWM-Frequenz nutzbar. Das ist für einige Anwendungen ausreichend, wo praktisch nur statische Gleichspannungen erzeugt werden sollen, z. B. für programmierbare Netzteile. Für Anwendungen, in denen schneller ändernde Gleichspannungen generiert werden sollen, muss die PWM-Frequenz entsprechend erhöht werden oder ein steilerer Tiefpaß verwendet werden.

RC-Filter dimensionieren

Allgemein kann man den Ripple eines einfachen RC-Tiefpasses so abschätzen:

Kritischster Punkt ist eine PWM mit 50% Tastverhältnis. Dabei tritt der stärkste absolute Ripple auf, weil hier die - am weinigsten gefilterte - Grundschwigung die höchste Amplitude besitzt. Bei diesem Tastverhältnis ist der Kondensator auf 1/2 VCC aufgeladen. Somit liegt auch 1/2 VCC über dem R an und lädt C annähernd mit Konstantstrom.

[math]\displaystyle{ I = \frac{\frac{1}{2}Vcc}{R} }[/math]

Über die Definition des Kondensators kann man den Ripple berechnen.

[math]\displaystyle{ C = \frac{I \cdot t}{U}; [F = \frac{As}{V}] }[/math]

[math]\displaystyle{ U = \frac{I \cdot t}{C} }[/math]

Die Ladung in As (Amperesekunden) ergeben sich aus der halben PWM-Periode mal I. Damit kann man brauchbar den Ripple abschätzen.

[math]\displaystyle{ V_{Ripple} = \frac{\frac {\frac{1}{2}Vcc}{R} \cdot \frac{1}{2}T_{PWM}}{C} = \frac{ Vcc \cdot T_{PWM}}{4RC} }[/math]

Die Einschwingzeit [math]\displaystyle{ \!\,t_S }[/math] des Signals bei einem neuen PWM-Wert beträgt etwa [math]\displaystyle{ \!\,5RC }[/math].

Die Abschätzung gilt aber nur dann, wenn der Ausgang des RC-Filter kaum belastet ist, wie z. B. durch einen Operationsverstärker oder einen andern hochohmigen IC-Eingang.

Beispiel:

100 Hz PWM Frequenz(T_PWM=10ms), R=100kΩ, C=1μF, Vcc=5V

[math]\displaystyle{ V_{Ripple} = \frac{5V \cdot 10ms}{4 \cdot 100k\Omega \cdot 1 \mu F} = 125 mV }[/math]

[math]\displaystyle{ t_s=5RC=5 \cdot 100k \Omega \cdot 1 \mu F = 500ms }[/math]

Um die Bandbreite besser auszunutzen wird ein besseres Filter benötigt. Das Problem des einfachen RC-Tiefpasses ist der relativ langsame Anstieg der Dämpfung oberhalb der Grenzfrequenz. Genauer gesagt steigt die Dämpfung mit 20dB/Dekade. Das heisst, dass ein Signal mit der 10fachen Frequenz (Dekade) um den Faktor 10 (20dB) gedämpft wird. Will man nun eine höhere Dämpfung ereichen, müssen mehrere Tiefpässe in Reihe geschaltet werden. Bei dem gleichen Beispiel erreicht man mit zwei Tiefpässen mit 6,8nF/100kΩ eine Grenzfrequenz von ca. 70 Hz, bei gleicher Dämpfung des Ripples auf 20mV. Die Dämpfung dieses sogenannten Tiefpasses 2. Ordnung beträgt 40dB/Dekade. Das heisst, ein Signal mit zehnfacher Frequenz (Dekade) wird um den Faktor 100 (40dB) gedämpft! Damit erzielt man hier bereits die 7fache Bandbreite! Zum Schluss muss beachtet werden, dass die passiven Tiefpässe nur sehr schwach belastet werden können. Hier ist fast immer ein Operationsverstärker als Spannungsfolger nötig, falls der Eingangswiderstand der nachfolgenden Schaltung in der Größenordnung der beiden Widerstände des Filters ist. Der kann auch genutzt werden, um das gefilterte Signal weiter zu verstärken (nichtinvertierender Verstärker).

Pwm filter 2.png

Geschickter wäre hier eine Widerstandsdimensionierung, bei der R3 etwas größer ist als R2, da somit das zweite RC-Glied das erste weniger belastet.

Mehr Informationen zur Restwelligkeit bei RC Tiefpässen kann man diesem Thread entnehmen.

Das Spiel kann noch um einiges gesteigert werden, wenn man Tiefpässe dritter, vierter und noch höherer Ordung einsetzt. Das wird vor allem im Audiobereich gemacht. Dazu werden praktisch Operationsverstärker eingesetzt. In der AVR Application-Note AVR335: Digital Sound Recorder with AVR and DataFlash wird zum Beispiel ein mit Operationsverstärkern aufgebauter Chebychev-Tiefpass fünfter Ordnung verwendet. Man findet im Audiobereich gelegentlich auch Schaltungen ohne expliziten Tiefpass. Dabei wird der Ausgang eines Class-D Verstärkers (der nichts anderes als ein PWM-Signal erzeugt) über einen Widerstand auf einen Lautsprecher gegeben. Die mechanische Trägheit und die Induktivität der Lautsprecherspule bilden mit dem Widerstand einen Tiefpass.

Vollintegrierte Lösungen

Wer all den Aufwand nicht betreiben will kauft einen fix und fertigen IC wie z.B.

Anwendungen (Leistung)

Bei geeigneten Verstärkerstufen können PWM-Signale auch direkt zur Versorgung und Steuerung von Verbrauchern genutzt werden:

Schaltnetzteil (Generator)

PWM-Stufen sind ein integraler Bestandteil praktisch aller heute verfügbarer Schaltnetzteile. Nur durch die digitale, pulsartige Entnahme der Ladung aus dem Versorgungsnetz lassen sich mittlere und höhere Leistungen noch effektiv und verlustarm beziehen. Die PWM wird dabei von einer Steuereinheit getrieben, welche die aktuelle Versorgungspannung in Betracht zieht, bzw. auch den Strombedarf des angeschlossenen Verbrauchers berücksichtigt. Damit lassen sich sowohl einfach passive und aktive Phasenanschnittversorgungen realisieren, aber auch voll geregelte Leistungsnetzteile mit sehr geringen effektiven Innenwiderständen aufbauen.

Heizung (ohmscher Verbraucher)

Eine Heizung (Beispiel) mit 10Ω-Widerstand soll mit bis zu 12 V angesteuert werden. Dazu wird ein 13 V-Netzteil sowie ein linearer Verstärker verwendet (ein linearer Verstärker braucht immer eine etwas höhere Betriebsspannung als die maximale Ausgangsspannung).

Sollen nun 12 V auf die Heizung gegeben werden, fällt (fast) die gesamte Spannung über der Heizung selber ab, der Verstärker "verbraucht" nur 1 V. Es fließen ca. 1,2 A, es werden ca. 14,4 W in der Heizung in Wärme umgesetzt, im Verstärker ca. 1,2 W, der Wirkungsgrad beträgt 92%.

Wenn jetzt aber nur noch 6 V an der Heizung anliegen sollen, muss der lineare Verstärker die "übrigen" 7 V verbrauchen, d.h. von den 13 V, welche konstant vom Netzteil geliefert werden, fallen 7 V über dem Verstärker und 6 V über der Heizung ab. Die Transistoren des linearen Verstärkers sind nur halb durchgesteuert. Es fließt ein Strom von ca. 600 mA, in der Heizung werden ca. 3,6 W in Wärme umgesetzt. Allerdings werden auch 4,2 W im Verstärker in Wärme umgesetzt! Der Wirkungsgrad ist nur noch 46%!

Im Gegensatz dazu sind bei einer PWM die Transistoren des digitalen Verstärkers immer nur entweder voll durchgesteuert oder gar nicht durchgesteuert. Im ersteren Fall fällt nur eine geringe Verlustleistung über dem Transistor ab, da die Sättigungsspannung [math]\displaystyle{ V_{SAT} }[/math] sehr gering ist (meist weniger als 1 V). Im zweiten Fall fällt gar keine Verlustleistung über dem Transistor ab, da kein Strom fließt (P=U*I). Im Fall der 6 V an der Heizung beträgt das notwendige Tastverhältnis 0,23. D.h. nur während 23% der PWM-Periode wird Verlustleistung im digitalen Verstärker erzeugt und zwar ca.

[math]\displaystyle{ P_V=DC \cdot \frac {V_{CC}}{R} \cdot V_{SAT} = 0{,}23 \cdot \frac {12V}{10\Omega} \cdot 1V = 0{,}28 W }[/math]

Der Wirkungsgrad liegt bei 92%!

Lautsprecher (induktiv)

Immer häufiger werden Lautsprecher direkt an digitalen Leistungsverstärkern betrieben. Dabei wird Impedanz des Verbrauchers als Tiefpass verwednet. Diese besteht hauptsächlich aus der Induktivität und den geringen ohmschen Widerständen des Ausgangstreibers, der Leitungen und der Wicklungen im Lautsprecher. Bei PWM-Signalen müssen hierbei jedoch sehr hohe Frequenzen gewählt werden, um Audiosignale in akzeptabler Qualität zu repräsentieren. Auch muss das Signal oft nichtlinear vorverzerrt werden, um zu einem letzlich linearen Verhalten des Verbrauchers zu führen (siehe 1-Bit-Audio). Für professionelle Audioanwendungen greift man bei digitalen Verstärkern daher auf andere Modulationsverfahren wie COM oder ADPCM (Pulsdichtemodulation) zurück. Für einfache Applikationen und geringe Leistungen ist dies aber eine sehr interessante Option.

Motorsteuerung (ohmsch-Induktiv)

Eine der wichtigsten Anwendungen für PWM-Stufen ist die direkte Ansteuerung von Motoren. Der große Vorteil von PWM ist auch hier wieder der hohe Wirkungsgrad. Würde man stattdessen einen Digital-Analog-Wandler mit einem nachgeschalteten analogen Verstärker zur Ansteuerung verwenden, würde im Verstärker eine höhere Verlustleistung in Wärme umgewandelt werden. Ein digitaler Verstärker mit PWM hat dagegen geringere Verluste. Die Nachteile der Oberwellen im Signal spielen bei der Motorentechnik in der Regel keine Rolle, da hier noch mechanische Trägheiten zur effektiven Glättung beitragen. Die verwendete Frequenz liegt meist im Bereich von einigen 10kHz. Zur Berechnung der Drehzahl eines Motors kann im Normalfall der Mittelwert der PWM-Spannung als Betriebsspannung angenommen werden.

Bei Leistungsanwendungen spielen die Transienten der ansteuernden Rechteckimpulse jedoch dahingehend eine Rolle, dass sie die Verluste der Schaltelemente (MOSFETs) in die Höhe treiben und die ungefilterten Anteile in den Motoren zu Schwingungen führen, weil Resonanzen angeregt werden können.

Dimmen von Leuchtmitteln (ohmsch - kapazitiv)

Eine spezielle Form der PWM-Anwendung ist die Helligkeitssteuerung. Bei kapazitiven Verbauchern wie Leuchtstoffröhren müssen besondere Randbedingungen beachtet werden, um ein Dimmen zu erzielen. So sind besondere Frequenzen und Anlaufphasen zu applizieren. Mache Verbaucher lassen sich trotzdem überhaupt nicht dimmen. Bei überwiegend ohmschen Verbrauchen wie z.B. Glühbirnen oder Halbleiter-Leuchtdioden, sind die PWM-Signale aber ohne große Regelung anwendbar.

Siehe Artikel:

Oft gestellte Fragen (FAQ)

Mit welcher Frequenz dimmt man?

Eine gegebene Antwort dazu war: Bei Glühlampen kannst Du alles über 20Hz nehmen. Die sind derart träge... Über 9kHz sollte man wegen EMV nicht gehen. Für LEDs ist alles über 1kHz und unter 9kHz gut. (Autor: Travel Rec. (travelrec), Datum: 27.12.2008 11:32)

Dazu ist jedoch zu sagen, daß PWM-Steuerungen bei Glühlampen meisten verwendet werden, um die 50Hz-Thematik zu umgehen. Dabei ist das Brummen relevant und auch ein Blinken bei sehr geringen Frequenzen. Typischerweise wird man daher eher 200Hz aufwärts verwenden. Umgekehrt sind Stromkabel nicht geschirmt und besitzen eine gewisse Kapazität, was Frequenzen im kHz-Bereich nicht sinnvoll erscheinen läßt. Auch LEDs wirken bei hohen Frequenzen kapazitiv, was zu einer unnötigen Strombelastung führt. Ist die LED für Belichtungsaufgaben relevant ist die Dimmungsfrequenz genügend hoch zu wählen, um gegenüber kurzen Belichtungen irrelvant zu sein. Dies ist in der Regel ab 10kHz der Fall. Um bei hohen Strömen einen unnötigen Stossstrom zu vermeiden und damit die LEDs besser ausnutzen zu können - kann eine Drossel mit geringer Induktivität sinnvoll sein, die die Anstiege begrenzt.

Wie schätze ich die Verlustleistung am MOSFET im PWM Betrieb ab?

Beitrag von Falk:

Vereinfacht kann man sagen, dass während der Umschaltzeit die Verlustleistung am MOSFET = 1/4 der Verlustleistung am Verbraucher ist, wenn der eingeschaltet ist (Leistungsanpassung).

Beispiel: 150 Hz PWM = 6,6ms, Schaltzeit 500ns, Verbraucher 60W. Macht 15W Verlust während der zwei Umschaltungen pro Takt, sprich 2x500ns = 1µs. Aber das nur alle 6,6ms, Im Mittel macht das 1us/6,6ms*15W = 2,2mW. Glück gehabt ;-) Bei hohen PWM-Frequenzen im Bereich 20-500kHz, wie sie heute bei Schaltnetzteilen üblich sind, kommt da aber schon richtig viel zusammen.

Etwas genauer: Schaltverluste beim FET

Siehe auch

Weblinks