Ambient LED controler - sterownik diod LED RGB, kontrolowany poprzez aplikację Bluetooth

Ambient LED controler - sterownik diod LED RGB, kontrolowany poprzez aplikację Bluetooth

Zaprezentowany sterownik oświetlenia LED RGB jest kontrolowany za pomocą aplikacji na system Android. Powstał dlatego, że chciałem mieć w samochodzie podświetlanie na nogi, niestety w mojej wersji wyposażenia auta oświetlenia takiego nie było. Co prawda dostępne są gotowe sterowniki przeznaczone do tego celu, ale to konstrukcje bardzo słabej jakości i nie potrafiłem się do nich przekonać.

Podstawowe parametry:
  • 4 niezależnie sterowane wyjścia RGB z wyjściami o prądzie 40 mA (z możliwością zmiany),
  • kontrolowany za pomocą aplikacji na system Android lub za pomocą przycisków microswitch,
  • może być używany w samochodzie lub jako kontroler oświetlenia LED w domu,
  • sterownik można zasilać napięciem 12 V lub 5 V.

Postanowiłem opracować własny sterownik, który mógłbym podłączyć do gniazda USB lub gniazda zapalniczki, dzięki czemu nie ingerowałbym w instalację elektryczną auta. To bardzo istotne, ponieważ każda ingerencja może spowodować utratę gwarancji, którą objęte jest auto. Urządzenie, które zbudowałem, jest bardzo uniwersalne – nie musi być używane w samochodzie, może być używane jako kontroler oświetlenia LED w domu.

Budowa i działanie

Na rysunku 1 został pokazany schemat sterownika. Do złącza PWR jest doprowadzone zasilanie. Do pinu 1 należy podłączyć biegun dodatni 5 V lub 12 V, natomiast do pinu 2 lub 3 – masę zasilania. Do pinu 4 należy podać sygnał o wartości 5…12 V w momencie, gdy chcemy, aby nastąpiło uruchomienie sterownika. Pierwszym elementem na linii zasilania jest rezystor R2 zabezpieczający instalację w przypadku wystąpienia zwarcia w sterowniku. Zworki oznaczonej J (0R) nie należy wlutowywać. Za rezystorem R2 został umieszczony tranzystor MOSFET Q15 zabezpieczający cały układ przed podaniem napięcia o odwróconej polaryzacji. Za tranzystorem umieszczono diodę transil TR1 o napięciu zadziałania 20 V, chroniącą układ przed ewentualnymi przepięciami.

Rysunek 1. Schemat ideowy sterownika

Kondensator C1 o niewielkiej pojemności filtruje zakłócenia na linii zasilania. Za kondensatorem znajduje się obwód zabezpieczający przed zwarciem i zbyt dużym poborem prądu przez przetwornicę z układem U1. Obwód składa się z tranzystora Q20 oraz rezystorów R3, R4, R5, R6. W momencie, gdy przetwornica pobiera zbyt duży prąd, tranzystor Q20 podaje napięcie na wyprowadzenie INH, powodując wyłączenie przetwornicy. Podanie napięcia na czwarte wyprowadzenie złącza PWR powoduje załączenie tranzystora i tym samym ustawienie wejścia INH przetwornicy w stanie niskim. Stan niski jest ustalany za pomocą dzielnika R13, R7. Dzielnik został tak dobrany, że jeżeli nie zadziała dioda zabezpieczająca TR1 (np. wskutek uszkodzenia), przetwornica i tak wyłączy się z powodu zbyt wysokiego napięcia na wejściu. Dioda D2 zabezpiecza bramkę tranzystora MOF.

Tranzystory Q10 i Q21 wraz z diodą D1 oraz rezystorem R53 stanowią układ stabilizacji napięcia potrzebnego do zasilania mikrokontrolera oraz modułu Bluetooth HC-05, który komunikuje się z mikrokontrolerem za pomocą interfejsu UART. Diody D22, D23 wraz z rezystorami R1, R54 stanowią zabezpieczenie przed zwarciem na wyjściu układu, ponadto wspomniane rezystory mają za zadanie wyrównanie prądów płynących przez tranzystory Q10, Q21. Kondensatory C12, C13 filtrują napięcie zasilania do mikrokontrolera oraz modułu Bluetooth.

Przetwornica U1 wraz z dławikiem L3, diodą Schottky’ego D3, kondensatorami C4, C5, C6 oraz dzielnikiem R11, R12 stanowi typowy układ przetwornicy typu BUCK. Napięcie wyjściowe przetwornicy zostało ustawione na wartość 8 V za pomocą wspomnianego dzielnika. W momencie, gdy cały układ jest zasilany napięciem niższym, np. 5 V, klucz przetwornicy po prostu się otwiera na stałe. Maksymalna rezystancja otwartego kanału przetwornicy wynosi 0,5 Ω, przez co spadek napięcia na przetwornicy oraz na rezystancji dławika L3 nie będzie duży.

Liczba możliwych do podłączenia szeregowo diod LED na wyjściu kontrolera zależy od jego napięcia zasilania, ale także od danej grupy napięcia przewodzenia użytych diod LED. W przypadku zasilania napięciem 5 V oraz napięcia przewodzenia diody LED równym np. 3,4 V, można podłączyć tylko jedną diodę na dane wyjście, natomiast w przypadku zasilania napięciem 12 V na wyjście należy podłączyć dwie szeregowo podłączone diody LED, aby ograniczyć straty mocy na źródle prądowym.

Wszystkie źródła prądowe służące do podłączenia diod LED mają taką samą budowę, dlatego zostanie opisany tylko jeden tor. Poprzez tranzystor T3, który jest sterowany z mikrokontrolera, następuje uruchomienie źródła prądowego zbudowanego za pomocą tranzystora Q1, diod D7 oraz rezystora R17. Za pomocą tego rezystora można ustawić maksymalny prąd płynący na diodę LED w taki sposób, aby tranzystor źródła prądowego nie uległ zniszczeniu. Przykładowo, jeśli spadek napięcia na tranzystorze źródła prądowego może wynieść maksymalnie 3 V, natomiast maksymalna moc tranzystora w obudowie SOT23 wynosi 0,25 W, nie należy wtedy przekraczać prądu o wartości 83 mA.

Model projektu zasilam z gniazda USB, a do każdego wyjścia jest podłączona jedna dioda LED. Jest to konfiguracja, w której źródło prądowe nie ulegnie uszkodzeniu w przypadku zwarcia jego wyjścia do masy. Powoduje to dodatkową ochronę źródła prądowego przed zwarciem diody LED.

Wartość graniczna prądu wyjściowych źródeł prądowych została ustawiona na wartość około 40 mA. Zalecane jest, aby nie zmieniać tej wartości, natomiast jako tranzystory wyjściowe PNP dobrze jest zastosować BC807-16  (300 mW). Grupa 16 zapewnia minimalne wzmocnienie, ale w przypadku wyboru tej grupy cały układ jest bardziej odporny na zakłócenia. W przypadku braku tranzystorów z grupy 16 można wlutować oczywiście grupę 25 lub 40, które mają większe wzmocnienie. Katody diod LED RGB należy podłączyć do złączy STIP, CLOSET, FOOT1, FOOT2, do których podłączone są tranzystory MOSFET Q11, Q12, Q13, Q16. Tranzystory te są kontrolowane za pomocą programowego sygnału PWM z mikrokontrolera i służą do regulacji mocy diod LED, co pozwala na uzyskanie określonej barwy światła.

