Pomysłowe diody LED RGB

Podobne dokumenty
ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Politechnika Białostocka

Programowanie mikrokontrolerów 2.0

Karta katalogowa JAZZ OPLC JZ20-R31

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Ćwiczenie 7 Matryca RGB

Parametryzacja przetworników analogowocyfrowych

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Programowanie w językach asemblera i C

Programowalne Układy Cyfrowe Laboratorium

dwójkę liczącą Licznikiem Podział liczników:

Ćwiczenie D2 Przerzutniki. Wydział Fizyki UW

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

MIKROKONTROLERY I MIKROPROCESORY

Karta katalogowa JAZZ OPLC. Modele JZ20-T10/JZ20-J-T10 i JZ20-T18/JZ20-J-T18

U 2 B 1 C 1 =10nF. C 2 =10nF

Ćw. 7: Układy sekwencyjne

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

1 Moduł Neuronu Cyfrowego

Politechnika Białostocka

Mikrokontrolery AVR techniczne aspekty programowania

LABORATORIUM ELEKTRONIKA I ENERGOELEKTRONIKA BADANIE GENERATORÓW PRZEBIEGÓW PROSTOKĄTNYCH I GENERATORÓW VCO

interfejs szeregowy wyświetlaczy do systemów PLC

KA-Nucleo-Weather. Rev Źródło:

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Instrukcja obsługi. PLD 24 - pixel LED driver DMX V MODUS S.J. Wadowicka Kraków, Polska.

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Karta katalogowa JAZZ OPLC. Modele JZ20-R10/JZ20-J-R10 i JZ20-R16/JZ20-J-R16

Generator tonów CTCSS, 1750Hz i innych.

JAZZ OPLC JZ20-R31/JZ20-J-R31

Przetworniki C/A. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Projektowanie urządzeń mikroprocesorowych cz. 2 Wykład 4

ZL10PLD. Moduł dippld z układem XC3S200

Układy czasowo-licznikowe w systemach mikroprocesorowych

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Interfejs analogowy LDN-...-AN

Zestaw przedłużacza, 4K HDMI HDBaseT, 70 m

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Zestaw przedłużacza, 4K HDMI HDBaseT, 100 m

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ DPC250; DPC250-D; DPC4000; DPC4000-D

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

PLD48 PIXEL DMX LED Driver

KAmduino UNO. Rev Źródło:

SML3 październik

1W-H3-04P (K)* *Litera K odnosi się do wersji czytnika ze wspólną katodą. Czytnik RFID 125 khz Unique. Karta produktu

WYKŁAD 8 Przerzutniki. Przerzutniki są inną niż bramki klasą urządzeń elektroniki cyfrowej. Są najprostszymi układami pamięciowymi.

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Xelee Mini IR / DMX512

Przerzutniki. Układy logiczne sekwencyjne odpowiedź zależy od stanu układu przed pobudzeniem

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Miernik poziomu cieczy MPC-1

JAZZ OPLC JZ20-R10 i JZ20-R16

2. Architektura mikrokontrolerów PIC16F8x... 13

LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY

Badanie przerzutników astabilnych i monostabilnych

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Opis czytnika TRD-FLAT CLASSIC ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Uniwersalna płytka generatora tonów CTCSS, 1750Hz i innych.

Modulatory PWM CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

2.1 Przesył danych między procesorem a tabelą zmiennych

Układ elementarnej pamięci cyfrowej

Zgrana para - NerO i CleO

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Przegląd rozwiązań z oferty firmy 4D Systems

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Enkoder magnetyczny AS5040.

rh-pwm3 Trzykanałowy sterownik PWM niskiego napięcia systemu F&Home RADIO.

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Karta katalogowa JAZZ OPLC JZ10-11-PT15/JZ10-J-PT15. 3 wejścia cyfrowe, 3 wejścia analogowe/cyfrowe, 3 wejścia PT1000/NI1000

Opis układów wykorzystanych w aplikacji

Podstawy elektroniki cyfrowej dla Inżynierii Nanostruktur. Piotr Fita

BADANIE PRZERZUTNIKÓW ASTABILNEGO, MONOSTABILNEGO I BISTABILNEGO

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi.

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

