Pulsbreddemodulation: Driftscyklus, timere og applikationer

Oct 21 2025
Kilde: DiGi-Electronics
Gennemse: 1273

Pulsbreddemodulation (PWM) er en metode, som mikrocontrollere bruger til at styre strømmen ved at tænde og slukke for signaler ved høj hastighed. Det bruges i LED'er, motorer, servoer, lyd- og strømsystemer. Denne artikel forklarer det grundlæggende om PWM, driftscyklus, timerdrift, tilstande, frekvens, opløsning og avancerede teknikker i klare detaljer.

Figure 1: Pulse-width Modulation

Oversigt over pulsbreddemodulation (PWM) 

PWM-timere er indbyggede hardwaremoduler inde i mikrocontrollere, der genererer digitale pulssignaler med justerbare driftscyklusser. I stedet for at stole på software til at skifte ben, hvilket bruger processorkraft og risikerer timing jitter, aflaster mikrocontrolleren dette job til hardwaretimeren. Dette gør det muligt at opretholde nøjagtigheden, mens den frigør CPU'en til at håndtere andre opgaver. Resultatet er effektiv multitasking, reduceret latenstid og bedre ydeevne i faktiske applikationer såsom motorstyring, LED-dæmpning, lydmodulation og signalgenerering. PWM's effektivitet og præcision gør det til rygraden i moderne indlejrede systemer, der bygger bro mellem digital kontrol og analog adfærd. 

Pulsbredde modulation arbejdscyklus

Figure 2: Pulse-width Modulation Duty Cycle

Bølgeformen viser et gentaget signal, der skifter mellem 0V og 5V. Perioden er markeret som 10 ms, hvilket repræsenterer tiden for en hel cyklus. Inden for denne periode forbliver signalet højt (5V) i 3 ms, kendt som pulsbredden. Arbejdscyklussen beregnes derefter som forholdet mellem den høje tid og den samlede periode, hvilket giver 30 % i dette tilfælde. Det betyder, at signalet kun leverer strøm 30 % af tiden pr. cyklus. Frekvensen er også afledt af perioden, beregnet som 1 ÷ 10 ms = 100 Hz.

Beregning af driftscyklus i mikrocontroller-timere

Driftscyklussen fortæller os, hvor meget af den samlede tid, et signal er tændt sammenlignet med hele cyklussen for bølgeformen. I en mikrocontroller er dette vigtigt, fordi det bestemmer, hvor meget strøm der sendes til en enhed i løbet af hver cyklus.

For at beregne det bruger du en simpel formel: Duty Cycle (%) = (Pulse Width ÷ Period) × 100. Hvis signalet er aktivt HØJT, er driftscyklussen den brøkdel af tiden, signalet forbliver HØJT. Hvis signalet er aktivt LAVT, er driftscyklussen den brøkdel af tiden, det forbliver LAVT.

Pulsbredde modulationstimer 

Figure 3: Pulse-width Modulation Timer

Dette billede viser, hvordan en PWM-timer fungerer ved at forbinde spændingsudgangen til en tæller. Tælleren tæller gentagne gange fra 0 op til 9 og nulstiller derefter, hvilket skaber signalets periode. Når tælleren når en indstillet matchværdi (her 2), går outputtet højt og forbliver højt, indtil tælleren løber over, hvilket definerer pulsbredden. Overløbspunktet nulstiller cyklussen og starter en ny periode.

Timeren bestemmer driftscyklussen ved at styre, hvornår udgangen tændes (matcher), og hvornår den nulstilles (overløb). Justering af matchværdien ændrer bredden af det høje signal og styrer direkte, hvor meget strøm PWM leverer til en belastning.

Kantjusterede og centerjusterede PWM-tilstande

Kantjusteret tilstand

Figure 4: Edge-Aligned Mode

