PWM stmívač pro MK ATmega8, bateriové napájení a indikace nabití.
Článek je určen osobám s určitou znalostí radioelektroniky, konkrétně:
- co je mikrokontrolér a jak jej flashovat,
- co je regulace PWM,
- co je veden řidič.
Projekt byl koncipován pro instalaci na jízdní kolo. Jak to všechno začalo. S kamarády jsme se často účastnili nočních vyjížděk na kole, takže jsme potřebovali čelovku na kolo. No, nechtěl jsem dát obyčejnou baterku . potřeboval jsem něco funkčnějšího. Například s nastavením jasu „malý / střední / maximální“ a protože bylo plánováno použití lithium-iontové baterie jako zdroje napájení, byl také zapotřebí indikátor úrovně nabití. Viděl jsem na internetu spoustu podobných projektů, ale nějak mi neseděly. Narazil jsem například na projekty PWM stmívačů, ale ty buď neměly indikátor úrovně nabití, nebo indikátor úrovně nabití svítil na 1 . 3 LED, ale takový malý informační obsah se mi nelíbil. No, udělej to, udělej to a já se pustil do montáže svého projektu. Takže jako indikátor nabití vezmu 10 LED, nebo spíše, vezmu LED „sloupec“, jako je tento:
Objednal jsem si tento LED “sloupec” v internetovém obchodě (v našem městě nejsou rádia), takže mi dorazí až za pár týdnů. Místo toho jsem dočasně dal 10 obyčejných LED.
Jako řídící mikrokontrolér jsem použil ATmega8 (nebo ATmega328), jelikož tento MK má ADC, pomocí kterého jsem organizoval měření úrovně nabití baterie. Také tento MK má dostatečný počet pinů (a chceme připojit až 10 LED). Tento mikrokontrolér je běžný v obchodech s rádiem a je relativně levný – v rozmezí 50 . 100 rublů, v závislosti na chamtivosti obchodu a typu pouzdra.
Abychom pochopili, jak zařízení funguje, podívejme se na blokové schéma:
Tento článek popisuje pouze to, co se týká PWM regulátoru (levá strana blokového schématu), a ovladač LED a samotnou LED si vyberete podle svého vkusu, který vám nejlépe vyhovuje. Ovladač ZXSC400 mi vyhovuje, takže jej uvedu jako příklad.
Ovladač PWM musí být připojen k ovladači LED, který má funkci stmívání (DIM, PWM atd.), jako je ZXSC400. Můžete použít jakýkoli jiný vhodný ovladač, pokud podporuje ovládání jasu PWM a je napájen stejnou baterií, která napájí ovladač PWM. Pro ty, kteří nevědí, co je to LED ovladač, vysvětlím: ovladač je potřeba, aby LED svítila stejně jasně, když je baterie nabitá, i když je baterie vybitá. Jinými slovy, ovladač LED udržuje stabilní proud přes LED.
Typické schéma zapojení pro ovladač LED ZXSC400:
Napájení tohoto obvodu musí být připojeno k napájení našeho PWM regulátoru a PWM výstup z regulátoru musí být připojen ke vstupu „STDN“ ovladače ZXSC400. Výstup “STDN” slouží pouze k nastavení jasu pomocí PWM signálu. Podobným způsobem můžete připojit PWM ovladač k mnoha dalším LED ovladačům, ale to je samostatný problém.
Algoritmus provozu zařízení. Po připojení napájení MK zobrazí úroveň nabití baterie po dobu 1 sekundy (na stupnici LED 10 LED), poté stupnice LED zhasne, MK přejde do úsporného režimu a čeká na ovládací příkazy. Udělal jsem veškerou kontrolu na jedno tlačítko, abych na motorce vytáhl méně drátů. Když tlačítko podržíte déle než 1 sekundu, PWM regulátor se zapne, na PWM výstup se přivede signál s pracovním cyklem 30 % (1/3 jasu LED). Když tlačítko znovu podržíte déle než 1 sekundu, PWM regulátor se vypne, na výstup PWM není odeslán žádný signál (0% pracovní cyklus). Krátkým stisknutím tlačítka se jas přepne z 30 % – 60 % – 100 % a na 1 sekundu se zobrazí nabití baterie. Jediným stisknutím tedy změníte jas LED a dlouhým stisknutím LED zapnete/vypnete. Pro otestování výkonu PWM regulátoru jsem na jeho výstup připojil běžnou LED, ale opakuji ještě jednou – pouze za účelem testování výkonu. V budoucnu připojím PWM ovladač k ovladači ZXSC400. Obsluha zařízení je podrobněji a přehledně zobrazena na videu (odkaz na konci článku).
Následující diagram také ukazuje proces nastavení jasu:
Co dělat, pokud tyto hodnoty jasu nejsou spokojeny? Chcete, aby to bylo například takto: 1 %, pak 5 %, pak 100 %. Zvažoval jsem i tuto variantu. Nyní může uživatel nastavit tyto tři hodnoty jasu na cokoliv chce! K tomu jsem napsal malý program, který na základě požadovaných hodnot vygeneruje soubor pro firmware EEPROM. Po flashování tohoto souboru do mikrokontroléru se jas změní podle požadovaných hodnot. Přikládám screenshot okna programu:
Pokud neflashujete soubor EEPROM, zůstanou hodnoty jasu „výchozí“ – 30%, 60%, 100%. Správně sestavené zařízení není nutné konfigurovat. V případě potřeby můžete upravit pouze minimální, průměrný a maximální jas podle svého uvážení. Program a návod k použití jsou na konci článku.
Vyberte baterii, kterou chcete použít. Použil jsem Li-ion baterii kvůli její rozšířenosti a levnosti. Ale v obvodu jsem zajistil propojku J1, pomocí které si můžete vybrat, co použijeme jako napájení.
Pokud je propojka J1 v poloze “1”, je použita jedna Li-ion baterie. Pokud je propojka J1 v poloze “2”, pak jsou použity tři běžné baterie AAA/AA/C/D zapojené do série. Jumper J1 je nezbytný pro správné zobrazení úrovně nabití baterie, protože provozní napětí Li-ion baterie je přibližně v rozsahu 3,3 . 4,2 V a u běžných baterií je provozní napětí přibližně 3,0 . 4,5 V. Připojil jsem tabulky shody napětí baterie s hodnotami indikátoru ve spodní části článku.
Indikační LED diody. LED, které zobrazují úroveň nabití baterie, mohou být jakékoli. Jejich jas můžete upravit v malém rozsahu změnou hodnoty odporu R1 omezujícího proud. Pro zobrazení úrovně nabití se používá dynamická indikace, díky které je dosaženo úspory energie, protože svítí vždy pouze jedna LED. Můžete se také podívat na video o indikaci úrovně nabití baterie (odkaz na konci článku).
Mikrokontrolér může být buď ATmega8 nebo ATmega328. Oba tyto mikrokontroléry jsou kompatibilní umístěním kontaktů, liší se pouze obsahem „firmwaru“. Použil jsem ATmega328, protože jsem měl tento MK na skladě. Pro snížení spotřeby energie je mikrokontrolér napájen interním 1 MHz RC oscilátorem. Program mikrokontroléru byl napsán v prostředí FlowCode 4.3.6.61 (nebo 4.3.9.65).
Obvod využívá čip zdroje referenčního napětí TL431. S jeho pomocí je dosaženo dobré přesnosti měření napětí baterie. Napájení je do TL431 přiváděno z pinu PC1 mikrokontroléru přes rezistor R3. Napájecí napětí k TL431 se vyskytuje pouze během indikace úrovně nabití. Po zhasnutí indikačních LED je odpojeno napájecí napětí, což šetří energii baterie. Čip TL431 najdeme v nepoužitelných počítačových zdrojích, v rozbitých nabíječkách mobilních telefonů, ve spínaných zdrojích z notebooků a různých elektronických zařízení. Použil jsem TL431 v pouzdře SOIC-8 (volba smd), ale TL431 je běžnější v pouzdře TO-92, takže jsem udělal několik možností PCB.
O emulaci v programu „Proteus“. Projekt v Proteus nefunguje správně. Vzhledem k tomu, že se model ATmega8 nebudí a také s brzdami, zobrazuje se dynamická indikace. Pokud po spuštění projektu ihned podržíte tlačítko, aby se PWM regulátor zapnul, pak vše funguje. Ale stojí za to vypnout PWM ovladač opětovným podržením tlačítka, protože MK přejde do režimu spánku a znovu se neprobudí (dokud nebude projekt restartován). Projekt v Proteus nepřikládám. Kdo chce hrát – napište, projekt pošlu Proteusovi.
Řízení LED stmívání (dále jen stmívání) má výhody z hlediska úspory energie, zlepšení atmosféry, účinnosti světelného zdroje, životnosti atd. Účinnost stmívání je dána především LED modulem a driverem. Obecně lze světelné zdroje LED rozdělit do dvou kategorií: pouze LED a LED s rezistorem. Někdy je světelný zdroj LED navržen jako modul, který může mít uvnitř DC-DC měnič. Takto složitý modul však přesahuje rámec tohoto článku. V případě, že LED světelný zdroj nebo modul sestává pouze z LED, je obecný způsob stmívání implementován změnou amplitudy proudu dodávaného do LED. Proto musí být ovladač LED navržen tak, aby tento požadavek splnil. Většina MEAN WELL LED driverů je proudově nastavitelná a řízená externím stmívačem se signálem DC1-10V nebo 10V pulzní šířkovou modulací (PWM) nebo dokonce jednoduchým rezistorem. Další kategorií LED světelných zdrojů jsou LED s rezistorem, kterým se říká LED pásek. LED pásek je široce používán, protože jeho napětí je pevné kvůli přítomnosti odporu v sérii s LED. Uživatel tedy může použít jakýkoli zdroj konstantního napětí / LED driver pro napájení LED pásku příslušným napětím 12 V nebo 24 V. Někdy však může být obtížné provést nastavení jasu. Tento článek ukazuje účinky stmívání LED pásku ovladačem s funkcí řízení proudu (pro MEAN WELL se jedná o ovladače s písmenem indexu “B”). Diskutovány jsou také některé běžné nežádoucí účinky stmívání. Nejlepší a nejjednodušší způsob, jak stmívat LED pásek, je použít stmívatelný PWM LED driver.
Běžné případy nežádoucího chování při stmívání LED
Zdá se, že stmívání světelného zdroje je jednoduchý úkol. Ve skutečnosti existuje několik nuancí, které je třeba vzít v úvahu, pokud je vyžadováno hladké nastavení. V opačném případě mohou nežádoucí problémy uvedené v tabulce 1 snížit kvalitu regulace.
Tabulka 1 Běžné nežádoucí chování při stmívání
Nepravidelnost; Nastavení stmívače bez odpovídající změny úrovně osvětlení (“mrtvý chod”); blikat; Malé změny intenzity světla; zmizení; Světlo náhle zhasne; nesimultánnost; Různé doby zapálení pro stmívatelné LED moduly Bliká; Světelný zdroj se periodicky zapíná, když by měl být vypnutý; Parazitní záře; Světelný zdroj svítí slabě, když by měl být vypnutý; Hystereze; Nastavení stmívače musí být zvýšeno nad stávající nastavení, aby se dosáhlo světelného výkonu při zapnutí; Krokování; Krokové změny úrovně světla během stmívání
Obrázek 1. Nastavení výstupního proudu LED driveru MEAN WELL HLG-100H (Constant Voltage) připojeného k LED pásku za různých podmínek zatížení (délky): (a) plné zatížení (délka) poskytuje plný rozsah nastavení; (b) 70% zatížení (délka) znamená snížený dosah v důsledku nízké vůle; © 30% zatížení (délka) znamená nejhorší výsledek nastavení kvůli velké vůli.
PWM výstup řeší problém “mrtvého chodu” (nesrovnalosti)
Obecně platí, že problém s neregulací odpadá, pokud uživatel používá ovladač LED při plné zátěži. Pokud však zátěž není plná, pak nemá smysl platit za vyšší výkon driver pracující při zátěži pod nominální. Toto logické řešení není vždy proveditelné. LED pásek se totiž poměrně často používá tam, kde nelze přesně předvídat délku. Například dekorativní osvětlení používané v baru nebo restauraci. Proto se jako řešení používá PWM LED driver pro implementaci stmívání namísto změny aktuální amplitudy. Jas se mění v závislosti na pracovním cyklu stmívacího signálu. Důležitými parametry jsou rozlišení stmívání a výstupní frekvence PWM. Minimální úroveň stmívání musí být pod 0,1 %, aby bylo dosaženo 8bitového rozlišení stmívání, které je vhodné pro většinu aplikací. Výstupní frekvence PWM by měla být co nejvyšší, aby se předešlo problému s blikáním, jak ukazuje tabulka 1. Podle literatury se doporučuje udržovat frekvenci alespoň 1,25 kHz, aby se minimalizovaly škodlivé účinky blikání.
Závěr
Nejlepší způsob, jak stmívat LED pásek, je použít PWM výstup, který řeší problém stmívání (v závislosti na rozsahu zátěže). MEAN WELL nabízí řadu PWM ve výkonovém rozsahu 40…200W, s analogovým stmíváním 3v1 a digitální DALI a KNX a krytí IP67 (kromě KNX) je vhodný ovladač pro aplikace s LED páskem, bez ohledu na výkon připojené zátěže .
Poznámka: Navrhování pro zmírnění efektů blikání v LED osvětlení Brad Lehman a Arnold J. Wilkins, 2014