Svícení výkonovými LED

Nějakým omylem se stále traduje, že „před LEDku“ se zapojuje odpor 330 ohmů a nic se nepočítá. To platilo snad v dobách mého mládí, kdy jediné napájecí napětí pro číslicové obvody bylo 5 V a jediné (ne)sehnatelné LEDky byly červené, které mají úbytek napětí v propustném směru okolo 2 V. Za těchto okolností byl proud LEDkou kolem 10 mA, což byla polovina tehdy obvyklého maxima 20 mA, na které byla většina LEDek stavěna.

Dnes, pokud potřebujeme blikat (svítit) LEDkou a nestačí nám LEDka na „pinu 13“ Arduina je třeba předřadný odpor spočítat, protože se pohybujeme v širokém pásmu jak napájecích napětí, tak úbytků napětí na LED různých barev.

ERGO vzorec:

R = (U – Uled) / I

Kde R je předřadný odpor , U je napájecí napětí (nejčastěji 5 nebo 3,3 V), I je požadovaný proud LEDkou (pro malé LED je to stále přibližně 10 mA).

Uled je úbytek napětí na LEDce. Čím LED svítí na kratších vlnových délkách (bílá, modrá, ultrafialová) tím mají fotony z ní vycházející vyšší energii tím musí elektrony na PN přechodu LED překonat větší energetický spád, tím je úbytek napětí na LED větší. Detaily ZDE, včetně tabulky, kterou částečně přepisuju.

Barva LED Uled (V)
Infračervená 1,0 – 1,9
Červená / Rudá 1,6 – 2,1
Oranžová 2,0 – 2,2
Žlutá 2,1 – 2.3
Zelená 1,9 – 4,0
Modrá 2,5 – 3,6
Fialová 2,8 – 4,0
Ultrafialová 3,1 – 4,4
Bílá (= modrá svítící do luminoforu) 3,0 – 3,6

Nepatrná poznámka k některým (např. zeleným) diodám. Povšimněte si že mají úbytek v propustném směru 2 až 4 V tedy „od Šumavy k Tatrám„. To je protože podle konkrétního odstínu světla se používají dramaticky rozdílné polovodiče. Některé chemickou strukturou (a Uled) podobnější žlutým a červeným diodám a některé zase podobnější modrým.

Výkonovou ztrátu (a tedy ohřívání) předřadného odporu spočteme dle vzorce

P = I2 * R

A z tohoto vzorce celkem jednoznačně vyplývá, že moderní (bílé, tedy modré) LED s výkonem od 1 W výše nelze jenom tak zapojit s předřadným odporem. Pro 1 W bílou LED a napájecí napětí 5 V totiž vychází předřadný odpor 4,7 ohmu, na kterém je výkonová ztráta 0,6 W což je na hranici i těch nejkvalitnějších „obyčejných“ odporů zapichovaných do kontaktního pole, které mívají povolenou výkonovou ztrátu buď 0,25 nebo 0,6 W.

Pokud tedy chceme svítit 1 W a silnější LED musíme koupit výkonový předřadný odpor a nechat jej „topit„. Jelikož proud 350 mA stejně nevydrží žádný PIN žádného mikrokontroléru stejně budeme potřebovat výkonový „spínací“ tranzistor. Takže pro výkonové LED už není tak velký rozdíl jestli necháme odpor topit, nebo jestli místo odporu zapojíme tlumivku, diodu, a kondenzátor a postavíme jednoduchoučký spínaný měnič, v anglické literatuře označovaný jako:

Floating BUCK

Pojmem BUCK rozumí se spínaný měnič, který dělá z většího napětí menší.

Konvenční BUCK měnič vypadá přibližně jako ten na následujícím obrázku:

Výhoda totoho typu měniče je, že zátěž je spojena se (společnou) zemí, jinak si „zdroj napětí“ ani neumíme představit. Problém tohoto typu měničů je že „země“ musí být nepřerušovaný vodič a spínání se proto musí odehrávat „na straně kladného napětí„, na schématu označeno jako „control circuit“ – to je v našem případě procesor, který je napájen 5 nebo dokonce jen 3,3 V a měl by se vyrovnat se spínáním tranzistoru který je připojen na napětí vyšší než je výstupní napětí měniče – tedy více než je napájení procesoru. Tato úloha není neřešitelná, ale znamená to součástky navíc, které nám při svícení LEDkou k ničemu nejsou.

Navíc kouzlo „plovoucího“ spínaného měniče pro LED je v tom, že je výhodné LED napojit na napětí odvozené od napětí baterie (12 V nebo 7,4 V u dvojité LiION baterie) a nezatěžovat proudem LEDky (350 mA) stabilizátor pro procesor.

Floating BUCK – Floating = „plovoucí“ vidíte na schématu. Nevýhoda je že „společná zem“ je přerušena tlumivkou a tranzistorem Q1, proto ani jedna elektroda LED není spojena se zemí. Výhoda je v tom, že pokud váš procesor má dostatek napětí k otevírání tranzistoru Q1 „proti zemi“ (stačí i 3,3 V) a pokud Q1 i D1 vydrží napětí baterie (zde vybrány součástky až na 40 V) nemusí vás napětí baterie příliš zajímat, kromě výpočtů hodnot součástek.

Zbývá drobnost a to naučit se takový měnič „spočítat„. Princip je v tom, že procesor signálem zde označeným jako PWM spíná tranzistor. Je-li tranzistor otevřený jde proud přes LED, tlumivku L1 a Q1 do země. Pokud se tranzistor zavře, magnetická energie v tlumivce tlačí proud přes diodu D1 a LED.

Nejprve je tedy vhodné určit na jaké frekvenci bude PWM pracovat. Kvůli blikání LED, které musí být okem neviditelné a kvůli případnému „pískání“ tlumivky je výhodné volit frekvenci PWM nad akustickým pásmem. Zde jsem pokusně zvolil 8 bitové PWM u 16 MHz procesoru tedy 16 MHz / 256 = 62500 Hz.

Druhý parametr, který musíme spočítat je „maximální plnění PWM“ tedy jak dlouho bude Q1 otevřen. Což je více než jednoduché

D = Uled / U

V našem případě je to D = 3,3 V / 5 V = 66%

Náš signál PWM budeme tedy moci pouštět maximálně 66% doby což například u 8 bitového PWM napojeného na „Timer2“ procesoru Atmel AVR znamená, že maximální hodnotu, kterou můžeme zadat do registru „Output Compare 2“ = OCR2, který řídí plnění PWM je 0,66* 256 = 168.

Pak je potřeba spočíst velikost tlumivky L1 dle vzorce.

L = U*(1-D)*D / (F * I * 1,73)

L je indukčnost tlumivky. U je palubní napětí (v našem případě 5 V) , D je plnění PWM (u nás 66%) F je frekvence PWM (U nás 62,5 kHz) podivné číslo 1,73 je odmocnina ze 3 což je přepočet požadovaného proudu z „trojúhelníkového“ průběhu proudu tlumivkou na virtuální „stejnosměrný“ proud. Proud LED bude totiž pulsní, a proto jeho špičková hodnota bude 1,73* vyšší než ideální stejnosměrná hodnota. Není se čeho bát většina 1 W LED je v pulsním režimu stavěná až na proudy 700 mA.

Tedy počítáme :

L = (5 * 0,66 * 0,33) / (62500 * 0,35 * 1,73) = 28,7 uH

Použijeme nejbližší větší hodnotu tedy 33 uH. Pochopitelně, že tlumivka musí být stavěná na proud 350 mA, nebo více, stejně jako tranzistor Q1 a dioda D1.

Pak už je to jednoduché, nastavíme si PWM na frekvenci 62,5 kHz a plnění PWM na 66% a pustíme tento signál přes odpor R1 do Tranzistoru Q1. Daní za jednoduchost tohoto obvodu je, že nemá měření skutečného proudu, ale to se při pečlivém počítání a použití správné hodnoty tlumivky od skutečnosti moc neliší. Obecně lze říci, že chceme-li proud LEDkou o něco menší volíme tlumivku o něco větší a naopak.

Zbývá jenom otázka jakou hodnotu by měl mít odpor R1 a kondenzátor C1.

Odpor R1 musí zajistit otevření tranzistoru „do saturace„, ale vzhledem k vyšší frekvenci PWM je vhodné to se saturací Q1 nepřehánět. Určující je proudový zesilovací činitel tranzistoru a napětí PWM. Pokud použijeme BC337-40 který má proudový zesilovací činitel 400 je nutný proud do báze 350 mA / 400 = 0,87 mA a tak při 5 V stačí odpor 3,3 kiloOhm. Pokud bychom měli tranzistor BC337-16 s proudovým zesilovacím činitelem 160 potřebovali bychom 350 mA / 160 = 2,2 mA. V takovém případě by bylo výhodnější změnit R1 na 1,8Kohm nebo ještě méně.

Samostatnou kapitolou je použití MOSFET tranzistorů v místě Q1, ale to bychom nechali až do „tanečních pro pokročilé„.

Zbývá otázka hodnoty kondenzátoru C1. Kondenzátor C1 snižuje kolísání napětí v místě označeném šipečkou D2-Cathode a tím snižuje elektromagnetické rušení, které obvod produkuje. Na toto místo bychom měli dát minimálně jeden kondenzátor typu NP0 největší kapacity jakou seženem (tedy 1 nF). Skutečná kapacita kondenzátoru závisí na „zvlnění“ které chceme v tomto bodě mít. Pokud bychom se spokojili se zvlněním 0,5 V tedy 10% napájecího napětí prostě jen dosadíme do rovnice.

C = U * D * (1-D) / (8*F2 * L * Vz)

Kde C je kapacita kondenzátoru U je napájecí napětí, D plnění PWM, F frekvence PWM, L je indukčnosti cívky Vz je „zvlnění napětí„. V našem případě vychází 2,2 uF. Pro dokonalé odrušení je třeba tuto kapacitu poskládat z více kondenzátorů ve stylu „svaté trojice“ (tj. NP0 + keramika + elektrolyt / tantal) zapojených paralelně . A pak je též třeba počítat, že kondenzátor této velikost způsobí v obvodu jisté ztráty proudu, který by jinak prošel LEDkou (20-30 mA).

To je tedy téměř vše. Pokud potřebujete LEDkou blikat je třeba nastavit PWM na 0 na delší dobu – okem postřehnutelnou. Pokud nastavíte PWM na méně než maximálně povolených 66% je možné LEDku plynule stmívat. Vzhledem k pracovní frekvenci 62,5 kHz se LEDka bude jevit jako rovnoměrně svítící. Jediné dvě součástky, která se mohou v obvodu „mírně“ zahřát je samotná LED, kterou je třeba dát na chladič bez ohledu jakým měničem ji napájíme. Druhá součástka, která může být mírně teplá je D1; pokud by byla příliš horká je možné ji (za cenu mírného zhoršení vlastností obvodu) vyměnit za ultra-rychlou diodu, například typu UF4007 (nikoliv však 1N4007, což je obyčejná pomalá usměrňovací dioda).