Modulacija širine impulsa (PWM) je kompliciran izraz za vrstu digitalnog signala. PWM-ovi se koriste u raznim primjenama, uključujući složene upravljačke krugove. Uobičajeni način na koji ih koristimo u SparkFunu je za prigušivanje RGB LED diode ili kontrolu smjera servo motora. U obje ove primjene možemo postići niz rezultata jer nam PWM omogućuje promjenu vremena koliko je signal visok na analogni način. Iako signal može biti samo visok (obično 5 V) ili nizak (uzemljenje) u bilo kojem trenutku, možemo mijenjati udio vremena koliko je signal visok u usporedbi s niskim tijekom dosljednog vremenskog intervala.
Kada je signal visok, nazivamo ga "uključenim na vrijeme". Za opis količine "uključenosti" koristimo koncept radnog ciklusa. Radni ciklus se mjeri u postocima. Postotak radnog ciklusa posebno opisuje postotak vremena koliko je digitalni signal uključen unutar intervala ili perioda. Period je inverz frekvencije valnog oblika. Ako je digitalni signal uključen pola vremena, a isključen drugu polovicu, kažemo da digitalni signal ima radni ciklus od 50%, slično idealnom pravokutnom valu. Ako je postotak veći od 50%, digitalni signal provodi više vremena u visokom stanju nego u niskom stanju i obrnuto ako je radni ciklus manji od 50%. Sljedeći dijagram ilustrira ova tri slučaja:

Radni ciklus od 100% je isti kao postavljanje napona na 5 volti (visoki). Radni ciklus od 0% je isti kao spajanje signala na masu.
primjer
Svjetlinu LED diode možete kontrolirati podešavanjem radnog ciklusa.

S RGB (crvenom, zelenom i plavom) LED diodama možete kontrolirati količinu svake od tri pomiješane boje tako što ćete ih zatamniti za različite vrijednosti.

Ako su sva tri uključena u jednakim količinama, rezultat će biti različite nijanse bijele svjetlosti. Ista mješavina plave i zelene stvorit će plavkasto-zelenu boju. Za malo složeniji primjer, pokušajte potpuno uključiti crvenu, potpuno uključiti zelenu na 50% radnog ciklusa i potpuno isključiti plavu kako biste stvorili narančastu boju.

Prilikom upravljanja LED diodama, frekvencija pravokutnog vala mora biti dovoljno visoka da bi se postigao odgovarajući učinak zatamnjenja. Val s radnim ciklusom od 20% na 1 Hz jasno će vašem oku pokazati da se pali i gasi, dok će se radni ciklus od 100% na 20 Hz ili više činiti tamnijim nego kada je potpuno uključen. U osnovi, ako vam je cilj postići učinak zatamnjenja s LED diodama, period ne smije biti prevelik. Također možete koristiti modulaciju širine impulsa za kontrolu kuta servo motora spojenog na mehanički uređaj poput robotske ruke. Servo ima osovinu koja se okreće u određeni položaj na temelju svoje kontrolne linije. Naši servo motori imaju raspon od približno 180 stupnjeva.
Frekvencija/period je specifičan za upravljanje određenim servo motorom. Tipični servo motor očekuje ažuriranje svakih 20 ms, s impulsom između 1 ms i 2 ms - drugim riječima, radni ciklus između 5% i 10% na valnom obliku od 50 Hz. S impulsom od 1,5 ms, servo motor će biti u svom prirodnom položaju od 90 stupnjeva. Pri impulsu od 1 ms, servo motor će biti na 0 stupnjeva, a pri impulsu od 2 ms, servo motor će biti na 180 stupnjeva. Možete dobiti puni raspon kretanja ažuriranjem servo motora na vrijednosti između.
Modulacija širine impulsa koristi se u raznim primjenama, posebno u kontroli. Sada kada znate da se može koristiti za prigušivanje LED dioda i kontrolu kuta servo motora, možete početi istraživati druge moguće primjene. Ako se osjećate izgubljeno, slobodno pogledajte SparkFun Inventor's Kit, koji uključuje primjere korištenja modulacije širine impulsa. Ako ste spremni odmah početi s kodiranjem i imate Arduino, pogledajte primjere PWM kodiranja ovdje.
Vrijeme objave: 31. srpnja 2025.


