Zeile 1: | Zeile 1: | ||
− | 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 | + | 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. | 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. | ||
Zeile 7: | Zeile 7: | ||
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). | 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. | + | 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. den durch den Verbraucher fliessenden 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 [[Diode#Leuchtdiode|Leuchtdiode]] kann durchaus durch Spannungsspitzen oberhalb ihrer Nennspannung zerstört werden. |
Für die Durchschnittsspannung gilt | Für die Durchschnittsspannung gilt | ||
Zeile 16: | Zeile 16: | ||
</math> | </math> | ||
− | Zu beachten ist, | + | Zu beachten ist, dass 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 | + | 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 wird. Aber auch in einer PWM-geregelten Schaltung entstehen Verlustleistungen durch die endlichen Widerstände der Schaltelemente wie ([[Feldeffekttransistor|Feldeffekt]]-)[[Transistor|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 An- und Auszustand umzuschalten. Als Näherung: |
:<math> | :<math> | ||
P_\mathrm{Verl} \approx t_\mathrm{switch} \cdot f_\mathrm{pwm} \cdot U \cdot I + \overline{I^2} \cdot R_\mathrm{on} | P_\mathrm{Verl} \approx t_\mathrm{switch} \cdot f_\mathrm{pwm} \cdot U \cdot I + \overline{I^2} \cdot R_\mathrm{on} | ||
Zeile 28: | Zeile 28: | ||
{{FarbigerRahmen| | {{FarbigerRahmen| | ||
− | Bei induktiven Lasten wie einem Motor ist zusätzlich darauf zu achten, dass während der off-Zeit der Strom durch die Last | + | Bei induktiven Lasten wie einem Motor ist zusätzlich darauf zu achten, dass während der off-Zeit der Strom durch die Last weiterfließen kann. Dazu wird der Last eine so genannte [[Diode#Freilaufdiode|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]]. | 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 | + | Auch bei [[Schrittmotoren ]] macht man sich diese Technik bei modernen Schaltkreisen und Steuerungen zunutze. Hier bezeichnet man sie oft auch als Chopper-Regelung, was letztlich 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 | + | 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 Flussspannung haben. |
== PWM und ohmsche Last == | == 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. | 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 | + | Bei ohmscher Last wird man also wie bei induktiver Last (Motor) die Leistung so einstellen wollen, wie sie bei Nennspannung auftritt. Für die PWM-Spannung bedeutet dies, dass ihr Effektivwert gerade der Nennspannung des Verbrauchers entsprechen soll. Daher muss gelten: |
<math> | <math> | ||
Zeile 66: | Zeile 66: | ||
== PWM als D/A Wandler == | == 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. | + | 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 == | == 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 | + | Um eine PWM in Software nachzubilden, braucht man ein paar ganzzahlige Variablen sowie eine Zeitbasis, die es erlaubt, die PWM-Routine in regelmäßigen 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) | ;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%. | ;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 | + | ;tick: Eine Variable, die zu jedem Tick enhöht wird. Sie entspricht dem Timer-Wert bei einer Hardware-PWM. |
;pwm: Der Ausgabewert. Ist entweder 0 oder 1. | ;pwm: Der Ausgabewert. Ist entweder 0 oder 1. | ||
Version vom 27. November 2008, 14:43 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. den durch den Verbraucher fliessenden 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, dass 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 wird. 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 An- und Auszustand umzuschalten. 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.
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 weiterfließen 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 letztlich 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 Flussspannung 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 sie bei Nennspannung auftritt. Für die PWM-Spannung bedeutet dies, dass ihr Effektivwert gerade der Nennspannung des Verbrauchers entsprechen 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äßigen 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 entspricht 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