Technika mikroprocesorowa. Konsola do gier

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

UKŁADY CYFROWE. Układ kombinacyjny

Zasilanie diod LED w aplikacjach oświetleniowych AC liniowym, szeregowym regulatorem prądu układ CL8800 firmy Microchip (Supertex)

PROFESJONALNY MULTIMETR CYFROWY ESCORT-99 DANE TECHNICZNE ELEKTRYCZNE

1W-H3-05(K)* Czytnik RFID 125 khz Unique. Instrukcja

Technik elektronik 311[07] moje I Zadanie praktyczne

Układy sekwencyjne. 1. Czas trwania: 6h

Instrukcja do ćwiczenia : Matryca komutacyjna

Karta charakterystyki online. Ranger-E40434 Ranger SYSTEMY WIZYJNE 3D

Moduł przekaźnika czasowego FRM01. Instrukcja obsługi

WPROWADZENIE Mikrosterownik mikrokontrolery

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Transkrypt:

1 Pomysłowe diody LED RGB Pomysłowe diody LED RGB Postęp techniczny daje producentom komponentów elektronicznych zaskakujące możliwości. Współcześnie nikogo już nie dziwi, że dioda LED może świecić w dowolnym kolorze światło emitowane przez różnobarwne struktury umieszczone we wspólnej obudowie miesza się, umożliwiając uzyskanie dowolnej barwy świetlnej. Jednak takie typowe diody wielokolorowe są bardzo kłopotliwe w użyciu, ponieważ wymagają wielu połączeń o ile katoda lub anoda diod może być wspólna, o tyle połączenia elektrod o przeciwnej polaryzacji muszą być rozdzielone, co wymusza konieczność doprowadzenia do każdej diody co najmniej 4 połączeń. Nie ma problemu, jeśli to tylko pojedyncza dioda lub linijka, a co, jeśli chcemy zbudować ekran LED? Pomyślmy też o multipleksowaniu wyświetlania i połączeniach z kontrolerem LED, o konieczności modulowania natężenia światła oraz zasilania całości z jakichś źródeł prądowych i innych problemach natury technicznej, które trzeba będzie rozwiązać. Te potrzeby zostały zauważone przez firmę WorldSemi, która wprowadziła do programu produkcji pewną specjalną grupę produktów. Propozycja firmy WorldSemi jest genialna w swojej prostocie. Ktoś wpadł na pomysł, aby skorzystać z dobrodziejstw współczesnej technologii wytwarzania urządzeń półprzewodnikowych i w niewielkiej obudowie diody (SMD 5050) zamknął struktury R, G, B oraz kontroler z interfejsem szeregowym. Do takiej diody wystarczy doprowadzić zasilanie i sygnały interfejsu cyfrowego. Po przesłaniu 24-bitowego słowa zawierającego składowe RGB wbudowany kontroler zajmuje się wyświetlaniem koloru. Nie jest to zadanie trywialne, ponieważ dane RGB trzeba przetworzyć na natężenie światła odpowiednich

2 Pomysłowe diody LED RGB struktur diody. Każdy kolor składowy jest kodowany za pomocą 8 bitów, co oznacza, że dioda ma możliwość wyświetlenia aż 16777216 barw, co zwykło się oznaczać w skrócie 16,7 mln kolorów. Koncepcja wbudowania kontrolera i źródła prądowego w strukturę diody LED jest genialna. Konstruktor, który zwróci uwagę na taką diodę będzie jednak chciał nie tyle użyć jej w roli pojedynczego źródła światła, ile połączyć takie diody w zespół, mający możliwość wyświetlania informacji lub obrazów. Do takiej aplikacji niezbędny jest mechanizm, który umożliwi zmianę koloru świecenia pojedynczego piksela obrazu. Typowo, diody łączy się w matryce i steruje nimi na przecięciu wierszy i kolumn, jeśli jednak w obudowie diody umieściliśmy kontroler, to klasyczne sterowanie nie ma sensu. Przecież naszym zamiarem było uniknięcie wykonywania nadmiernej liczby połączeń. Rysunek 1. Sposób łączenia diod WorldSemi w łańcuchy (źródło: dokumentacja diody LED WS2812B WorldSemi)

