Impulsi laiuse modulatsioon (PWM) on meetod, mida mikrokontrollerid kasutavad toite juhtimiseks, lülitades signaale suurel kiirusel sisse ja välja. Seda kasutatakse LED-ides, mootorites, servodes, heli- ja elektrisüsteemides. See artikkel selgitab üksikasjalikult PWM-i põhitõdesid, töötsüklit, taimeri tööd, režiime, sagedust, eraldusvõimet ja täiustatud tehnikaid.

Impulsi laiuse modulatsiooni (PWM) ülevaade
PWM-taimerid on mikrokontrollerite sees sisseehitatud riistvaramoodulid, mis genereerivad reguleeritavate töötsüklitega digitaalseid impulsssignaale. Selle asemel, et loota tihvtide lülitamiseks tarkvarale, mis kulutab töötlemisvõimsust ja riskib ajastusvärinaga, laadib mikrokontroller selle töö riistvarataimerile. See võimaldab tal säilitada täpsust, vabastades samal ajal protsessori muude ülesannete täitmiseks. Tulemuseks on tõhus multitegumtöö, väiksem latentsusaeg ja parem jõudlus tegelikes rakendustes, nagu mootori juhtimine, LED-i hämardamine, helimodulatsioon ja signaali genereerimine. PWM-i tõhusus ja täpsus muudavad selle kaasaegsete manussüsteemide selgrooks, ületades lõhe digitaalse juhtimise ja analoogkäitumise vahel.
Impulsi laiuse modulatsiooni töötsükkel

Lainekuju näitab korduvat signaali, mis lülitub 0V ja 5V vahel. Periood on märgitud kui 10 ms, mis tähistab ühe täistsükli aega. Selle aja jooksul püsib signaal kõrge (5 V) 3 ms, mida nimetatakse impulsi laiuseks. Seejärel arvutatakse töötsükkel kõrge aja ja kogu perioodi suhtena, andes antud juhul 30%. See tähendab, et signaal annab energiat ainult 30% ajast tsükli kohta. Sagedus tuletatakse ka perioodist, mis arvutatakse järgmiselt: 1 ÷ 10 ms = 100 Hz.
Töötsükli arvutamine mikrokontrolleri taimerites
Töötsükkel näitab meile, kui suur osa signaali sisselülitamise koguajast võrreldes lainekuju täistsükliga. Mikrokontrolleris on see oluline, kuna see otsustab, kui palju energiat seadmele iga tsükli jooksul edastatakse.
Selle arvutamiseks kasutage lihtsat valemit: Töötsükkel (%) = (impulsi laius ÷ periood) × 100. Kui signaal on aktiivne HIGH, on töötsükkel murdosa ajast, mil signaal jääb HIGH. Kui signaal on aktiivne LOW, on töötsükkel murdosa ajast, mil see jääb MADALAKS.
Impulsi laiuse modulatsiooni taimer

See pilt näitab, kuidas PWM-taimer töötab, ühendades pingeväljundi loenduriga. Loendur loeb korduvalt vahemikus 0 kuni 9, seejärel lähtestab, luues signaali perioodi. Kui loendur jõuab määratud vasteväärtuseni (siin 2), läheb väljund kõrgeks ja püsib kõrgel, kuni loendur üle voolab, määrates impulsi laiuse. Ületäitumispunkt lähtestab tsükli, alustades uut perioodi.
Taimer määrab töötsükli, kontrollides, millal väljund sisse lülitub (sobitab) ja millal see lähtestub (ületäitumine). Vasteväärtuse reguleerimine muudab kõrge signaali laiust, kontrollides otseselt, kui palju võimsust PWM koormusele annab.
Servajoondatud ja keskele joondatud PWM-režiimid
Servade joondatud režiim

Servajoondatud PWM-is loendab loendur ainult nullist kuni seatud maksimumini ja ümberlülitamine toimub tsükli alguses või lõpus. See muudab selle rakendamise lihtsaks ja väga tõhusaks, kuna enamik mikrokontrollereid ja taimereid toetab seda loomulikult. Kuna kõik lülituservad on joondatud perioodi ühele küljele, võib see põhjustada ebaühtlast voolu pulsatsiooni ja suuremaid elektromagnetilisi häireid (EMI).
Keskele joondatud (faasiõige) režiim

