Pulzno-širinska modulacija (PWM) je moderen izraz za vrsto digitalnega signala. PWM se uporabljajo v različnih aplikacijah, vključno s kompleksnimi krmilnimi vezji. V podjetju SparkFun jih pogosto uporabljamo za zatemnitev RGB LED ali za krmiljenje smeri servo motorja. V obeh aplikacijah lahko dosežemo vrsto rezultatov, saj nam PWM omogoča spreminjanje časa, ko je signal visok, na analogni način. Čeprav je signal lahko v danem trenutku le visok (običajno 5 V) ali nizek (ozemljitev), lahko spreminjamo delež časa, ko je signal visok v primerjavi z nizkim v doslednem časovnem intervalu.
Ko je signal visok, ga imenujemo »vklopljen pravočasno«. Za opis količine »vklopljenega časa« uporabljamo koncept delovnega cikla. Delovni cikel se meri v odstotkih. Odstotek delovnega cikla natančno opisuje odstotek časa, ko je digitalni signal vklopljen znotraj intervala ali periode. Perioda je obratna vrednost frekvence valovne oblike. Če je digitalni signal vklopljen polovico časa in izklopljen drugo polovico, pravimo, da ima digitalni signal 50-odstotni delovni cikel, podobno idealnemu kvadratnemu valu. Če je odstotek višji od 50 %, digitalni signal preživi več časa v visokem stanju kot v nizkem stanju in obratno, če je delovni cikel manjši od 50 %. Naslednji diagram prikazuje te tri primere:

100-odstotni delovni cikel je enak nastavitvi napetosti na 5 voltov (visoka). 0-odstotni delovni cikel je enak priključitvi signala na ozemljitev.
primer
Svetlost LED diode lahko nadzorujete z nastavitvijo delovnega cikla.

Z RGB (rdečo, zeleno in modro) LED diodo lahko nadzorujete količino vsake od treh barv, ki se mešajo, tako da jih zatemnite za različne količine.

Če so vse tri vklopljene v enakih količinah, bodo rezultat različni odtenki bele svetlobe. Enaka mešanica modre in zelene bo ustvarila modrikasto-zeleno barvo. Za nekoliko bolj zapleten primer poskusite popolnoma vklopiti rdečo, popolnoma vklopiti zeleno pri 50 % delovnem ciklu in popolnoma izklopiti modro, da ustvarite oranžno barvo.

Pri krmiljenju LED diod mora biti frekvenca kvadratnega vala dovolj visoka, da se doseže ustrezen učinek zatemnitve. Val z 20-odstotnim delovnim ciklom pri 1 Hz bo vašemu očesu jasno pokazal, da se vklaplja in izklaplja, medtem ko se bo 100-odstotni delovni cikel pri 20 Hz ali več zdel temnejši kot pri polnem vklopu. V bistvu, če je vaš cilj doseči učinek zatemnitve z LED diodami, period ne sme biti prevelik. Za krmiljenje kota servo motorja, priključenega na mehansko napravo, kot je robotska roka, lahko uporabite tudi pulzno širinsko modulacijo. Servo motor ima gred, ki se glede na svojo krmilno linijo obrne v določen položaj. Naši servo motorji imajo razpon približno 180 stopinj.
Frekvenca/perioda je specifična za krmiljenje določenega servomotorja. Tipičen servomotor pričakuje posodobitev vsakih 20 ms, z impulzom med 1 ms in 2 ms – z drugimi besedami, delovni cikel med 5 % in 10 % pri valovni obliki 50 Hz. Pri impulzu 1,5 ms bo servomotor v svojem naravnem položaju pod kotom 90 stopinj. Pri impulzu 1 ms bo servomotor pri 0 stopinjah, pri impulzu 2 ms pa pri 180 stopinjah. Celoten obseg gibanja lahko dosežete s posodobitvijo servomotorja na vrednosti vmes.
Modulacija širine impulza se uporablja v različnih aplikacijah, zlasti pri krmiljenju. Zdaj, ko veste, da se lahko uporablja za zatemnitev LED diod in nadzor kota servo motorjev, lahko začnete raziskovati druge možne uporabe. Če se počutite izgubljene, si oglejte komplet izumiteljev SparkFun, ki vključuje primere uporabe modulacije širine impulza. Če ste pripravljeni takoj začeti s kodiranjem in imate Arduino, si oglejte primere kodiranja PWM tukaj.
Čas objave: 31. julij 2025


