Witam wszystkich. Tym razem mam przyjemność przedstawić kolejny projekt dla wujka. Jest nim sterownik świątecznego oświetlenia. Moja rola w projekcie to oczywiście wykonanie sterownika, a wujka ozdobienie domu. W sumie troszkę mu pomogłem, ale nie wiele, bo miałem jeszcze inne rzeczy do zrobienia.
Tym razem ten dość spory projekt powstawał w takim tempie, że sam nie wierzyłem, że mi się uda. Zacząłem około 25 listopada od rysowania schematów, potem zamówienie, płytki itd... aż do 19 grudnia, kiedy wszystko ostatecznie przetestowałem u siebie na biurku. Potem wujek zabrał się za wieszanie lampek a ja mu trochę pomogłem, a w między czasie pracowałem na uruchomieniem programu na PC do generowania kombinacji. Wszystko ostatecznie ruszyło dokładnie 24 grudnia wieczorem
A wracając do układu. Założeniem projektu był sterownik z fazową regulacją w oparciu o triaki. Miał obsługiwać 64 kanały i być autonomicznym urządzeniem nie wymagającym do normalnej pracy żadnego komputera. Najlepszym sposobem było zaangażowanie jakieś wymiennej pamięci. W ten sposób nośnikiem sekwencji do sterownika jest karta SD. Na karcie nie ma żadnej partycji i jest ona traktowana jako ciągły obszar danych z zaznaczonym początkiem i końcem. Dalej omówię parametry samego sterownika.
W konstrukcji głównym elementem jest jeden procesor atmega128, który czyta z karty i steruje synchronicznie elementami wykonawczymi, aby uzyskać regulację. Procesor jest duży, to fakt, ale wujek kiedyś taki kupił do innego projektu, projekt nie powstał, więc procesor został zaadoptowany do tego urządzenia. 24 wyjścia wykorzystałem posługując się samym procesorem, pozostałe oparłem na rejestrach zatrzaskowych.
Program został napisany w ASM za wyjątkiem początku programu gdzie konfiguruję jedynie wstępnie porty i ustawiam Timery. Reszta to już tylko asembler, łącznie z obsługą karty.
W urządzeniu zastosowałem separację opartą na optotriakach.
Elementami wykonawczymi są triaki 2N6075B. Każdy z nich został opatrzony dodatkowym układem gasikowym (niby można sobie go darować, bo obciążenie jest oporowe, ale nie zaszkodzi i jest moim zdaniem oznaką staranności a nie roboty po najniższym koszcie).
Karta SD pozwala na zapis dużych sekwencji. Ja pisałem w ostatniej chwili i wyszło mi ~6 minut
Urządzenie w obecnej postaci jest urządzeniem autonomicznym i niekomunikatywnym, ale w planie jest dodatkowe wyjście do pracy synchronicznej wielu niezależnych urządzeń, gdzie jedno z nich będzie źródłem synchronizacji. Takie rozwiązanie pozwala na łącznie niemalże w nieskończoność takich sterowników. W programie jest jeszcze sporo miejsca i czasu aby to zaimplementować. Nie jest to specjalnie skomplikowane, ale w tym roku nie było to potrzebne, więc to pominąłem, bo mógłbym nie zdążyć na czas
Regulacja fazowa pozwala na sterownie 64 poziomami + 1 (brak sterowania). W praktyce mógłbym zmieścić jeszcze do ~128 poziomów przy takich samych parametrach, ale śpieszyłem się i wolałem nie bawić się w takie cuda. 64 poziomy w 100% wystarczą.
Odświeżanie następuje co 2 okresy co daje 25 razy na sekundę. Oznacza to, że w ciągu 1 sekundy z karty pobieranych jest 25 sekwencji. Jest to ograniczenie programowe. W praktyce można wrzucić bez problemu (przy 64 poziomach regulacji) 50 sekwencji na sekundę.
Program został napisany w taki sposób, że urządzenie samo reaguje na włożenie i wyjęcie karty, sygnalizuje wszystko miganiem diody. Rozpoznaje także, czy karta jest przeznaczona do pracy z urządzeniem (karta musi mieć odpowiednie dane w pierwszym sektorze).
Miałem jeszcze napisać bootloader aby programować urządzenie także z karty, ale czas biegł nieubłaganie
Oprogramowanie na PC pozwalało na symulowanie efektu na podstawie zrobionych zdjęć. Pisane było szybko, nie jest może cudem i wymaga średniego komputera (mieszanie zdjęć w rozdzielczość 800x600 u mnie dawało 20 klatek na sek - procesor 3200+ karta nv 7600) ale sprawiło się znakomicie. Efekt symulacji jest bardziej zbliżony do rzeczywistego efektu, niż to co zarejestrowała kamera. Z tego powodu zamieściłem oba filmiki. Do mieszania zdjęć wykorzystałem DirectX, bo procesor główny bez optymalizacji zbyt wolno mieszał i nie dawał rady już przy 320x240. Program przydał się bardzo, ponieważ mieszkam w innej miejscowości i nawet zdjęć sam nie robiłem. Jedynie tylko film nakręciłem jak już wszystko działało. Bez programu pisałbym w ciemno a chyba nie trzeba nikomu mówić jakie to byłoby trudne
Koszt:
triaki 60zł
optotriaki 37zł
atmega128 23zł -----------
dystanse 45+28+17=90
śruby i nakrętki kwasoodporne ok 10zł
aluminium 15zł
laminat 30zł
malowanie 10zł
lakierowanie 20zł
stabilizator 3,3V 2zł
Dioda zenera 0,8zł
mostek 0,8zł
kondensatory 22+17+2,6
komparator 0,5zł
Listwy zaciskowe małe 28zł
Listwy zaciskowe duże 75zł
Gn. na kartę SD 6zł
Radiator 4,5zł
Bezp., gn. bezp. 4zł
Pozostałe elementy 20zł
Karta SD z adapterem 20zł
Razem ponad: 500zł
Lampki 25 kompletów po 5,4zł = 135zł
Okablowanie itd pomijam
------------------------------------------
Wszystko ponad: 650zł
W projekcie najtrudniejsze było wykonanie powtarzalnych płytek, tak żeby wszystko pasowało. Ideału nie ma, ale jak widać na załączonych filmach wszystko działa i na zdjęciach nawet nie widać specjalnie wad
Ze względu na rozmiary projektu, koszt, ilość pracy, nie wielkie szanse na zastosowanie go w celach dydaktycznych itd. itd. oraz drobne błędy na płycie i niepełne oprogramowanie na PC i uP sterownika zdecydowałem się nie zamieszczać niczego co mogłoby wprowadzać w błąd. Zamieszczam jedynie schemat, który jest już poprawiony. Może w przyszłym roku zamieszczę resztę jak już znajdę czas i poprawię wszystko inne.
I na koniec galeria:
Wersja filmu z kamery...
Werska filmu z programu symulacyjnego...
Fajne? Ranking DIY