Najlepiej jest zastosować diody LED RGB, które dla koloru zielonego, czerwonego i niebieskiego nie mają wspólnej katody, co sprawia, że diody można łączyć szeregowo w łatwy sposób. Ja użyłem diod POWER LED RGB, które mają duży prąd znamionowy oraz zapewniają dużą intensywność światła. Dzięki temu, nawet przy wysterowaniu ich niewielkim prądem, światło jest intensywne (wartość strumienia świetlnego jest proporcjonalna do wartości prądu – stosując takie założenie, otrzymujemy prosty sposób przeliczania wymaganego strumienia świetlnego w zależności od prądu).

Sterownik z założenia miał pracować w samochodzie, dlatego starałem się, aby wszystkie użyte do jego budowy elementy były kwalifikowane pod AEC. Jako mikrokontroler sterujący został wybrany ATmega48, który jest taktowany za pomocą zewnętrznego rezonatora kwarcowego o częstotliwości 8 MHz. Rezystor R55 oraz kondensator C17 zapewniają właściwe zerowanie sprzętowe. Złącze PROG służy do podłączenia programatora ISP. Do złącza HC-05 należy przylutować moduł Bluetooth, który ma zgodne wyprowadzenia oraz jest umieszczony na fabrycznej podstawce PCB wyposażonej w złącze goldpin. Kontrolerem można też sterować za pomocą przycisków microswitch UP, DWN, SEL.

Moduł Bluetooth HC-05 domyślnie ma ustawioną prędkość UART 9600 bitów na sekundę dlatego mikrokontroler komunikuje się z modułem z taką prędkością. Aby zmienić jakiekolwiek ustawienia modułu, należy podłączyć do niego konwerter USB-UART, a następnie za pomocą komend AT zmienić ustawienia. Zmiana ustawień modułu jest niezalecana.

Montaż i uruchomienie

Płytka PCB jest dwuwarstwowa. Wszystkie elementy zostały rozmieszczone na jednej warstwie (strona TOP), żeby druga warstwa (BOTTOM) mogła być w całości wypełniona polem masy. Taka konstrukcja pomaga w ekranowaniu oraz w zapewnieniu właściwych torów prądów powrotnych, zmniejszając tym samym emisję zakłóceń EMC. Na warstwie TOP, tam gdzie to możliwe, także znajdują się pola masy. Na całej płytce zostały rozmieszczone przelotki, które łączą ze sobą obie warstwy masy, wyrównując ich potencjał. Schemat płytki drukowanej został pokazany na rysunku 2.

Rysunek 2. Schemat płytki PCB sterownika

Montaż należy rozpocząć od przylutowania wszystkich elementów w torze zasilania (przetwornica oraz stabilizator dyskretny). Następnie należy podłączyć do układu zasilanie 12 V i sprawdzić, czy na wyjściu tranzystora Q10, Q21 jest obecne napięcie 5 V, natomiast na wyjściu przetwornicy jest obecne napięcie 8 V. Jeżeli napięcia są prawidłowe, można przystąpić do przylutowania procesora oraz pozostałych elementów SMD. Na samym końcu można przylutować wszystkie pozostałe elementy przewlekane.

Jeśli zamierzamy zasilać kontroler napięciem 5 V, wtedy należy sprawdzić, czy na podstawce modułu HC-05 nie ma diody prostowniczej na wejściu zasilania, która zabezpiecza moduł przed odwrotnym podłączeniem napięcia. Dioda ta powoduje, że moduł musi być zasilany napięciem nieco wyższym niż 5 V. Dlatego, aby mógł on działać przy zasilaniu 5 V, należy tę diodę wylutować, a pady zewrzeć. Zmontowana płytka od strony TOP została pokazana na fotografii 1.

Fotografia 1. Zmontowana płytka PCB od strony TOP

