Sterowanie diod WS2812 poprzez DMX

Sterowanie diod WS2812 poprzez DMX
Pobierz PDF Download icon

Sterowanie diodami WS2812 za pośrednictwem DMX nie jest pomysłem wyjątkowym, jednak zrealizowanie tego zadania z użyciem interfejsu UART i systemu przerwań na bazie mikrokontrolera AVR nie jest zadaniem łatwym. Natomiast praca w w tym samym czasie jako urządzenie DMX oraz odbiór sygnału z USB z prędkością 1Mb/s wydaje się niemożliwe. Opracowanie takiego systemu wymagało zastosowania nieszablonowych rozwiązań.

Spis treści
Podstawowe parametry:
  • sterowanie diodami WS2812 poprzez interfejs DMX,
  • umożliwia kontrolowanie 170 diod z 24-bitową paletą kolorów lub 512 diod z paletą 8-bitową,
  • obsługa kilku wirtualnych ekranów (warstw),
  • sterowanie uwzględnia korektę gamma,
  • sterowanie zarówno w trybie konwertera DMX (odbiór danych z USB) jak i poprzez odbieranie z RS485/422,
  • zaimplementowane dwie proste gry: Tenis i Galaga, dla zaprezentowania możliwości urządzenia.

Głównym zadaniem urządzenia jest sterowanie diodami WS2812 poprzez interfejs DMX. W ten sposób można kontrolować 170 diod z 24-bitową paletą kolorów lub 512 diod z paletą 8-bitową. Sterownik może obsługiwać kilka wirtualnych ekranów (warstw) niezależnych od siebie. Warstwy można użyć do połączenia dwu strumieni DMX, (jedynym ograniczeniem może być tylko wydajność mikrokontrolera) lub naniesienia na obraz z DMX innych, niezależnie animowanych obiektów. Ekrany posiadają priorytety, tak jak duszki (sprite’s) w C-64 czy Atari. Warstwa o najniższym numerze ma najwyższy priorytet i zasłania wszystko co się pod nią znajduje. Aby zademonstrować możliwości sterownika, diody ułożono w prostokąt 16×8 LED.

Budowa i działanie

Schemat urządzenia podzielono na bloki, których schematy pokazane zostały na rysunkach 1...5. Mikrokontroler taktowany zegarem 20 MHz (ATmega1284 to nieliczny układ z rodziny AVR Mega, który może być taktowany zegarem większym niż 16 MHz) steruje diodami led oraz odbiera transmisję DMX. Układ został wyposażony w 16 kB pamięci RAM. Tak duża pamięć jest wymagana dlatego, że obsługa jednej diody z użyciem UART wymaga 8 bajtów pamięci (z użyciem SPI 9 bajtów). Przy 512 diodach daje to 4 kB pamięci, a trzeba gdzieś jeszcze umieścić dane, stos, bufor DMX. Większość dużych mikrokontrolerów AVR ma 4 kB, nieliczne 8 kB lub więcej. Pamięć RAM można zaoszczędzić dekodując dane dla diod metodą „w locie”, niestety zastosowany układ jest zbyt wolny. Co prawda diodami dałoby się sterować ale na dekodowanie DMX pewnie nie starczyłoby już czasu.

Rysunek 1. Schemat bloku głównego z mikrokontrolerem sterującym
Rysunek 2. Schemat bloku interfejsu DMX
Rysunek 3. Schemat bloku komunikacji USB
Rysunek 4. Schemat bloku z jaystick-ami
Rysunek 5. Schemat bloku zasilania

Zasilacz urządzenia zrealizowano w typowym układzie aplikacyjnym stabilizatora impulsowego LM2576. Może dostarczyć prąd o wartości do 3 A, do zasilania diod LED oraz układów sterujących. Można zastosować układ z ustalonym napięciem (wersja oznaczona -5.0), jak i regulowanym (oznaczenie -ADJ). Zależnie od typu układu trzeba zastosować odpowiednie rezystory R6 i R7. Maksymalne napięcie wejściowe wynosi 40 V. Trzeba pamiętać, aby wejściowy kondensator filtrujący miał odpowiednie napięcie znamionowe.

Prąd pobierany przez sterownik bez dołączonych diod LED wynosi ok. 100 mA. Max pobór prądu przez jedną diodę to blisko 50 mA (dla diod w obudowie 5050 przypada 16 mA na każdą z diod RGB). Wydajność zasilacza (3 A) wystarczy na zaświecenie na biało z maksymalną jasnością około 60 diod. Jednak w praktyce rzadko się zdarza, aby wszystkie diody świeciły jednocześnie na biało.

Artykuł ukazał się w
Elektronika Praktyczna
kwiecień 2021
DO POBRANIA
Pobierz PDF Download icon
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów