PWM-spanning berekenen uit duty cycle

Bereken de gemiddelde spanning van een PWM-signaal uit de topspanning en de duty cycle. Ideaal om de "effectieve" stuurspanning van een motor of led in te schatten.

Rekenmachine

V
Hoge niveau van het PWM-signaal
%
0–100 %
Gemiddelde spanning2,00 V
Duty cycle40,0 %
Topspanning5,00 V

Bij 5,00 V top en 40,0 % duty cycle is de gemiddelde (DC-)spanning 2,00 V.

Pulsbreedtemodulatie (PWM) is de standaardmanier waarop microcontrollers een "analoog" niveau nabootsen met een digitale uitgang. De pin schakelt heel snel tussen volledig hoog (Vmax) en volledig laag (0 V); de verhouding tussen de tijd-hoog en de totale periode heet de duty cycle. Bij 100 % staat de uitgang continu hoog, bij 0 % continu laag, en bij 40 % staat hij 40 % van de tijd hoog. De gemiddelde spanning over één periode is recht evenredig met die duty cycle.

Deze calculator rekent die gemiddelde spanning uit: Vgem = Vmax · duty/100. Dat is precies de spanning die je meet met een traag multimeter of die een gloeilamp, een (kleine) DC-motor of een led-helderheid "voelt", omdat die de snelle pulsen uitmiddelen. Het is zuivere natuurkunde — geen tijd- of prijsdata, dus onderhoudsvrij.

Waar gebruik je dit voor?

PWM stuurt led-dimmers, motorsnelheid, verwarmingselementen en — met een filter — eenvoudige DA-omzetters. Door alleen de duty cycle te wijzigen regel je het vermogen zonder warmteverlies, want de schakelaar (transistor) staat steeds óf helemaal aan óf helemaal uit.

De formule

Vgem = Vmax × (duty% / 100)\nduty% = (t_hoog / T) × 100
  • Vmax — hoge niveau van het signaal (V)
  • duty% — fractie van de periode dat het signaal hoog is
  • t_hoog — tijd hoog per periode
  • T — periodeduur

De formule geldt voor een ideaal blokgolfsignaal dat tussen 0 V en Vmax schakelt.

Uitgewerkt voorbeeld

Een microcontroller geeft 5 V PWM met een duty cycle van 40 %.

Vgem = 5 · 40/100 = 2 V. Zet je de duty op 75 %, dan wordt het 5 · 0,75 = 3,75 V. Een led aan zo'n uitgang lijkt dan respectievelijk ongeveer 40 % en 75 % zo helder, omdat het oog de snelle pulsen middelt.

Het « waarom » & de praktijk

Belangrijk: de uitgang van een PWM-pin is géén echte gelijkspanning — het blijft een snel pulserend blok. Wil je er een gladde DC-spanning van maken (bijvoorbeeld als eenvoudige DA-omzetter of als instelbare referentie), dan filter je het signaal met een RC-laagdoorlaatfilter. De afsnijfrequentie moet ruim onder de PWM-frequentie liggen; bereken hem met de RC-afsnijfrequentie-calculator. Hoe lager de afsnijfrequentie, hoe vlakker de DC, maar hoe trager de respons op veranderingen.

De gemiddelde spanning zegt niet alles. Voor een ohmse belasting (verwarming, gloeilamp) bepaalt het effectieve (RMS-)vermogen de warmte, en dat schaalt anders dan lineair met de duty cycle. Voor een led telt de gemiddelde stroom, die je instelt met een voorschakelweerstand. Houd ook rekening met de werkelijke schakelniveaus van je transistor of driver: als die niet helemaal tot 0 V of tot Vmax komen, wijkt de echte gemiddelde spanning licht af.

Veelgestelde vragen

Hoe bereken ik de gemiddelde spanning van PWM?
Vermenigvuldig de topspanning met de duty cycle gedeeld door 100: Vgem = Vmax · duty/100. Bij 5 V en 40 % is dat 2 V. Dit is de waarde die een traag meetinstrument aangeeft.
Is de uitgang van PWM een echte gelijkspanning?
Nee. Het is een snel schakelend blokgolfsignaal; alleen het gemiddelde gedraagt zich als gelijkspanning. Met een RC-laagdoorlaatfilter maak je er een echte, gladde DC-spanning van.
Waarom gebruikt men PWM in plaats van een variabele weerstand?
Omdat de schakelaar steeds volledig aan of uit staat, gaat er nauwelijks vermogen in warmte verloren. Een serieweerstand zou het verschil als warmte moeten verstoken, wat inefficiënt is.
Hangt de gemiddelde spanning af van de PWM-frequentie?
Nee, de gemiddelde spanning hangt alleen van de duty cycle af. De frequentie bepaalt wel hoe makkelijk je het signaal kunt gladstrijken met een filter en of een led zichtbaar flikkert.
Wat betekent 100 % duty cycle?
Dat de uitgang continu hoog staat: de gemiddelde spanning is dan gelijk aan Vmax. Bij 0 % staat hij continu laag (0 V), en alles ertussen geeft een evenredig gemiddelde.