Modulația lățimii impulsurilor (PWM) este un termen complex pentru un tip de semnal digital. PWM-urile sunt utilizate într-o varietate de aplicații, inclusiv circuite de control complexe. O modalitate obișnuită în care le folosim la SparkFun este de a regla intensitatea unui LED RGB sau de a controla direcția unui servo. Putem obține o gamă largă de rezultate în ambele aplicații, deoarece PWM ne permite să variem durata de timp în care un semnal este ridicat într-un mod analogic. Deși un semnal poate fi doar ridicat (de obicei 5V) sau scăzut (masă) la un moment dat, putem varia proporția de timp în care semnalul este ridicat în comparație cu cel scăzut pe un interval de timp consistent.
Când un semnal este la un nivel ridicat, îl numim „timp de activare”. Pentru a descrie durata „timpului de activare”, folosim conceptul de ciclu de funcționare (duty cycle). Ciclul de funcționare se măsoară în procente. Procentul ciclului de funcționare descrie în mod specific procentul de timp în care un semnal digital este activ într-un interval sau o perioadă. Perioada este inversul frecvenței formei de undă. Dacă un semnal digital este activ jumătate din timp și dezactivat cealaltă jumătate, spunem că semnalul digital are un ciclu de funcționare de 50%, similar cu o undă pătrată ideală. Dacă procentul este mai mare de 50%, semnalul digital petrece mai mult timp în starea înaltă decât în starea joasă și invers dacă ciclul de funcționare este mai mic de 50%. Următoarea diagramă ilustrează aceste trei cazuri:

Un ciclu de funcționare de 100% este același cu setarea tensiunii la 5 volți (ridicat). Un ciclu de funcționare de 0% este același cu conectarea semnalului la masă.
exemplu
Puteți controla luminozitatea LED-ului prin ajustarea ciclului de funcționare.

Cu LED-urile RGB (roșu, verde și albastru), puteți controla cantitatea fiecăreia dintre cele trei culori amestecate prin diminuarea luminozității lor cu grade diferite.

Dacă toate trei sunt activate în cantități egale, rezultatul va fi diferite nuanțe de lumină albă. Aceeași amestecare de albastru și verde va crea o culoare albăstrui-verzuie. Pentru un exemplu puțin mai complex, încercați să activați complet roșul, activați complet verdele la un ciclu de funcționare de 50% și dezactivați complet albastrul pentru a crea o culoare portocalie.

Când se controlează LED-uri, frecvența undei pătrate trebuie să fie suficient de mare pentru a obține un efect de diminuare adecvat. O undă cu un ciclu de funcționare de 20% la 1 Hz va arăta clar ochiului că se aprinde și se stinge, în timp ce un ciclu de funcționare de 100% la 20 Hz sau mai mare va apărea mai slab decât atunci când este complet aprinsă. În esență, dacă obiectivul dvs. este să obțineți un efect de diminuare cu LED-uri, perioada nu poate fi prea mare. De asemenea, puteți utiliza modulația lățimii impulsurilor pentru a controla unghiul unui servomotor conectat la un dispozitiv mecanic, cum ar fi un braț robotic. Un servomotor are un arbore care se rotește într-o poziție specifică pe baza liniei sale de control. Servomotoarele noastre au o gamă de aproximativ 180 de grade.
Frecvența/perioada este specifică controlului unui anumit servomotor. Un servomotor tipic așteaptă o actualizare la fiecare 20 ms, cu un impuls între 1 ms și 2 ms - cu alte cuvinte, un ciclu de funcționare între 5% și 10% pe o formă de undă de 50 Hz. Cu un impuls de 1,5 ms, servomotorul va fi în poziția sa naturală de 90 de grade. La un impuls de 1 ms, servomotorul va fi la 0 grade, iar la un impuls de 2 ms, servomotorul va fi la 180 de grade. Puteți obține întreaga gamă de mișcare actualizând servomotorul la valori între acestea.
Modulația lățimii impulsurilor este utilizată într-o varietate de aplicații, în special în control. Acum, că știți că poate fi utilizată pentru a regla intensitatea luminii LED-urilor și a controla unghiul servomotoarelor, puteți începe să explorați alte utilizări posibile. Dacă vă simțiți pierduți, nu ezitați să consultați Kitul Inventatorului SparkFun, care include exemple care utilizează modulația lățimii impulsurilor. Dacă sunteți gata să începeți imediat să programați și aveți un Arduino, consultați exemplele de codare PWM de aici.
Data publicării: 31 iulie 2025