Po zmontowaniu płytki, do złącza PROG należy podłączyć programator i zaprogramować mikrokontroler. Następnie do wyjścia kontrolera należy podłączyć diody LED RGB. Kolejny krokiem jest zainstalowanie aplikacji Ambiente BT LED Controler na urządzeniu z systemem Android np. na smartfonie. Należy pamiętać o załączeniu Bluetooth, lokalizacji i zezwoleniu aplikacji na dostęp do tych modułów. Po tych czynnościach należy podłączyć zasilanie do sterownika, a następnie wyszukać i połączyć się z modułem HC-05 poprzez jego wyszukanie w aplikacji za pomocą przycisku SEARCH. Po tym wszystkim należy sprawdzić, czy wszystkimi kanałami wyjściowymi da się poprawnie sterować.

Fotografia 2. Działanie modelu w docelowym zastosowaniu; wyjście STRIP – kolor czerwony; wyjście FOOT – kolor niebieski

Dobrą praktyką jest sprawdzenie, czy po załączeniu wszystkich wyjść i ustawieniu ich na maksymalną moc sterownik się nie przegrzeje. Jeśli wszystko działa poprawnie, to należy zamontować sterownik oraz diody LED w obudowie. Przed instalacją sterownika w samochodzie należy pamiętać, że montaż w pojeździe wykonujemy wyłącznie na własną odpowiedzialność oraz że musi być to wykonane przez osobę mającą odpowiednie umiejętności i doświadczenie. Ostatnią ważną informacją jest to, że rozmieszczenie diod LED oraz ich jasność muszą być tak zaplanowane i dobrane, aby nie utrudniały kierowcy widoczności i możliwości prowadzenia auta. Na fotografiach 2 i 3 pokazano działanie modelu w docelowym zastosowaniu.

Fotografia 3. Działanie modelu w docelowym zastosowaniu; wyjście STRIP – kolor niebieski; wyjście FOOT – kolor czerwony

Obsługa

Sterowanie układem może się odbywać przez moduł Bluetooth HC-05 lub przez przyciski microswitch. Poprzez naciśniecie przycisku SEL następuje zmiana zaznaczenia wybranego koloru na danym wyjściu sterownika lub zmiana wyjścia sterownika, które będziemy chcieli zmieniać. Po naciśnięciu SEL następuje zamiganie danego koloru przynależnego do danego wyjścia lub zamiganie wszystkich kolorów dla danego wyjścia w przypadku, gdy chcemy zmienić moc świecenia tego wyjścia. Za pomocą przycisków UP, DWN możemy zmieniać daną wartość. Po około 10 s od ostatniej wprowadzonej zmiany program zapisze wszystkie ustawienia do pamięci EEPROM, dzięki czemu po ponownym uruchomieniu nie trzeba wprowadzać zmian od nowa.

Rysunek 3. Wygląd aplikacji sterującej

Drugim sposobem zmiany ustawień sterownika jest aplikacja Ambiente BT LED Controler, której wygląd został pokazany na rysunku 3. Na samym początku, mając włączoną komunikację Bluetooth oraz lokalizację w telefonie, należy dotknąć przycisku SEARCH w telefonie i wyszukać moduł HC-05 (jeżeli jego nazwa została zmieniona za pomocą komend AT, to należy wyszukać odpowiednią nazwę). Po połączeniu się z modułem HC-05 dostępne stają się przyciski DISCONNECT oraz PROGRAM. Pierwszy z nich służy do rozłączenia się ze sterownikiem, drugi natomiast służy do wysłania do sterownika wszystkich wprowadzonych ustawień. Po wysłaniu ustawień za pomocą przycisku PROGRAM następuje zmienia koloru lub mocy zaznaczonego wyjścia według ustawień, które wprowadziliśmy w aplikacji.

Za pomocą trzech suwaków, zmieniamy moc danego koloru. Zmieniając wartości za pomocą wszystkich trzech suwaków jesteśmy w stanie uzyskać dowolny kolor. Podgląd ustawionego koloru oraz moc diod LED jest możliwy za pomocą prostokąta, znajdującego się pod suwakami. Nad przyciskami możemy zaznaczyć wyjście, którego parametry chcemy zmienić. Mając zaznaczone wyjście CLOSET zmieniamy wyjście CLOSET na sterowniku. Mając zaznaczone wyjście STRIP, zmieniamy wyjście STRIP na sterowniku, natomiast gdy mamy zaznaczone wyjście FOOT, wtedy zmieniamy wyjście FOOT1 oraz FOOT2 na sterowniku.

