Impulsa platuma modulācija (PWM) ir izsmalcināts termins digitālā signāla veidam. PWM tiek izmantoti dažādos pielietojumos, tostarp sarežģītās vadības shēmās. SparkFun bieži tos izmanto RGB gaismas diodes aptumšošanai vai servo virziena kontrolei. Abos šajos pielietojumos mēs varam sasniegt dažādus rezultātus, jo PWM ļauj mums analogā veidā mainīt signāla augstuma laiku. Lai gan signāls jebkurā laikā var būt tikai augsts (parasti 5 V) vai zems (zemējums), mēs varam mainīt signāla augsta un zema līmeņa laika proporciju konsekventā laika intervālā.
Kad signāls ir augsts, mēs to saucam par “ieslēgtu laiku”. Lai aprakstītu “ieslēgtā laika” daudzumu, mēs izmantojam darba cikla jēdzienu. Darba cikls tiek mērīts procentos. Darba cikla procentuālā daļa konkrēti apraksta laika procentuālo daļu, kurā digitālais signāls ir ieslēgts intervālā vai periodā. Periods ir viļņu formas frekvences apgrieztā vērtība. Ja digitālais signāls ir ieslēgts pusi laika un izslēgts otru pusi laika, mēs sakām, ka digitālajam signālam ir 50% darba cikls, līdzīgi kā ideālam taisnstūrveida vilnim. Ja procentuālā daļa ir lielāka par 50%, digitālais signāls pavada vairāk laika augstā stāvoklī nekā zemā stāvoklī, un otrādi, ja darba cikls ir mazāks par 50%. Šī diagramma ilustrē šos trīs gadījumus:

100 % darba cikls ir tas pats, kas iestatīt spriegumu uz 5 voltiem (augsts). 0 % darba cikls ir tas pats, kas signāla pievienošana zemei.
piemērs
Jūs varat kontrolēt gaismas diodes spilgtumu, pielāgojot darba ciklu.

Ar RGB (sarkanās, zaļās un zilās) gaismas diodēm var kontrolēt katras no trim krāsu sajaukšanas daudzumu, tās aptumšojot dažādos daudzumos.

Ja visas trīs krāsas tiek ieslēgtas vienādā daudzumā, rezultāts būs dažādi baltas gaismas toņi. Tāds pats zilās un zaļās krāsas sajaukums radīs zilgani zaļu krāsu. Nedaudz sarežģītākam piemēram mēģiniet pilnībā ieslēgt sarkano krāsu, pilnībā ieslēgt zaļo krāsu ar 50% darba ciklu un pilnībā izslēgt zilo krāsu, lai iegūtu oranžu krāsu.

Vadot LED diodes, taisnstūra viļņa frekvencei ir jābūt pietiekami augstai, lai panāktu pareizu aptumšošanas efektu. 20% darba cikla vilnis pie 1 Hz skaidri parādīs tā ieslēgšanos un izslēgšanos jūsu acī, savukārt 100% darba cikla vilnis pie 20 Hz vai augstāka izskatīsies aptumšotāks nekā pilnībā ieslēgts. Būtībā, ja jūsu mērķis ir panākt aptumšošanas efektu ar LED diodēm, periods nedrīkst būt pārāk liels. Varat arī izmantot impulsa platuma modulāciju, lai kontrolētu servomotora leņķi, kas savienots ar mehānisku ierīci, piemēram, robotizētu roku. Servomotoram ir vārpsta, kas pagriežas noteiktā pozīcijā, pamatojoties uz tā vadības līniju. Mūsu servomotoru diapazons ir aptuveni 180 grādi.
Frekvence/periods ir specifisks konkrēta servo vadīšanai. Tipisks servo motors sagaida atjauninājumu ik pēc 20 ms, impulsam esot no 1 ms līdz 2 ms — citiem vārdiem sakot, darba cikls ir no 5% līdz 10% uz 50 Hz viļņu formas. Ar 1,5 ms impulsu servo motors atradīsies dabiskajā 90 grādu pozīcijā. Ar 1 ms impulsu servo motors atradīsies 0 grādos, un ar 2 ms impulsu servo motors atradīsies 180 grādos. Pilnu kustības diapazonu var iegūt, atjauninot servo motoru uz vērtībām pa vidu.
Impulsa platuma modulācija tiek izmantota dažādos pielietojumos, īpaši vadībā. Tagad, kad zināt, ka to var izmantot gaismas diožu aptumšošanai un servomotoru leņķa kontrolei, varat sākt izpētīt citus iespējamos pielietojumus. Ja jūtaties apmaldījies, droši apskatiet SparkFun izgudrotāja komplektu, kurā iekļauti impulsa platuma modulācijas piemēri. Ja esat gatavs sākt kodēšanu jau tagad un jums ir Arduino, apskatiet PWM kodēšanas piemērus šeit.
Publicēšanas laiks: 2025. gada 31. jūlijs


