Aus RN-Wissen.de
Version vom 5. Mai 2008, 13:23 Uhr von SprinterSB_alt (Diskussion | Beiträge) (PWM und induktive Last: typo)

Wechseln zu: Navigation, Suche
Rasenmaehroboter Test

Die Pulsweitenmodulation (oft mit PWM abgekürzt) wird vornehmlich zum Ansteuern größerer Lasten wie z.B. Motoren verwendet. Microcontroller haben daher oft bereits spezielle PWM-Ausgänge integriert. Bei der Pulsweitenmodulation werden Impulse mit voller Spannung, aber variabler Breite an die Last gesendet. Ein Rechtecksignal mit konstanter Frequenz wird also mit einem bestimmten Tastverhältnis moduliert. Eine PWM ist also characterisiert durch ihre Frequenz und ihr Tastverhältnis (duty cycle).

Vorteil dieser Ansteuerung ist, dass weniger Leistung verbraucht wird, da nicht permanent eine Eingangsspannung anliegt, die von einer Elektronik auf die gewünschte Motorspannung heruntergeregelt wird, sondern der Motor durch die Breite der Schaltimpulse gesteuert wird.

http://www.roboternetz.de/wiki/uploads/Main/pwm.gif

Diese drei Skizzen demonstrieren, wie ein Motor mit unterschiedlicher Pulsweite in drei verschiedenen Geschwindigkeit geregelt wird. In der Praxis ist die Pulsweite oft in 255 Schritten (8 Bit) und mehr regelbar. Gut zu erkennen ist in der Skizze, dass die eigentliche Grundfrequenz bei der Pulsweitenmodulation nicht verändert wird, sondern lediglich das Verhältnis der Ein- und Ausschaltzeit pro Welle ([math]T_\mathrm{on}[/math] und [math]T_\mathrm{off}[/math]). Die Modulationsfrequenz kann dabei variieren. Oft findet man Anwendungen im Frequenzbereich zwischen mehreren hundert Hertz (z.B. Bremslichter bei Autos) bis in den Bereich von 100 kHz (Schaltregler).

Durch die Pulsweitenmodulation ist es möglich, dass auch Verbraucher mit niedrigeren Nennspannungen an weit höheren Spannungen betrieben werden können. Dadurch, dass man die Pulsweite reduziert, reduziert man die im Mittel am Verbraucher anliegende Spannung bzw. der durch den Verbraucher fliessende Strom bzw. die vom Verbraucher aufgenommene Leistung. Jedoch kann nicht bei allen Verbrauchern PWM angewandt werden. Dazu muss der Verbraucher eine gewisse Trägheit besitzen und die PWM eine hinreichend hohe Frequenz haben. Eine Leuchtdiode kann durchaus durch Spannungsspitzen oberhalb ihrer Nennspannung zerstört werden.

Für die Durchschnittsspannung gilt

[math] \overline{U_\mathrm{pwm}} = U_\mathrm{in} \cdot \frac{t_\mathrm{on}}{t_\mathrm{on}+t_\mathrm{off}} = U_\mathrm{in}\cdot t_\mathrm{on} \cdot f_\mathrm{pwm} [/math]

Zu beachten ist, daß es sich hierbei um die mittlere Spannung am Verbraucher handelt. Diese ist nicht unbedingt ausschlaggebend für dessen Leistungsaufnahmen!

Der große Vorteil einer PWM ist, dass die "herabgesetzte" Spannung nicht wie bei herkömmlichen Regelungen am Transistor oder einem Widerstand in Wärme umgesetzt werden. Aber auch in einer PWM-geregelten Schaltung entstehen Verlustleistungen durch die endlichen Widerstände der Schaltelemente wie (Feldeffekt-)Transistoren. Diese Verlustleistung setzt sich aus den Verlusten am on-Widerstand des Schalters und den Umschaltverlusten zusammen. Die Umschaltverluste sind in erster Näherung proportional zur Schaltfrequenz und der Zeit [math]t_\mathrm{switch}[/math], die benötigt wird, um zwischen off-Zeit und on-Zeit hin- und herzuwechseln. Als Näherung:

[math] P_\mathrm{Verl} \approx t_\mathrm{switch} \cdot f_\mathrm{pwm} \cdot U \cdot I + \overline{I^2} \cdot R_\mathrm{on} [/math]

Darüber hinaus trägt eine evtl. benötigte Freilaufdiode ebenfalls zu den Verlusten bei.

PWM und induktive Last

Beispiel
Wenn die Spannung [math]U_\mathrm{in}[/math] = 12V und die Pulsweite genau 50% beträgt, so bedeutet das, dass der Motor nur für die halbe Zeit mit der Spannung versorgt wird. Dies wäre vergleichbar mit dem Fall, dass der Motor für die volle Zeit mit einer kontinuierlichen Gleichspannung von 6V betrieben würde.

