Durch die Veränderung des zeitlichen Anteils des Spannungsimpulses tON bei gleicher Periodendauer T lässt sich das arithmetische Mittel der Spannung, der sog. Gleichwert der Spannung u_  stufenlos einstellen. Diese Art der quasi analogen Spannungserzeugung wird Pulsweitenmodulation PWM genannt. (Dabei kann der eigentlich rechteckförmige Spannungsverlauf mit Hilfe eines Kondensators zu der Gleichspannung u_  "geglättet" werden.)

Auch lässt sich mit dem Impulsstart ein Zähler triggern, der mit dem Impulsende diesen stoppt. Der Zählerstand wird dann mit einem Digital-Analog-Wandler in eine echte analoge Spannung umgewandelt. Es gibt viele Aktoren, die nach diesem Prinzip arbeiten (Bsp. PC-Gehäuse- und Mikroprozessorlüfter).

Pulsweitenmodulation

Pulsweitenmodulation

Der Tastgrad (engl. duty cycle) ist das Verhältnis zwischen der Impulsdauer tON und der Periodendauer T:

\( D= \frac{t_{ON}}{T} = \frac{t_{ON}}{t_{ON}+t_{OFF}} \)


PWM mit dem Arduino

Neben der Möglichkeit, die Pulsdauer mit der Frequenz manuell zu programmieren, gibt es beim Arduino Uno eine eingebaute Funktion dafür (der verwendete Mikrocontroller ATmega328 hat 6 PWM-Kanäle:

The Arduino IDE has a built in function “analogWrite()” which can be used to generate a PWM signal. The frequency of this generated signal for most pins will be about 490Hz and we can give the value from 0-255 using this function.

analogWrite(3,0) means a signal of 0% duty cycle (of pin 3)

analogWrite(3,127) means a signal of 50% duty

analogWrite(3,255) means a signal of 100% duty cycle.

On Arduino Uno, the PWM pins are 3, 5, 6, 9, 10 and 11. The frequency of PWM signal on pins 5 and 6 will be about 980Hz and on other pins will be 490Hz. The PWM pins are labeled with ~ sign.

Zitiert nach https://create.arduino.cc/projecthub/muhammad-aqib/arduino-pwm-tutorial-ae9d71   (23.09.2021)

Einen echten analogen Ausgang hat der Arduino Uno nicht.


Last modified: Thursday, 23 September 2021, 9:36 AM