Pulssinleveysmodulaatio (PWM) on menetelmä, jota mikro-ohjaimet käyttävät virran ohjaamiseen kytkemällä signaaleja päälle ja pois päältä suurella nopeudella. Sitä käytetään LEDeissä, moottoreissa, servoissa, ääni- ja sähköjärjestelmissä. Tässä artikkelissa selitetään PWM:n perusteet, käyttöjakso, ajastimen toiminta, tilat, taajuus, resoluutio ja edistyneet tekniikat selkeästi yksityiskohtaisesti.

Pulssinleveysmodulaation (PWM) yleiskatsaus
PWM-ajastimet ovat mikro-ohjainten sisäänrakennettuja laitteistomoduuleja, jotka tuottavat digitaalisia pulssisignaaleja säädettävillä käyttöjaksoilla. Sen sijaan, että mikro-ohjain luottaisi ohjelmistoon nastojen vaihtamiseen, mikä kuluttaa prosessointitehoa ja vaarantaa ajoituksen, se lataa tämän työn laitteistoajastimeen. Tämän avulla se voi säilyttää tarkkuuden ja vapauttaa suorittimen muihin tehtäviin. Tuloksena on tehokas moniajo, pienempi latenssi ja parempi suorituskyky todellisissa sovelluksissa, kuten moottorin ohjauksessa, LED-himmennyksessä, äänen moduloinnissa ja signaalin luomisessa. PWM:n tehokkuus ja tarkkuus tekevät siitä nykyaikaisten sulautettujen järjestelmien selkärangan, joka kuroa umpeen digitaalisen ohjauksen ja analogisen käyttäytymisen välisen kuilun.
Pulssinleveyden modulaation käyttöjakso

Aaltomuoto näyttää toistuvan signaalin, joka vaihtuu 0V ja 5V välillä. Jakso on merkitty 10 ms:ksi, joka edustaa yhden täydellisen syklin aikaa. Tänä aikana signaali pysyy korkeana (5 V) 3 ms, joka tunnetaan pulssin leveydeksi. Käyttösuhde lasketaan sitten korkean ajan ja kokonaisjakson suhteena, jolloin saadaan tässä tapauksessa 30 %. Tämä tarkoittaa, että signaali tuottaa tehoa vain 30 % ajasta sykliä kohden. Taajuus johdetaan myös jaksosta, joka lasketaan 1 ÷ 10 ms = 100 Hz.
Käyttösuhteen laskenta mikro-ohjaimen ajastimissa
Käyttöjakso kertoo meille, kuinka suuri osa signaalin kytkemisen kokonaisajasta verrattuna aaltomuodon koko sykliin. Mikro-ohjaimessa tämä on tärkeää, koska se päättää, kuinka paljon virtaa laitteelle lähetetään kunkin jakson aikana.
Voit laskea sen käyttämällä yksinkertaista kaavaa: Käyttösuhde (%) = (pulssin leveys ÷ jakso) × 100. Jos signaali on aktiivinen HIGH, käyttösuhde on murto-osa ajasta, jonka signaali pysyy HIGH. Jos signaali on aktiivinen LOW, käyttösuhde on murto-osa ajasta, jonka se pysyy LOW.
Pulssinleveyden modulaatioajastin

Tämä kuva näyttää, kuinka PWM-ajastin toimii yhdistämällä jännitelähtö laskuriin. Laskuri laskee toistuvasti välillä 0 - 9 ja nollautuu sitten luoden signaalin jakson. Kun laskuri saavuttaa asetetun vastaavuusarvon (tässä 2), lähtö nousee korkealle ja pysyy korkeana, kunnes laskuri vuotaa yli, mikä määrittää pulssin leveyden. Ylivuotopiste nollaa syklin ja aloittaa uuden jakson.
Ajastin määrittää käyttöjakson säätämällä, milloin lähtö käynnistyy (match) ja milloin se nollautuu (ylivuoto). Vastaavuusarvon säätäminen muuttaa korkean signaalin leveyttä ja ohjaa suoraan, kuinka paljon tehoa PWM toimittaa kuormalle.
Reuna- ja keskelle kohdistetut PWM-tilat
Reunan kohdistama tila

Reunakohdistetussa PWM:ssä laskuri laskee vain nollasta asetettuun maksimiin, ja vaihto tapahtuu syklin alussa tai lopussa. Tämä tekee siitä yksinkertaisen toteuttaa ja erittäin tehokkaan, koska useimmat mikro-ohjaimet ja ajastimet tukevat sitä natiivisti. Koska kaikki kytkentäreunat on kohdistettu jakson toiselle puolelle, se voi johtaa epätasaiseen virran aaltoiluun ja suurempiin sähkömagneettisiin häiriöihin (EMI).
Keskelle kohdistettu (vaiheoikea) tila

