PWM

PWM står for Pulse Width Modulation og betyder, at en pin skifter hurtigt mellem høj og lav. Ved at ændre hvor stor del af tiden en pin er høj, kan du få et gennemsnitligt spændingsniveau eller et styresignal til for eksempel lysstyrke eller motorhastighed.

Grundbegreber

Et ideelt PWM-signal skifter mellem en lav spænding og en høj spænding. Perioden er den samlede tid for én gentagelse, og duty cycle er den del af perioden, hvor signalet er højt.

PWM er ikke en kommunikationsbus med byte-rate. Det beskrives med signalfrekvens (pulser pr. sekund) og duty cycle; hvor hurtigt modtageren kan reagere afhænger af kredsløbet.

\[ T = t_{\text{høj}} + t_{\text{lav}}, \qquad f = \frac{1}{T}, \qquad D = \frac{t_{\text{høj}}}{T} \]

Her er \(T\) perioden, \(f\) frekvensen, \(t_{\text{høj}}\) high-tiden og \(D\) duty cycle. En duty cycle på 25 % betyder altså \(D=0{,}25\).

Tre duty cycles

I figurerne er den høje del vist som den blå del af signalet. Perioden er den samme i alle tre eksempler; kun high-tiden ændres.

PWM-signal med 25 procent duty cycle
25 % duty cycle: signalet er højt i en fjerdedel af hver periode.
PWM-signal med 50 procent duty cycle
50 % duty cycle: signalet er højt og lavt lige længe.
PWM-signal med 75 procent duty cycle
75 % duty cycle: signalet er højt i tre fjerdedele af hver periode.

Middelværdi og effektivværdi

For et ideelt, unipolært PWM-signal, der skifter mellem \(0\) og \(V_{\text{H}}\), er middelværdien:

\[ V_{\text{middel}} = D \cdot V_{\text{H}} \]

Effektivværdien, også kaldet RMS-værdien, beregnes ud fra kvadratet af signalet:

\[ V_{\text{RMS}} = \sqrt{\frac{1}{T}\int_0^T v^2(t)\,dt} = V_{\text{H}}\sqrt{D} \]

Det betyder for eksempel, at et 50 % PWM-signal med \(V_{\text{H}}=5\,\text{V}\) har:

\[ V_{\text{middel}} = 0{,}50\cdot 5\,\text{V}=2{,}5\,\text{V}, \qquad V_{\text{RMS}} = 5\sqrt{0{,}50}\,\text{V}\approx 3{,}54\,\text{V} \]

Middelværdi og effektivværdi er ikke det samme. For en ren resistiv belastning bliver den gennemsnitlige effekt \(P=V_{\text{RMS}}^2/R\), så et ideelt PWM-signal med duty cycle \(D\) giver omtrent \(D\) gange effekten ved konstant \(V_{\text{H}}\). Motorer, LED'er og strømforsyninger kan afvige fra denne simple model.

Hvad PWM betyder i praksis

Hvorfor bruges PWM?

På Arduino Uno

Eksempel

Husk