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

November 14, 2012

August 13, 2012

Dezember 10, 2009

November 21, 2012

Juli 17, 2011

November 8, 2010

>