Sterownik oświetlenia LED – AQMA LED CONTROL
Stworzenie lampy, to wbrew pozorom bardzo prosta sprawa. Wystarczy skorzystać z odpowiednich rozwiązań. Co będzie potrzebne? Drivery, zasilacz, sterownik i same diody. Zanim zaczniesz czytać dalej, zerknij do instrukcji, na końcu są przykłady realizacji różnych konfiguracji lamp. To prostsze niż się może wydawać. Pełna instrukcja obsługi z przykładami:
AQma LED Control instrukcja PDF
Jeżeli potrzebne będzie gotowe rozwiązanie, oprogramowane Arduino, płytkę i inne graty można kupić w moim sklepie online, serdecznie zapraszam: https://AQma.pl
Co potrafi sterownik:
Użytkownik może ustawić długość wschodu i zachodu słońca (w minutach), a także minimalną i maksymalną moc jaką będzie sterowana lampa. Każdy z kanałów może pracować jako oświetlenie nocne (można określić jak długo ma się świecić).
Czas włączenia/wyłączenia może przechodzić przez godzinę 0:00, czas wschodu może przechodzić przez godzinę 0:00, czas zachodu również może przechodzić przez godzinę 0:00. Sterownik jest „odporny” na braki zasilania i po powrocie zasilania uruchamia się z ustawieniami adekwatnymi do aktualnej godziny.
Dostępny jest tryb testu. Można go włączyć stawiając ptaszek w polu „Test”. Tryb ten umożliwia przetestowanie ustawień PWM dla lampy. Po uruchomieniu trybu testowego, aktywne staje się pole z suwakiem. Można nim ustawić żądaną moc każdego z kanałów. Aktualną wartość PWM odwzorowuje kolorowy pasek powyżej suwaka. Dane do AQmy wysyłane są zaraz po ustawienia suwaka (po zwolnieniu przycisku myszki). Możliwe jest dokładne ustawienie wartości procentowych (co 1%) z użyciem strzałek na klawiaturze, wtedy, dane zostaną wysłane po naciśnięciu entera.
Po zaniku zasilania wszystkie kanały PWM płynnie się “rozświetlają” aż do ustalonej wartości. Cały proces trwa 30 sekund.
Jest możliwe sterowanie przetwornicami, które działają odwrotnie. Gdy dostają maksymalne wypełnienie to wyłączają diody a przy wypełnieniu równym zero sterują diody pełną mocą (ostatnio sporo takich przetwornic na rynku). Jeżeli trafiła się taka przetwornica, należy zmodyfikować w “Ustawieniach” zmienną pwmXInvert z false na true (gdzie X to numer kanału). Całość dla kanału pierwszego powinna wyglądać tak (w przypadku samodzielnej kompilacji):
boolean pwm1Invert = true;
Jeżeli w polu minimum zostanie wpisana wartość 1% wypełnienia, dla oświetlenia nocnego zostaje ustawiona najmniejsza możliwa wartość PWM (mniejsza niż 1%). Teoretycznie lampa 100W będzie pracować z mocą 0,39W (dotyczy to tylko oświetlenia nocnego – moc kanału/255). Kolejne wartości wyliczane są “normalnie”.
AQma LED Control można wyposażyć w moduł bezprzewodowy, który umożliwia bezprzewodową obsługę sterownika z aplikacji windowowej (komputer/laptop musi mieć moduł Bluetoot), lub za pomocą telefonu z systemem Android.
Sterownik można wyposażyć w microswitch (lub jakikolwiek inny przełącznik chwilowy) i buzer z generatorem 5V. Pojedyncze krótkie naciśnięcie przycisku spowoduje wyłączenie wszystkich kanałów LED, domyślnie na 10 minut (jedno piknięcie buzera), ponowne krótkie naciśnięcie przełącznika spowoduje ustawienie wszystkich kanałów na pełną moc. Sterownik pozostanie w trybie “ręcznym” przez 10 minut. Czas trybu ręcznego można ewentualnie dostosować w zmiennej sleepTime (w sekundach). Po upływie zadanego czasu sterownik wróci do pracy w trybie automatycznym (ustawionym przez użytkownika w aplikacji). Aby ręcznie wymusić wyjście z trybu manualnego i powrót do ustawień automatycznych należy przytrzymać przycisk przez około 2s do momentu usłyszenia długiego sygnału dźwiękowego, lub wykonać dowolna czynność konfiguracyjną z windowsowej aplikacji.
Każdorazowe poprawne przesłanie danych konfiguracyjnych z aplikacji do sterownika zostanie potwierdzone sygnałem dźwiękowym.
Od wersji 3.0.0 sterownik został prawie całkowicie przepisany, ze względu na spore zmiany w kodzie, jak i w strukturze pamięci konieczne jest posiadanie aplikacji na Windows w wersji co najmniej 1.4.0.
Doszła nowa funkcjonalność włączenia oświetlenia nocnego na określony czas “Po zmierzchu” (od, do) i “Przed świtem” (od, do). W oświetleniu nocnym biorą udział kanały, które mają zaznaczony “ptaszek” “Oświetlenie nocne”.
Jeżeli w sekcji “Dostosuj oświetlenie nocne” nie jest zaznaczony ptaszek “Ustaw manualnie” oświetlenie nocne będzie się świeciło przez całą noc.
Nowe funkcje przycisku: Jedno kliknięcie powoduje wyłączenie trybu automatycznego i powolne wygaszanie lampy, wyłączenie jest całkowicie płynne (od aktualnej wartości do zera). Kolejne kliknięcie spowoduje rozświetlenie lampy ale z racji tego, że użytkownicy często używają sterownika do ograniczenia maksymalnej mocy kanałów (w aplikacji pole maksimum [%]) więc kanały zostaną rozświetlone do maksymalnych wartości ustawionych przez użytkownika, tym sposobem sam sterownik nawet w trybie manualnym dba o odpowiednią moc, która zostanie dostarczona do diod, jak również zachowa ustawienia charakterystyki kolorów ustawione przez użytkownika. Oba tryby manualne (On/Off) działają w każdym momencie pracy sterownika (kanał, włączony, wyłączony, rozświetlanie, wygaszanie, oświetlenie nocne, brak oświetlenia nocnego, inversja kanału, start sterownika itp…) i każdorazowo zmiana stanu wykonywana jest płynnie. Powrót do pracy w trybie automatycznym następuje samoczynnie po dziesięciu minutach lub dłuższym przyciśnięciu przycisku (ok 2 sekundowym). Powrót do stanu automatycznego odbywa się płynnie i zostanie zakomunikowany dwoma piknięciami buzera.
Z uwagi na nowe funkcjonalności sama aplikacja nieco zmieniła interfejs. Obecnie istnieje możliwość wyboru języka (PL, EN). Sporo udoskonaleń przeszedł również system powiadomień.
Potrzebne elementy:
Oprogramowane Arduino Nano v3 ATmega328 z nowym bootloaderem
RTC DS3231, może być DS1307 (mniej dokładny). Zegar musi być wyposażony w akumulator LIR2032.
Żeby pozbyć się większości problemów (ogwiazdkowanych na dole) przyda się płyta AQmaBoard (dla tych, którzy lubią ładnie i profesjonalnie :))
Jakieś przewody i zasilacz od 7 do 12V
W przypadku samodzielnej kompilacji i programowania sterownika potrzebne będą jeszcze:
Biblioteki time.zip, DS1307RTC.zip, OneWire.zip (nie rozpakowuj – szkic/Include Library/Add .ZIP Library… lub Szkic/Dołącz bibliotekę/Dodaj bibliotekę .ZIP. Ewentualnie dla wyświetlacza przyda się LiquidCrystal_I2C i Wire.zip)
Do wgarania kodu i sterowników do Arduino przyda się https://www.arduino.cc/en/Main/Software. (W razie problemów ze sterownikami proszę zainstalować te, które są dołączone do “AQma LED Control ver. 4” (do ściągnięcia na dole strony).
Schemat:
Poniżej schematy dla mniej wymagających, tak zbudowany sterownik będzie działał, jednak nie będzie zachowana pełna funkcjonalność.
Zdecydowanie polecam zakup gotowego, w pełni przygotowanego rozwiązania – kliknij tutaj.
* Arduino Nano ma taką irutującą przypadłość, że po podłączeniu USB resetuje się, co powoduje mruganie lampy. Rozwiązaniem jest dolutowanie kondensatora 1μF pomiędzy pin RST a masę. Ten patent u mnie działa za każdym razem, jednak jest sporo innych pomysłów o których można poczytać tutaj. Jedyna niedogodność to taka, że po modyfikacji przy wrgrywaniu nowego sketch’a trzeba fizycznie kliknąć reset na płytce w chwili gdy pojawi się napis “Wgrywanie…”
** Żeby aplikacja na windows prawidłowo odczytała dane z AQmy najpierw należy skonfigurować wszystkie kanały (nawet te nieużywane) inaczej zaczytywane są śmieci z nieuzupełnionego epromu i aplikacja wyrzuci błąd.
*** Jeżeli Arduino i drivery LED zasilane są z różnych źródeł należy połączyć masy (minusy) wszystkich użytych zasilaczy (tylko minusy!!!).
**** Arduino jest wyposażony w mikrokontoler, który jest bardzo wrażliwy na skoki zasilania. Bardzo zalecane jest użycie filtrowanego zasilacza transformatorowego. Dodatkowo dobrze jest dołożyć równolegle dwa kondensatory 100nF i 10µF pomiędzy pin 5V a GND Arduino.
***** Istnieje możliwość ustawienia kanału w taki sposób aby sterował przekaźnikiem SSR. W aplikacji konfigurację kanału trzeba ustawić tak: wschód 0 minut, zachód 0 minut, minimum 0%, maksimum 100%, oświetlenie nocne wyłączone. Jeżeli przekaźnik będzie działał “odwrotnie”, należy przeprogramować sterownik, zmieniając pwmXInvert (gdzie X to numer obwodu) z false na true
****** Jeżeli układ ma więcej niż jeden zasilacz, wszystkie masy muszą być ze sobą połączone, to bardzo ważne, inaczej jest spora szansa, że popali sie cała elektronika
Najnowsza, czwarta wersja sterownika AQma LED Control. Jest to skompilowane oprogramowanie dla Arduino Nano, Bardzo prosta instalacja, za pomocą jednego kliknięcia przycisku. Wystarczy do USB podłączyć Arduino, uruchomić AQma Update Tool i kliknąć przycisk "Aktualizuj!". Nie wymaga środowiska programistycznego, instalacji bibliotek, kompilacji itp.
Kod w formie nieskompilowanej, wymaga użycia środowiska programistycznego Arduino IDE i zainstalowania odpowiednich bibliotek.
Wersja Beta, nierozwijana, niewspierana.
RTC,Time,LiquidCrystal
3 KOMENTARZE
Mam ten sterownik zbudowany do dwóch zbiorników już od przeszło roku . Spisują się bardzo dobrze . Chwała autorowi że udostępnia je bezpłatnie . Jedyny problem który mnie bardzo boli to to że autor nie udostępnia już nowych wersji w formie nieskompilowanej . Taką wersję właśnie mam wgraną i w niej mogę sobie dostosować program do własnych potrzeb lekko go modyfikując . Niestety w nowych wersjach tak zrobić nie można .
Bardzo dziękuje za udostępnienie tego sterownika. Kawal dobrej roboty !
Również jestem wdzięczny za ten projekt, pracuje u mnie już kilka lat bezawaryjnie w dwóch baniakach.. 🙂
Mam pytanie do Pana Marcina , czy jest możliwość uaktulnienia projektu o układ ESP8266 i zmiany komunikacji z (BT i aplikacji windows/android) na WIFI poprzez strone WWW. z adresem esp w trybie AP mode??