Programmierung des Mikrocontrollers mit C
6. PWM /
Pulsweitenmodulation / Pulsbreitensteuerung
Klingt irgendwie schwierig,
oder?
Ist es aber gar nicht.
Stell Dir mal für Dein Zimmer
eine
Elektroheizung vor!
Wenn Du sie in Deinem
frostigen
Zimmer (mit 0 Grad Celsius) benutzt und sie einschaltest, heizt sie
Dein Zimmer auf z. B. 20 Grad auf.
Am nächsten Tag machst Du mal
folgendes Experiment: Du schaltest jede Minute die Heizung ein und nach
einer Minute wieder aus und nach einer Minute wieder ein u.s.w.
Die Heizleistung wird dadurch halbiert und Dein Zimmer heizt sich nur
auf etwa 10 Grad auf.
Der gleiche Trick geht auch mit einem großen (!) Elektromotor. Schalte
ihn mal im Sekundentakt (besser noch kürzer) ein und aus und ein und
aus usw.
Er wird sich mit etwa halber Geschwindigkeit drehen. Und wenn man
schnell genug ein- und ausschaltet, ist die Geschwindigkeit auch
relativ konstant.
Sogar eine Glühlampe oder eine
LED kann man mit diesem Trick halbhell leuchten lassen. Man muß sie nur
schnell genug ein- und ausschalten. Schneller als unser Auge es
wahrnehmen kann.
Auch Servomotoren steuert man
mit PWM.
Hier
auf der Seite von Strippenstrolch wird es schön erklärt.
Auf der Mikrocontrollerspielwiese wird
hier und
hier (Attiny13),
hier
(Attiny2313),
hier und hier (Atmega8)
mit PWM herumexperimentiert.
|