Pełny tekst
Transkrypt
Pełny tekst
Lech GRODZKI STAŁOPRĄDOWE STEROWANIE DIODĄ RGB*) STRESZCZENIE Układ sterowania wyświetlaczem z diodami RGB powinien umożliwiać z jednej strony emisję wybranej barwy emitowanego światła, a z drugiej – jej stabilizację w różnych warunkach pracy. Polega to na zapewnieniu właściwych proporcji pomiędzy prądami płynącymi przez składowe elementy diody. Przez szereg lat powyższe zadania realizowano w oparciu o drivery mocy sterowane sygnałami PWM. Nowoczesne układy scalone pozwalają przejść na tryb stałoprądowy. Upraszcza to zadania realizowane przez mikrokontroler nadzorujący wyświetlacz. Pozostaje mu jedynie wyznaczanie proporcji pomiędzy składowymi prądami diody i ewentualna ich korekcja, uwzględniająca zmienne warunki jej pracy. Artykuł prezentuje możliwości wybranych układów scalonych Texas Instruments, które w połączeniu z mikrokontrolerem umożliwiają sterowanie diod LED wraz z kompensowaniem niekorzystnych wpływów czynników zewnętrznych. Słowa kluczowe: sterowanie stałoprądowe LED RGB, mikrokontrolery 1. STEROWANIE PRACĄ DIOD LED RGB Zadaniem układu sterowania diodą LED RGB jest uzyskanie strumienia światła o wybranym natężeniu i barwie. Są to dwa podstawowe parametry użytkowe diody LED RGB jako regulowanego źródła światła, stosowanego do oświetlania elementów architektury, przedmiotów sztuki, itp. Regulacje tych *) Zrealizowano w ramach pracy S/WE/1/06 dr inż. Lech GRODZKI e-mail: [email protected] Politechnika Białostocka Wydział Elektryczny PRACE INSTYTUTU ELEKTROTECHNIKI, zeszyt 245, 2010 130 L. Grodzki parametrów uzyskuje się sterując odpowiednio monochromatyczne komponenty diody, emitujące światło czerwone, zielone i niebieskie. Głównymi czynnikami elektrycznymi wpływającymi na pracę diody RGB są prądy świecenia płynące przez jej diody składowe. Kontrolując te prądy można: • zmieniać proporcje między monochromatycznymi strumieniami światła ΦR, ΦG, ΦB w celu zmiany barwy strumienia wypadkowego; • regulować natężenie emitowanego światła przez odpowiednie jednoczesne zwiększanie lub zmniejszanie prądów składowych IFR, IFG i IFB; • korygować wpływ na jasność i barwę diody takich czynników środowiskowych, jak temperatura otoczenia czy też starzenie się samej diody LED. Powszechnie stosowaną metodą regulacji prądów świecenia diod LED jest zastosowanie sterowania PWM. Wykorzystuje ono z jednej strony całkujące właściwości zmysłu wzroku, a z drugiej jego ułomność w postrzeganiu szybkich zjawisk. Dobierając odpowiednio współczynniki wypełnienia uzyskuje się regulację strumienia emitowanego światła jako sumy strumieni składowych: Φ = ΦR + ΦG + ΦB (1) Na tej samej zasadzie uzyskuje się regulację barwy światła – zmiana proporcji pomiędzy strumieniami światła ΦR, ΦG, ΦB skutkuje zmianą obserwowanej barwy. W praktycznych realizacjach wykorzystuje się układy analogowe [2], mikrokontrolery [7], a nawet struktury FPGA [6]. Niewątpliwą niedogodnością tej metody jest konieczność generowania jednocześnie w wielu kanałach przebiegów prostokątnych o odpowiednio wysokiej częstotliwości i regulowanym współczynniku wypełnienia. Dlatego warto zwrócić uwagę na alternatywne techniki sterowania pracą diod LED. 2. UKŁADY DO STEROWANIA STAŁOPRĄDOWEGO 2.1. Ogólna charakterystyka W ofercie firmy Texas Instruments można znaleźć grupę układów scalonych przeznaczonych do sterowania stałoprądowego grupą 16 diod LED, z niezależną korekcją wartości prądu świecenia. Są to układy: TLC5922, TLC5923 i TLC5924. Mają one szereg cech wspólnych [3, 4, 5]: 131 Stałoprądowe sterowanie diodą RGB • 16 kanałów wyposażonych w sterowane źródła prądowe w zakresie 0–80 mA i dokładności ±1%; • 7-bitowy współczynnik korekcji wartości prądu niezależnie w każdym kanale wyjściowym; • indywidualne włączanie i wyłączanie kanałów wyjściowych; • napięcie zasilania układu 3,0–5,5 V; • napięcie zasilania diod LED do 17 V, umożliwiające sterowanie diodami połączonymi szeregowo; • szeregowy interfejs synchroniczny typu SPI, o szybkości do 30 MHz, umożliwiający nadrzędnemu mikrokontrolerowi sterowanie pracą układu; • wejście jednoczesnego wygaszania wszystkich kanałów wyjściowych; • możliwość kaskadowego łączenia magistralą SPI większej liczby układów. Sterując jednocześnie grupą kilku diod LED zależy nam na zapewnieniu im identycznych punktów pracy, ponieważ gwarantuje to równomierne ich świecenie. W przypadku omawianych układów, producent gwarantuje różnice wartości prądów regulowanych źródeł prądowych na poziomie ±1% w obrębie danego egzemplarza układu scalonego i maksimum ±4% w grupie układów scalonych. Są to satysfakcjonujące dane, jeśli uwzględni się, z jakimi rozrzutami parametrów pracy spotykamy się w przypadku samych diod LED. Oprócz cech wspólnych omawiane układy nieznacznie się różnią, co ilustruje tabela 1. TABELA 1 Różnice parametrów użytkowych układów TLC5922/23/24 Operacja zakres temperatur pracy kontrola przerwy w torze wyjściowym sygnalizacja przegrzania struktury maksymalne napięcie zasilania diod ULEDMAX obwód podładowania tranzystora wyjściowego (pre-charge FET) TLC5922 -20 ÷ 85°C 17 V TLC5923 -40 ÷ 85°C + + 17 V TLC5924 -40 ÷ 85°C + + 16 V - - + 2.2. Autonomiczna praca układów Prezentowane układy mogą pracować samodzielnie, bez nadrzędnego mikrokontrolera, ale w takim przypadku ich działanie polegałoby na stałym włączeniu wszystkich kanałów wyjściowych z ustaloną wydajnością prądową, 132 L. Grodzki jednakową dla wszystkich wyjść. Jedynym sposobem regulacji wydatku źródeł prądowych byłaby zmiana wartości rezystora zewnętrznego RIREF, Opornik ten włącza się pomiędzy masę a wbudowane w układ źródło napięcia referencyjnego 1,24 V. Maksymalną wartość prądu w torach wyjściowych określa wtedy wzór: IOUTMAX = 1,24V · 40 : RIREF (2) Przy czym wartość RIREF nie powinna być mniejsza niż 600 Ω. Powyższą zależność ilustruje wykres z rysunku 1. Drugim sposobem sterowania pracą diod LED przy pracującym autonomicznie układzie jest kluczowanie wyjść sygnałem sterującym BLANK, którego wysoki poziom logiczny wyłącza wszystkie wyjścia. IOUTMAX [mA] 100 80 60 40 20 0 500 1000 1500 2000 2500 3000 RIREF [Ω] Rys. 1. Zależność prądu wyjściowego IOUTMAX od wartości dołączonego rezystora RIREF Ponadto w przypadku układów TLC5923/24 można skorzystać z ich sygnału wyjściowego XERR informującego o wykryciu błędu w pracy włączonych diod (przerwa w obwodzie) lub przegrzaniu się struktury układu scalonego. Układ TLC5924 posiada dodatkowo obwód podładowania tranzystorów wyjściowych (pre-charge FET) służący poprawie jakości dynamicznie zmieniających się obrazów prezentowanych na wyświetlaczu złożonym ze sterowanych diod LED. Obwód ten wykorzystuje dodatkowo doprowadzone do układu napięcie zasilania elementów LED ULED. Gdyby obciążalność wyjść układów, wynosząca 80 mA, była niewystarczająca, możliwe jest równoległe łączenie dowolnej ich liczby. Rozwiązanie 133 Stałoprądowe sterowanie diodą RGB takie zaleca sam producent w jednej z not aplikacyjnych [1]. W takim przypadku wypadkowy prąd połączonych wyjść oblicza się według wzoru: IOUTN = N · IOUTMAX (3) Ponieważ prezentowane układy posiadają po 16 wyjść prądowych, to w przypadku sterowania diod LED RGB mocy można przykładowo połączyć te wyjścia w 3 grupy po 5 wyjść. Uzyskujemy wtedy maksymalne prądy składowych monochromatycznych diody rzędu 400 mA. 2.3. Współpraca z systemem mikroprocesorowym Właściwym zastosowaniem układów TLC5922/23/24 jest podłączenie ich do nadrzędnego mikrokontrolera. Dopuszczalny zakres napięć zasilania (3,3–5 V) pozwala na współpracę układów, zarówno ze starszymi, jak i współczesnymi mikrokontrolerami. Przykładowe podłączenie układów do mikrokontrolera z rodziny AVR ilustruje rysunek 2. Przy połączeniu z nadrzędnym procesorem wykorzystuje się wbudowany w układy interfejs SPI-slave. Dzięki niemu nadrzędny mikrokontroler może przesyłać do układu: • 16-bitowe słowo ON-OFF indywidualnie włączające lub wyłączające poszczególne kanały (rys. 3a); • 112-bitowe słowo składające się z szesnastu 7-bitowych współczynników programujących prądy IOUTX w każdym z kanałów wyjściowych (rys. 3b). ATmega8515 SIN SCLK MODE XLAT BLANK XERR TLC5923 SOUT VCC PGND PB6/MISO PB5/MOSI PB7/SCK PB2 PB4 PB3 PB1 OUT0 OUT1 : : : OUT14 OUT15 ULED GND IREF UCC 100nF RIREF Rys. 2. Typowa aplikacja z mikrokontrolerem jako układem nadrzędnym Do rozróżnienia tych dwóch transmisji służy dodatkowe wejście sterujące MODE. Transmisja kończy się impulsem na wejściu zatrzaskującym XLAT, 134 L. Grodzki którego narastające zbocze powoduje zapamiętanie informacji w odpowiednich rejestrach wewnętrznych układu. Ponadto, w przypadku układów TLC5923 i TLC5924 możliwy jest odczyt 16-bitowego słowa błędów. Polega to na tym, że opadające zbocze impulsu XLAT odczytuje stan układów wykrywających przerwy w kanałach wyjściowych do rejestru przesuwającego. Rejestr ten odczytuje się poprzez wyjście danych SOUT interfejsu SPI, podając 16 kolejnych impulsów zegara SCK. Możliwy jest też, zgodnie ze specyfikacją SPI, jednoczesny zapis nowego słowa sterującego ON-OFF i odczyt słowa błędów. a) OUT15 OUT14 OUT13 ... OUT2 OUT1 OUT0 DC15.6DC15.5 . . . DC15.0 DC14.6 ... DC1.0 DC0.7 b) ... DC0.1 DC0.0 Rys. 3. Formaty słów sterujących układami TLC5922/23/24: a) 16-bitowe słowo ON-OFF; b) 112-bitowe słowo współczynników prądowych DCX Wyprowadzenie XERR, sygnalizujące w układach TLC5923/24 wykryte usterki w pracy, jest typu otwarty dren (OD). Wykrycie przerwy w chociaż jednym torze wyjściowym lub przegrzania się układu powoduje zwarcie tego wyjścia do masy. Zastosowana konfiguracja OD umożliwia dołączenie wielu takich wyjść do wspólnej linii, by sygnalizować mikrokontrolerowi błędy w pracy układów. Stan tej linii może być cyklicznie testowany przez mikrokontroler lub wykorzystany jako sygnał jego przerwania zewnętrznego. Szczególnie użyteczna przy współpracy z mikrokontrolerem jest możliwość indywidualnej regulacji prądów wyjściowych. Dla każdego z 16 wyjść przewidziane jest 7-bitowe słowo współczynnika DCX, którego wartość określa aktualny prąd wyjściowy danego źródła prądowego. Regulacja odbywa się w zakresie od 0 mA do wartości IOUTMAX, wynikającej z wartości rezystora zewnętrznego RIREF (wzór 2). Podany przedział wartości prądów wyjściowych jest podzielony na 128 równych kwantów. Przy IOUTMAX = 80 mA oznacza to rozdzielczość regulacji prądu równą 625 μA. Jest to wartość w zupełności wystarczająca do precyzyjnego sterowania składowymi prądami diody LED RGB. Dzięki temu zmieniając odpowiednio wartości współczynników DCX możemy kontrolować jasność świecenia diody z jednoczesnym utrzymaniem założonej barwy jej światła. Ponieważ diody LED są elementami nieliniowymi, regulacja jasności poprzez proste skalowanie wartości współczynników DCX dla barw składowych nie zdaje egzaminu. Konieczne jest zastosowanie dodatkowych przeliczeń, wykorzystujących odpowiednio stablicowane charakterystyki Φ = f(IF) dla poszczególnych składowych monochromatycznych. 135 Stałoprądowe sterowanie diodą RGB Sterując diodą LED RGB mocy, przy koniecznym z racji wymaganych prądów roboczych, równoległym połączeniu N wyjść układu, uzyskujemy bardzo szeroki zakres regulacji prądów IFR, IFG, IFB. Ponieważ każde z połączonych równolegle wyjść może niezależnie przyjmować 128 wartości z przedziału <0 mA ; IOUTMAX>, wypadkowe prądy mogą być regulowane w przedziale <0 mA ; N · IOUTMAX>, w N · 128 krokach każdy: IFR(G,B) = DC1 · IOUTMAX + DC2 · IOUT2 + ... + DCN · IOUTN (4) 2.4. Wybrane wyniki badań Dane katalogowe prezentowanych układów firmy Texas Instruments podają, że minimalny czas trwania dodatniego impulsu sygnału taktującego interfejs szeregowy wynosi 20 ns, natomiast maksymalna częstotliwość tego sygnału określona jest na 30 MHz. W praktyce transmisję można zrealizować programowo lub z wykorzystaniem wbudowanego w mikrokontroler interfejsu SPI. Dla układu z rysunku 2 napisano niezbędne oprogramowanie w języku asemblera AVR. Do uruchomienia i testowania programów wykorzystano środowisko AVRStudio. Przeprowadzone próby z mikrokontrolerem taktowanym typową częstotliwością 10 MHz, pozwalają oszacować czasy realizacji poszczególnych operacji kontrolno-sterujących dla omawianych układów. Uzyskane wyniki podaje tabela 2. TABELA 2 Czasy programowej i sprzętowej realizacji poszczególnych operacji kontrolno-sterujących dla układów TLC5922/23/24 Operacja przesłanie 16-bitowego słowa sterującego ON/OFF przesłanie 112-bitowego słowa korekcji prądów przesłanie 16-bitowego słowa sterującego ON/OFF z jednoczesnym odczytem słowa błędów (nie dotyczy TLC5922) włączenie/wyłączenie grupy 16 diod sygnałem BLANK minimalny okres sygnału taktującego SCLK Realizacja programowa sprzętowa 22,3 μs 9,1 μs 144,1 μs 82,1 μs 25,7 μs 9,7 μs 0,3 μs 0,4 μs 0,3 μs 0,2 μs Wykorzystanie języka wysokiego poziomu (np. C) do obsługi prezentowanych układów przez mikrokontroler może skutkować nieco większymi czasami realizacji poszczególnych operacji. Będzie to zależało od zastosowanych technik programowania, jak też i wybranych opcji optymalizacji kodu przez użyty kompilator. 136 L. Grodzki Z przedstawionych w tabeli danych wynika, że zastosowanie sprzętowego interfejsu SPI umożliwia nawet dwukrotne przyśpieszenie procesu obsługi układów przez nadrzędny mikrokontroler, co przy większej liczbie nadzorowanych driverów LED nabiera znaczenia. Zestawione wartości wskazują, że możliwa jest aktualizacja słowa włączającego poszczególne kanały LED do 100000 razy na sekundę, a regulacja wartości prądów włączonych wyjść może odbywać się około 10000 razy na sekundę. Są to dość duże wartości, biorąc pod uwagę zdolności postrzegania oka ludzkiego. Nie wykorzystując w pełni powyższych możliwości czasowych, mamy do dyspozycji moc obliczeniową procesora pozwalającą na realizowanie dodatkowych obliczeń, związanych chociażby z korygowaniem wartości współczynników prądowych DCX przy regulacji jasności świecenia diody. 3. PODSUMOWANIE Sterowanie stałoprądowe diodami LED RGB może stanowić alternatywę dla innych, do tej pory wykorzystywanych rozwiązań (zasilanie impulsowe, układy z PWM). Wykorzystanie przy tym dedykowanych układów scalonych pozwala znacząco odciążyć procesor odpowiedzialny za pracę wyświetlacza czy też źródła światła. Przedstawiona w artykule koncepcja regulacji prądów składowych monochromatycznych diody RGB mocy może być z łatwością rozszerzona na czterokolorowe diody świecące, które coraz częściej stają się obiektem zainteresowań ze względu na lepsze oddawanie kolorów oświetlanych przedmiotów. Przedstawione w artykule trzy układy firmy Texas Instruments do stałoprądowego sterowania diodami LED nie są jedynymi tego typu propozycjami w ofercie tej i innych firm. LITERATURA 1. Day M.: LED driver - Paralleled Outputs Provide High-Current Outputs. Application report on www.ti.com., 2006. 2. Gilewski M., Karpiuk A.: Elektroniczna stabilizacja parametrów świetlnych LED RGB. Przegląd Elektrotechniczny, nr 8, str. 194-198, 2008. 3. Texas Instruments: TLC5922 LED driver. Datasheets on www.ti.com, 2009. 4. Texas Instruments: TLC5923 16-channel LED driver with dot correction. Datasheets on www.ti.com, 2005. 137 Stałoprądowe sterowanie diodą RGB 5. Texas Instruments: TLC5924 16-channel LED driver with dot correction and pre-charge FET. Datasheets on www.ti.com, 2006. 6. Wojtkowski W.: Wielokanałowa regulacja jasności świecenia diod LED z wykorzystaniem układów programowalnych FPGA. Przegląd Elektrotechniczny, nr 11, str. 310-312, 2009. 7. Wojtkowski W.: Wykorzystanie sprzętowych bloków PWM mikrokontrolerów AVR do regulacji jasności świecenia diod LED dużej mocy. Przegląd Elektrotechniczny, nr 11, str. 306-309, 2009. Rękopis dostarczono dnia 26.03.2010 r. Opiniował: prof. dr hab. Jacek Sosnowski CONSTANT-CURRENT RGB LED DRIVING Lech GRODZKI ABSTRACT LED RGB driving circuit should allow to emit the chosen colour of light and to stabilise it according to changing working conditions. It is realised by the control the value of the monochrome component currents. Usually that task is achieved using multi-channel PWM circuits, which are controlled by supervising microcontroller. But new integrated circuits widen the methods of LED control. Those chips, also working under microprocessor control, realise the constant-current supplying of LED diodes. In addition, we can control each of the sixteen output currents individually in over 120 steps from 0 to maximum value. The paper contains the description of main properties of such integrated circuits and some results of realised research works on their application features. Dr inż. Lech GRODZKI – absolwent Wydziału Elektrycznego Politechniki Białostockiej (1985). W 1996 r. uzyskał tam również stopień doktora nauk technicznych w dyscyplinie elektrotechnika. Obecnie pracuje jako adiunkt w Katedrze Automatyki i Elektroniki Politechniki Białostockiej. Zajmuje się projektowaniem i programowaniem sterowników mikroprocesorowych. 138 L. Grodzki