Pulssinleveysmodulaatio (PWM) on hienostunut termi digitaaliselle signaalityypille. PWM-moottoreita käytetään useissa eri sovelluksissa, mukaan lukien monimutkaiset ohjauspiirit. Yleinen tapa, jolla käytämme niitä SparkFunilla, on himmentää RGB-LEDiä tai ohjata servon suuntaa. Voimme saavuttaa erilaisia tuloksia molemmissa näissä sovelluksissa, koska PWM antaa meille mahdollisuuden vaihdella signaalin korkean tason aikaa analogisella tavalla. Vaikka signaali voi olla vain korkea (yleensä 5 V) tai matala (maadoitus) kerrallaan, voimme vaihdella signaalin korkean ja matalan tason osuutta tasaisen aikavälin yli.
Kun signaali on korkea, kutsumme sitä "päälläoloajaksi". "Päälläoloajan" määrää kuvaamaan käytämme käyttösuhteen käsitettä. Käyttösuhde mitataan prosentteina. Käyttösuhteen prosenttiosuus kuvaa erityisesti sitä, kuinka monta prosenttia ajasta digitaalinen signaali on päällä tietyn aikavälin tai jakson aikana. Jakso on aaltomuodon taajuuden käänteisluku. Jos digitaalinen signaali on päällä puolet ajasta ja pois päältä toisen puolen ajasta, sanomme, että digitaalisen signaalin käyttösuhde on 50 %, mikä on samanlainen kuin ihanteellinen kanttiaalto. Jos prosenttiosuus on yli 50 %, digitaalinen signaali viettää enemmän aikaa korkeassa tilassa kuin matalassa tilassa, ja päinvastoin, jos käyttösuhde on alle 50 %. Seuraava kaavio havainnollistaa näitä kolmea tapausta:

100 %:n käyttösuhde on sama kuin jännitteen asettaminen 5 volttiin (korkea). 0 %:n käyttösuhde on sama kuin signaalin kytkeminen maahan.
esimerkki
Voit säätää LEDin kirkkautta muuttamalla käyttösuhdetta.

RGB-LEDien (punainen, vihreä ja sininen) avulla voit säätää kunkin kolmen värin sekoittumisen määrää himmentämällä niitä eri määrin.

Jos kaikki kolme kytketään päälle yhtä paljon, tuloksena on vaihtelevia valkoisen valon sävyjä. Sama sinisen ja vihreän sekoitus luo sinivihreän värin. Hieman monimutkaisempana esimerkkinä kokeile kytkeä punainen kokonaan päälle, vihreä kokonaan päälle 50 %:n käyttöasteella ja sininen kokonaan pois päältä luodaksesi oranssin värin.

LEDejä ohjattaessa neliöaallon taajuuden on oltava riittävän korkea oikean himmennysvaikutuksen saavuttamiseksi. 20 %:n käyttösuhteen aalto 1 Hz:n taajuudella näyttää selvästi sen syttymisen ja sammumisen, kun taas 100 %:n käyttösuhteen aalto 20 Hz:n tai sitä korkeammalla taajuudella näyttää himmeämmältä kuin täysin päällä. Pohjimmiltaan, jos tavoitteena on himmennysvaikutus LEDeillä, jakso ei voi olla liian pitkä. Voit myös käyttää pulssinleveysmodulaatiota ohjataksesi mekaaniseen laitteeseen, kuten robottikäsivarteen, kytketyn servomoottorin kulmaa. Servomoottorissa on akseli, joka kääntyy tiettyyn asentoon ohjauslinjansa perusteella. Servomoottoreidemme alue on noin 180 astetta.
Taajuus/jakso on spesifinen tietyn servon ohjaukselle. Tyypillinen servomoottori odottaa päivitystä 20 ms:n välein pulssin ollessa 1 ms ja 2 ms välillä – toisin sanoen käyttösuhde on 5 % ja 10 % välillä 50 Hz:n aaltomuodolla. 1,5 ms:n pulssilla servomoottori on luonnollisessa 90 asteen asennossaan. 1 ms:n pulssilla servo on 0 asteessa ja 2 ms:n pulssilla servo on 180 asteessa. Voit saada täyden liikealueen päivittämällä servon arvoihin, jotka ovat näiden kahden välillä.
Pulssinleveysmodulaatiota käytetään monissa sovelluksissa, erityisesti ohjauksessa. Nyt kun tiedät, että sitä voidaan käyttää LEDien himmentämiseen ja servomoottoreiden kulman ohjaamiseen, voit alkaa tutkia muita mahdollisia käyttötarkoituksia. Jos tunnet olosi eksyneeksi, tutustu SparkFun Inventor's Kitiin, joka sisältää esimerkkejä pulssinleveysmodulaation käytöstä. Jos olet valmis aloittamaan koodaamisen heti ja sinulla on Arduino, tutustu PWM-koodausesimerkkeihin täällä.
Julkaisuaika: 31.7.2025


