Jak mohu ovládat otáčky motoru? Jak se stmívají a rozjasňují LED diody? V tomto článku odpovíme právě na tyto otázky. Tyto znalosti se vám budou hodit v mnoha projektech.
Co je to PWM a plnění?
PWM je zkratka z anglického Pulse-Width Modulation, což v překladu znamená “pulzně šířková modulace”. Jedná se o metodu řízení proudového nebo napěťového signálu změnou jeho náplně. Amplituda a frekvence signálu zůstávají konstantní, ale mění se tzv. náplň.
Představte si jednoduchý obvod, ve kterém je instalována LED dioda, která se softwarově střídavě zapíná a vypíná. Od okamžiku zapnutí LED diody přes její vypnutí až po její opětovné zapnutí je časový úsek roven 1 milisekundě. Za “zapnuto” lze považovat okamžik, kdy je na diodu přiveden logický signál “1”, tj. na její výstup je přivedeno napětí správné hodnoty. Vypnutí je naopak okamžik, kdy dioda obdrží logickou “0”, tj. je bez napětí. Dioda se rozsvítí na půl milisekundy a na druhou půlku milisekundy se vypne a tento proces se opakuje stále dokola. Takto vypadá každá milisekunda. Z pohledu lidského oka blikání ani nevidíme – změna je příliš rychlá na to, abychom si jí všimli, což vyvolává iluzorní dojem, že dioda prostě svítí méně jasně, než kdyby byla trvale zapnutá.
Změnou fill factoru vlastně měníte dobu trvání vysokého stavu ( světla diody) během určité doby (v tomto případě 1 milisekundy). Pokud například zvýšíte fill factor, může dioda svítit po dobu 0,8 milisekundy a nesvítit po dobu 0,2 milisekundy. Výsledkem je, že pro lidské oko bude dioda jednoduše svítit jasněji než při fill, který jí umožňuje svítit pouze po 50 % periody. Procento periody, ve které je logický stav vysoký, se nazývá faktor výplně. To znamená, že zjednodušeně řečeno, princip PWM signálu je způsob modulace obdélníkového signálu nastavením šířky impulsu (tj. nastavením činitele plnění v daném časovém intervalu).
PWM v Arduino a Raspberry Pi
PWM je běžně používaný signál v mikroprocesorové technice. Lze jej snadno implementovat programově, ale desky jako Arduino nebo Raspberry Pi mají pro tento účel připravené porty. V tomto případě je signál PWM generován hardwarově, což může výrazně snížit zátěž na provoz programu a odstraňuje nutnost, aby programátor takový kód psal sám, pomocí mikroprocesorových přerušení. Například v Arduino UNO jsou kanály, které jsou schopny generovat PWM signál hardwarově – nejčastěji je u tohoto typu zařízení plná perioda 1/490 sekundy a náplň může být v rozsahu 0 až 255 (8 bitů).
K čemu lze PWM použít?
Nejzřejmějším použitím PWM signálu je samozřejmě řízení jasu LED diody, ale běžně se používá pro mnohem širší škálu aplikací. Dobrým příkladem je řízení chodu stejnosměrného motoru. Změnou hodnoty plnění můžete snadno omezit nebo zvýšit otáčky hřídele motoru.
Díky takovému ovládání můžete například citlivě řídit rychlost jízdy mobilního robota. Fungování takového obvodu můžete snadno otestovat. Potřebujete k tomu pouze kontaktní desku, motor, několik propojovacích vodičů, H-můstek a například Arduino a potenciometr. Jakmile jsou komponenty správně zapojeny, můžete potenciometr ovládat změnou náplně PWM signálu přiváděného do stejnosměrného motoru.
Podobného efektu lze dosáhnout i připojením bzučáku namísto motoru. Změnou náplně budete moci ovládat hlasitost vydávaného zvuku. Dalším praktickým využitím tohoto signálu může být například servo. Změnou náplně můžete přesně nastavit jeho polohu. Čím vyšší je rozlišení signálu PWM, tím přesněji budete schopni určit nastavenou polohu.
Jedná se o vynikající řešení, které se osvědčí například u robotů vyžadujících vysokou přesnost pohybu. Pokud se pokusíte dosáhnout stejného efektu pomocí sady běžného stejnosměrného motoru a enkodéru, získáte bohužel mnohem méně přesný výsledek.
Pro signál PWM existuje prakticky nekonečné množství dalších praktických aplikací. Stojí za to si tento jev vyzkoušet a přesvědčit se, jak funguje, abyste jej mohli efektivně využívat ve svých budoucích projektech.
Jak hodnotíte tento článek na blogu?
Klikněte na hvězdičku a ohodnoťte!
Průměrné hodnocení 4.5 / 5. Počet hlasů 35
Zatím nejsou žádné hlasy! Buďte první, kdo ohodnotí tento článek.