3 Pomysłowe diody LED RGB Pomysł na rozwiązanie problemu łączenia diod w zespoły jest równie genialny, jak idea zespolenia kontrolera z diodą. Każda dioda ma wbudowany synchroniczny rejestr przesuwny z szeregowym wejściem i szeregowym wyjściem. Ten rejestr ma pojemność 24 bitów, a jeśli przekroczymy jego pojemność, to dane zostaną przez sygnał zegarowy wypchnięte na szeregowe wyjście. Dzięki temu diody można łączyć ze sobą wyjście do wejścia, budując bardzo długie łańcuchy (rysunek 1). Ograniczenia długości takiego łańcucha wynikają głównie z ograniczeń aplikacji napiszemy o nich w dalszej części tekstu. Teraz wystarczy nam wiedza o tym, że każda dioda ma 4 wyprowadzenia: dwa służą do zasilania, jedno to wejście danych i jedno wyjście. No dobrze, ale jak wpisywać dane? Przecież jest wejście i wyjście, ale nie ma sygnału zegarowego! Powiedzmy sobie, że na szczęście nie ma sygnału zegarowego. Wyobraźmy sobie, że musimy prowadzić połączenia od diody do diody i równolegle dołączać je do szyny zegara. Jeśli nasz ekran będzie miał przeciętną rozdzielczość 64 64 piksele, to łącznie użyjemy 4096 diod LED. Jak podaje karta katalogowa, pojemność każdego wejścia wynosi 15 pf. Obliczmy pojemność szyny zegarowej, którą przyjdzie nam sterować 4096 15 pf=61440 pf, to jest ponad 61 nf! A dodajmy do tego jeszcze pojemności montażowe Każdy, kto kiedykolwiek miał do czynienia z driverem zdolnym do naładowania/rozładowania takiej pojemności wie, jak trudne to zadanie. Zauważymy, że generujemy sygnał zegarowy, a więc musi on mieć strome zbocza i kształt chociażby zbliżony do prostokątnego. Sięgnijmy ponownie do kalkulatora. Jeśli założymy, że nasz ekran będzie odświeżany z przeciętną częstotliwością 30 ramek/sekundę, to daje 30 (ramek) 4096 (diod)=122880 khz. A więc nasz generator sygnału zegarowego musiałby ładować i rozładowywać pojemność ponad 61 nf z częstotliwością blisko 123 khz. Nie jest to zadanie trywialne do realizacji układowej. Inżynierowie z WorldSemi też mieli tę świadomość i wpadli na kolejny genialny pomysł. Otóż diody są sterowane za pomocą specjalnego protokołu zbliżonego w warstwie fizycznej do dobrze znanego 1-Wire (łatwiejszy w obsłudze, bo jedynie protokół komunikacyjny NRZ i nie ma obaw o zasilanie diody) i dlatego nawet przeciętny programista nie będzie miał żadnego problemy z jego implementacją. Co więcej, dane przepychane przez rejestr diody i udostępniane na jej wyjściu są regenerowane cyfrowo, więc tak naprawdę konstruktor musi martwić się jedynie o to, aby wysterować pierwszą diodę,