Keskelle kohdistetussa PWM:ssä laskuri laskee ylös ja sitten takaisin alas jokaisen syklin aikana. Tämä varmistaa, että kytkentäreunat jakautuvat aaltomuodon keskikohdan ympärille, mikä luo tasapainoisemman lähdön. Symmetria vähentää yliaaltoja, vääntömomentin aaltoilua moottoreissa ja EMI:tä sähköjärjestelmissä. Vaikka se on hieman monimutkaisempi ja vähemmän tehokas taajuuden käytön kannalta, se tarjoaa paljon puhtaamman tulostuslaadun.
Oikean PWM-taajuuden valitseminen
• LED-himmennys vaatii yli 200 Hz:n taajuuksia näkyvän välkkymisen poistamiseksi, kun taas näytön taustavalo ja laadukkaat valaistusjärjestelmät käyttävät usein 20–40 kHz:n taajuuksia pysyäkseen ihmisen havaintokyvyn ulkopuolella ja minimoidakseen melun.
• Sähkömoottorit toimivat parhaiten PWM-taajuuksilla 2–20 kHz ja tasapainottavat kytkentähäviöt vääntömomentin tasaisuudella; Pienemmät arvot tarjoavat suuremman käyttöjakson resoluution, kun taas korkeammat arvot vähentävät kuuluvaa kohinaa ja aaltoilua.
• Tavalliset harrastusservot perustuvat kiinteisiin ohjaussignaaleihin noin 50 Hz:n (20 ms:n jakso), jossa pulssin leveys, ei taajuus, määrittää kulma-asennon.
• Äänen tuottaminen ja digitaalisesta analogiseksi muuntaminen edellyttävät PWM:ää selvästi äänispektrin yläpuolella, yli 22 kHz:n taajuudella, häiriöiden estämiseksi ja signaalien puhtaan suodattamisen mahdollistamiseksi.
• Tehoelektroniikassa taajuuden valinta tekee usein kompromisseja hyötysuhteen, kytkentähäviöiden, sähkömagneettisten häiriöiden ja tietyn kuorman dynaamisen vasteen välillä.
PWM-resoluutio ja askelkoko
Resoluutio (vaiheet)
Erillisten käyttöjaksotasojen määrä määräytyy ajastimen jaksomäärän (N) mukaan. Jos laskuri on esimerkiksi 0–1023, se antaa 1024 erillistä käyttöjakson vaihetta. Suuremmat luvut tarkoittavat tarkempaa tuotoksen hallintaa.
Bittisyvyys
Resoluutio ilmaistaan usein bitteinä, jotka lasketaan log₂(N). 1024-vaiheinen laskuri vastaa 10-bittistä resoluutiota, kun taas 65536-laskuri vastaa 16-bittistä resoluutiota. Tämä määrittää, kuinka tarkasti käyttösuhdetta voidaan säätää.
Aika-askel
Järjestelmän kello määrittää pienimmän lisäyksen, joka on yhtä suuri kuin 1 ÷ fClock. Nopeammat kellotaajuudet mahdollistavat lyhyemmät jaksot ja korkeammat PWM-taajuudet säilyttäen silti hienon resoluution.
Kompromissit
Resoluution lisääminen vaatii enemmän ajastinmääriä, mikä puolestaan alentaa tietyn kellon maksimi PWM-taajuutta. Sitä vastoin korkeammat taajuudet vähentävät käytettävissä olevaa resoluutiota.
Esimerkki PWM-esiskaalaajasta ja jaksoasetuksesta
| Vaihe | Laskelma | Tulos | Selitykset |
|---|---|---|---|
| MCU-kello | - | 24 MHz | Perustaajuus ajaa ajastinta. |
| Käytä esiskaalausta ÷8 | 24 MHz ÷ 8 | 3 MHz | Ajastinkello on pienennetty hallittavalle laskenta-alueelle. |
| Ajastimen jakso | 3 MHz × 0,020 s | 60 000 laskua | Automaattisen uudelleenlatauksen/jaksorekisterin asettaminen arvoon 60 000 antaa 20 ms:n kehyksen. |
| Resoluutio per rasti | 1 ÷ 3 MHz | 0,333 μs | Jokainen ajastimen lisäys on \~0.33 mikrosekuntia. |
| Servopulssin ohjaus | 1–2 ms pulssin leveys = 3000–6000 punkkia | Tarjoaa tasaisen kulman hallinnan 20 ms:n kehyksessä. | - |
Edistyneet PWM-kanavatekniikat
Kuolleen ajan lisäys
Kuollut aika on pieni, hallittu viive, joka on lisätty komplementaaristen transistorien kytkennän väliin puolisilta- tai täyssiltapiirissä. Ilman sitä sekä ylä- että alapuolen laitteet voisivat hetkellisesti johtaa samanaikaisesti aiheuttaen oikosulun, joka tunnetaan nimellä shoot-through. Lisäämällä muutaman kymmenen tai sadan nanosekunnin kuolleen ajan laitteisto varmistaa turvalliset siirtymät ja suojaa MOSFET- tai IGBT-laitteita vaurioilta.
Täydentävät tuotokset
Täydentävät lähdöt tuottavat kaksi signaalia, jotka ovat toistensa loogisia vastakohtia. Tämä on erityisen hyödyllistä push-pull-piireissä, moottoriohjaimissa ja invertterivaiheissa, joissa yhden transistorin on sammuttava tarkalleen, kun toinen käynnistyy. Toisiaan täydentävien PWM-parien käyttö yksinkertaistaa ohjainpiirejä ja varmistaa symmetrian, parantaa tehokkuutta ja vähentää vääristymiä.
Synkroniset päivitykset
Järjestelmissä, joissa on useita PWM-kanavia, synkroniset päivitykset mahdollistavat kaikkien lähtöjen päivittämisen samanaikaisesti. Ilman tätä ominaisuutta voi esiintyä pieniä ajoitusristiriitoja (vinoa), mikä johtaa epätasaiseen toimintaan. Kolmivaiheisissa moottorikäytöissä tai monivaihemuuntimissa synkronoitu PWM varmistaa tasapainon, tasaisen suorituskyvyn ja vähentää sähkömagneettisia häiriöitä.
Ristiinlaukaisu
Ristiliipaistuksen avulla ajastimet voivat olla vuorovaikutuksessa keskenään, jotta yksi PWM-tapahtuma voi käynnistää, nollata tai säätää toista ajastinta. Tämä ominaisuus on tehokas edistyneissä ohjausjärjestelmissä, mikä mahdollistaa useiden signaalien tarkan koordinoinnin. Sovelluksia ovat peräkkäiset moottorikäytöt, lomitetut tehomuuntimet ja synkronoitu anturinäytteenotto, joissa kanavien väliset ajoitussuhteet ovat kriittisiä.
Servoliike PWM-signaaleilla
| Pulssin leveys | Servo-liike |
|---|---|
| \~1,0 ms | Kääntyy kokonaan vasemmalle tai pyörii myötäpäivään täydellä nopeudella |
| \~1.5 ms | Pysyy keskellä tai pysähtyy |
| \~2,0 ms | Kääntyy kokonaan oikealle tai pyörii vastapäivään täydellä nopeudella |
Johtopäätös
PWM on tärkein työkalu, jonka avulla digitaaliset järjestelmät voivat ohjata analogisia laitteita tarkasti ja tehokkaasti. Opettelemalla käyttöjaksoja, ajastimen asetuksia, taajuusvalintoja, resoluutiokompromisseja ja edistyneitä menetelmiä, kuten kuollutta aikaa tai gammakorjausta, voit suunnitella luotettavia järjestelmiä. PWM tukee edelleen nykyaikaista elektroniikkaa valaistus-, liike-, ääni- ja tehosovelluksissa.
Usein kysytyt kysymykset [FAQ]
Parantaako PWM energiatehokkuutta?
Kyllä. PWM kytkee laitteet kokonaan päälle tai pois päältä, mikä minimoi lämpöhäviön verrattuna analogiseen jännitteen ohjaukseen.
Aiheuttaako PWM sähkömagneettisia häiriöitä (EMI)?
Kyllä. Nopea kytkentä tuottaa harmonisia yliaaltoja, jotka aiheuttavat EMI:tä. Keskelle kohdistettu PWM vähentää sitä, ja suodattimet auttavat vaimentamaan kohinaa.
Miksi käyttää alipäästösuodatinta PWM:n kanssa?
Alipäästösuodatin tasoittaa neliöaallon keskimääräiseksi tasajännitteeksi, mikä on hyödyllinen äänen, analogisten lähtöjen ja anturien simuloinnissa.
Voiko PWM ohjata lämmityselementtejä?
Kyllä. Lämmittimet reagoivat hitaasti, joten jopa matalat PWM-taajuudet (10–100 Hz) takaavat vakaan lämpötilan säädön.
Mihin vaihesiirrettyä PWM:ää käytetään?
Se siirtää ajoitusta kanavien välillä vähentääkseen virtapiikkejä ja tasapainottaakseen kuormituksia, jotka ovat yleisiä monivaihemuuntimissa ja moottorikäytöissä.
Kuinka mikro-ohjaimet estävät PWM-värinää?
Ne käyttävät kaksoispuskuroituja rekistereitä ja synkronoituja päivityksiä, joten käyttöjakson muutokset tulevat voimaan siististi jokaisen syklin alussa.