Ta LED DIMMER je vezje PWM (Pulse Width Modulation) na osnovi Arduino Uno, razvito za spreminjanje napetosti nad konstantno napetostjo. Metoda PWM je razložena spodaj. Preden začnemo graditi 1-vatno LED zatemnilno vezje, najprej razmislite o preprostem vezju, kot je prikazano na spodnji sliki.
Če je stikalo na sliki v določenem časovnem obdobju neprekinjeno zaprto, bo žarnica v tem času neprekinjeno vklopljena. Če je stikalo zaprto za 8 ms in odprto za 2 ms v ciklu 10 ms, bo žarnica vklopljena šele v času 8 ms. Zdaj je povprečni terminal čez 10 ms = čas vklopa / (čas vklopa + čas izklopa), to se imenuje delovni cikel in je 80% (8 / (8 + 2)), tako da je povprečje izhodna napetost bo 80% napetosti akumulatorja.
V drugem primeru je stikalo zaprto za 5 ms in odprto za 5 ms v obdobju 10 ms, tako da bo povprečna napetost na izhodu 50% napetosti akumulatorja. Recimo, če je napetost akumulatorja 5V in je delovni cikel 50%, tako da bo povprečna napetost terminala 2,5V.
V tretjem primeru je delovni cikel 20%, povprečna napetost sponke pa 20% napetosti akumulatorja.
Kako se ta tehnika uporablja v tem LED zatemnilniku? Pojasnjeno je v naslednjem poglavju te vadnice.
Kot je prikazano na sliki, ima Arduino UNO 6PWM kanalov, tako da lahko dobimo PWM (spremenljivo napetost) na katerem koli od teh šestih zatičev. V tem poglavju bomo uporabili PIN3 kot izhod PWM.
Zahtevane komponente
Strojna oprema: ARDUINO UNO, napajalnik (5v), kondenzator 100uF, LED, gumbi (dva kosa), upor 10KΩ (dva kosa).
Programska oprema: arduino IDE
Shema vezja in razlaga
Vezje je povezano na ploščo v skladu s shemo vezja. Vendar je treba biti pozoren med priklopom LED sponk. Čeprav gumbi v tem primeru kažejo odskočni učinek, to ne povzroča večjih napak, zato nam tokrat ni treba skrbeti.
PWM iz UNO je precej enostaven. Čeprav nastavitev krmilnika ATMEGA za PWM signal ni enostavna, moramo za natančen signal določiti veliko registrov in nastavitev, vendar se v ARDUINO ne moramo ukvarjati z vsemi temi stvarmi.
ARDUINO IDE privzeto določi vse datoteke z glavo in registre, preprosto jih moramo poklicati in to je to, da bomo imeli PWM izhod na ustreznem zatiču.
Da bi dobili izhod PWM na ustreznem zatiču, moramo delati na dveh stvareh,
|
Najprej moramo izbrati izhodni zatič PWM med šestimi zatiči, nato pa moramo ta izhod nastaviti kot izhodni.
Nato moramo omogočiti funkcijo PWM UNO s klicanjem funkcije “analogWrite (pin, value)”. Tu 'pin' predstavlja številko pin-a, kjer potrebujemo izhod PWM, postavljamo ga kot '3'. Torej pri PIN3 dobimo izhod PWM. Vrednost je obratovalni cikel vklopa, med 0 (vedno izklopljen) in 255 (vedno vklopljen). To število bomo s pritiskom gumba povečevali in zmanjševali.
Uporaba PWM zatičev v Arduino Uno je razložena v spodnji kodi C.