Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
12 Mar 2010 06:50
Sterownik oświetlenia - Sterownik diod RGB
Witam kolegów
Jest to moja pierwsza konstrukcja jaką chciałbym zaprezentować na łamach DIY - mam nadzieję że się spodoba.
Przedstawiam zbudowany przeze mnie sterownik 40 diod RGB. Konstrukcja sterownika jest dość prosta, na płytce mamy garść elementów m.in:
-Stabilizator LM7805 + radiatorek + kondensatory filtrujące napięcie
-Mikrokontroler Atmega8,
-ULN2803AG,
-Kwarc 16Mhz,
-Na taśmie podłączony układ MAX232,
Sterownik ma sterować w sumie 40 diodami RGB (diody na wspólnych żyłach). Sterowane diody będą znajdować się w kasetonie podsufitowym w łazience - będą schowane tak by ich nie było widać a ładnie podświetlały sufit.
Jako założenia podczas prac nad projektem przyjąłem:
-Możliwość podłączenia 40 diod RGB,
-Zdalne sterowanie przez program z panelu dotykowego,
-Różne programy oświetleniowe w tym:
--Tryb PWM (stopniowe przechodzenie kolorów),
--Możliwość zaświecenia pojedynczego koloru diody - z wysterowaniem jej jasności,
--Światła policyjne,
--Wszystkie kolory po kolei,
--Możliwość zmiany prędkości efektów (czasów przechodzenia między kolorami, migania itp)
-Możliwość podłączenia różnych diod dostępnych na rynku (w układzie znajduję się inna dioda niż ta która znajdzie się w kasetonie - wykorzystywałem ją podczas testów)
-Możliwość awaryjnego sterowania za pomocą przycisków,
Na płytce niewykorzystane porty wyprowadziłem na Goldpiny - ze względu na to iż w niedalekiej przyszłości prawdopodobnie zostanie dodany czujnik zmierzchowy i czujnik temperatury (jako gadżet).
W sterowniku wykorzystałem układ ULN2803 (uprzedzam pytania czemu nie tranzystory itp. ) do sterowania diodami ze względu na to że:
-Mam ich od diabła ;]
-Bardzo proste podłączenie,
-Szybka wymiana w przypadku uszkodzenia (zastosowałem podstawkę),
-Max. pobór prądu 500mA (na wszelki wypadek w ULN zostały zmostkowane kanały przez co wydajność prądowa wzrosła do 1000mA - z dwóch kanałów)
Płytkę sterownika wykonałem metodą termotransferową, płytka została pocynowana chemicznie. Na zdjęciach pokazana jest płytka przed i po cynowaniu.
Następnie za pomocą wiertarki stołowej zostały powiercone otwory, przylutowane elementy no i w końcu wgrany program sterownika.
Program znajdujący się w sterowniku został napisany w Bascomie, natomiast program po stronie komputera w C++ Builderze - Poniżej screen z uruchomionego programu sterującego.
Największe problemy podczas prac nad sterownikiem miałem z użyciem wyjścia OCR2 w atmedze 8. Cały czas coś się "kiełbasiło" na szczęście odpowiedź znalazłem na elektrodzie :] Mój problem wynikał z nieprawidłowo zadeklarowanego Timera2, po jego poprawieniu wszelkie problemy znikły. Dla potomności zostawiam poprawną konfigurację Timer2 - tak aby móc sterować PWMem z wyjścia OCR2.
Kod:
Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Config Timer2 = Pwm , Pwm = On , Prescale = 1 , Compare Pwm = Clear Down
'Wyjścia PWM:
Pwm1a = 0
Pwm1b = 0
Ocr2 = 255
Ze względu że jest to projekt w fazie rozwojowej nie udostępniam kodów źródłowych ani schematów - jednakże w razie pytań służę wszelką pomocą.
Film z działania sterownika (niestety troszkę słabo widać zmiany kolorów):
Zgodnie z obietnicą z jednych postów przedstawiam kilka zdjęć już podpiętych diod z sufitu łazienki do sterownika. Zdjęcia są trochę rozmyte ze względu na to iż robiłem je z ręki. Efekt w rzeczywistości jest nieporównywalnie lepszy. W czasie robienia zdjęć była podłączona tylko 1 z 4 listw podsufitowych.
Zdjęcia z testów w łazience (od lewej przed włączeniem i z włączonymi kolorami):
Witam. Pomysł ciekawy jednak... po co w toalecie efekt policyjny :D :?:
Widać po zdjęciach płytki że trochę za długo odbijałeś płytkę, bo ci się toner lekko rozlał. Na tym zdjęciu to doskonale widać. Dodatkowo zrobiła ci się przerwa przy złączu w prawym dolnym rogu zdjęcia.
Mógłbyś coś więcej opisać o sterowaniu z panelu dotykowego? Co to za panel, czym sterowany?
docelowo zamiast rs232 zastosuj rs485. jesli chcesz tym stertować z pc to kup/zrob przejsciowke rs485-usb.
Ja sie kiedys wzbranialem przed rs485 ze wzgledu na "prostote", jednak poza biurko ten (232)standard sie nie nadaje. 2m kabla i transmisja bedzie pełna błędów/wolna.
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
12 Mar 2010 15:44
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
Duchu ty mój up...... kolego :]
Jako panel dotykowy zostanie zastosowany 9 calowy monitor dotykowy z allegro (ze względu na regulamin nie podaje linku - jak coś to pw).
Przykładowy panel dotykowy (będzie wykorzystany bardzo podobny):
Do panelu będzie podłączony mały komputerek typu AllInOne - wszystko zintegrowane z płytą główną, dysk twardy w postaci karty CF.
Efekty np policyjny są dodane jako zupełny bajer - klient sobie tak zażyczył to tak ma, możliwe że dojdą inne efekty jak już podłącze wszystko u niego.
Odnośnie transmisji, docelowo mam zamiar wstawić rs485 - dlatego max232 jest na kablu a nie na bezpośrednio na płytce. Sprawdzałem transmisje na taśmie takiej jak mam przy złączu ISP na odległości 4m i wszystko jest jak najbardziej cacy. Ze względu na to że sterownik będzie się znajdował w specjalnie do tego przygotowanej szafie obok komputerka w łazience problem długości kabla odpada, jednakże testowałem już rs485 i w niedalekiej przyszłości trafi on do projektu.
Bardzo możliwe że na dniach dodam zdjęcia z łazienki od klienta - jak się prezentuje sterownik w akcji.
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
12 Mar 2010 16:48
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
C++ liznąłem trochę w liceum (jestem po mat-infie) a dalszą zabawę z C++ miałem w czasie studiów na Politechnice Opolskiej (Automatyka i Robotyka). Co prawda głównie bawiliśmy się w statystykę i pisanie programów z dziedziny systemy wizyjne (obróbka grafiki) to ta wiedza się przydała, a że jestem w głównej mierze samoukiem wiele rzeczy nauczyłem się podczas zabaw z pisaniem programów.
Nie widzę tylko gdzie tu się odbywa sterowanie 40 diodami RGB? Sterujesz jednym wyjściem czyli można powiedzieć że jedną diodą RGB - a ile sobie ich podłączysz równolegle to od tranzystorów w ULN zależy ;)
Dołączył: 11 Lis 2004 Posty: 1012 Miasto: z internetu
12 Mar 2010 16:54
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
Robisz jeden błąd - rezystor nie powinien być na wspólnej katodzie (czy też anodzie - w zależności od rodzaju diody RGB), a na każdej anodzie z osobna. Zauważ że każdy kolor potrzebuje innego prądu do działania, poza tym w tym momencie czy świeci R, RG czy RGB, to zawsze płynie stały prąd. Oznacza to że dość szybko mogą ci paść diody.
Poza tym zauważ jak jasno świeci B w porównaniu z R - dając osobny rezystorek dla każdego koloru będziesz mógł wykalibrować sobie kolory tak, aby jeden drugiego nie przygłuszał.
Mam nadzieję że jakoś w miarę zrozumiale to opisałem.
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
12 Mar 2010 17:00
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
manekinen napisał:
Nie widzę tylko gdzie tu się odbywa sterowanie 40 diodami RGB? Sterujesz jednym wyjściem czyli można powiedzieć że jedną diodą RGB - a ile sobie ich podłączysz równolegle to od tranzystorów w ULN zależy ;)
W opisie założeń napisałem że sterowanie będzie się odbywać dla wszystkich diod razem (z jednych liniii). Ze względu na projekt oświetlenia w łazience i życzeń klienta diody są spięte razem tak aby wszystkie świeciły razem. Fajnie by było osiągnąć taki efekt jak z twojego linku (zresztą czytałem o tym podczas tworzenia sterownika) jednakże klient chciał tak a nie inaczej, mam nadzieję że u siebie będę mógł tak kiedyś zrobić.
dir3ctor napisał:
Robisz jeden błąd - rezystor nie powinien być na wspólnej katodzie (czy też anodzie - w zależności od rodzaju diody RGB), a na każdej anodzie z osobna. Zauważ że każdy kolor potrzebuje innego prądu do działania, poza tym w tym momencie czy świeci R, RG czy RGB, to zawsze płynie stały prąd. Oznacza to że dość szybko mogą ci paść diody.
Poza tym zauważ jak jasno świeci B w porównaniu z R - dając osobny rezystorek dla każdego koloru będziesz mógł wykalibrować sobie kolory tak, aby jeden drugiego nie przygłuszał.
Mam nadzieję że jakoś w miarę zrozumiale to opisałem.
Dziękuję za uwagę :) Jak widać po godzinie wstawienia już nie myślałem do końca trzeźwo - zgadzam się z tym, że powinny być rezystory na każdy kanał - u klienta na listwach już są zrobione.
Dołączył: 11 Lis 2004 Posty: 1012 Miasto: z internetu
12 Mar 2010 17:39
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
Tak coś mi się wydaje że albo masz bardzo kasiastego albo bardzo głupiego klienta. Przecież zamiast ładowania tam komputera z ekranem dotykowym, to można to zrobić na mikroprocku. Mało tego, nawet obsługę kolorowego LCD z warstwą dotykową też można by na uP odpalić :-)
Moich uwag tyle. Ciekawi mnie jak się to będzie prezentowało po zamontowaniu.
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
12 Mar 2010 18:26
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
dir3ctor napisał:
Tak coś mi się wydaje że albo masz bardzo kasiastego albo bardzo głupiego klienta. Przecież zamiast ładowania tam komputera z ekranem dotykowym, to można to zrobić na mikroprocku. Mało tego, nawet obsługę kolorowego LCD z warstwą dotykową też można by na uP odpalić :-)
Moich uwag tyle. Ciekawi mnie jak się to będzie prezentowało po zamontowaniu.
LCD będzie zajmowało się nie tylko sterowaniem tych diodek, również będzie sterował oświetleniem żarówkowym, czujnikami temperatury, czujnikami wilgotności, barierami świetlnymi itp i kilkoma innymi rzeczami. Klient chce wyświetlacz LCD bo lubi bajery - nie mój wybór tylko jego ;]
ShEvU_elektro napisał:
W jakim programie projektujesz płytki?
Schemat zrobiony w programie Eagle + dodatek PovRay do wygenerowania obrazka 3D.
Na Atmega128 możesz zrobić programowy PWM na Timerze i wykorzystać jako wyjścia PWM wszystkie dostępne nogi. Na dowolnej Atmedze taktowanej 8MHz i posiadającej odpowiednią ilość nóg możesz zrobić sterownik DMX 32-kanałowy. Mowa oczywiście o PWM rzędu 120Hz max, do LED wystarczy :) i "szkolnych" procedurach w C, bez żadnych strasznych optymalizacji czy wstawek assemblerowych. Na diabła Atmega8 do czegoś takiego? Wystarczy Attiny2313... Wiem, czepiam się, moje zboczenie, ale przy 500 sztukach to czy wpakujesz kwarc i większy procesor (droższy) ma już wymierne znaczenie (cena). Układ można by wpakować w Attiny13 - 1 noga na przyciski, 1 do RX (programowego) i 3 x PWM, bez kwarcu - sprawę załatwia wysłanie bajtu kalibrującego o postaci ramki 010101 - układ może z "automatu" dostosować się do dowolnej prędkości transmisji...
przyciski z wykorzystaniem ADC i dzielnika napięcia :).
Moją wypowiedź proszę potraktować ulgowo - bynajmniej nie krytykuję, a tylko zrzędzę :) - ogólnie konstrukcja bardzo ładna i starannie wykonana
A teraz już bez zrzędzenia - warto zaimplementować konwersję z modelu HSV na RGB - możesz sobie regulować jasność świecenia bez zmiany barwy.
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
13 Mar 2010 02:20
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
Witaj,
Atmege 8 wykorzystałem ze względu na to że je mam w tej chwili, attiny nie miałem więc taki a nie inny procesor - a ze względu że dla klienta 5 zł w te czy we wte wszystko jedno to nie miałem ochoty gibać do elektronicznego po inny uP ;]
(Odnośnie programowego Timera - w 1 wersji taki właśni był wgrany sposób sterowania diodami ale się nie do końca sprawdzał dlatego przeszedłem na sprzętowy PWM)
BTW.
Każdy przydatny komentarz wnosi poprawki do kolejnych wersji sterownika - nie mam nic przeciwko konstruktywnej krytyce/zrzędzeniu :)
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
13 Mar 2010 04:33
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
Ehhh a to się porobiło, do tej pory byłem przekonany że dioda odmienia się w liczbie mnogiej na "diód" a nie diod, przynajmniej się nauczyłem czegoś nowego :)
(Filmu już nie będę poprawiał, jednakże poprawiłem jego nazwę)
Pozdrawiam!
Fajny efekt, ale co do płytki to przydało by się żeby miała pole masy:
- Po pierwsze wygląda lepiej (ale to może być tylko moje odczucie).
- Po drugie oszczędza się wytrawiacz.
- A trzecie i chyba najważniejsze, nie ma się plątaniny ścieżek które czasem muszą iść miedzy nóżkami układów. Przy tak dużej powierzchni dookoła, połączenia mogły by spokojnie się zmieścić w formie "polygon-u" i panował by większy porządek.
Dołączył: 23 Sie 2006 Posty: 432 Miasto: Kędzierzyn-Koźle
14 Mar 2010 01:45
Re: Sterownik oświetlenia - Sterownik 40 diod RGB
dominon napisał:
Fajny efekt, ale co do płytki to przydało by się żeby miała pole masy:
- Po pierwsze wygląda lepiej (ale to może być tylko moje odczucie).
- Po drugie oszczędza się wytrawiacz.
- A trzecie i chyba najważniejsze, nie ma się plątaniny ścieżek które czasem muszą iść miedzy nóżkami układów. Przy tak dużej powierzchni dookoła, połączenia mogły by spokojnie się zmieścić w formie "polygon-u" i panował by większy porządek.
Witaj
Wiem jak robić pola masy w Eaglu (dzięki duchowi - parę rzeczy mi kiedyś podpowiedział) jednakże mam problem później z termotransferem, papier lub toner jaki mam nie nadaje się do dużych pól masy bo papier mimo bardzo długiego moczenia nie chce zejść z dużych pól masy. Jak znajdę sposób na to by przy obecnym papierze/tonerze mi wychodziły jak należy to na pewno je będę robił bo znacząco usprawniają wytrawianie.
Pozdrawiam!
Mogę Ci polecić papier kredowany o gramaturze 200. W moim przypadku zdał egzamin bardzo dobrze. No i ważne jest żeby zacząć odmaczać papier od płytki w ciepłej wodzie (np: z płynem do mycia naczyń) jak jest jeszcze dobrze ciepła (nie gorąca). Sprawdziłem to kilkukrotnie i wtedy papier lepiej odchodzi a do tego jest mniejsza szansa że odejdzie nam ze ścieżką oczywiście po odpowiednim wygrzaniu. To tyle z moich doświadczeń w tym temacie, może komuś się przydadzą.
Czytając tytuł "Sterownik oświetlenia - Sterownik 40 diod RGB" pomyślałem, "o fajnie pewnie gość zrobił sterownik np do matrycy gdzie sterowana jest każda dioda z osobna" a tu się okazuje to zwykły sterownik dla jednej diody RGB.
To co mi się podoba, to że fajnie to zintegrowałeś driver z aplikacją PC i to jeszcze z graficznym api. :)