I kantjusteret PWM tæller tælleren kun op fra nul til et indstillet maksimum, og skift sker i begyndelsen eller slutningen af cyklussen. Dette gør det ligetil at implementere og meget effektivt, da de fleste mikrocontrollere og timere understøtter det. Fordi alle koblingskanter er justeret til den ene side af perioden, kan det føre til ujævn strømrippel og højere elektromagnetisk interferens (EMI).

Centerjusteret (fasekorrekt) tilstand

Figure 5: Center-Aligned (Phase-Correct) Mode

I centerjusteret PWM tæller tælleren op og derefter ned igen inden for hver cyklus. Dette sikrer, at koblingskanter fordeles rundt om midten af bølgeformen, hvilket skaber et mere afbalanceret output. Symmetrien reducerer harmoniske, drejningsmomentrippel i motorer og EMI i kraftsystemer. Selvom det er lidt mere komplekst og mindre effektivt med hensyn til frekvensudnyttelse, giver det meget renere outputkvalitet.

Valg af den rigtige PWM-frekvens

• LED-dæmpning kræver frekvenser over 200 Hz for at eliminere synligt flimmer, mens skærmbaggrundsbelysning og belysningssystemer af høj kvalitet ofte bruger 20-40 kHz for at holde sig uden for menneskelig opfattelse og minimere støj.

• Elektriske motorer fungerer bedst med PWM-frekvenser mellem 2-20 kHz og afbalancerer koblingstab med drejningsmomentjævnhed; Lavere værdier giver højere driftscyklusopløsning, mens højere værdier reducerer hørbar støj og rippel.

• Standard hobbyservoer er afhængige af faste styresignaler omkring 50 Hz (20 ms periode), hvor pulsbredde, ikke frekvens, bestemmer vinkelpositionen.

• Lydgenerering og digital-til-analog-konvertering kræver PWM et godt stykke over det hørbare spektrum, over 22 kHz, for at forhindre interferens og tillade ren filtrering af signaler.

• Inden for effektelektronik afvejer frekvensvalg ofte mellem effektivitet, koblingstab, elektromagnetisk interferens og den specifikke belastnings dynamiske respons.

PWM-opløsning og trinstørrelse

Opløsning (trin)

Antallet af diskrete driftscyklusniveauer indstilles af timerens periodetælling (N). Hvis en tæller f.eks. kører fra 0 til 1023, giver det 1024 forskellige driftscyklustrin. Højere tal betyder finere kontrol af output.

Bit-dybde

Opløsning udtrykkes ofte i bits, beregnet som log₂(N). En 1024-trins tæller svarer til 10-bit opløsning, mens en 65536-tæller svarer til 16-bit opløsning. Dette definerer, hvor præcist intermittens driftscyklus kan justeres.

Tidstrin

Systemuret bestemmer det mindste trin, svarende til 1 ÷ fClock. Hurtigere clockhastigheder tillader kortere perioder og højere PWM-frekvenser, mens den stadig opretholder fin opløsning.

Afvejninger

Øget opløsning kræver flere timertællinger, hvilket igen sænker den maksimale PWM-frekvens for et givet ur. Omvendt reducerer højere frekvenser den tilgængelige opløsning. 

Eksempel på PWM-forskalering og periodeopsætning

TrinBeregningResultatForklaring detaljer
MCU-ur-24 MHzBasisfrekvens, der driver timeren.
Anvend forskaleringsmiddel ÷824 MHz ÷ 83 MHzTimeruret er blevet reduceret til et overskueligt tælleområde.
Timer periode3 MHz × 0,020 sek.60.000 optællingerIndstilling af automatisk genindlæsning/perioderegister til 60.000 giver en ramme på 20 ms.
Opløsning pr. flueben1 ÷ 3 MHz0,333 μsHvert timertrin er lig med \~0.33 mikrosekunder.
Servo pulsstyring1–2 ms pulsbredde = 3000–6000 krydsGiver jævn vinkelkontrol inden for 20 ms rammen.-

Avancerede PWM-kanalteknikker

Indsættelse af dødtid

Dødtid er en lille, kontrolleret forsinkelse indsat mellem omskiftning af komplementære transistorer i et halvbro- eller fuldbrokredsløb. Uden det kunne både enhederne på den høje og den lave side midlertidigt udføre på samme tid, hvilket forårsager en kortslutning kendt som gennemskydning. Ved at tilføje et par titusinder eller hundredvis af nanosekunders dødtid sikrer hardwaren sikre overgange og beskytter MOSFET'er eller IGBT'er mod skader.

Supplerende resultater

Komplementære udgange genererer to signaler, der er logiske modsætninger af hinanden. Dette er især nyttigt i push-pull-kredsløb, motordrivere og inverter stages, hvor den ene transistor skal slukke præcist, når den anden tænder. Brug af komplementære PWM-par forenkler driverkredsløbet og sikrer symmetri, forbedrer effektiviteten og reducerer forvrængning.

Synkrone opdateringer

I systemer med flere PWM-kanaler gør synkrone opdateringer det muligt for alle udgange at opdatere samtidigt. Uden denne funktion kan der opstå små tidsuoverensstemmelser (skævhed), hvilket fører til ujævn drift. I trefasede motordrev eller flerfaseomformere sikrer synkroniseret PWM balance, jævn ydeevne og reduceret elektromagnetisk interferens.

Kryds-udløsning

Krydsudløsning gør det muligt for timere at interagere med hinanden, så en PWM-hændelse kan starte, nulstille eller justere en anden timer. Denne funktion er kraftfuld i avancerede kontrolsystemer, der muliggør præcis koordinering af flere signaler. Anvendelser omfatter kaskademotordrev, sammenflettede strømomformere og synkroniseret sensorprøveudtagning, hvor timingforhold mellem kanaler er kritiske.

Servobevægelse med PWM-signaler

Puls BreddeServo bevægelse
\~1,0 msDrejer helt til venstre eller drejer med uret med fuld hastighed
\~1,5 msForbliver i midten eller holder op med at bevæge sig
\~2,0 msDrejer helt til højre eller drejer mod uret med fuld hastighed

Konklusion

PWM er et hovedværktøj, der lader digitale systemer styre analoge enheder med nøjagtighed og effektivitet. Ved at lære driftscyklusser, timeropsætning, frekvensvalg, opløsningsafvejninger og avancerede metoder som dødtid eller gammakorrektion kan du designe pålidelige systemer. PWM fortsætter med at understøtte moderne elektronik inden for belysning, bevægelse, lyd og strømapplikationer.

Ofte stillede spørgsmål [FAQ]

Forbedrer PWM strømeffektiviteten?

Ja. PWM tænder eller slukker for enheder, hvilket minimerer varmetabet sammenlignet med analog spændingsstyring.

Skaber PWM elektromagnetisk interferens (EMI)?

Ja. Hurtig omskiftning genererer harmoniske, der forårsager EMI. Centerjusteret PWM reducerer det, og filtre hjælper med at undertrykke støj.

Hvorfor bruge et lavpasfilter med PWM?

Et lavpasfilter udjævner firkantbølgen til en gennemsnitlig DC-spænding, hvilket er nyttigt til lyd, analoge udgange og sensorsimulering.

Kan PWM styre varmeelementer?

Ja. Varmeapparater reagerer langsomt, så selv lave PWM-frekvenser (10-100 Hz) giver stabil temperaturkontrol.

Hvad bruges faseforskudt PWM til?

Den skifter timing mellem kanaler for at reducere strømspidser og balancere belastninger, hvilket er almindeligt i flerfasekonvertere og motordrev.

Hvordan forhindrer mikrocontrollere PWM-jitter?

De bruger dobbeltbufferede kasseapparater og synkroniserede opdateringer, så ændringer i driftscyklussen gælder rent i starten af hver cyklus.