Zeile 8: | Zeile 8: | ||
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 oder die PWM eine hinreichend hohe Frequenz haben. Eine [[Diode#Leuchtdiode|Leuchtdiode]] kann durchaus durch Spannungsspitzen oberhalb ihrer Nennspannung zerstört werden. | 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 oder die PWM eine hinreichend hohe Frequenz haben. Eine [[Diode#Leuchtdiode|Leuchtdiode]] kann durchaus durch Spannungsspitzen oberhalb ihrer Nennspannung zerstört werden. | ||
+ | |||
+ | Für die Durchschnittsspannung gilt | ||
:<math> | :<math> | ||
\overline{U_\mathrm{pwm}} | \overline{U_\mathrm{pwm}} | ||
Zeile 14: | Zeile 16: | ||
</math> | </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 ist | + | 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 ([[Feldeffekttransistor|Feldeffekt]]-)[[Transistor|Transistoren]]. Diese Verlustleistung ist 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, und dem on-Widerstand des Schalters: |
:<math> | :<math> | ||
P_\mathrm{Verl} \sim t_\mathrm{switch} \cdot f_\mathrm{pwm} \cdot R_\mathrm{on} | P_\mathrm{Verl} \sim t_\mathrm{switch} \cdot f_\mathrm{pwm} \cdot R_\mathrm{on} | ||
</math> | </math> | ||
Darüber hinaus trägt eine evtl. benötigte Freilaufdiode abenfalls zu den Verlusten bei. | Darüber hinaus trägt eine evtl. benötigte Freilaufdiode abenfalls 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. | ||
+ | |||
+ | {{FarbigerRahmen| | ||
+ | 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 [[Diode#Freilaufdiode|Freilaufdiode]] parallel geschaltet. Ohne eine Freilaufdiode würde sich trotz der Effektivspannung von 6V kein nennenswerter Stromfluss einstellen, und die beim Abschalten der Spannung entstehenden Spannungsspitzen würden zusätzlich Probleme bereiten oder die Schaltung sogar schädigen. | ||
+ | }} | ||
Beispielschaltungen, die PWM nutzen, findet man unter [[Getriebemotoren Ansteuerung]]. | Beispielschaltungen, die PWM nutzen, findet man unter [[Getriebemotoren Ansteuerung]]. | ||
Zeile 41: | Zeile 46: | ||
Dabei bezeichnet ''U''<sub>Tr</sub> die Spannung, die am Transistor abfällt. Damit gilt für das Tastverhältnis (duty cycle) der PWM: | Dabei bezeichnet ''U''<sub>Tr</sub> die Spannung, die am Transistor abfällt. Damit gilt für das Tastverhältnis (duty cycle) der PWM: | ||
− | <math> | + | :<math> |
\mathrm{duty} | \mathrm{duty} | ||
\,=\, \frac{t_\mathrm{on}}{t_\mathrm{on}+t_\mathrm{off}} | \,=\, \frac{t_\mathrm{on}}{t_\mathrm{on}+t_\mathrm{off}} | ||
Zeile 49: | Zeile 54: | ||
Die mittlere Spannung an der Last, wie man sie zum Beispiel mit einem Voltmeter angezeigt bekommt, ist | Die mittlere Spannung an der Last, wie man sie zum Beispiel mit einem Voltmeter angezeigt bekommt, ist | ||
− | <math> | + | :<math> |
\overline{U} = \frac{U_\mathrm{eff}^2}{U_\mathrm{in}-U_\mathrm{Tr}} | \overline{U} = \frac{U_\mathrm{eff}^2}{U_\mathrm{in}-U_\mathrm{Tr}} | ||
</math> | </math> | ||
Zeile 55: | Zeile 60: | ||
Je höher die Eingangsspannung, desto kleiner ist also die Spannung, die das Voltmeter (auf "Gleichspannung "bzw. "DC" eingestellt) anzeigt! | 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. | |
− | 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 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 | ||
+ | <pre> | ||
+ | tick := tick + 1 | ||
+ | |||
+ | IF tick >= max | ||
+ | THEN | ||
+ | tick := 0 | ||
+ | END IF | ||
+ | |||
+ | IF tick < duty | ||
+ | THEN | ||
+ | pwm := 1 | ||
+ | ELSE | ||
+ | pwm := 0 | ||
+ | END IF | ||
+ | </pre> | ||
==Siehe auch== | ==Siehe auch== |
Version vom 17. Dezember 2006, 11:51 Uhr
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 oder 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 ist 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, und dem on-Widerstand des Schalters:
- [math] P_\mathrm{Verl} \sim t_\mathrm{switch} \cdot f_\mathrm{pwm} \cdot R_\mathrm{on} [/math]
Darüber hinaus trägt eine evtl. benötigte Freilaufdiode abenfalls zu den Verlusten bei.
Inhaltsverzeichnis
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ürde sich trotz der Effektivspannung von 6V kein nennenswerter Stromfluss einstellen, und die beim Abschalten der Spannung entstehenden Spannungsspitzen würden zusätzlich Probleme bereiten oder die Schaltung sogar schädigen.
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.
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 Heitfäden der Fall.
Beim 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 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 := tick + 1 IF tick >= max THEN tick := 0 END IF IF tick < duty THEN pwm := 1 ELSE pwm := 0 END IF