Obudowa

Obudowa sterownika składa się z dwóch części, które zostały wykonane na drukarce 3D. Płytka PCBA została przymocowana do obudowy klejem na gorąco. Pokrywka oraz główna część została przymocowana za pomocą śrubek 3 mm. Model obudowy został pokazany na rysunku 4. Na fotografii 4 znajduje się zamontowana płytka w obudowie.

Rysunek 4. Model obudowy sterownika
Fotografia 4. Wygląd zmontowanej płytki umieszczonej w obudowie

Obudowa diod LED także została wydrukowana na drukarce 3D. Również składa się ona z dwóch części (rysunek 5) – pokrywki, do której można przymocować kolimator oraz dolnej części, do której została przymocowana dioda LED.

Rysunek 5. Model obudowy diody LED
Fotografia 5. Diody LED umieszczone w obudowach

Część dolną oraz górną należy ze sobą skleić. Model diody LED w obudowie został pokazany na fotografii 5.

Krzysztof Miękus
lordwest1989@tlen.pl

Wykaz elementów:
Rezystory:
  • R1, R54: 3,3 Ω (SMD0805)
  • R2: 0,33 Ω (SMD1206)
  • R3…R6: 1 Ω (SMD1206)
  • R7, R10: 4,7 kΩ (SMD0805)
  • R8: 100 kΩ (SMD0805)
  • R9, R20...R28, R32...R40, R44...R52, R63...R68, R70, R71: 10 kΩ (SMD0805)
  • R11: 11 kΩ (SMD0805)
  • R12: 2 kΩ (SMD0805)
  • R13: 200 kΩ (SMD0805)
  • R17…R19, R29…R31, R41…R43, R60, R61, R62: 15 Ω (SMD0805)
  • R53: 510 Ω/0,5 W (SMD1206)
  • R55…R59, R72, R73: 10 kΩ (SMD0805)
Kondensatory:
  • C1, C13...C17: 100 nF (SMD0805)
  • C2, C18, C19: 22 nF (SMD0805)
  • C3: 220 pF (SMD0805)
  • C4…C6, C8, C12: 10 μF/16 V (SMD1206)
  • C7, C9, C20: 10 μF/25 V (SMD1206)
Półprzewodniki:
  • D1: 5,6 V (SOD80C)
  • D22, D23: (MINIMELF)
  • D2: 20 V (SOD80C)
  • D3: (SMB)
  • D4...D12, D30, D31, D32: BAV199 (SOT23)
  • TR1: transil 20 V (DO214AC)
  • Q1...Q9, Q17, Q18, Q19, Q20: BC807-16 (SOT23)
  • Q10, Q21: BC817-40 (SOT23)
  • Q14: 8 MHz (HC49/S)
  • Q15: AO6401A (SC74)
  • MOF, Q11, Q12, Q13, Q16: 2N7002 (SOT23)
  • T3...T14: BC847 (SOT23)
  • IC1: ATmega48-AI (TQFP32-08)
  • U1: A5973AD (SO8-THERMALPAD)
Pozostałe:
  • J: 0R (SMD1206)
  • L3, L4: 15 μH/500 mA (SMD)
  • CLOSET, FOOT1, FOOT2, PWR, STRIP: złącze ARK254-4
  • HC-05: WIRELESS-BLUETOOT-C-05 (goldpin 1×5; 2,54)
  • PROG: GOLDPIN6 (goldpin 1×6)
  • UP, SEL, DWN: mikroswitch (SMD)
Artykuł ukazał się w
Elektronika Praktyczna
styczeń 2022
DO POBRANIA
Materiały dodatkowe
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik listopad 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 listopad 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich grudzień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów