Jednym z pierwszych projektów, które zrealizowałem mając 9-10 lat było pudełko z kilkoma LEDami, przełącznikami i potencjometrem - taka tam wprawka w lutowanie. Drugim była migająca strzałka LED z kitu bodaj Jabela. Pierwszym, który zepsułem lutownicą transformatorową (której nie polecam) była elektroniczna ruletka z całą masą diod LED. Mój znajomy zaś zbudował "mrygacz" LED na tranzystorach używając płyty paździerzowej jako płytki "drukowanej" z kawałkami przewodów w roli "ścieżek". Odkąd diody LED stały się tanie i łatwodostępne, wszelkiej maści projekty i gotowe układy z diodami świecącymi, migającymi, pełzającymi światełkami, kolorofonami, wskaźnikami wysterowania i tym podobnymi cieszą się nieustającą popularnością. Od ponad 10 lat żarówki, lampy i taśmy LED RGB stały się elementem zarówno wystroju wnętrz, jak i "ozdobnikiem" podzespołów komputerowych. LEDy w praktyce niemal całkowicie wyparły inne rozwiązania oświetleniowe, a przynajmniej zepchnęły je do ról specyficznych i rozwiązań niszowych. Świat światła LEDem stoi.
A i tak co jakiś czas ktoś pyta, jak policzyć rezystor do LEDa...
Czym jest dioda LED?
Dioda elektroluminescencyjna to rodzaj diody półprzewodnikowej, w której ubocznym skutkiem przepływu prądu przez złącze P-N jest emisja światła o określonej długości. Każde złącze P-N emituje światło, ale zwykle w bardzo znikomym stopniu. W przypadku diod LED poprzez dobranie odpowiednich pierwiastków i związków chemicznych efekt ten jest wzmocniony wielokrotnie.
Podstawowymi parametrami każdej diody LED jest jej napięcie przewodzenia Vf i prąd przewodzenia If. Diody LED są elementami kontrolowanymi prądem, nie napięciem. Napięcie przewodzenia jest istotne dla poprawnego dobrania rezystora ograniczającego prąd. W przypadku diod kolorowych mamy też długość emitowanego światła ?. Diody białe mają podaną temperaturę barwową oraz wartość CRI, czyli współczynnik oddawania kolorów. Znajdziemy też inne parametry typowe dla wszelkiej maści diod, jak prąd wsteczny, napięcie przebicia czy moc strat.
Drugą ważną grupą parametrów diod LED są informacje na temat obudowy. Tu mnogość opcji jest ogromna, od tradycyjnych, okrągłych diod o średnicy 3 i 5mm, przez diody miniaturowe SMD w różnych rozmiarach po diody mocno specjalizowane. Do tych ostatnich można zaliczyć na przykład diodę SMD świecącą "do płytki" - ideą jest to, by płytka w tym miejscu miała otwór. Po co tak kombinować? A no dlatego, że można płytkę pokryć klawiaturą membranową z otworami dla światła LEDów - takie rozwiązanie spotkałem na płytce od laktatora Philips Avent. Po prawej jest pokazany rysunek poglądowy typowej, małej diody LED w okrągłej obudowie 3mm/5mm. Poniżej zaś przykłady różnych diod LED w obudowach do montażu przewlekanego.
Diody LED występują też w formie zintegrowanych modułów, w tej kategorii znajdziemy słupki LED, wyświetlacze siedmio-, czternasto- i szesnastosegmentowe czy matryce LED 5x7 czy 8x8. Przykład wyświetlacza siedmiosegmentowego czterocyfrowego jest poniżej. Diody LED mocy bywają zbudowane z wielu mniejszych diod w konfiguracji szeregowo-równoległej, podobnie jak paski diodowe do żarówek udających tradycyjne. Ponadto w jednej obudowie może być kilka niezależnych diod o różnych kolorach, a także układy scalone, ale o tym będzie niżej. Tak czy siak mnogość opcji jest ogromna, i trudno wszystkie uwzględnić w jednym artykule.
Jak dobierać rezystor do diody LED?
Wzór ogólny wygląda tak:
R = (Vcc - Vf) / If
gdzie Vcc to napięcie zasilania, Vf to napięcie przewodzenia diody LED, a If to pożądany prąd przewodzenia diody. Ten ostatni parametr ma wpływ na jasność diody. A jak poznać napięcie przewodzenia diody? Jak wspomniałem, ta informacja jest w nocie katalogowej diody. Jeśli nie mamy noty, to możemy zmierzyć tę wartość. Zasilamy diodę napięciem 5V przez rezystor 220? i mierzymy napięcie między anodą, a katodą. W analogiczny sposób działa test diody w multimetrach, choć nie każdy multimetr sobie dobrze radzi z LEDami.
By ułatwić życie początkującym poniżej zamieszczam zestawienie typowych wartości napięcia przewodzenia dla poszczególnych kolorów diod LED wraz z tabelami wyliczonych wartości rezystorów dla typowych napięć przewodzenia przy prądach 12,5mA, 15mA i 20mA oraz typowych napięć zasilania 3.3V, 5V, 9V, 12V, 15V i 24V. Jeśli chcemy uzyskać prąd o połowę mniejszy, niż występuje w tabeli, mnożymy rezystancję przez dwa, dla prądu trzykrotnie mniejszego mnożymy przez trzy. Wartości rezystorów należy zaokrąglić do najbliższej wartości w szeregu E24. Dla 20mA lepiej zaokrąglać w górę. Po wybraniu rezystora należy obliczyć jego moc strat wedle wzoru:
P = R * If^2
Dla ułatwienia:
P(12,5mA) = R * 0,00015625
P(15mA) = R * 0,000225
P(20mA) = R * 0,0004
Podczerwone: 1,9V
Diody stosowane głównie w pilotach do sprzętu RTV oraz jako oświetlacze dla kamer widzących w rzekomej ciemności.
Czerwone: 1,6-2V
Jedne z pierwszych wynalezionych diod LED. Często spotykane w wyświetlaczach oraz jako kontrolki zasilania. Ten kolor nie męczy oczu w nocy i nie jest zbyt dobrze widoczny z dużej odległości.
Bursztynowe/pomarańczowe: 2-2,1V
Kolor, który gorąco polecam do wskaźników zasilania - przypomina nieco staroświeckie neonówki i podobnie, jak czerwony nie razi w oczy.
Żółte: 2,1-2,2V
Bardzo lubię ten kolor. Świetnie nadaje się do wyświetlaczy siedmiosegmentowych, które mają być czytelne zarówno w dzień, jak i w nocy, choć w ciemnościach może już trochę razić.
Zielone: 1,9-4V
Kolor najlepiej rozróżniany przez ludzkie oko (dlatego prawdziwe noktowizory dają zielony, monochromatyczny obraz). Kolor dobrze widoczny, a przez to może być już lekko denerwujący we wskaźnikach zasilania w nocy. Wyświetlacze siedmiosegmentowe w tym kolorze nieodmiennie kojarzą mi się z kasami fiskalnymi. Szeroki rozrzut dostępnych napięć wynika z różnorodności stosowanych materiałów.
Niebieskie: 2,5-3,7V
Kolor, którego osobiście nie znoszę. Niezwykle wręcz popularny we wszelkich wskaźnikach zasilania i jako wyświetlacz siedmiosegmentowy. Nieodmiennie od lat razi w oczy i denerwuje w nocy. Używanie go w amatorskich konstrukcjach to dla mnie oznaka kiczu i bezguścia. Kojarzy się też z chińską tandetą.
Fioletowe: 2,8-4V
Jak na razie, spotkałem się z tą barwą diod tylko raz i zachwycony nie jestem. Nie denerwuje tak bardzo, jak niebieskie LEDy, ale nie widzę dla tych diod innego zastosowania, niż w roli "ozdobników".
Ultrafioletowe: 3,1-4,4V
Diody te znane są głównie z breloczków sprawdzających prawdziwość banknotów. Mogą też być alternatywną formą oświetlaczy dla kamer widzących w ciemności oraz realizować funkcje dezynfekcyjne. Budowanie stacji dezynfekujących z tymi diodami stało się dość popularnym projektem w ostatnich czasach.
Diody LED białe
W powyższym zestawieniu nie uwzględniłem istotnego koloru, jakim jest kolor biały. Nie jest to niedopatrzenie z mojej strony, lecz celowy zabieg. Trzeba bowiem najpierw odpowiedzieć na bardzo istotne pytanie:
Jakiego koloru jest biała dioda LED?
Nie, nie jest to kolor biały. W dodatku bałe diody nie są białe na różne sposoby. Zaczniemy od prostszego sposobu, czyli użycia diod czerwonej, zielonej i niebieskiej do uzyskania białego koloru. Tak się budowało kolor biały w kolorowych telewizorach i monitorach kineskopowych. Działa to sprawnie, ale współczynnik oddawania barw może nie być najlepszy. Można go poprawić używając drugiego, dużo popularniejszego sposobu kosztem niewielkiego spadku wydajności.
Jakiego koloru jest biała dioda LED tego drugiego typu?
Nie jest biała, bo jest żółta bądź pomarańczowa. A jest żółta bądź pomarańczowa, bo jest niebieska lub ultrafioletowa. Wbrew pozorom to ma sens. Po prostu diodę w kolorze niebieskim lub UV pokrywa się wrażliwą na te barwy mieszanką luminoforów znanych ze świetlówek celem uzyskania barwy białej w formie wtórnej emisji światła. Dlatego diody białe należy traktować jak diody niebieskie bądź UV. Napięcie przewodzenia może wynosić 3-5V, jak podaje Texas Instruments w swojej nocie aplikacyjnej o zasilaniu białych LEDów, ale typowe diody LED mieszczą się w zakresie 3,1-3,7V. By pójść na skróty odpowiednie będą tabele dla diod niebieskich, fioletowych i ultrafioletowych z powyższego zestawienia.
Szeregowe łączenie diod LED
Metoda oporowa
Metoda ta jest prosta i tania, ale przy rozrzucie parametrów dipd LED te mogą nie świecić z tą samą jasnością. Przy obliczaniu należy przyjąć najniższe napięcie przewodzenia, nie najwyższe. Wzór na obliczanie rezystora wygląda tak:
R = (Vcc - ( Vf1 + Vf2 + Vf3 + ... + Vfn )) / If
Wzór ten przyda się szczególnie przy łączeniu diod o różnych kolorach. Dla diod tego samego typu wzór wygląda tak:
R = (Vcc - ( Vfmin * n )) / If
gdzie n to liczba diod w szeregu. Rzeczywisty prąd będzie niższy od założonego.
Źródło prądowe
W tym rozwiązaniu stabilizujemy prąd, więc napięcie przewodzenia nas nie interesuje (prawie) wcale. Ważne jedynie jest to, by napięcie emiter-kolektor użytych tranzystorów było wyższe od napięcia zasilania i by suma maksymalnych napięć przewodzenia diod była niższa o ~1V od napięcia zasilania. Spójrzmy na schemat po lewej.
Na schemacie są tylko trzy diody LED, ale może ich być więcej. Maksymalne napięcie zasilania wynosi w teorii 45V, W praktyce ogranicza go moc strat tranzystora Q1, a co za tym idzie maksymalne napięcie kolektor-emiter Vce. Wartość R2 dobiera się według pożądanego prądu. Pomoże w tym poniższa tabela zawierająca typowe prądy, wartości rezystorów z szeregu E24 5%, oraz maksymalne napięcia Vce przy maksymalnej mocy, jaką może oddać tranzystor BC547C.
Jeśli chcemy kontrolować diody za pomocą mikrokontrolera, to wystarczy R1 podłączyć do wyjścia, zamiast do Vcc. Jeśli zaś potrzebujemy dużo wyższych napięć zasilania, to dobieramy tranzystory o stosownie większym napięciu Vceo, Q1 zaś powinien też mieć większą dopuszczalną moc strat. Zwiększamy też wartość R1 proporcjonalnie do wzrostu napięcia.
Wyświetlacze i matryce LED
Jeśli chcemy sterować wieloma diodami LED na raz albo przekazywać informacje za pomocą wyświetlaczy czy matryc LED, musimy rozwiązać problem kontroli. Nie ma bowiem sensu podłączać każdej diody do jednego wyjścia z mikrokontrolera, by ją indywidualnie kontrolować. Przykładowo czterocyfrowy wyświetlacz siedmiosegmentowy wymagałby 32 wyjść (doliczając kropki). Problem ten rozwiązano już w czasach lamp elektronowych, a dokładniej to lamp nixie i VFD Lampy te mają wspólną anodę i zestaw katod, z których każda załącza jedną cyfrę lub znak w lampie nixie lub jeden segment w lampie VFD (lub w siedmiosegmentowym wariancie nixie pod nazwą Panaplex). Katody poszczególnych lamp są połączone ze sobą równolegle, anody zaś są załączane po kolei. Wyświetlacz tak zbudowany potrzebuje tyle linii anodowych, ile jest w nim lamp, i tyle linii katodowych, ile ma lampa z ich największą liczbą. Pojawienie się diod i wyświetlaczy LED ułatwiło sprawę, bo pozwoliło obniżyć napięcie zasilania, co z kolei uprościło układy sterujące. Dało to też alternatywny sposób sterowania wyświetlaczami wynikający z łączenia razem katod zamiast anod.
Wspólna katoda czy wspólna anoda?
Generalnie nie ma zbyt wielkiej różnicy między sterowaniem wyświetlaczami o wspólnej anodzie i o wspólnej katodzie. Zmienia się tylko typ użytego tranzystora wybierającego wyświetlacz z zestawu oraz polaryzacja sygnałów sterujących. Niech za przykład posłuży zestaw czterech wyświetlaczy siedmiosegmentowych. Najpierw wspólna anoda:
Rezystory R1-R4 oraz tranzystory PNP Q1-Q4 służą do selekcji jednego z czterech wyświetlaczy. Rezystory R5-R12 wybierają poszczególne katody diod do zapalenia. Ich wartości dobiera się wedle prądu If i napięcia Vf diod w wyświetlaczach. R1-R4 mogą mieć typową wartość 10k?. Tranzystory powinny mieć dopuszczalny prąd maksymalny 8 * If. W tym układzie połączeń polaryzacja sygnałów jest odwrotna i na wyjściach anodowych (do R1-R4) i katodowych (R5-R12) domyślnie panuje stan wysoki. Sekwencja sterowania wygląda więc tak:
1. Ustawiamy stan niski na R1.
2. Ustawiamy stan niski na wybranych wyjściach katodowych.
3. Czekamy.
4. Ustawiamy stan wysoki na wszystkich wyjściach katodowych.
5. Ustawiamy stan wysoki na R1.
Sekwencję powtarzamy dla każdego wyjścia anodowego tak szybko, by sekwemcja dla całego wyświetlacza potwórzyła się 20-25 razy na sekundę. Najlepiej zmiany stanów wyjść realizować w przerwaniu wywołanym przez jeden z timerów mikrokontrolera. Spójrzmy na schemat dla wyświetlaczy ze wspólną katodą:
Tym razem R1-R8 wybierają anody wyświetlaczy, podczas gdy R9-R12 wybierają ich wspólne katody przez tranzystory NPN Q1-Q4. Tym razem to stan wysoki na wybranych wyjściach anodowych i katodowym zapala segmenty wyświetlaczy, a stan niski je gasi. Sekwencja sterująca ze strony mikrokontrolera jest praktycznie identyczna, różni się tylko polaryzacją. Dla mnie to jest preferowany sposób sterowania, przy czym zamiast tranzystorów NPN można użyć tranzystorów MOSFET-N typu logic level i o niskim Rdson, zwłaszcza gdy sterujemy nie wyświetlaczem, a matrycą wielu diod LED, o czym poniżej.
Matryca RGB z rejestrami przesuwnymi i tranzystorami MOSFET-N
Jest to rozwiązanie dedykowane do łatwego sterowania dużymi ilościami diod LED przy minimalnej ilości pinów mikrokontrolera. Poniżej przedstawiam fragment schematu pewnego układu, nad którym pracowałem, a dokładniej układ sterowania matrycą 64 diod RGB. Jest to matryca LED o konfiguracji 8x8, gdzie rzędy mają wspólne anody, a kolumny wspólne katody. Technicznie rzecz biorąc to matryca 24x8, gdyż każda dioda ma wspólną katodę dla kolorów czerwonego, zielonego i niebieskiego.
Mamy tu cztery rejestry przesuwne 74HC595 połączone w łańcuch. Sterowane są one trzema sygnałami: Zegar, Dane i Transfer. Za każdym razem, gdy pin Zegqar przechodzi ze stanu niskiego w wysoki, bieżący stan pinu Dane jest ładowany na pozycję Q0 wewnętrznego rejestru układu 74HC595, a na wyjściu Q7S pojawia się stan z pozycji Q7 rejestru. Ponieważ to wyjście rejestru łączy się z wejściem następnego, Dzięki takiemu połączeniu możemy przesłać do rejestrów 32 bity jednym ciągiem. Zmiana stanu pinu Transfer z niskiego na wysoki załaduje stany rejestrów na ich wyjścia Q0-Q7. Pierwsze trzy rejestry sterują anodami czerwonymi, zielonymi i niebieskimi. Czwarty kontroluje katody przez tranzystory MOSFET-N typu logic level. Dlaczego? Bo przez każdy z nich może popłynąć prąd 24 * If, czyli aż 480mA.
Stan matrycy zapisany był w pamięci w formie trzech tablic (R, G i B), po osiem bajtów na tablicę. Każdy bajt reprezentował jedną kolumnę matrycy. Co pięć milisekund (dzięki przerwaniu od timera) program składał bajt wybierający jedno z ośmiu wyjść sterujących katodami oraz trzy wartości z tablic R, G i B, po czym przesyłał je razem tak szybko, jak się da do rejestrów. Na koniec pin Transfer przechodził na moment w stan wysoki, co ładowało wczytane dane do wyjść i stosowne diody się zapalały. Przerwanie co 5 milisekund gwarantowało odświeżanie całej matrycy 25 razy na sekundę. Swoją szosą była to jedyna część tamtego programu, która działała bez zarzutu...
Czy do obsługi wyświetlacza bądź matrycy tranzystory są potrzebne?
Nie. Możemy wspólne katody bądź anody podłączyć bezpośrednio do wyjść mikrokontrolera. Warunkiem działania takiego rozwiązania jest zagwarantowanie, by na raz świeciła się tylko jedna dioda. Inaczej przeciążymy pin wspólny dla diod i uszkodzimy mikrokontroler. Większość mikrokontrolerów dopuszcza maksymalny prąd ?25mA na pin, czym się bezwstydnie chwalą w notach katalogowych. Ponieważ na raz pali się tylko jedna dioda LED, a reszta jest zgaszona, to sumaryczna jasność całego wyświetlacza będzie niższa.
Specjalizowane układy do matryc i wyświetlaczy
Na rynku dostępne są specjalizowane układy driverów LED, zarówno dla pojedynczych diod, jak i dla wyświetlaczy i matryc LEDowych. Rodziny układów 7400 i 4000 mają dedykowane dekodery LED z kodu binarnego lub BCD na wyświetlacze siedmiosegmentowe. Były też układy dedykowane do współpracy z lampami Nixie i VFD odporne na wysokie napięcia potrzebne do ich działania. Są one, podobnie jak same lampy, bardzo poszukiwane przez budowniczych zegarków retro. Przez to niejeden całkiem przyzwoity miernik stołowy został rozszabrowany i bezpowrotnie zniszczony.
STMicro ma na przykład układy STP08DP05 i STP16CPC05, które sposobem pracy przypominają rejestry serii 74xx595. Można je bowiem kontrolować sygnałem szeregowym i łączyć szeregowo. Każde wyjście jednak przy stanie wysokim zwierane jest do masy przez źródło prądowe, którego prąd maksymalny ustala pojedynczy rezystor zewnętrzny. Jest to zatem świetny układ do kontroli pojedynczych diod LED, ale też matryc LEDowych. Pierwszy układ posiada osiem wejść prądowych, drugi szesnaście. Micrel z kolei oferuje podobny układ, MIC5400, który pozwala sterować szesnastoma diodami połączonymi w układzie wspólnej anody, w formie dwóch banków po osiem diod. Do pracy wymaga rezystora ograniczającego prąd i dwóch tranzystorów PNP do sterowania anodami. W zamian za to oferuje zgrubną (4 bity) i dokładną (10 bitów) regulację jasności diod. Podobnie, jak w przypadku układów STMicro te też można łączyć szeregowo.
Microchip ma w swojej ofercie układy MM5450/-51, posiadające odpowiednio 34 lub 36 wyjść. Tych układów nie da się łączyć szeregowo, ale nie jest to konieczne w typowych zastosowaniach, gdyż w nocie znajdziemy przykład łączenia ośmiu wyświetlaczy siedmiosegmentowych do układu MM5450 z pomocą dwóch tranzystorów PNP. W teorii można kontrolować tymi układami matrycy LED 17x17 lub 18x18, czyli odpowiednio 289 lub 324 indywidualne diody. Podobnie, jak w powyższych układach prąd, a zarazem jasność są ograniczone i regulowane rezystorem. Microchip zaleca potencjometr. Maxim oferuje dedykowane układy, MAX7219/MAX7221, do sterowania multipleksowanych wyświetlaczy siedmiosegmentowych i matryc LED. Obsługują one matryce 8x8 lub osiem wyświetlaczy LED za pomocą protokołu SPI i jego pochodnych. Układy te oferują wiele dodatkowych funkcji i odciążają mikrokontroler - potrzebne wartości można wysłać jako kod BCD. Na Alledrogo można kupić gotowe płytki z matrycami 8x8 używające chińskich klonów MAX7219.
Skoro już wspominamy o Chinach, to warto zwrócić uwagę na dwa układy firmy Titan Micro Electronics, które sprzedawane są głównie w gotowych modułach. Są to układy TM1637 i TM1638. TM1637 obsługuje do sześciu wyświetlaczy siedmiosegmentowych o wspólnej anodzie i jednocześnie pozwala skanować matrycę klawiszy w układzie 8x2. TM1638 obsługuje do 10 wyświetlaczy siedmiosegmentowych o wspólnej anodzie i matrycę klawiszy 8x3. Oba układy są sterowane przez dwukierunkowy interfejs szeregowy. Niestety, układy te są dostępne głównie w formie gotowych (niedrogich) modułów, więc jeśli potrzebna jest inna konfiguracja, niż to, co wymyślili chińscy inżynierowie, to trzeba będzie układ wylutować.
Dla miłośników prostych multimetrów Maxim wciąż produkuje układy serii ICL7107 i ICL7117, a Microchip robi ich odpowiedniki pod symbolem TC7107/TC7117. Wersje sterujące wyświetlaczami LCD mają oznaczenia ICL/TC7106/7116. Schematy różnych mierników i multimetrów na ich bazie znajdują się zarówno w notach katalogowych i aplikacyjnych, jak i w wielu czasopismach i zbiorach schematów. Ja znalazłem kilka w Poradniku Radioamatora.
Diody LED specjalne
Diody migające
Czyli diody LED z wbudowanym układem scalonym i ograniczeniem prądowym. Występują w wariantach jedno-, dwu- i trzykolorowym. Jednokolorowe LEDy spotyka się często w prostych zestawach typu "migadełko choinkowe", gdzie diody wtyka się w tekturową kartkę z rysunkiem choinki i łączy się od drugiej strony. Dodatkowe rezystory i tranzystor pozwalają na to, by jedna dioda migająca kontrolowała pozostałe diody. Diody dwukolorowe zapalają oba kolory naprzemiennie. Diody RGB powtarzają sekwencję wszystkich możliwych kombinacji kolorów lub sekwencję tylko kolorów głównych. Ich zastosowanie ogranicza się do dodawania tej dodatkowej porcji kiczu w najróżniejszych tanich gadżetach i zabawkach z Chin.
Diody płynnie zmieniające kolory
Diody RGB z wbudowanym układem scalonym, które przechodzą płynnie przez całą tęczę kolorów. Spotykane w budżetowych peryferiach komputerowych i w gadżetach. Nadal są kiczowate, ale mimo wszystko mniej kiczowate od migających konkurentów. Ze względu na rozrzut parametrów rezonatorów RC użytych w tych diodach każda z nich zmienia kolory w odrobinę innym tempie. Dlatego moje ekstra-tanie, odpustowe głośniczki komputerowe po włączeniu zasilania świecą tym samym kolorem tylko przez krótką chwilę. Podobnie odrobinę droższa myszka z czterema diodami tego typu zmienia kolory w sposób całkiem interesujący.
Pewnym interesującym podtypem tych diod są LEDy emulujące światło świecy. Nie miałem przyjemności oglądania takiej diody na żywo, ale przypuszczam, iż efekt nie jest mocno porywający i często zależy od budżetu przeznaczonego na zakup takiej diody. Uzyskanie sensownego efektu może jednak wymagać użycia diod RGB i mikrokontrolera.
Lampki LED - zamienniki miniaturowych żarówek
Produkt cokolwiek niszowy, bo przeznaczony do starszych urządzeń i pojazdów. Zamienniki miniaturowych żarówek znajdą zastosowanie przy naprawie sprzętu retro jako podświetlenie skal i wskaźników, oraz w starszych samochodach, gdzie w roli kontrolek występowały miniaturowe żaróweczki na 12-24V. Lampki te mają ukryty w cokole układ zasilania, który często przyjmuje prąd stały i zmienny o dowolnej polaryzacji przy dość szerokim zakresie napięć. Za tę elastyczność często trzeba zapłacić wyższą ceną, ale prawdopodobnie taka lampka "przeżyje" sprzęt, w którym się znajdzie. Jako oświetlacze skal i wskaźników najlepiej sprawdzą się lampki białe ciepłe, chyba że oryginalnie użyto żarówek barwionych. We wskaźnikach samochodowych z wbudowanymi filtrami koloru warto sprawdzić zarówno lampki w kolorze kontrolki, jak i białe neutralne/zimne dla uzyskania optymalnej jasności.
Diody laserowe
Znane z napędów optycznych i breloczków-wskaźników te niewielkie komponenty potrafią być niebezpieczne dla zdrowia. Diody te generują światło konkretnej długości fali, gdzie wszystkie fotony "są w fazie", ale nadal wymagają soczewki do skupienia wiązki. Występują w kolorach podczerwonym, czerwonym i niebieskim. Inne kolory, jak zielony, są zazwyczaj uzyskiwane na drodze procesu powielania częstotliwości drgań fotonów - w tym celu używa się diod podczerwonych o mocach większych od mocy uzyskanej wiązki światła w innym kolorze. Jako przykład diody laserowej w kolorze zielonym, gdzie nie trzeba podwajać częstotliwości światła niech posłuży poniższy film demonstrujący przy okazji, co jest możliwe do legalnego kupienia i zbudowania:
Diody laserowe są nadzwyczaj delikatne - źle znoszą wyładowania elektrostatyczne, wysoką temperaturę pracy i przekroczenie dopuszczalnego prądu znamionowego. Światło co mocniejszych diod bezproblemowo uszkadza sensory optyczne cyfrowych aparatów oraz kamer kamer, a także zwierząt i ludzi. Dlatego zabawa z diodami laserowymi nie jest zalecana dla początkujących, a dobre okulary ochronne to konieczność, a nie fanaberia. Oko nie pieczarka - nie odrośnie.
Diody programowalne WS2812x i WS2813
Ze wszystkich diod LED RGB rodzina WS2812x i WS2813 jest od kilku lat najpopularniejsza wśród zagranicznych hobbystów, a i w Polsce dobrze się przyjęła. Diody te są łatwo dostępne w formie taśm i modułów o różnych kształtach, z czego WS2812B jest wariantem najpopularniejszym. Ale czym są te diody i dlaczego są tak popularne?
WS2812x i WS2813 to programowalne diody RGB w obudowach SMD. Do programowania używany jest bardzo prosty interfejs szeregowy, który umożliwia łączenie diod w długie łańcuchy i kontrolowanie ich jednym pinem. Każda dioda ma wbudowany kontroler sterujący poszczególnymi kolorami R, G i B oferując 256 poziomów jasności (8 bitów), Do łańcucha diod wysyła się strumień bitów składający się z trzech wartości ośmiobitowych dla kolorów G, R i B, bez żadnych odstępów między bajtami czy pakietami. Każda kolejna dioda zastępuje dane dla siebie stanem niskim, a resztę strumienia bajtów wysyła dalej. Po wysłaniu całego pakietu danych wstawia się krótką pauzę, by oznaczyć koniec transmisji i móc zacząć ją od nowa. Dokładniej protokół opiszę poniżej. Poniżej dwa zdjęcia diody WS2812B, na pierwszym widać strukturę diody z drutami łączącymi układ scalony z metalowymi polami wuprowadzającymi sygnały na zewnątrz i diodami. Na drugim możemy zobaczyć zbliżenie na sam układ scalony (zdjęcie zrobione chińskim mirkoskopem USB).
Czym się różni WS2812x od WS2813?
Podstawową różnicą między tymi rodzinami diod jest obecność wejścia BIN w diodach WS2813. Wspomniałem wyżej, iż każda dioda zastępuje pakiet wartości dla siebie stanem niskim i wysyła resztę dalej, aż do pojawienia się stanu RST. Wejście BIN robi to samo, co poprzednia dioda w łańcuchu zanim dane trafią do właściwego rejestru. To sprawia, że łącząc diody sposób pokazany poniżej awaria jednej z diod nie przerywa transmisji danych do kolejnych. Dopiero awaria dwóch sąsiadujących diod przerywa łańcuch. W przypadku WS2812x awaria diody powoduje, że reszta diod w łańcuchu nie otrzymuje swoich danych i przez to nie może być kontrolowana. Sposób łączenia diod WS2813 pokazują poniższe schematy:
Drugą zaletą WS2813 jest wyższa częstotliwość PWM, 2kHz, podczas gdy WS2812x ma częstotliwość PWM 400Hz, co przy dłuższych łańcuchach i różnych dodatkowych zaprogramowanych efektach może prowadzić do nieprzyjemnego migotania. WS2813 ma też dłuższy czas dla sygnalizacji końca pakietu, bo 300?s zamiast 50?s dla starszej wersji - przydaje się to przy używaniu wolniejszych mikrokontrolerów. Wadą jest nieco wyższa cena i mniejsza popularność. Póki to się nie zmieni, to diody WS2812B są lepszym wyborem dla hobbysty. W razie uszkodzenia któreś diody w taśmie LED można zwykle wyciąć cały segment, wstawić nowy, odcięty od taśmy i wlutować zworki z nóżek by "wstawkę" połączyć z resztą taśmy.
WS2815, WS2811, SK9822, SK6812RGBW
WS2815 funkcjonalnie nie różni się niczym od WS2813, z wyjątkiem napięcia zasilania. Ten wariant zasilany jest napięciem 12V, a diody w strukturze są łączone szeregowo, a nie równolegle jak w innych wariantach. W przypadku długich łańcuchów wyższe napięcie zasilania sprawia, że nie ma spadków jasności w środku łańcucha i nie trzeba dolutowywać dodatkowych przewodów zasilających co kilka metrów. W handlu dostępne są też układy WS2811, które są kontrolerami bez diod LED, i są dostępne w tanich taśmach na napięcie 12V, gdzie każdy układ kontroluje grupę trzech diod. Sposób działania jest analogiczny do WS2812, ale układ oferuje wejście SET pozwalające ustalić częstotliwość odświeżania diod na 400Hz lub 800Hz.
SK9822 jest alternatywą dla diod WS2812x oferującą lepszy protokół komunikacji. Te diody posiadają wejście i wyjście zegarowe, dzięki czemu odpada problem dbania o czasy stanów wysokich i niskich dla poszczególnych bitów. Częstotliwość transmisji danych może przez to być kilkukrotnie wyższa, niż w przypadku innych układów. Może też być też dużo wolniejsza. Pakiet składa się z 32-bitowych ramek, z których pierwsza to ramka startu, a ostatnia to ramka stopu. Pozostałe zawierają dane jasności poszczególnych kolorów. Poza regulacją jasności poszczególnych kolorów (8 bitów) jest jeszcze regulacja wspólnej jasności w 32 poziomach (5 bitów). Moim zdaniem ta zgrubna regulacja została dodana po to tylko, by ramki miały 32 bity. Pod każdym innym względem układy te są analogiczne do WS2812.
SK6812RGBW to alternatywa dla WS2812, w swojej strukturze zawiera dodatkową, białą diodę LED. Dostępne są warianty biały zimny, biały neutralny i biały ciepły. Te diody kosztują więcej i pobierają więcej prądu (w przypadku taśm trzeba dołączać zasilanie w większej liczbie miejsc), ale oferują lepszą jakość bieli, niż standardowe diody RGB. Sposób kontroli jest analogiczny do diod WS2812x, ale każdy pakiet danych zawiera 32 bajty zamiast 24. Dodatkowy bajt kontroluje diodę białą.
Jak sterować diodami?
Do sterowania diodami WS2812x i podobnymi dostępne są gotowe biblioteki. Trzy najpopularniejsze to FastLED, Neopixel i WS2812FX. Biblioteki są napisane z myślą o środowisku Arduino, więc użycie ich w środowisku niekompatybilnym może wymagać sporych modyfikacji. W planach mam przetestowanie tych bibliotek, zwłaszcza WS2812FX, w środowisku MPLAB-X z mikrokontrolerem PIC18F45K50.
Drugą opcją jest napisanie własnej biblioteki do obsługi tych diod. Ma to sens zwłaszcza wtedy, gdy nie ma biblioteki dla użytego mikrokontrolera, albo potrzebujemy mocno zoptymalizowanego kodu do uzyskania konkretnych efektów. Można też pisanie takiej biblioteki od zera potraktować jak ćwiczenie umiejętności programowania - zwłaszcza hobbyści z małym doświadczeniem (jak ja) powinni tak robić. Gotowe moduły są absurdalnie tanie, a wizualna reprezentacja efektów dobrze motywuje do samodoskonalenia.
Układy WS281xx i im podobne używają jednej linii danych z protokołem, w którym wartości binarne 0 i 1 są zakodowane czasem trwania stanu wysokiego.Czas trwania stanu niskiego jest mniej istotny, i musi tylko spełnić kryterium minimalnej długości. Wszystkie czasy przedstawia poniższa tabela:
Dla WS2813 czasy wyglądają tak:
Dla WS2812B czasy Toff mogą osiągać 5?s. Dane są przesyłane w formie trzech kolejnych bajtów dla kolorów zielonego, czerwonego i niebieskiego. SK6812RGBW dodaje na koniec czwarty bajt dla białej diody. Pierwsza dioda zapisuje pierwszą sekwencję do rejestru, na wyjście podając stan niski. aż zacznie się sekwencja danych dla kolejnych diod. Zakończenie transmisji sygnalizowane jest stanem niskim trwającym dłużej niż czas RST. Dopiero po jego upływie pierwsza dioda zacznie akceptować nowe dane.
Minimalny czas wykonywania instrukcji mikrokontrolera musi wynosić przynajmniej 400ns, by mikrokontroler mógł wysyłać "zera". Inaczej pisząc powinien móc "machać nóżką" z częstotliwością przynajmniej 2,5MHz. Dlaczego 400ns, a nie 450ns, jak stoi w tabeli? A dlatego, by był jakiś margines błędu zarówno dla układów w diodach, jak i w oscylatorze mikrokontrolera. Tak czy siak oznacza to, że zbyt wolne mikrokontrolery nie poradzą sobie z obsługą WS281xx i podobnych. Na szczęście szybkich mikrokontrolerów na rynku nie brakuje.
Diody LED mocy
Diody LED mocy zyskały niezwykłą popularność w ciągu ostatnich 10-15 lat. Hobbyści spotykali je najpierw w latarkach oraz jako alternatywę do lamp HPS czy CFL do oświetlania akwariów z bujną roślinnością czy do hodowli roślin w szafie. Mój pierwszy z nimi kontakt miał miejsce, gdy kolega poprosił mnie o złożenie dla niego lampy świecącej podczerwienią na potrzeby fotografii. Gotowa lampa zawierała 7 diod podczerwonych o mocy 1W każda, fabryczny zasilacz i fabryczne soczewki skupiające światło. Test z kamkorderem z trybem noktowizyjnym dał mi zasięg ponad 30 metrów dobrej widoczności. Z perspektywy lat mogę stwierdzić, że mogłem to lepiej zrobić.
Do wyboru, do koloru
Podobnie, jak z diodami "tradycyjnymi", tak i w przypadku LED mocy mamy mnogość opcji. Diody białe są najpopularniejsze, ale poza nimi mamy diody kolorowe ze spektrum od podczerwieni do ultrafioletu, z oddzielną grupą diod do hodowli roślin, oraz diody RGB i RGBW. Typowe moce to 1W, 3W, 5W i 10W. Są też diody większe, od 20W do 100W, i więcej. Sam mam diodę 100W, którą kupiłem na potrzeby naprawy projektora (utknąłem na etapie wymyślania, jak to wszystko upchnę, ale teraz mam narzędzia, których nie miałem wcześniej). Hobbyści zwykle kupują diody przylutowane już do specjalnych płytek drukowanych (bardzo cienki laminat naklejony na bazę z aluminium), poniżej zdjęcie kilku takich diod.
Na potrzeby napraw i modyfikacji latarek i innych urządzeń można kupić "gołe" diody. Sam zrobiłem to raz, do naprawy mojej pierwszej latarki LED, którą dwa miesiące później i tak zgubiłem. Za to wymiana chińskiej diody Cree na diodę kupioną w Polsce podniosła jasność o jakieś 30%. Dlaczego tak się stało? Ano dlatego, że diody LED mocy są sortowane w fabryce pod kątem sprawności, a w przypadku diod białych także temperatury barwowej i współczynnika oddawania kolorów. Diody "gorszego sortu" są sporo tańsze od tych najlepszych, więc są chętnie kupowane przez chińskich fabrykantów latarek. Te lepsze znajdziemy w produktach klasy premium, z odpowiednio wyższą ceną. Warto o tym pamiętać wybierając diody do swojego projektu.
Zasilanie diod mocy
Podobnie jak zwykłe diody LED, diody mocy też są elementami prądowymi. Prądy są jednak znacząco wyższe - typowa dioda 1W potrzebuje prądu 350mA, podczas gdy mały LED wymaga maksymalnie 20-25mA. Dioda 10W może wymagać prądu 3A. Skutkiem ubocznym tak dużych prądów jest to, że standardowe dobieranie rezystora albo budowanie ograniczenia prądowego na tranzystorach nie ma zupełnie sensu. Dlaczego? Bo straty mocy na rezystorze albo na obwodzie ograniczenia prądowego będą dość spore, czasem nawet większe, niż straty mocy na samej diodzie.
W praktyce do zasilania diod mocy używa się przetwornic impulsowych w konfiguracji źródła prądowego. Do zasilania sieciowego są to proste przetwornice transformatorowe, najczęściej typu flyback, forward albo RCC. Przy zasilaniu niższym napięciem popularne są przetwornice buck, boost i SEPIC. By ułatwić pracę projektantom producenci oferują szeroką gamę układów scalonych przeznaczonych do zasilania diod LED mocy. W praktyce amatorskiej projektowanie układu od zera może nie mieć sensu, gdyż gotowe moduły są relatywnie tanie. Dla przykładu za 5 złotych można nabyć przetwornicę typu buck na układzie LM2596S z regulacją napięcia i natężenia. Za podobną cenę można kupić moduł zasilacza LED na napięcie 230V pozwalającego zasilić 4-7 diod LED 1W, i mniejszy dla 1-3 diod 1W. Dostępne są też moduły do budowy latarek LED na okrągłych płytkach o średnicy dopasowanej do współpracy z ogniwami litowymi 18650 i podobnymi.
Są sytuacje, gdzie jednak warto pokusić się o budowę własnej przetwornicy lub liniowego ograniczenia prądowego. Na przykład wtedy, gdy chcemy mieć kontrolę nad jasnością świecenia diody bądź diod. Prostą implementację liniowego zasilacza prądowego dla LED 1W wpółpracującego z wyjściem PWM mikrokontrolera lub z wyjściem DAC przedstawia poniższy schemat:
Sercem układu jest wzmacniacz operacyjny, na schemacie jest to połowa LM358, ale z powodzeniem można użyć LM321 albo MCP6021/2. Dla układów LM napięcie zasilania powinno wynosić przynajmniej 7V, dla MCP maksymalnie 5,5V. Wzmacniacz pracuje w konfiguracji prądowego obciążenia z rezystorem R2(izolującym wyjście wzmacniacza od tranzystora) tranzystorem Q1 (BD135, ale może być dowolnie inny tranzystor średniej mocy NPN, lub MOSFET typu N, jeśli tylko napięcie potrzebne na wysterowanie bramki będzie niższe lub równe napięciu zasilania) oraz rezystorem R3, na którym odkłada się około 77mV orzy 350mA. Rezystor R1 i kondensator C3 stanowią filtr dolnoprzepustowy o paśmie ~1,55kHz, R4 i R5 zaś stanowią dzielnik napięcia 1:64,7. Napięcie z dzielnika jest porównywane z napięcie z R3 przez wzmacniacz, który tak steruje tranzystorem Q1, by oba napięcia były równe. Maksymalny prąd diody może wynieść 351mA, nie uwzględniając napięcia niezrównoważenia wejść wzmacniacza. Dla LM358 może ono zmienić prąd diody o ±27mA. Należy też uwzględnić rozrzut parametrów rezystorów. Warto więc ustawić napięcie DAC na 2,5V (PWM o wypełnieniu 50%) i sprawdzić, czy przez diodę płynie dokładnie 175mA.
Chłodzenie diod LED mocy
Diody LED mocy są dość wydajne w produkcji światła, ale mimo to 10-40% energii zmieni się w ciepło, którego trzeba się pozbyć. Przy czym im większa moc diody i im gorszy sort, tym większy procent energii zmienia się w ciepło. Dlatego diody LED wymagają jakiejś formy chłodzenia. Amatorzy hodowli roślin akwariowych i szafowych montują diody LED z "gwiazdkami" do metalowego płaskownika, i to wystarczy. W latarkach diody LED 1-10W odprowadzają ciepło do obudowy, z różną skutecznością. Dla diody 100W, którą posiadam zakupiłem radiator z wentylatorem dedykowany do procesorów AMD sprzed 15 lat. W studyjnych lampach LED o dużych mocach znajdziemy sporej wielkości radiatory i wentylatory wymuszające chłodzenie.
Diody LED mocy, jak każdy półprzewodnik, mogą pracować w temperaturze do 150°C. Ale w praktyce temperatury struktury powyżej 85°C negatywnie wpływają na żywotność diody. Szczególnie boleśnie "odczuwają" to diody, w których struktury są łączone w układzie szeregowo-równoległym. Te rozpoznamy po napięciu przewodzenia od 6V wzwyż. Te struktury mogą się zwyczajnie nagrzewać nierównomiernie. Dodatkowo w przypadku białych diod te są jeszcze pokryte luminoforem, który nie przewodzi dobrze ciepła i sam może ulegać degradacji.
Soczewki
Diody mocy z reguły mają dość szeroki kąt świecenia, dlatego czasem może być potrzeba dołożenia układu optycznego. Dla większości mniejszych diod o mocach od 1W do 5-10W można nabyć soczewki o szerokim zakresie kątów skupienia światła. Na potrzeby oświetlacza podczerwonego kupiłem siedem soczewek o kącie 5° by lepiej skoncentrować światło. Efekt był nadzwyczaj zadowalający. Dla diod większych mocy (np. 100W) soczewki też występują, z reguły z dodatkowym reflektorem, ale ich ceny bywają sporo wyższe. W tej sytuacji amator może pokusić się o soczewkę Fresnela z lampy typu PAR.
Podsumowanie
Nie ma elektronika, zarówno amatora, jak i profesjonalisty, który by nie miał do czynienia z diodami LED. Są to jedne z podstawowych komponentów, choć ich rola to tylko oświetlanie i sygnalizowanie. Budowanie własnych "mrygaczy" i innych efektów świetlnych jest, moim zdaniem, satysfakcjonującym zajęciem i dobrym powodem, by sięgnąć po lutownicę lub programator.
Mam nadzieję, zę wystaraczajaco wyczerpałem temat, nie wyczerpujac przy tym czytelnika. Jak zwykle, zachęcam wszystkich do zadawania pytań i dzielenia się swoimi uwagami. Ale chciałbym też Was prosić, byście podzielili się swoimi projektami z diodami LED.
A i tak co jakiś czas ktoś pyta, jak policzyć rezystor do LEDa...
Czym jest dioda LED?
Dioda elektroluminescencyjna to rodzaj diody półprzewodnikowej, w której ubocznym skutkiem przepływu prądu przez złącze P-N jest emisja światła o określonej długości. Każde złącze P-N emituje światło, ale zwykle w bardzo znikomym stopniu. W przypadku diod LED poprzez dobranie odpowiednich pierwiastków i związków chemicznych efekt ten jest wzmocniony wielokrotnie.
Podstawowymi parametrami każdej diody LED jest jej napięcie przewodzenia Vf i prąd przewodzenia If. Diody LED są elementami kontrolowanymi prądem, nie napięciem. Napięcie przewodzenia jest istotne dla poprawnego dobrania rezystora ograniczającego prąd. W przypadku diod kolorowych mamy też długość emitowanego światła ?. Diody białe mają podaną temperaturę barwową oraz wartość CRI, czyli współczynnik oddawania kolorów. Znajdziemy też inne parametry typowe dla wszelkiej maści diod, jak prąd wsteczny, napięcie przebicia czy moc strat.
Drugą ważną grupą parametrów diod LED są informacje na temat obudowy. Tu mnogość opcji jest ogromna, od tradycyjnych, okrągłych diod o średnicy 3 i 5mm, przez diody miniaturowe SMD w różnych rozmiarach po diody mocno specjalizowane. Do tych ostatnich można zaliczyć na przykład diodę SMD świecącą "do płytki" - ideą jest to, by płytka w tym miejscu miała otwór. Po co tak kombinować? A no dlatego, że można płytkę pokryć klawiaturą membranową z otworami dla światła LEDów - takie rozwiązanie spotkałem na płytce od laktatora Philips Avent. Po prawej jest pokazany rysunek poglądowy typowej, małej diody LED w okrągłej obudowie 3mm/5mm. Poniżej zaś przykłady różnych diod LED w obudowach do montażu przewlekanego.
Diody LED występują też w formie zintegrowanych modułów, w tej kategorii znajdziemy słupki LED, wyświetlacze siedmio-, czternasto- i szesnastosegmentowe czy matryce LED 5x7 czy 8x8. Przykład wyświetlacza siedmiosegmentowego czterocyfrowego jest poniżej. Diody LED mocy bywają zbudowane z wielu mniejszych diod w konfiguracji szeregowo-równoległej, podobnie jak paski diodowe do żarówek udających tradycyjne. Ponadto w jednej obudowie może być kilka niezależnych diod o różnych kolorach, a także układy scalone, ale o tym będzie niżej. Tak czy siak mnogość opcji jest ogromna, i trudno wszystkie uwzględnić w jednym artykule.
Jak dobierać rezystor do diody LED?
Wzór ogólny wygląda tak:
R = (Vcc - Vf) / If
gdzie Vcc to napięcie zasilania, Vf to napięcie przewodzenia diody LED, a If to pożądany prąd przewodzenia diody. Ten ostatni parametr ma wpływ na jasność diody. A jak poznać napięcie przewodzenia diody? Jak wspomniałem, ta informacja jest w nocie katalogowej diody. Jeśli nie mamy noty, to możemy zmierzyć tę wartość. Zasilamy diodę napięciem 5V przez rezystor 220? i mierzymy napięcie między anodą, a katodą. W analogiczny sposób działa test diody w multimetrach, choć nie każdy multimetr sobie dobrze radzi z LEDami.
By ułatwić życie początkującym poniżej zamieszczam zestawienie typowych wartości napięcia przewodzenia dla poszczególnych kolorów diod LED wraz z tabelami wyliczonych wartości rezystorów dla typowych napięć przewodzenia przy prądach 12,5mA, 15mA i 20mA oraz typowych napięć zasilania 3.3V, 5V, 9V, 12V, 15V i 24V. Jeśli chcemy uzyskać prąd o połowę mniejszy, niż występuje w tabeli, mnożymy rezystancję przez dwa, dla prądu trzykrotnie mniejszego mnożymy przez trzy. Wartości rezystorów należy zaokrąglić do najbliższej wartości w szeregu E24. Dla 20mA lepiej zaokrąglać w górę. Po wybraniu rezystora należy obliczyć jego moc strat wedle wzoru:
P = R * If^2
Dla ułatwienia:
P(12,5mA) = R * 0,00015625
P(15mA) = R * 0,000225
P(20mA) = R * 0,0004
Podczerwone: 1,9V
Diody stosowane głównie w pilotach do sprzętu RTV oraz jako oświetlacze dla kamer widzących w rzekomej ciemności.
If (1,9V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | 112 | 248 | 568 | 808 | 1048 | 1768 |
15mA | 93,3 | 206,6 | 473,3 | 673,3 | 873,3 | 1473,3 |
20mA | 70 | 155 | 355 | 505 | 655 | 1105 |
Czerwone: 1,6-2V
Jedne z pierwszych wynalezionych diod LED. Często spotykane w wyświetlaczach oraz jako kontrolki zasilania. Ten kolor nie męczy oczu w nocy i nie jest zbyt dobrze widoczny z dużej odległości.
If (1,9V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | 112 | 248 | 568 | 808 | 1048 | 1768 |
15mA | 93,3 | 206,6 | 473,3 | 673,3 | 873,3 | 1473,3 |
20mA | 70 | 155 | 355 | 505 | 655 | 1105 |
Bursztynowe/pomarańczowe: 2-2,1V
Kolor, który gorąco polecam do wskaźników zasilania - przypomina nieco staroświeckie neonówki i podobnie, jak czerwony nie razi w oczy.
If (2,1V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | 96 | 232 | 552 | 792 | 1032 | 1752 |
15mA | 80 | 193,3 | 460 | 660 | 860 | 1460 |
20mA | 60 | 145 | 345 | 495 | 645 | 1095 |
Żółte: 2,1-2,2V
Bardzo lubię ten kolor. Świetnie nadaje się do wyświetlaczy siedmiosegmentowych, które mają być czytelne zarówno w dzień, jak i w nocy, choć w ciemnościach może już trochę razić.
If (2,1V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | 96 | 232 | 552 | 792 | 1032 | 1752 |
15mA | 80 | 193,3 | 460 | 660 | 860 | 1460 |
20mA | 60 | 145 | 345 | 495 | 645 | 1095 |
Zielone: 1,9-4V
Kolor najlepiej rozróżniany przez ludzkie oko (dlatego prawdziwe noktowizory dają zielony, monochromatyczny obraz). Kolor dobrze widoczny, a przez to może być już lekko denerwujący we wskaźnikach zasilania w nocy. Wyświetlacze siedmiosegmentowe w tym kolorze nieodmiennie kojarzą mi się z kasami fiskalnymi. Szeroki rozrzut dostępnych napięć wynika z różnorodności stosowanych materiałów.
If (2.5V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | 64 | 200 | 520 | 760 | 1000 | 1720 |
15mA | 53,3 | 166,6 | 433,3 | 633,3 | 833,3 | 1433,3 |
20mA | 40 | 125 | 325 | 475 | 625 | 1075 |
Niebieskie: 2,5-3,7V
Kolor, którego osobiście nie znoszę. Niezwykle wręcz popularny we wszelkich wskaźnikach zasilania i jako wyświetlacz siedmiosegmentowy. Nieodmiennie od lat razi w oczy i denerwuje w nocy. Używanie go w amatorskich konstrukcjach to dla mnie oznaka kiczu i bezguścia. Kojarzy się też z chińską tandetą.
If (3V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | 24 | 160 | 480 | 720 | 960 | 1680 |
15mA | 20 | 133,3 | 400 | 600 | 800 | 1400 |
20mA | 15 | 100 | 300 | 450 | 600 | 1050 |
Fioletowe: 2,8-4V
Jak na razie, spotkałem się z tą barwą diod tylko raz i zachwycony nie jestem. Nie denerwuje tak bardzo, jak niebieskie LEDy, ale nie widzę dla tych diod innego zastosowania, niż w roli "ozdobników".
If (3.3V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | - | 136 | 456 | 696 | 936 | 1656 |
15mA | - | 113,3 | 380 | 580 | 780 | 1380 |
20mA | - | 85 | 285 | 435 | 585 | 1035 |
Ultrafioletowe: 3,1-4,4V
Diody te znane są głównie z breloczków sprawdzających prawdziwość banknotów. Mogą też być alternatywną formą oświetlaczy dla kamer widzących w ciemności oraz realizować funkcje dezynfekcyjne. Budowanie stacji dezynfekujących z tymi diodami stało się dość popularnym projektem w ostatnich czasach.
If (3,7V) | 3,3V | 5V | 9V | 12V | 15V | 24V |
12,5mA | - | 104 | 424 | 664 | 904 | 1624 |
15mA | - | 86,6 | 353,3 | 553,3 | 753,3 | 1353,3 |
20mA | - | 65 | 265 | 415 | 565 | 1015 |
Diody LED białe
W powyższym zestawieniu nie uwzględniłem istotnego koloru, jakim jest kolor biały. Nie jest to niedopatrzenie z mojej strony, lecz celowy zabieg. Trzeba bowiem najpierw odpowiedzieć na bardzo istotne pytanie:
Jakiego koloru jest biała dioda LED?
Nie, nie jest to kolor biały. W dodatku bałe diody nie są białe na różne sposoby. Zaczniemy od prostszego sposobu, czyli użycia diod czerwonej, zielonej i niebieskiej do uzyskania białego koloru. Tak się budowało kolor biały w kolorowych telewizorach i monitorach kineskopowych. Działa to sprawnie, ale współczynnik oddawania barw może nie być najlepszy. Można go poprawić używając drugiego, dużo popularniejszego sposobu kosztem niewielkiego spadku wydajności.
Jakiego koloru jest biała dioda LED tego drugiego typu?
Nie jest biała, bo jest żółta bądź pomarańczowa. A jest żółta bądź pomarańczowa, bo jest niebieska lub ultrafioletowa. Wbrew pozorom to ma sens. Po prostu diodę w kolorze niebieskim lub UV pokrywa się wrażliwą na te barwy mieszanką luminoforów znanych ze świetlówek celem uzyskania barwy białej w formie wtórnej emisji światła. Dlatego diody białe należy traktować jak diody niebieskie bądź UV. Napięcie przewodzenia może wynosić 3-5V, jak podaje Texas Instruments w swojej nocie aplikacyjnej o zasilaniu białych LEDów, ale typowe diody LED mieszczą się w zakresie 3,1-3,7V. By pójść na skróty odpowiednie będą tabele dla diod niebieskich, fioletowych i ultrafioletowych z powyższego zestawienia.
Szeregowe łączenie diod LED
Metoda oporowa
Metoda ta jest prosta i tania, ale przy rozrzucie parametrów dipd LED te mogą nie świecić z tą samą jasnością. Przy obliczaniu należy przyjąć najniższe napięcie przewodzenia, nie najwyższe. Wzór na obliczanie rezystora wygląda tak:
R = (Vcc - ( Vf1 + Vf2 + Vf3 + ... + Vfn )) / If
Wzór ten przyda się szczególnie przy łączeniu diod o różnych kolorach. Dla diod tego samego typu wzór wygląda tak:
R = (Vcc - ( Vfmin * n )) / If
gdzie n to liczba diod w szeregu. Rzeczywisty prąd będzie niższy od założonego.
Źródło prądowe
W tym rozwiązaniu stabilizujemy prąd, więc napięcie przewodzenia nas nie interesuje (prawie) wcale. Ważne jedynie jest to, by napięcie emiter-kolektor użytych tranzystorów było wyższe od napięcia zasilania i by suma maksymalnych napięć przewodzenia diod była niższa o ~1V od napięcia zasilania. Spójrzmy na schemat po lewej.
Na schemacie są tylko trzy diody LED, ale może ich być więcej. Maksymalne napięcie zasilania wynosi w teorii 45V, W praktyce ogranicza go moc strat tranzystora Q1, a co za tym idzie maksymalne napięcie kolektor-emiter Vce. Wartość R2 dobiera się według pożądanego prądu. Pomoże w tym poniższa tabela zawierająca typowe prądy, wartości rezystorów z szeregu E24 5%, oraz maksymalne napięcia Vce przy maksymalnej mocy, jaką może oddać tranzystor BC547C.
Prąd | R2 (E24) | Vce |
12,5mA | 51? | 40V |
15mA | 43? | 33V |
20mA | 33? | 25V |
25mA | 27? | 20V |
Jeśli chcemy kontrolować diody za pomocą mikrokontrolera, to wystarczy R1 podłączyć do wyjścia, zamiast do Vcc. Jeśli zaś potrzebujemy dużo wyższych napięć zasilania, to dobieramy tranzystory o stosownie większym napięciu Vceo, Q1 zaś powinien też mieć większą dopuszczalną moc strat. Zwiększamy też wartość R1 proporcjonalnie do wzrostu napięcia.
Wyświetlacze i matryce LED
Jeśli chcemy sterować wieloma diodami LED na raz albo przekazywać informacje za pomocą wyświetlaczy czy matryc LED, musimy rozwiązać problem kontroli. Nie ma bowiem sensu podłączać każdej diody do jednego wyjścia z mikrokontrolera, by ją indywidualnie kontrolować. Przykładowo czterocyfrowy wyświetlacz siedmiosegmentowy wymagałby 32 wyjść (doliczając kropki). Problem ten rozwiązano już w czasach lamp elektronowych, a dokładniej to lamp nixie i VFD Lampy te mają wspólną anodę i zestaw katod, z których każda załącza jedną cyfrę lub znak w lampie nixie lub jeden segment w lampie VFD (lub w siedmiosegmentowym wariancie nixie pod nazwą Panaplex). Katody poszczególnych lamp są połączone ze sobą równolegle, anody zaś są załączane po kolei. Wyświetlacz tak zbudowany potrzebuje tyle linii anodowych, ile jest w nim lamp, i tyle linii katodowych, ile ma lampa z ich największą liczbą. Pojawienie się diod i wyświetlaczy LED ułatwiło sprawę, bo pozwoliło obniżyć napięcie zasilania, co z kolei uprościło układy sterujące. Dało to też alternatywny sposób sterowania wyświetlaczami wynikający z łączenia razem katod zamiast anod.
Wspólna katoda czy wspólna anoda?
Generalnie nie ma zbyt wielkiej różnicy między sterowaniem wyświetlaczami o wspólnej anodzie i o wspólnej katodzie. Zmienia się tylko typ użytego tranzystora wybierającego wyświetlacz z zestawu oraz polaryzacja sygnałów sterujących. Niech za przykład posłuży zestaw czterech wyświetlaczy siedmiosegmentowych. Najpierw wspólna anoda:
Rezystory R1-R4 oraz tranzystory PNP Q1-Q4 służą do selekcji jednego z czterech wyświetlaczy. Rezystory R5-R12 wybierają poszczególne katody diod do zapalenia. Ich wartości dobiera się wedle prądu If i napięcia Vf diod w wyświetlaczach. R1-R4 mogą mieć typową wartość 10k?. Tranzystory powinny mieć dopuszczalny prąd maksymalny 8 * If. W tym układzie połączeń polaryzacja sygnałów jest odwrotna i na wyjściach anodowych (do R1-R4) i katodowych (R5-R12) domyślnie panuje stan wysoki. Sekwencja sterowania wygląda więc tak:
1. Ustawiamy stan niski na R1.
2. Ustawiamy stan niski na wybranych wyjściach katodowych.
3. Czekamy.
4. Ustawiamy stan wysoki na wszystkich wyjściach katodowych.
5. Ustawiamy stan wysoki na R1.
Sekwencję powtarzamy dla każdego wyjścia anodowego tak szybko, by sekwemcja dla całego wyświetlacza potwórzyła się 20-25 razy na sekundę. Najlepiej zmiany stanów wyjść realizować w przerwaniu wywołanym przez jeden z timerów mikrokontrolera. Spójrzmy na schemat dla wyświetlaczy ze wspólną katodą:
Tym razem R1-R8 wybierają anody wyświetlaczy, podczas gdy R9-R12 wybierają ich wspólne katody przez tranzystory NPN Q1-Q4. Tym razem to stan wysoki na wybranych wyjściach anodowych i katodowym zapala segmenty wyświetlaczy, a stan niski je gasi. Sekwencja sterująca ze strony mikrokontrolera jest praktycznie identyczna, różni się tylko polaryzacją. Dla mnie to jest preferowany sposób sterowania, przy czym zamiast tranzystorów NPN można użyć tranzystorów MOSFET-N typu logic level i o niskim Rdson, zwłaszcza gdy sterujemy nie wyświetlaczem, a matrycą wielu diod LED, o czym poniżej.
Matryca RGB z rejestrami przesuwnymi i tranzystorami MOSFET-N
Jest to rozwiązanie dedykowane do łatwego sterowania dużymi ilościami diod LED przy minimalnej ilości pinów mikrokontrolera. Poniżej przedstawiam fragment schematu pewnego układu, nad którym pracowałem, a dokładniej układ sterowania matrycą 64 diod RGB. Jest to matryca LED o konfiguracji 8x8, gdzie rzędy mają wspólne anody, a kolumny wspólne katody. Technicznie rzecz biorąc to matryca 24x8, gdyż każda dioda ma wspólną katodę dla kolorów czerwonego, zielonego i niebieskiego.
Mamy tu cztery rejestry przesuwne 74HC595 połączone w łańcuch. Sterowane są one trzema sygnałami: Zegar, Dane i Transfer. Za każdym razem, gdy pin Zegqar przechodzi ze stanu niskiego w wysoki, bieżący stan pinu Dane jest ładowany na pozycję Q0 wewnętrznego rejestru układu 74HC595, a na wyjściu Q7S pojawia się stan z pozycji Q7 rejestru. Ponieważ to wyjście rejestru łączy się z wejściem następnego, Dzięki takiemu połączeniu możemy przesłać do rejestrów 32 bity jednym ciągiem. Zmiana stanu pinu Transfer z niskiego na wysoki załaduje stany rejestrów na ich wyjścia Q0-Q7. Pierwsze trzy rejestry sterują anodami czerwonymi, zielonymi i niebieskimi. Czwarty kontroluje katody przez tranzystory MOSFET-N typu logic level. Dlaczego? Bo przez każdy z nich może popłynąć prąd 24 * If, czyli aż 480mA.
Stan matrycy zapisany był w pamięci w formie trzech tablic (R, G i B), po osiem bajtów na tablicę. Każdy bajt reprezentował jedną kolumnę matrycy. Co pięć milisekund (dzięki przerwaniu od timera) program składał bajt wybierający jedno z ośmiu wyjść sterujących katodami oraz trzy wartości z tablic R, G i B, po czym przesyłał je razem tak szybko, jak się da do rejestrów. Na koniec pin Transfer przechodził na moment w stan wysoki, co ładowało wczytane dane do wyjść i stosowne diody się zapalały. Przerwanie co 5 milisekund gwarantowało odświeżanie całej matrycy 25 razy na sekundę. Swoją szosą była to jedyna część tamtego programu, która działała bez zarzutu...
Czy do obsługi wyświetlacza bądź matrycy tranzystory są potrzebne?
Nie. Możemy wspólne katody bądź anody podłączyć bezpośrednio do wyjść mikrokontrolera. Warunkiem działania takiego rozwiązania jest zagwarantowanie, by na raz świeciła się tylko jedna dioda. Inaczej przeciążymy pin wspólny dla diod i uszkodzimy mikrokontroler. Większość mikrokontrolerów dopuszcza maksymalny prąd ?25mA na pin, czym się bezwstydnie chwalą w notach katalogowych. Ponieważ na raz pali się tylko jedna dioda LED, a reszta jest zgaszona, to sumaryczna jasność całego wyświetlacza będzie niższa.
Specjalizowane układy do matryc i wyświetlaczy
Na rynku dostępne są specjalizowane układy driverów LED, zarówno dla pojedynczych diod, jak i dla wyświetlaczy i matryc LEDowych. Rodziny układów 7400 i 4000 mają dedykowane dekodery LED z kodu binarnego lub BCD na wyświetlacze siedmiosegmentowe. Były też układy dedykowane do współpracy z lampami Nixie i VFD odporne na wysokie napięcia potrzebne do ich działania. Są one, podobnie jak same lampy, bardzo poszukiwane przez budowniczych zegarków retro. Przez to niejeden całkiem przyzwoity miernik stołowy został rozszabrowany i bezpowrotnie zniszczony.
STMicro ma na przykład układy STP08DP05 i STP16CPC05, które sposobem pracy przypominają rejestry serii 74xx595. Można je bowiem kontrolować sygnałem szeregowym i łączyć szeregowo. Każde wyjście jednak przy stanie wysokim zwierane jest do masy przez źródło prądowe, którego prąd maksymalny ustala pojedynczy rezystor zewnętrzny. Jest to zatem świetny układ do kontroli pojedynczych diod LED, ale też matryc LEDowych. Pierwszy układ posiada osiem wejść prądowych, drugi szesnaście. Micrel z kolei oferuje podobny układ, MIC5400, który pozwala sterować szesnastoma diodami połączonymi w układzie wspólnej anody, w formie dwóch banków po osiem diod. Do pracy wymaga rezystora ograniczającego prąd i dwóch tranzystorów PNP do sterowania anodami. W zamian za to oferuje zgrubną (4 bity) i dokładną (10 bitów) regulację jasności diod. Podobnie, jak w przypadku układów STMicro te też można łączyć szeregowo.
Microchip ma w swojej ofercie układy MM5450/-51, posiadające odpowiednio 34 lub 36 wyjść. Tych układów nie da się łączyć szeregowo, ale nie jest to konieczne w typowych zastosowaniach, gdyż w nocie znajdziemy przykład łączenia ośmiu wyświetlaczy siedmiosegmentowych do układu MM5450 z pomocą dwóch tranzystorów PNP. W teorii można kontrolować tymi układami matrycy LED 17x17 lub 18x18, czyli odpowiednio 289 lub 324 indywidualne diody. Podobnie, jak w powyższych układach prąd, a zarazem jasność są ograniczone i regulowane rezystorem. Microchip zaleca potencjometr. Maxim oferuje dedykowane układy, MAX7219/MAX7221, do sterowania multipleksowanych wyświetlaczy siedmiosegmentowych i matryc LED. Obsługują one matryce 8x8 lub osiem wyświetlaczy LED za pomocą protokołu SPI i jego pochodnych. Układy te oferują wiele dodatkowych funkcji i odciążają mikrokontroler - potrzebne wartości można wysłać jako kod BCD. Na Alledrogo można kupić gotowe płytki z matrycami 8x8 używające chińskich klonów MAX7219.
Skoro już wspominamy o Chinach, to warto zwrócić uwagę na dwa układy firmy Titan Micro Electronics, które sprzedawane są głównie w gotowych modułach. Są to układy TM1637 i TM1638. TM1637 obsługuje do sześciu wyświetlaczy siedmiosegmentowych o wspólnej anodzie i jednocześnie pozwala skanować matrycę klawiszy w układzie 8x2. TM1638 obsługuje do 10 wyświetlaczy siedmiosegmentowych o wspólnej anodzie i matrycę klawiszy 8x3. Oba układy są sterowane przez dwukierunkowy interfejs szeregowy. Niestety, układy te są dostępne głównie w formie gotowych (niedrogich) modułów, więc jeśli potrzebna jest inna konfiguracja, niż to, co wymyślili chińscy inżynierowie, to trzeba będzie układ wylutować.
Dla miłośników prostych multimetrów Maxim wciąż produkuje układy serii ICL7107 i ICL7117, a Microchip robi ich odpowiedniki pod symbolem TC7107/TC7117. Wersje sterujące wyświetlaczami LCD mają oznaczenia ICL/TC7106/7116. Schematy różnych mierników i multimetrów na ich bazie znajdują się zarówno w notach katalogowych i aplikacyjnych, jak i w wielu czasopismach i zbiorach schematów. Ja znalazłem kilka w Poradniku Radioamatora.
Diody LED specjalne
Diody migające
Czyli diody LED z wbudowanym układem scalonym i ograniczeniem prądowym. Występują w wariantach jedno-, dwu- i trzykolorowym. Jednokolorowe LEDy spotyka się często w prostych zestawach typu "migadełko choinkowe", gdzie diody wtyka się w tekturową kartkę z rysunkiem choinki i łączy się od drugiej strony. Dodatkowe rezystory i tranzystor pozwalają na to, by jedna dioda migająca kontrolowała pozostałe diody. Diody dwukolorowe zapalają oba kolory naprzemiennie. Diody RGB powtarzają sekwencję wszystkich możliwych kombinacji kolorów lub sekwencję tylko kolorów głównych. Ich zastosowanie ogranicza się do dodawania tej dodatkowej porcji kiczu w najróżniejszych tanich gadżetach i zabawkach z Chin.
Diody płynnie zmieniające kolory
Diody RGB z wbudowanym układem scalonym, które przechodzą płynnie przez całą tęczę kolorów. Spotykane w budżetowych peryferiach komputerowych i w gadżetach. Nadal są kiczowate, ale mimo wszystko mniej kiczowate od migających konkurentów. Ze względu na rozrzut parametrów rezonatorów RC użytych w tych diodach każda z nich zmienia kolory w odrobinę innym tempie. Dlatego moje ekstra-tanie, odpustowe głośniczki komputerowe po włączeniu zasilania świecą tym samym kolorem tylko przez krótką chwilę. Podobnie odrobinę droższa myszka z czterema diodami tego typu zmienia kolory w sposób całkiem interesujący.
Pewnym interesującym podtypem tych diod są LEDy emulujące światło świecy. Nie miałem przyjemności oglądania takiej diody na żywo, ale przypuszczam, iż efekt nie jest mocno porywający i często zależy od budżetu przeznaczonego na zakup takiej diody. Uzyskanie sensownego efektu może jednak wymagać użycia diod RGB i mikrokontrolera.
Lampki LED - zamienniki miniaturowych żarówek
Produkt cokolwiek niszowy, bo przeznaczony do starszych urządzeń i pojazdów. Zamienniki miniaturowych żarówek znajdą zastosowanie przy naprawie sprzętu retro jako podświetlenie skal i wskaźników, oraz w starszych samochodach, gdzie w roli kontrolek występowały miniaturowe żaróweczki na 12-24V. Lampki te mają ukryty w cokole układ zasilania, który często przyjmuje prąd stały i zmienny o dowolnej polaryzacji przy dość szerokim zakresie napięć. Za tę elastyczność często trzeba zapłacić wyższą ceną, ale prawdopodobnie taka lampka "przeżyje" sprzęt, w którym się znajdzie. Jako oświetlacze skal i wskaźników najlepiej sprawdzą się lampki białe ciepłe, chyba że oryginalnie użyto żarówek barwionych. We wskaźnikach samochodowych z wbudowanymi filtrami koloru warto sprawdzić zarówno lampki w kolorze kontrolki, jak i białe neutralne/zimne dla uzyskania optymalnej jasności.
Diody laserowe
Znane z napędów optycznych i breloczków-wskaźników te niewielkie komponenty potrafią być niebezpieczne dla zdrowia. Diody te generują światło konkretnej długości fali, gdzie wszystkie fotony "są w fazie", ale nadal wymagają soczewki do skupienia wiązki. Występują w kolorach podczerwonym, czerwonym i niebieskim. Inne kolory, jak zielony, są zazwyczaj uzyskiwane na drodze procesu powielania częstotliwości drgań fotonów - w tym celu używa się diod podczerwonych o mocach większych od mocy uzyskanej wiązki światła w innym kolorze. Jako przykład diody laserowej w kolorze zielonym, gdzie nie trzeba podwajać częstotliwości światła niech posłuży poniższy film demonstrujący przy okazji, co jest możliwe do legalnego kupienia i zbudowania:
Diody laserowe są nadzwyczaj delikatne - źle znoszą wyładowania elektrostatyczne, wysoką temperaturę pracy i przekroczenie dopuszczalnego prądu znamionowego. Światło co mocniejszych diod bezproblemowo uszkadza sensory optyczne cyfrowych aparatów oraz kamer kamer, a także zwierząt i ludzi. Dlatego zabawa z diodami laserowymi nie jest zalecana dla początkujących, a dobre okulary ochronne to konieczność, a nie fanaberia. Oko nie pieczarka - nie odrośnie.
Diody programowalne WS2812x i WS2813
Ze wszystkich diod LED RGB rodzina WS2812x i WS2813 jest od kilku lat najpopularniejsza wśród zagranicznych hobbystów, a i w Polsce dobrze się przyjęła. Diody te są łatwo dostępne w formie taśm i modułów o różnych kształtach, z czego WS2812B jest wariantem najpopularniejszym. Ale czym są te diody i dlaczego są tak popularne?
WS2812x i WS2813 to programowalne diody RGB w obudowach SMD. Do programowania używany jest bardzo prosty interfejs szeregowy, który umożliwia łączenie diod w długie łańcuchy i kontrolowanie ich jednym pinem. Każda dioda ma wbudowany kontroler sterujący poszczególnymi kolorami R, G i B oferując 256 poziomów jasności (8 bitów), Do łańcucha diod wysyła się strumień bitów składający się z trzech wartości ośmiobitowych dla kolorów G, R i B, bez żadnych odstępów między bajtami czy pakietami. Każda kolejna dioda zastępuje dane dla siebie stanem niskim, a resztę strumienia bajtów wysyła dalej. Po wysłaniu całego pakietu danych wstawia się krótką pauzę, by oznaczyć koniec transmisji i móc zacząć ją od nowa. Dokładniej protokół opiszę poniżej. Poniżej dwa zdjęcia diody WS2812B, na pierwszym widać strukturę diody z drutami łączącymi układ scalony z metalowymi polami wuprowadzającymi sygnały na zewnątrz i diodami. Na drugim możemy zobaczyć zbliżenie na sam układ scalony (zdjęcie zrobione chińskim mirkoskopem USB).
Czym się różni WS2812x od WS2813?
Podstawową różnicą między tymi rodzinami diod jest obecność wejścia BIN w diodach WS2813. Wspomniałem wyżej, iż każda dioda zastępuje pakiet wartości dla siebie stanem niskim i wysyła resztę dalej, aż do pojawienia się stanu RST. Wejście BIN robi to samo, co poprzednia dioda w łańcuchu zanim dane trafią do właściwego rejestru. To sprawia, że łącząc diody sposób pokazany poniżej awaria jednej z diod nie przerywa transmisji danych do kolejnych. Dopiero awaria dwóch sąsiadujących diod przerywa łańcuch. W przypadku WS2812x awaria diody powoduje, że reszta diod w łańcuchu nie otrzymuje swoich danych i przez to nie może być kontrolowana. Sposób łączenia diod WS2813 pokazują poniższe schematy:
Drugą zaletą WS2813 jest wyższa częstotliwość PWM, 2kHz, podczas gdy WS2812x ma częstotliwość PWM 400Hz, co przy dłuższych łańcuchach i różnych dodatkowych zaprogramowanych efektach może prowadzić do nieprzyjemnego migotania. WS2813 ma też dłuższy czas dla sygnalizacji końca pakietu, bo 300?s zamiast 50?s dla starszej wersji - przydaje się to przy używaniu wolniejszych mikrokontrolerów. Wadą jest nieco wyższa cena i mniejsza popularność. Póki to się nie zmieni, to diody WS2812B są lepszym wyborem dla hobbysty. W razie uszkodzenia któreś diody w taśmie LED można zwykle wyciąć cały segment, wstawić nowy, odcięty od taśmy i wlutować zworki z nóżek by "wstawkę" połączyć z resztą taśmy.
WS2815, WS2811, SK9822, SK6812RGBW
WS2815 funkcjonalnie nie różni się niczym od WS2813, z wyjątkiem napięcia zasilania. Ten wariant zasilany jest napięciem 12V, a diody w strukturze są łączone szeregowo, a nie równolegle jak w innych wariantach. W przypadku długich łańcuchów wyższe napięcie zasilania sprawia, że nie ma spadków jasności w środku łańcucha i nie trzeba dolutowywać dodatkowych przewodów zasilających co kilka metrów. W handlu dostępne są też układy WS2811, które są kontrolerami bez diod LED, i są dostępne w tanich taśmach na napięcie 12V, gdzie każdy układ kontroluje grupę trzech diod. Sposób działania jest analogiczny do WS2812, ale układ oferuje wejście SET pozwalające ustalić częstotliwość odświeżania diod na 400Hz lub 800Hz.
SK9822 jest alternatywą dla diod WS2812x oferującą lepszy protokół komunikacji. Te diody posiadają wejście i wyjście zegarowe, dzięki czemu odpada problem dbania o czasy stanów wysokich i niskich dla poszczególnych bitów. Częstotliwość transmisji danych może przez to być kilkukrotnie wyższa, niż w przypadku innych układów. Może też być też dużo wolniejsza. Pakiet składa się z 32-bitowych ramek, z których pierwsza to ramka startu, a ostatnia to ramka stopu. Pozostałe zawierają dane jasności poszczególnych kolorów. Poza regulacją jasności poszczególnych kolorów (8 bitów) jest jeszcze regulacja wspólnej jasności w 32 poziomach (5 bitów). Moim zdaniem ta zgrubna regulacja została dodana po to tylko, by ramki miały 32 bity. Pod każdym innym względem układy te są analogiczne do WS2812.
SK6812RGBW to alternatywa dla WS2812, w swojej strukturze zawiera dodatkową, białą diodę LED. Dostępne są warianty biały zimny, biały neutralny i biały ciepły. Te diody kosztują więcej i pobierają więcej prądu (w przypadku taśm trzeba dołączać zasilanie w większej liczbie miejsc), ale oferują lepszą jakość bieli, niż standardowe diody RGB. Sposób kontroli jest analogiczny do diod WS2812x, ale każdy pakiet danych zawiera 32 bajty zamiast 24. Dodatkowy bajt kontroluje diodę białą.
Jak sterować diodami?
Do sterowania diodami WS2812x i podobnymi dostępne są gotowe biblioteki. Trzy najpopularniejsze to FastLED, Neopixel i WS2812FX. Biblioteki są napisane z myślą o środowisku Arduino, więc użycie ich w środowisku niekompatybilnym może wymagać sporych modyfikacji. W planach mam przetestowanie tych bibliotek, zwłaszcza WS2812FX, w środowisku MPLAB-X z mikrokontrolerem PIC18F45K50.
Drugą opcją jest napisanie własnej biblioteki do obsługi tych diod. Ma to sens zwłaszcza wtedy, gdy nie ma biblioteki dla użytego mikrokontrolera, albo potrzebujemy mocno zoptymalizowanego kodu do uzyskania konkretnych efektów. Można też pisanie takiej biblioteki od zera potraktować jak ćwiczenie umiejętności programowania - zwłaszcza hobbyści z małym doświadczeniem (jak ja) powinni tak robić. Gotowe moduły są absurdalnie tanie, a wizualna reprezentacja efektów dobrze motywuje do samodoskonalenia.
Układy WS281xx i im podobne używają jednej linii danych z protokołem, w którym wartości binarne 0 i 1 są zakodowane czasem trwania stanu wysokiego.Czas trwania stanu niskiego jest mniej istotny, i musi tylko spełnić kryterium minimalnej długości. Wszystkie czasy przedstawia poniższa tabela:
Ton | Toff | Tolerancja | |
0 | 350ns | 800ns | ?150ns |
1 | 700ns | 600ns | ?150ns |
RST | - | >50?s |
Dla WS2813 czasy wyglądają tak:
Tonmin | Tonmax | Toffmin | Toffmax | |
0 | 100ns | 450ns | 300ns | 100?s |
1 | 750ns | 1000ns | 300ns | 100us |
RST | - | - | >300?s |
Dla WS2812B czasy Toff mogą osiągać 5?s. Dane są przesyłane w formie trzech kolejnych bajtów dla kolorów zielonego, czerwonego i niebieskiego. SK6812RGBW dodaje na koniec czwarty bajt dla białej diody. Pierwsza dioda zapisuje pierwszą sekwencję do rejestru, na wyjście podając stan niski. aż zacznie się sekwencja danych dla kolejnych diod. Zakończenie transmisji sygnalizowane jest stanem niskim trwającym dłużej niż czas RST. Dopiero po jego upływie pierwsza dioda zacznie akceptować nowe dane.
Minimalny czas wykonywania instrukcji mikrokontrolera musi wynosić przynajmniej 400ns, by mikrokontroler mógł wysyłać "zera". Inaczej pisząc powinien móc "machać nóżką" z częstotliwością przynajmniej 2,5MHz. Dlaczego 400ns, a nie 450ns, jak stoi w tabeli? A dlatego, by był jakiś margines błędu zarówno dla układów w diodach, jak i w oscylatorze mikrokontrolera. Tak czy siak oznacza to, że zbyt wolne mikrokontrolery nie poradzą sobie z obsługą WS281xx i podobnych. Na szczęście szybkich mikrokontrolerów na rynku nie brakuje.
Diody LED mocy
Diody LED mocy zyskały niezwykłą popularność w ciągu ostatnich 10-15 lat. Hobbyści spotykali je najpierw w latarkach oraz jako alternatywę do lamp HPS czy CFL do oświetlania akwariów z bujną roślinnością czy do hodowli roślin w szafie. Mój pierwszy z nimi kontakt miał miejsce, gdy kolega poprosił mnie o złożenie dla niego lampy świecącej podczerwienią na potrzeby fotografii. Gotowa lampa zawierała 7 diod podczerwonych o mocy 1W każda, fabryczny zasilacz i fabryczne soczewki skupiające światło. Test z kamkorderem z trybem noktowizyjnym dał mi zasięg ponad 30 metrów dobrej widoczności. Z perspektywy lat mogę stwierdzić, że mogłem to lepiej zrobić.
Do wyboru, do koloru
Podobnie, jak z diodami "tradycyjnymi", tak i w przypadku LED mocy mamy mnogość opcji. Diody białe są najpopularniejsze, ale poza nimi mamy diody kolorowe ze spektrum od podczerwieni do ultrafioletu, z oddzielną grupą diod do hodowli roślin, oraz diody RGB i RGBW. Typowe moce to 1W, 3W, 5W i 10W. Są też diody większe, od 20W do 100W, i więcej. Sam mam diodę 100W, którą kupiłem na potrzeby naprawy projektora (utknąłem na etapie wymyślania, jak to wszystko upchnę, ale teraz mam narzędzia, których nie miałem wcześniej). Hobbyści zwykle kupują diody przylutowane już do specjalnych płytek drukowanych (bardzo cienki laminat naklejony na bazę z aluminium), poniżej zdjęcie kilku takich diod.
Na potrzeby napraw i modyfikacji latarek i innych urządzeń można kupić "gołe" diody. Sam zrobiłem to raz, do naprawy mojej pierwszej latarki LED, którą dwa miesiące później i tak zgubiłem. Za to wymiana chińskiej diody Cree na diodę kupioną w Polsce podniosła jasność o jakieś 30%. Dlaczego tak się stało? Ano dlatego, że diody LED mocy są sortowane w fabryce pod kątem sprawności, a w przypadku diod białych także temperatury barwowej i współczynnika oddawania kolorów. Diody "gorszego sortu" są sporo tańsze od tych najlepszych, więc są chętnie kupowane przez chińskich fabrykantów latarek. Te lepsze znajdziemy w produktach klasy premium, z odpowiednio wyższą ceną. Warto o tym pamiętać wybierając diody do swojego projektu.
Zasilanie diod mocy
Podobnie jak zwykłe diody LED, diody mocy też są elementami prądowymi. Prądy są jednak znacząco wyższe - typowa dioda 1W potrzebuje prądu 350mA, podczas gdy mały LED wymaga maksymalnie 20-25mA. Dioda 10W może wymagać prądu 3A. Skutkiem ubocznym tak dużych prądów jest to, że standardowe dobieranie rezystora albo budowanie ograniczenia prądowego na tranzystorach nie ma zupełnie sensu. Dlaczego? Bo straty mocy na rezystorze albo na obwodzie ograniczenia prądowego będą dość spore, czasem nawet większe, niż straty mocy na samej diodzie.
W praktyce do zasilania diod mocy używa się przetwornic impulsowych w konfiguracji źródła prądowego. Do zasilania sieciowego są to proste przetwornice transformatorowe, najczęściej typu flyback, forward albo RCC. Przy zasilaniu niższym napięciem popularne są przetwornice buck, boost i SEPIC. By ułatwić pracę projektantom producenci oferują szeroką gamę układów scalonych przeznaczonych do zasilania diod LED mocy. W praktyce amatorskiej projektowanie układu od zera może nie mieć sensu, gdyż gotowe moduły są relatywnie tanie. Dla przykładu za 5 złotych można nabyć przetwornicę typu buck na układzie LM2596S z regulacją napięcia i natężenia. Za podobną cenę można kupić moduł zasilacza LED na napięcie 230V pozwalającego zasilić 4-7 diod LED 1W, i mniejszy dla 1-3 diod 1W. Dostępne są też moduły do budowy latarek LED na okrągłych płytkach o średnicy dopasowanej do współpracy z ogniwami litowymi 18650 i podobnymi.
Są sytuacje, gdzie jednak warto pokusić się o budowę własnej przetwornicy lub liniowego ograniczenia prądowego. Na przykład wtedy, gdy chcemy mieć kontrolę nad jasnością świecenia diody bądź diod. Prostą implementację liniowego zasilacza prądowego dla LED 1W wpółpracującego z wyjściem PWM mikrokontrolera lub z wyjściem DAC przedstawia poniższy schemat:
Sercem układu jest wzmacniacz operacyjny, na schemacie jest to połowa LM358, ale z powodzeniem można użyć LM321 albo MCP6021/2. Dla układów LM napięcie zasilania powinno wynosić przynajmniej 7V, dla MCP maksymalnie 5,5V. Wzmacniacz pracuje w konfiguracji prądowego obciążenia z rezystorem R2(izolującym wyjście wzmacniacza od tranzystora) tranzystorem Q1 (BD135, ale może być dowolnie inny tranzystor średniej mocy NPN, lub MOSFET typu N, jeśli tylko napięcie potrzebne na wysterowanie bramki będzie niższe lub równe napięciu zasilania) oraz rezystorem R3, na którym odkłada się około 77mV orzy 350mA. Rezystor R1 i kondensator C3 stanowią filtr dolnoprzepustowy o paśmie ~1,55kHz, R4 i R5 zaś stanowią dzielnik napięcia 1:64,7. Napięcie z dzielnika jest porównywane z napięcie z R3 przez wzmacniacz, który tak steruje tranzystorem Q1, by oba napięcia były równe. Maksymalny prąd diody może wynieść 351mA, nie uwzględniając napięcia niezrównoważenia wejść wzmacniacza. Dla LM358 może ono zmienić prąd diody o ±27mA. Należy też uwzględnić rozrzut parametrów rezystorów. Warto więc ustawić napięcie DAC na 2,5V (PWM o wypełnieniu 50%) i sprawdzić, czy przez diodę płynie dokładnie 175mA.
Chłodzenie diod LED mocy
Diody LED mocy są dość wydajne w produkcji światła, ale mimo to 10-40% energii zmieni się w ciepło, którego trzeba się pozbyć. Przy czym im większa moc diody i im gorszy sort, tym większy procent energii zmienia się w ciepło. Dlatego diody LED wymagają jakiejś formy chłodzenia. Amatorzy hodowli roślin akwariowych i szafowych montują diody LED z "gwiazdkami" do metalowego płaskownika, i to wystarczy. W latarkach diody LED 1-10W odprowadzają ciepło do obudowy, z różną skutecznością. Dla diody 100W, którą posiadam zakupiłem radiator z wentylatorem dedykowany do procesorów AMD sprzed 15 lat. W studyjnych lampach LED o dużych mocach znajdziemy sporej wielkości radiatory i wentylatory wymuszające chłodzenie.
Diody LED mocy, jak każdy półprzewodnik, mogą pracować w temperaturze do 150°C. Ale w praktyce temperatury struktury powyżej 85°C negatywnie wpływają na żywotność diody. Szczególnie boleśnie "odczuwają" to diody, w których struktury są łączone w układzie szeregowo-równoległym. Te rozpoznamy po napięciu przewodzenia od 6V wzwyż. Te struktury mogą się zwyczajnie nagrzewać nierównomiernie. Dodatkowo w przypadku białych diod te są jeszcze pokryte luminoforem, który nie przewodzi dobrze ciepła i sam może ulegać degradacji.
Soczewki
Diody mocy z reguły mają dość szeroki kąt świecenia, dlatego czasem może być potrzeba dołożenia układu optycznego. Dla większości mniejszych diod o mocach od 1W do 5-10W można nabyć soczewki o szerokim zakresie kątów skupienia światła. Na potrzeby oświetlacza podczerwonego kupiłem siedem soczewek o kącie 5° by lepiej skoncentrować światło. Efekt był nadzwyczaj zadowalający. Dla diod większych mocy (np. 100W) soczewki też występują, z reguły z dodatkowym reflektorem, ale ich ceny bywają sporo wyższe. W tej sytuacji amator może pokusić się o soczewkę Fresnela z lampy typu PAR.
Podsumowanie
Nie ma elektronika, zarówno amatora, jak i profesjonalisty, który by nie miał do czynienia z diodami LED. Są to jedne z podstawowych komponentów, choć ich rola to tylko oświetlanie i sygnalizowanie. Budowanie własnych "mrygaczy" i innych efektów świetlnych jest, moim zdaniem, satysfakcjonującym zajęciem i dobrym powodem, by sięgnąć po lutownicę lub programator.
Mam nadzieję, zę wystaraczajaco wyczerpałem temat, nie wyczerpujac przy tym czytelnika. Jak zwykle, zachęcam wszystkich do zadawania pytań i dzielenia się swoimi uwagami. Ale chciałbym też Was prosić, byście podzielili się swoimi projektami z diodami LED.
Cool? Ranking DIY