Keskele joondatud PWM-is loendab loendur iga tsükli jooksul üles ja seejärel tagasi. See tagab, et lülitusservad jaotuvad lainekuju keskpunkti ümber, luues tasakaalustatuma väljundi. Sümmeetria vähendab harmoonilisi, pöördemomendi pulsatsiooni mootorites ja EMI-d elektrisüsteemides. Kuigi see on veidi keerulisem ja sageduse kasutamise osas vähem tõhus, tagab see palju puhtama väljundkvaliteedi.
Õige PWM-sageduse valimine
• LED-hämardamine nõuab nähtava virvenduse kõrvaldamiseks sagedusi üle 200 Hz, samas kui ekraani taustvalgustus ja kvaliteetsed valgustussüsteemid kasutavad sageli 20–40 kHz, et jääda inimese tajust kaugemale ja minimeerida müra.
• Elektrimootorid töötavad kõige paremini PWM-sagedustega vahemikus 2–20 kHz, tasakaalustades lülituskadusid pöördemomendi sujuvusega; Madalamad väärtused tagavad suurema töötsükli eraldusvõime, samas kui kõrgemad väärtused vähendavad kuuldavat müra ja pulsatsiooni.
• Tavalised hobiservod tuginevad fikseeritud juhtsignaalidele umbes 50 Hz (20 ms periood), kus impulsi laius, mitte sagedus, määrab nurga asendi.
• Heli genereerimine ja digitaal-analoog teisendamine nõuab PWM-i, mis on kuuldavast spektrist tunduvalt kõrgem, üle 22 kHz, et vältida häireid ja võimaldada signaalide puhast filtreerimist.
• Jõuelektroonikas on sageduse valik sageli kompromiss efektiivsuse, lülituskadude, elektromagnetiliste häirete ja konkreetse koormuse dünaamilise reaktsiooni vahel.
PWM-i eraldusvõime ja sammu suurus
Resolutsioon (sammud)
Diskreetsete töötsükli tasemete arvu määrab taimeri perioodide arv (N). Näiteks kui loendur töötab vahemikus 0 kuni 1023, annab see 1024 erinevat töötsükli sammu. Suurem arv tähendab väljundi täpsemat kontrolli.
Biti sügavus
Eraldusvõimet väljendatakse sageli bittides, mis arvutatakse log₂(N). 1024-astmeline loendur vastab 10-bitisele eraldusvõimele, samas kui 65536-astmeline loendur vastab 16-bitisele eraldusvõimele. See määrab, kui täpselt saab töötsüklit reguleerida.
Ajasamm
Süsteemi kell määrab väikseima sammu, mis võrdub 1 ÷ fClockiga. Kiiremad taktsagedused võimaldavad lühemaid perioode ja kõrgemaid PWM-sagedusi, säilitades samal ajal peene eraldusvõime.
Kompromissid
Eraldusvõime suurendamine nõuab rohkem taimerite arvu, mis omakorda alandab antud kella maksimaalset PWM-sagedust. Seevastu kõrgemad sagedused vähendavad saadaolevat eraldusvõimet.
PWM-i eelskaleerija ja perioodi seadistamise näide
| Samm | Arvutamine | Tulemus | Selgituse üksikasjad |
|---|---|---|---|
| MCU kell | - | 24 MHz | Taimerit juhtiv baassagedus. |
| Rakendage eelskaleerijat ÷8 | 24 MHz ÷ 8 | 3 MHz | Taimeri kell on vähendatud juhitavale loendusvahemikule. |
| Taimeri periood | 3 MHz × 0,020 s | 60 000 loendust | Automaatse uuesti laadimise/perioodi registri seadmine väärtusele 60 000 annab 20 ms kaadri. |
| Eraldusvõime linnukese kohta | 1 ÷ 3 MHz | 0,333 μs | Iga taimeri samm võrdub \ ~ 0.33 mikrosekundiga. |
| Servo impulsi juhtimine | 1–2 ms impulsi laius = 3000–6000 puuki | Tagab sujuva nurga juhtimise 20 ms raamis. | - |
Täiustatud PWM-kanali tehnikad
Surnud aja sisestamine
Surnud aeg on väike kontrollitud viivitus, mis sisestatakse komplementaarsete transistoride lülitamise vahele poolsilla- või täissillaahelas. Ilma selleta võivad nii kõrge kui ka madala külje seadmed hetkeks korraga juhtida, põhjustades lühise, mida nimetatakse läbilaskmiseks. Lisades mõnikümmend või sada nanosekundit surnud aega, tagab riistvara ohutud üleminekud, kaitstes MOSFET-e või IGBT-sid kahjustuste eest.
Täiendavad väljundid
Täiendavad väljundid genereerivad kaks signaali, mis on üksteise loogilised vastandid. See on eriti kasulik tõuke-tõmbeahelates, mootoridraiverites ja inverteri etappides, kus üks transistor peab välja lülituma täpselt siis, kui teine sisse lülitub. Täiendavate PWM-paaride kasutamine lihtsustab draiveri vooluringi ja tagab sümmeetria, parandades tõhusust ja vähendades moonutusi.
Sünkroonsed värskendused
Mitme PWM-kanaliga süsteemides võimaldavad sünkroonsed värskendused kõiki väljundeid samaaegselt värskendada. Ilma selle funktsioonita võivad tekkida väikesed ajastuse mittevastavused (viltu), mis põhjustab ebaühtlast tööd. Kolmefaasilistes mootoriajamites või mitmefaasilistes muundurites tagab sünkroniseeritud PWM tasakaalu, sujuva jõudluse ja väiksemad elektromagnetilised häired.
Ristkäivitamine
Ristkäivitamine võimaldab taimeritel üksteisega suhelda, nii et üks PWM-sündmus saab käivitada, lähtestada või reguleerida teist taimerit. See funktsioon on täiustatud juhtimissüsteemides võimas, võimaldades mitme signaali täpset koordineerimist. Rakenduste hulka kuuluvad kaskaadmootori ajamid, põimitud võimsusmuundurid ja sünkroniseeritud andurite proovivõtt, kus kanalitevahelised ajastussuhted on kriitilise tähtsusega.
Servo liikumine PWM-signaalidega
| Impulsi laius | Servo liikumine |
|---|---|
| \~1,0 ms | Pöörab täielikult vasakule või pöörleb täiskiirusel päripäeva |
| \~1,5 ms | Jääb keskele või peatub |
| \~2,0 ms | Pöörab täielikult paremale või pöörleb täiskiirusel vastupäeva |
Järeldus
PWM on peamine tööriist, mis võimaldab digitaalsüsteemidel analoogseadmeid täpselt ja tõhusalt juhtida. Õppides töötsükleid, taimeri seadistust, sageduse valikuid, eraldusvõime kompromisse ja täiustatud meetodeid, nagu surnud aeg või gammakorrektsioon, saate kujundada usaldusväärseid süsteeme. PWM toetab jätkuvalt kaasaegset elektroonikat valgustus-, liikumis-, heli- ja toiterakendustes.
Korduma kippuvad küsimused [KKK]
Kas PWM parandab energiatõhusust?
Jah. PWM lülitab seadmed täielikult sisse või välja, minimeerides soojuskadu võrreldes analoogpinge juhtimisega.
Kas PWM tekitab elektromagnetilisi häireid (EMI)?
Jah. Kiire ümberlülitamine tekitab harmoonilisi, mis põhjustavad EMI-d. Keskele joondatud PWM vähendab seda ja filtrid aitavad müra summutada.
Miks kasutada PWM-iga madalpääsfiltrit?
Madalpääsfilter silub ruutlaine keskmiseks alalispingeks, mis on kasulik heli, analoogväljundite ja andurite simulatsiooni jaoks.
Kas PWM saab kütteelemente juhtida?
Jah. Kütteseadmed reageerivad aeglaselt, nii et isegi madalad PWM-sagedused (10–100 Hz) tagavad stabiilse temperatuuri reguleerimise.
Milleks faasinihkega PWM-i kasutatakse?
See nihutab ajastust kanalite vahel, et vähendada voolu hüppeid ja tasakaalustada koormusi, mis on levinud mitmefaasilistes muundurites ja mootoriajamites.
Kuidas mikrokontrollerid takistavad PWM-i värinat?
Nad kasutavad topeltpuhverdatud registreid ja sünkroonitud värskendusi, nii et töötsükli muudatused rakenduvad iga tsükli alguses puhtalt.