PWM – Pulsweitenmodulation

Heute geht es wieder um die Programmierung unseres Kaffeeautomaten.

Und zwar nutzen wir den Mechanismus der Pulsweitenmodulation, abgekürzt PWM, um die Wassertemperatur in der Anlage über eine Heizung gewünscht einzustellen.

Mit Hilfe der PWM können elektrische Verbraucher, die relativ langsam auf Änderungen reagieren, wie beispielsweise Heizwiderstände, aber auch beispielsweise elektrische Motoren, mit Hilfe von digitalen Signalen gesteuert werden.

Der „Trick“ dabei ist, dass man die Stromstärke durch den Verbraucher nicht analog auf den gewünschten Wert einstellt. Mit Hilfe der PWM wird der Verbraucher sehr schnell ein- und wieder ausgeschaltet.

Über das Verhältnis zwischen Einschalt- und Ausschaltzeit kann so die zugeführte Leistung eingestellt werden.

Ein Beispiel

Wenn die Leistung des Heizwiderstandes auf die „halbe Leistung“ eingestellt werden soll, schaltet man die Heizung abwechselnd zu jeweils gleichen Zeiten ein- und wieder aus.

Soll die Leistung auf 80% der Maximalleitung eingestellt werden, schaltet man die Heizung 4 Zeiteinheiten ein und dann 1 Zeiteinheit aus. So wird die Heizung zu 80% der Zeit mit voller Leistung betrieben, 20% der Zeit ist sie ausgeschaltet. Im Mittel setzt die Heizung so 80% der größtmöglichen Leistung um.

Das Video zur PWM-Pulsweitenmodulation

Deine Aufgabe zur nächsten Woche

Für die Wasserzubereitung soll über eine PWM-gesteuerte Heizung das Wasser auf die gewünschte Temperatur gebracht werden.

Die gewünschte Leistung kann über den Port P0 eingestellt werden.
P1=0x00 bedeutet also: die Heizung ist ausgeschaltet.

P1=0xFF bedeutet: die Heizung ist eingeschaltet und setzt die maximal mögliche Leistung um

Da der Port P0 8 Bit hat, kann die Leistung der Heizung also in 255 Stufen eingestellt werden.

Ein möglicher Ansatz zur Lösung die PWM

Möglich wäre beispielsweise einen Timer zu programmieren, der jede 1ms einen Interrupt auslöst.
Das gesamte Zeitintervall könnte man dann auf 255 ms setzen. Der Wert in P0 bestimmt dann, in wie vielen Zeitschlitzen von jeweils 1 ms der Portpin 1.0 auf 1 gesetzt werden müsste. In den übrigen Zeitschlitzen müsste der Portpin P1.0 dann auf 0 gesetzt werden.

Viel Spaß bei der Umsetzung und bis zum nächsten Mal.
Dieser Artikel ist Teil des Mikrocontrollerkurs auf ET-Tutorials.de.
Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .

weitere Videos

April 26, 2010

November 28, 2012

Mai 24, 2010

Januar 19, 2010

April 19, 2010

September 8, 2011

>