- Rozdzielczość 48×96 pikseli.
- Kolorowa matryca.
- Wyświetlanie dowolnej, wcześniej przygotowanej grafiki bądź animacji.
- Zdalna obsługa urządzenia wykorzystująca aplikację komputerową pozwalająca na: przeglądanie zapisanych zdjęć z pamięci urządzenia, załączanie bądź wyłączanie poszczególnych składowych kolorów wyświetlacza, przesyłanie zdjęć do urządzenia podczas jego pracy.
- Analiza pracy urządzenia przez zdalny podgląd prędkości obrotowej wirującej linijki diodowej.
- Praca bez ograniczeń czasowych.
- Programowanie mikrokontrolera bez konieczności jego demontażu z urządzenia.
- Debugowanie programu.
- Możliwość rozbudowy modelu i funkcji.
Kulisty wyświetlacz składa się z dwóch części: wirującej linijki diodowej wraz z elementami elektronicznymi oraz stelaża z silnikiem i zasilaczem. Opcjonalnie jest wykorzystywany komputer służący do przesyłania wzorów obrazów, przełączania obrazów wyświetlanych z pamięci urządzenia, tworzenia animacji, sterowania kolorami, a także do bieżącej kontroli parametrów urządzenia.
Za tworzenie czytelnego obrazu odpowiedzialne są ruchome diody zapalające się cyklicznie w sposób zsynchronizowany. Układ migających diod powoduje błyski, które podczas ruchu układają się np. w czytelny napis. Ich błyski zostają tworzą obraz dzięki bezwładności oka ludzkiego. W celu osiągnięcia dobrej jakości obrazu i zwiększenia ilości kolorów zastosowano mechaniczny odpowiednik PWM, którego sposób działania szczegółowo opisano w artykule.
Założenia projektowe
Wyświetlacz widmowy ma umożliwić wyświetlenie dowolnego obrazu zapamiętanego w pamięci mikrokontrolera. Ze względu na jedną z planowanych funkcji wyświetlacza, którą jest prezentacja kontynentów kuli ziemskiej, kształt matrycy wyświetlającej będzie sferyczny. Wirująca linijka będzie wyposażona w 48 jasnych diod LED RGB, a wyświetlanie danych, które będzie precyzyjnie zsynchronizowane z jej położeniem, będzie zachodziło 96 razy w ciągu obrotu, co pozwoli na uzyskanie rozdzielczość matrycy 48×96 pikseli. Kulisty wyświetlacz, docelowo wyświetlający obrazy, będzie miał możliwość wyświetlania animacji, składającej się z przełączanych obrazów. Jakość i długości animacji będzie uwarunkowania ilością dostępnej pamięci Flash sterownika wyświetlacza oraz szybkością bezprzewodowej transmisji danych. Przesyłane, przechowywane i analizowane za pomocą mikrokontrolera obrazy będą wcześniej przygotowane i zapisane w odpowiednim formacie. Za wstępną obróbkę obrazów będzie odpowiadała aplikacja napisana w Matlabie.
Do napędzania wirującej linijki diodowej wybrano silnik DC firmy Daewoo o symbolu producenta LM76103118 pochodzący z napędu wycieraczek samochodowych. Jest on zasilany napięciem 12 V. Przy pracy z obciążeniem silnik pobierając prąd 6 A uzyskuje prędkość około 18 obr./s, co pozwala na uzyskanie poprawnego efektu widmowego. W modelu przewidziano zintegrowanie wirującej linijki z kulistą obudową w celu poprawy aerodynamiki, a co za tym idzie, znacznego zwiększenia prędkości obrotowej. Silnik nie umożliwia uzyskania stabilnych obrotów o ściśle określonej liczbie w jednostce czasu, ale jest bardzo łatwy w uruchomieniu i nie wymaga stosowania dodatkowych regulatorów sprzężonych z mikrokontrolerem urządzenia. Za odpowiednią synchronizację wyświetlania odpowiada czujnik zamontowany w urządzeniu i wysyłający do mikrokontrolera informacje o położeniu wirującej linijki diodowej. Sensor, podczas przechodzenia linijki przez pewien punkt będzie wysyłał sygnał, który np. może być obsługiwany przez mikrokontroler za pomocą przerwania.
Ze względu na ruch obrotowy linijki diodowej jest konieczne dostarczenie sygnału diodom, które stale zmieniają położenie. Możliwe byłoby umieszczenie elektroniki sterującej w obudowie urządzenia i wysyłanie impulsów za pomocą złącz obrotowych, lecz takie rozwiązanie skomplikowałoby budowę i zwiększyło gabaryty. Zdecydowano, że sterownik diod świecących będzie zamontowany na wirującej części kulistego wyświetlacza i komunikacja z nim będzie odbywała się bezprzewodowo, natomiast za pomocą złącza stykowego (ślizgowego) będzie przekazywane do układu jedynie zasilanie.
Kulisty wyświetlacz będzie potrzebował do pracy zasilania z dwóch źródeł napięcia. Napięcie o wartości +12 V będzie zasilało silnik, natomiast +5 V układy elektroniczne. Część układów scalonych będzie wymagało zasilania napięciem +3,3 V, jednak dla jego wytworzenia zostaną zaadoptowane gotowe moduły ze stabilizatorami napięcia, które zostaną zintegrowane z elektroniką urządzenia. Idealnym, gotowym i niedrogim rozwiązaniem jest zastosowanie zasilacza komputerowego ATX o mocy 400 W, na przykład KY-400W. Wyświetlacz zostanie wyposażony w wyłącznik napędu i sterownika diod LED.
Ze względu na to, że matryca kulistego wyświetlacza opiera się na pracy 48 trójkolorowych diod LED, bardzo trudne byłoby dobranie mikrokontrolera z taką liczbą wyjść, aby każdej diodzie przyporządkować trzy z nich. Także użycie metody demultipleksowania wyjść mikrokontrolera w celu zwiększenia ich liczby byłoby kłopotliwe, gdyż zmuszałoby do połączeń diod w odpowiednich sekwencjach. Znacznie skomplikowałoby to diagnozę uszkodzenia przy ewentualnej usterce. Metoda, która jako jedyna rozwiązuje problem sterowania taką liczbą diod, polega na wysyłaniu danych szeregowo do urządzenia demultipleksującego. Po tym procesie sygnały mają równolegle dotrzeć do diod i zostać przez niewyświetlone. Procesor wykorzystany do realizacji tego zadania został wybrany na podstawie kilku kryteriów. Wybór padł na mikrokontroler firmy ARM. Poza stosunkowo łatwym sposobem obsługi i programowania, ważny był dobór z uwzględnieniem wielkości pamięci Flash. Optymalnym mikrokontrolerem według przeprowadzonej analizy jest STM32F103VET6 z rdzeniem Cortex-M3. Ma on 256 kB pamięci Flash oraz 64 kB pamięci SRAM, co pozwala na przechowywanie i zapisywanie dużej liczby obrazów bez konieczności instalowania pamięci zewnętrznej. Kolejnym atutem wybranego mikrokontrolera jest duża szybkość.
Oprócz mikrokontrolera bardzo ważnym elementem jest układ demultipleksujący dane. Dostępne na rynku układy charakteryzują się różnymi właściwościami, między innymi odmienną szybkością przetwarzania danych i liczbą wyjść. Założono, że rejestr załączający diody LED musi mieć wejście szeregowe, 144 wyjścia równoległe typu zatrzask i mieć możliwość łączenia w łańcuchy. Te warunki zawęziły liczbę możliwych do użycia układów i po analizie właściwości został wybrany układ rejestru przesuwnego z zatrzaskiem 74HC595B1R. Ma on 8 wyjść logicznych i możliwość kaskadowego dołączania kolejnych elementów tego samego typu, przez co liczba wyjść staje się niemal nieograniczona. W projekcie rejestry przesuwne zostaną podzielone na 3 grupy, z których każda ma opowiadać za kolejny kolor wyświetlany przez diody.
Jeszcze jednym bardzo istotnym w modelu kulistego wyświetlacza elementem elektronicznym jest czujnik, który będzie podawał sygnał informujący o położeniu wirującej linijki diodowej. Do jego realizacji wybrano transoptor szczelinowy TCST1103.
W przeprowadzanej analizie i doborze sprzętu nie może zabraknąć elementu, który odpowiada za wyświetlenie obrazu. Diody LED, które będą zastosowane w modelu, muszą charakteryzować się dużą intensywnością świecenia, aby powstały obraz był widoczny i czytelny. Drugim parametrem jest kąt świecenia, który powinien być jak największy, aby wyświetlane informacje były widoczne na całym widocznym obszarze matrycy, a linia wyświetlona przez odpowiednią diodę była możliwie szeroka. Wybór padł na diody LED RGB Super Flux o wymiarach 7,62 mm×7,62 mm w wersji Flat Top o kącie świecenia 160°.