Invertere, konvertere, SMPS-kredsløb og hastighedsregulatorer…. En ting, der er almindelig i alle disse kredsløb, er at den består af mange elektroniske kontakter inde i den. Disse afbrydere er intet andet end strømelektroniske enheder som MOSFET, IGBT, TRIAC osv. For at kontrollere sådanne strømelektroniske afbrydere bruger vi ofte noget, der kaldes PWM-signaler (Pulse Width Modulation). Bortset fra dette bruges PWM-signaler også til at køre servomotorer og også til andre enkle opgaver som at kontrollere lysstyrken på en LED.
I vores tidligere artikel lærte vi om ADC, mens ADC bruges til at læse analoge signaler af en digital enhed som mikrokontroller. En PWM kan betragtes som et nøjagtigt modsat af det, PWM bruges til at producere analoge signaler fra en digital enhed som mikrokontroller. I denne artikel vil vi lære om, hvad der er PWM, PWM-signaler og nogle parametre, der er knyttet til det, så vi vil være sikre på at bruge dem i vores designs.
Hvad er PWM (pulsbreddemodulation)?
PWM står for Pulse Width Modulation; vi vil komme ind på årsagen til et sådant navn senere. Men for nu forstå PWM som en type signal, der kan produceres fra en digital IC såsom mikrocontroller eller 555 timer. Det således producerede signal vil have et pulstog, og disse impulser vil være i form af en firkantbølge. Det vil sige, at bølgen på et givet tidspunkt vil enten være høj eller være lav. For at gøre det nemmere at forstå, lad os overveje et 5V PWM-signal. I dette tilfælde vil PWM-signalet enten være 5V (højt) eller i jordoverfladen 0V (lavt). Varigheden, hvor signalerne forbliver høje, kaldes " til tiden ", og varigheden, hvor signalet forbliver lav, kaldes " slukketid ".
For et PWM-signal er vi nødt til at se på to vigtige parametre, der er knyttet til det, det ene er PWM-driftscyklus, og det andet er PWM-frekvens.
PWM's driftscyklus
Som tidligere fortalt forbliver et PWM-signal tændt i en bestemt tid og forbliver derefter slukket i resten af perioden. Hvad der gør dette PWM-signal specielt og mere nyttigt, er at vi kan indstille, hvor længe det skal forblive tændt ved at styre PWM-signalets driftscyklus.
Den procentdel af tid, hvor PWM-signalet forbliver HØJ (til tiden) kaldes som driftscyklus. Hvis signalet altid er TIL, er det i 100% driftscyklus, og hvis det altid er slukket, er det 0% driftscyklus. Formlerne til beregning af driftscyklussen er vist nedenfor.
Arbejdscyklus = Tænd tid / (Tænd tid + Sluk tid)
Det følgende billede repræsenterer et PWM-signal med 50% driftscyklus. Som du kan se, i betragtning af en hel tidsperiode (på tid + slukketid) forbliver PWM-signalet kun tændt i 50% af tidsperioden.
Frekvens = 1 / Tidsperiode Tidsperiode = Til tid + Fra tid
Normalt vil PWM-signalerne, der genereres af mikrokontroller, være omkring 500 Hz, sådanne høje frekvenser vil blive brugt i højhastighedsomskifterenheder som invertere eller omformere. Men ikke alle applikationer kræver høj frekvens. For eksempel for at styre en servomotor er vi nødt til at producere PWM-signaler med 50Hz frekvens, så frekvensen af et PWM-signal kan også styres af programmet til alle mikrocontrollere.
Nogle ofte opståede spørgsmål om PWM
Hvad er forskellen mellem driftscyklus og frekvens af et PWM-signal?
Arbejdscyklus og frekvens af PWM-signaler forveksles ofte. Som vi ved, er et PWM-signal en firkantbølge med en bestemt tid og slukketid. Summen af dette til tids- og frakoblingstid kaldes en tidsperiode. Omvendt af en tidsperiode kaldes frekvens. Mens den tid PWM-signalet skal forblive tændt i en tidsperiode, afgøres det af PWM's driftscyklus.
For at sige det enkelt, hvor hurtigt PWM-signalet skal tænde og slukke, bestemmes af PWM-signalets frekvens, og i den hastighed, hvor længe PWM-signalet skal forblive tændt, bestemmes af PWM-signalets driftscyklus.
Hvordan konverteres PWM-signaler til analog spænding?
Til enkle applikationer som at kontrollere hastigheden på en jævnstrømsmotor eller justere lysstyrken på en LED er vi nødt til at konvertere PWM-signalerne til analog spænding. Dette kan let gøres ved hjælp af et RC-filter og bruges ofte, hvor en DAC-funktion er påkrævet. Kredsløbet for det samme er vist nedenfor
I grafen vist ovenfor er den gule farvede PWM-signalet, og den blå farve den analoge udgangsspænding. Værdien af modstanden R1 og kondensatoren C1 kan beregnes ud fra frekvensen af PWM-signalet, men normalt anvendes en 5,7K eller 10K modstand og en 0,1u eller 1u kondensator.
Hvordan beregnes PWM-signalets udgangsspænding?
Udgangsspændingen for et PWM-signal efter konvertering til analog vil være procentdelen af driftscyklus. For eksempel, hvis driftsspændingen er 5V, vil PWM-signalet også have 5V, når det er højt. I et sådant tilfælde for en 100% driftscyklus vil udgangsspændingen være 5V for en 50% driftscyklus vil den være 2,5V.
Udgangsspænding = Driftscyklus (%) * 5
Eksempler:
Vi har tidligere brugt PWM med forskellige mikrokontroller i mange af vores projekter:
- Pulsbreddemodulation med ATmega32
- PWM med Arduino Uno
- Generering af PWM ved hjælp af PIC Microcontroller
- Raspberry Pi PWM-vejledning
- Servomotorstyring med Raspberry Pi
- Pulsbreddemodulation (PWM) ved hjælp af MSP430G2
- Pulsbreddemodulation (PWM) i STM32F103C8
- Servomotorstyring med Raspberry Pi
- DC Motor Control med Raspberry Pi
- 1 watt LED-dæmper
- Arduino-baseret LED-dæmper ved hjælp af PWM
Tjek yderligere alle PWM-relaterede projekter her.