Bei induktiven Lasten wie einem Motor ist zusätzlich darauf zu achten, dass während der off-Zeit der Strom durch die Last weiterfliessen kann. Dazu wird der Last eine so genannte Freilaufdiode parallel geschaltet. Ohne eine Freilaufdiode würden beim Abschalten Spannungsspitzen durch die Induktionsspannung entstehen, die zusätzlich Probleme bereiten und die Schaltung sogar schädigen können.

Beispielschaltungen, die PWM nutzen, findet man unter Getriebemotoren Ansteuerung. Auch bei Schrittmotoren macht man sich diese Technik bei modernen Schaltkreisen und Steuerungen zunutze. Hier bezeichnet man sie oft auch als Chopper-Regelung, was letzlich aber sehr ähnlich ist.

Durch die Induktivität kann sich der Strom nicht sofort ändern, sondern steigt in der Anphase an und fällt in der Ausphase wieder ab. Wenn die PWM Frequenz genügend hoch ist, fällt der Strom dabei nicht wieder auf Null. In diesem Fall muß man auf die Geschwindigkeit der Freilaufdiode achten. Oft benutzt man daher Schottkydioden, die auch eine niedrige Flußspannung haben.

PWM und ohmsche Last

Möchte man einen ohmschen Verbraucher an einer höheren Spannung als seiner Nennspannung betreiben, dann ist das über eine PWM möglich, wenn der Verbraucher hinreichend träge ist im Vergleich zur PWM-Periode. Die ist etwa für Glüh- oder Heizfäden der Fall.

Bei ohmscher Last wird man also wie bei induktiver Last (Motor) die Leistung so einstellen wollen, wie er bei seiner Nennspannung aufnimmt. Für die PWM-Spannung bedeutet dies, daß ihr Effektivwert gerade der Nennspannung des Verbrauchers entsprichen soll. Daher muss gelten:

[math] t_\mathrm{on} \cdot (U_\mathrm{in}-U_\mathrm{Tr})^2 \,=\, (t_\mathrm{on}+t_\mathrm{off}) \cdot U_\mathrm{eff}^2 [/math]

Dabei bezeichnet UTr die Spannung, die am Transistor abfällt. Damit gilt für das Tastverhältnis (duty cycle) der PWM:

[math] \mathrm{duty} \,=\, \frac{t_\mathrm{on}}{t_\mathrm{on}+t_\mathrm{off}} \,=\, \left(\frac{U_\mathrm{eff}}{U_\mathrm{in}-U_\mathrm{Tr}}\right)^2 [/math]

Die mittlere Spannung an der Last, wie man sie zum Beispiel mit einem Voltmeter angezeigt bekommt, ist

[math] \overline{U} = \frac{U_\mathrm{eff}^2}{U_\mathrm{in}-U_\mathrm{Tr}} [/math]

Je höher die Eingangsspannung, desto kleiner ist also die Spannung, die das Voltmeter (auf "Gleichspannung "bzw. "DC" eingestellt) anzeigt!

Beispiel
Ein Glühbirnchen mit einer Nennspannung von 6.3V soll an einer Spannung von 10V betrieben werden. Als Schalter dient ein npn-Transistor wie BC517. Es ergibt sich duty = 0.46 = 46% und ein DC-Voltmeter zeigt eine Spannung von ca. 4.25 Volt an. Bei der Rechnung wurde ein Spannungsabfall von 0.7 Volt über der Collector-Emitter-Strecke des Transistors angenommen.

PWM als D/A Wandler

Mit einem Tiefpassfilter (z.B. RC Glied) kann ein PWM Ausgang auch als einfacher Digital-Analog Wandler benutzt werden. Meistens sollte die PWM Frequenz hier möglichst hoch sein.

PWM per Software

Um eine PWM in Software nachzubilden, braucht man ein paar ganzzahlige Variablen sowie eine Zeitbasis, die es erlaubt, die PWM-Routine in regelmässigen Zeitabständen (Ticks) aufzurufen:

max
Gibt die Auflösung der PWM an. Für max=100 hat die PWM eine Auflösung von 1% und es können 101 verschiedene duty cycle eingestellt werden (von 0 bis 100)
duty
Codiert den duty cycle; kann Werte von 0..max annehmen. Ein Wert von 0 entspricht 0%, ein Wert von max entspricht 100%.
tick
Eine Variable, die zu jedem Tick enhöht wird. Sie entspriche dem Timer-Wert bei einer Hardware-PWM.
pwm
Der Ausgabewert. Ist entweder 0 oder 1.

Der Code ist als Pseudocode angegeben und sollte problemlos zu verstehen sein

# tick um 1 erhöhen und Überlauf beim Erreichen von max (modulo max)

tick := tick + 1

IF tick >= max
THEN
   tick := 0
END IF

# tick gegen duty vergleichen und pwm entsprechend setzen

IF tick < duty
THEN
   pwm := 1
ELSE
   pwm := 0
END IF

Siehe auch


LiFePO4 Speicher Test