4 Pomysłowe diody LED RGB natomiast na jej wyjściu pojawi się zregenerowany sygnał wejściowy, który wysteruje kolejną i uwolni konstruktora od koszmaru dbania o obwiednię sygnału na końcu szeregu diod. Szczegóły kodowania bitów pokazano na zaczerpniętym z dokumentacji diody WS2812 rysunku 2. Podobnie jak w protokole 1-Wire, bity są kodowane za pomocą zależności czasowych. Aby przesłać logiczną 1, ustawiamy wejście danych przez 0,4 µs i zerujemy je przez 0,85 µs. Aby przesłać logiczne 0, ustawiamy wejście danych przez 0,85 µs i zerujemy je przez 0,4 µs. W związku z tym, że chcemy naszych diod użyć np. do zbudowania ogromnego telebimu, to margines błędu przy odmierzeniu czasu trwania poziomu logicznego nie może być zbyt duży i tu wynosi 150 ns. Dlatego mikrokontroler wysyłający dane musi mieć częstotliwość taktowania stabilizowaną za pomocą rezonatora kwarcowego, a do odmierzania czasu trwania poszczególnych poziomów logicznych przypuszczalnie będziemy musieli użyć timera lub sterowanego nim systemu przerwań. Nie jest to jednak problemem, ponieważ jest to rozwiązanie typowe, niedrogie i stosowane zawsze wtedy, gdy zależy nam na precyzyjnym odmierzaniu czasu. No dobrze, ale czy przepychanie danych przez diodę nie powoduje migotania jej światła? Wbudowane w diodę rejestry przypominają dobrze znany 74595. Był on chętnie stosowany w układach wyświetlania, ponieważ wbudowany weń rejestr szeregowy miał na wyjściach równoległych przerzutniki typu Latch (zatrzask). Podczas transmisji danych wyjścia pozostawały w poprzednim stanie do momentu, aż odrębny impuls zegarowy powodował ich aktualizację. Tę samą koncepcję przyjęli inżynierowie z firmy WorldSemi aktualizację poziomu składowych RGB powoduje specjalny impuls Reset. Dopóki, dopóty nie zostanie on wysłany przez system nadrzędny, stan diody nie zmienia się, chociaż jej rejestr przenosi do wyjścia zmieniające się dane. Maksymalna częstotliwość sygnału zegarowego, a właściwie sygnału danych, wynika z podanych zależności czasowych dla logicznego 0 i logicznej 1, i wynosi 1/(0,4 µs+0,85 µs)=800 khz. Jeśli założymy, że będziemy odświeżali obraz z częstotliwością 30 Hz, a do każdej diody musimy przesłać 24 bity danych, to po uwzględnieniu czasu trwania impulsu Reset możemy wyliczyć, że łańcuch może mieć łączną długość ponad 1100 diod LED. W ten sposób można zbudować matrycę (ekran) RGB o rozdzielczości 32 32 piksele sterowany za pomocą pojedynczego wyprowadzenia mikrokontrolera!

5 Pomysłowe diody LED RGB Sposób sterowania diodami połączonymi w łańcuch jest bardzo dobrze opisany w nocie aplikacyjnej AN1606 udostępnionej przez firmę Microchip (http://ww1.microchip.com/downloads/en/appnotes/00001606a.pdf). Oprogramowanie napisano w języku C, więc nie będzie trudności ze zrozumieniem jak działa i ewentualnym przeniesieniem aplikacji na inny model mikrokontrolera. Rysunek 2. Kodowanie bitów danych (źródło: dokumentacja diody LED WS2812B WorldSemi) To nie jest ostatnie słowo Pomysłowe diody LED RGB opisane w artykule nie są jedynym produktem firmy WorldSemi. Oprócz nich firma wytwarza programowalne taśmy LED RGB oraz moduły złożone z kilku diod. Do ich budowy zastosowano takie same diody, jak opisywana w artykule, przykładowa WS2812, więc i metoda programowania będzie identyczna. Wydaje mi się jednak, że z punktu widzenia inżyniera-konstruktora, którego zadaniem jest zbudowanie aplikacji, najbardziej interesujące są właśnie diody LED. Moduły lub taśmy bardziej przydadzą się integratorom systemów niż konstruktorowi. Praktycznie każdą diodę WorldSemi można nabyć w dwóch wariantach wykonania: w obudowie białej (oznaczonej literą S ) lub czarnej (oznaczonej literą B ). Te pierwsze przydają się zwłaszcza do zamontowania w systemach oświetlenia LED, w których zwykle

6 Pomysłowe diody LED RGB diody umieszczane są na białym podłożu. Te drugie są kapitalne do budowania wyświetlaczy informacyjnych, ekranów i innych, ponieważ płytkę drukowaną takiego urządzenia można pokryć czarną maską i na niej zamontować czarne diody. Po zamontowaniu takiej płytki za maskującym ją filtrem grafitowym (przyciemniana szyba) diody są praktycznie niewidoczne obserwujący może zobaczyć jedynie wyświetlane przez nie obrazy lub znaki. Dystrybutorem produktów WorldSemi jest firma Transfer Multisort Elektronik. Więcej informacji na temat produktów opisywanych w artykule można znaleźć na stronie internetowej www.tme.eu.