Dragă microprogressor, vă vom vorbi într-un limbaj extrem de simplu:
imagineze un impuls electric, cu o amplitudine a tensiunii de 0V la 5V, o lungime de 1 ms și o perioadă de repetiție de 10ms (adică în 1 ms tensiunea de pe linia de-a lungul căreia pulsul este de 5V, apoi pentru 9ms este 0V, și așa repetată la fiecare 10 ms). Și acum, să ne imaginăm că am mărit durata pulsului A la 2ms (să fie acum impulsul B) și repetă exact la fel la fiecare 10ms. Sarcina de a schimba lățimea pulsului A de la 1 ms la pulsul B 2 ms este problema PWM.
În general, cuvântul "Modulare" înseamnă schimbarea parametrilor oscilației (frecvență, amplitudine, fază). Modularea lățimii impulsului este modificarea ciclului de funcționare a impulsurilor la o frecvență constantă. Fântâna este aceeași cu lungimea, adică În exemplul nostru, aceasta este o modificare a lungimii impulsului de la 1 ms la 2 ms.
Funcționarea regulatorului PWM este prezentată în mod clar în acest grafic.
Pe diagramă vedem trei semnale. Semnalele sunt modulate de PWM, care generează și reglează ciclul de funcționare a impulsurilor.
Graficul din partea de sus este de 15%. Adică, pentru o perioadă egală cu 100%, 15% din timp este dată unei unități logice (nivelul de tensiune TTL + 3V sau + 5V). 75% din timp este dat un zero logic (absența tensiunii în linie - 0V).
În graficul mediu, ciclul de funcționare este de 50% - 50% din timp este dat un logic, 50% este dat logic 0.
Graficul de mai jos prezintă o rată a datoriei de 90%. 90% -1. 10% - 0.
Dacă conectați LED-ul la regulatorul nostru PWM. atunci în cazul primului grafic LED-ul va străluci ușor. Cu graficul 2, strălucirea LED-ului va fi mai strălucitoare decât cu 1, dar LED-ul însuși va lumina 50% din puterea sa. În cazul graficului 3, luminozitatea LED-urilor va fi ajustată la 90%, aproape de maxim.
După cum puteți vedea, cu PWM este foarte convenabil să reglați luminozitatea luminii LED-ului, precum și motorul pas cu pas.
Încă o dată amintit impulsurile noastre A și B. Ei conduc prin fir un curent electric pentru consumator și reprezintă un curent electric cu o tensiune definită (V) și puterea detectată (amperi), care depinde de consumator. Consumatorii consumă în general curent fix (de exemplu 300mA). Asta este, dacă pulsul A sau B a durat toate 10ms și nu a întrerupt, atunci consumul curent pentru consumator a fost de 300mA. Dacă întrerupem curentul cu o durată de impuls, atunci consumul curent cu pulsul curent A va fi de 300mA * (1/10) = 30mA. la un impuls de B 300 mA * (2/10) = 60 mA.
Generatoarele PWM sunt utilizate în sarcinile de control al iluminării LED-urilor. Toată limita este simplă: cu cât mai mult curent este alimentat cu LED-ul, cu atât lumina mai strălucitoare. La fel cu LED-uri RGB - pentru a furniza roșu (R) Un impuls (30mA) pentru albastru puls B (60mA) pentru verde 0 - obține lumina violet plictisitoare, care se obține de la roșu mai puțin luminos și mai luminos albastru.
PWM este utilizat în probleme de control al motoarelor rotative - cu cât mai mult curent este alimentat la contactele motorului, cu atât se rotește mai repede. Și dacă motorul are trei, și în plus avem o mulțime de idei și un întreg program pentru transmiterea secvențială a impulsurilor ca A și B la înfășurările lor? Aici puteți pune împreună o imprimantă 3D 3D!
Pentru realizarea mikroprogerskogo în esență, fraza „controler PWM“, este suficient pentru a înțelege utilitatea frecvenței de referință și mijloace pentru eliberarea unui picior al secvenței cip de unu și zerouri logice.
Să presupunem că avem un microcontroler sau un FPGA și același motor rotativ care, la un curent constant de 5V, consumă 300 mA și în același timp consumă o axă de 10 ori pe secundă. Acum am fost întrebat - fă-mă să apăs butonul și motorul a făcut 5 rotații cu o frecvență de 1 rotație pe secundă, apoi a făcut alte 2 rotații în 1 secundă și a fost oprit.
Corect, scriem programul pentru iubitul nostru pribluda - plesiny sau mikrik. În program va fi o intrare, dacă există 1 pe care este pornit ciclul - ieșire 1 în 1ms, apoi 0 pentru 9ms și 5 ori la rând. Apoi emite 1 2ms de două ori la rând. end. Începeți compilația.
Chiar înainte de a conecta sarcina (motorul) la microcontroler sau FPGA, nu uităm să citim acest scurt articol foarte util. ne permite să ne ardem noul controller PWM.