mathom Zgłoś Napisano 10 Października 2016 (edytowane) Witam po zbudowaniu mojej lampy DIY i wrzuceniu do niej wyśmienitego softu MAGU zacząłem oczywiście ulepszać soft. Doszedłem do punktu gdzie od nowa napisałem sterownik zostawiając tylko kompatybilność bluetooth z AQMA by Magu. Uwaga! Grafiki wykorzystane w sterowniku są ściągnięte z netu, oczywiście nie mam do nich praw autorskich, są dodane poglądowo do użytku prywatnego. Fajnie by było gdyby ktoś zrobił własne i się podzielił Sterownik mieści się (ledwo) na Arduino Nano i do wykorzystania pełnych możliwości wymaga: Sprzęt: - Arduino Nano - zegar RTC z baterią - moduł bluetooth - 3 termometry cyfrowe DS18B20 - ja używam tych na sondzie (cena ok 10 zł / szt) - 3x przekaźniki do sterowania obwodami wiatraków (moduły na allegro po 2 lub 4, cena 20-30 zł) - dotykowy wyświetlacz Nextion 2.8" - ~16USD z wysyłką na Aliexpress. Wyświetlacz warto podłączyć przez przetwornicę (5v) lub osobnym zasilaczem. Wydajność prądowa nano jest za mała. - (opcjonalnie) przetwornice napięcia step-down, ja używam tych z LCD i potencjometrem do zasilania wszystkiego z jednego zasilacza i płynnej regulacji obrotów wiatraków napięciem (cena 35 zl / szt) Oczywiście wszystko będzie działało również bez termometrów, przekaźników i wyświetlacza. Możliwości: - obsługa 6 PWM (z modułem i2c do 70) - obsługa 3 termometrów - obsługa 3 przekaźników uruchamiających obwody wiatraków przy przekroczeniu zadanej temp. - podobnie jak u Magu - płynne wschody i zachody, ale dodatkowo płynne ściemnianie/rozjaśnianie przy każdej zmianie mocy. - logarytmiczne ściemnianie i rozjaśnianie do wyboru w ustawieniach (przyjemniejsze dla oka - UWAGA! eksperymentalnie - mogą być problemy, pracuję nad tym) - dodatkowy program dostępny z menu głównego (np. do aklimatyzacji lub oświetlenia sumpa) - możliwość wyłączenia światła, włączenia oświetlenia nocnego (płynne przejścia) - uruchamianie wiatraków w zależności od temperatury - pełna konfiguracja na LCD, w tym godziny pracy, czas wschodów itd, data i godzina, temperatury, adresy termometrów, czasów płynnego rozjaśniania itd. itp. - ekran z godzinnym harmonogramem pracy - wygaszacz ekranu z godziną i temperaturą wody - tryb test - wszystkie ustawienia w pamięci lampy UWAGA! Ze względu na inną strukturę EEPROM przy pierwszym uruchomieniu nastąpi wyczyszczenie pamięci. Todo: - czas letni Oprogramowanie: - standardowe Arduino IDE, wymagane biblioteki w paczce - Nextion Editor (https://nextion.itead.cc/download.html) Wyświetlacz NEXTION: - komunikuje się z Arduino przez UART (łącze szeregowe) - należy podłaczyć Rx (arduino) - Tx (nextion), Tx (arduino) - Rx (nextion) - co ważne - nie mając wyświetlacza można przetestować soft w symulatorze w środowisku Nextion Editor (https://nextion.itead.cc/download.html). Wystarczy podłączyć lampę po USB (115200 baud). Symulator jest w pełni funkcjonalny. Mam nadzieję że Magu nie obrazi się o przeróbki totalne jakie dokonałem w jego sofcie. Zachowana jest kompatybilność z AQMA w obsłudze przez Bluetooth w zakresie wspólnych opcji. Gdyby Wam się soft spodobał to myślę że można by poprosic Magu o dorobienie reszty Sterownik w wersji 1.0 więc błędy mogą być, będę się starał naprawiać na bierząco. Link do softu: https://github.com/mathompl/*** Okablowanie: Edytowane 3 Listopada 2016 przez mathom (wyświetl historię edycji) Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
lukaszt0 Zgłoś Napisano 10 Października 2016 - dotykowy wyświetlacz Nextion 2.8" - ~16USD z wysyłką na Aliexpress. - pełna konfiguracja na LCD, w tym godziny pracy, czas wschodów itd, data i godzina, temperatury, adresy termometrów, czasów płynnego rozjaśniania itd. itp. Czyli można ją sterować dotykowo? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
inn0vat1on Zgłoś Napisano 10 Października 2016 Super, że mamy kolejnego magika na forum. Cytuj The more you know, the less you don't know. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 10 Października 2016 Tak oczywiście sterowanie dotykowe. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
lukisc Zgłoś Napisano 10 Października 2016 A jest możliwość dodania włącz wyłącz np. do swietlówek T5 3 kanały Pozdrawiam Łukasz Cytuj 375l z sumpem, Maxspect Gyre 150, 1x Jeba WP-25,Jebao DC 1200,Vertex Omega 180i,34kg skały, 6x 54W T5+ 60W Led multichipy, , auto dolewka, RO+DI Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 10 Października 2016 Tak, wystarczy zamiast driverow led dać przekaźniki 230v i zmienić obsługę wyjść w sofcie. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
lukaszt0 Zgłoś Napisano 10 Października 2016 Podasz do jakich złączy podłączyć termometry? Zobacz PW Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 10 Października 2016 Termometry łączy się z jednym pinem - jest w konfigu ***.h. Trzeba tylko dać rezystor np. 4.7k między sygnałem a vcc. Tutaj manual: http://tomczak.org.pl/index.php/dydaktyka/swbud/arduino-odczyt-termometru-cyfrowego/ został mały babol w kodzie (delay). wrzuciłem poprawioną wersję, link w 1 poście. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 23 Października 2016 Wrzucona nowa wersja, poprawione kilka bugów w tym jeden poważny w czytaniu temperatury. Dodatkowo: - logarytmiczny algorytm ściemniania/rozjaśniania działa - uporządkowany kod - możliwość wyłączenia obsługi bluetooth lub wyświetlacza - obsługa eksperymentalna obsługa kontrolera PWM PCA9685 pozwalającego na podłączenie kilkuset kanałów PWM. W sterowniku na razie można wybrac czy kanał obsługiwany przez PWM arduino czy PCA9685. Dodatkowo dołożyłem obsługe +2 kanałów PWM w wyświetlaczu ( w sumie 8, można korzystać albo z arduino mega albo z PCA9685) PCA9685 wygląda bardzo fajnie - na razie zamówiłem, nie testowałem, ale z lektury dokumentacji: ma swój zegar, nie trzeba cały czas utrzymywać napięcia na linii sygnałowej, wysyła sie tylko raz sygnał. Częstotliwość PWM do 1600HZ - ja osobiście mam problem z migającymi ledami białymi przy standardowej częstotliwości arduino. Podniesienie pomogło, ale mam nadzieję że ten driver będzie lepszm rozwiązaniem (a koszt to 3USD). I co ważne, komunikuje się z arduino po I2C, więc zwalniają się wszystkie wyjścia cyfrowe. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 26 Października 2016 Sterownik wrzucony na github: https://github.com/mathompl/*** Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 1 Listopada 2016 Uwaga! Dzieku lukaszt0 wykryliśmy buga w plikach nextiona. Pliki zapisane na komputerze z ustawionym wyższym DPI nie otwierają się poprawnie w komputerach z mniejszym i vice versa. Wrzuciłem 2 pliki demo dla 96dpi i 120dpi. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 3 Listopada 2016 Podpiąłem wczoraj moduł PWM i2c PCA9685, taki: https://www.aliexpress.com/item/16-Channel-12-bit-PWM-Servo-Driver-I2C-interface-PCA9685-for-arduino-or-Raspberry-pi-shield/32447354314.html?spm=2114.13010608.0.0.JfUXBO Koszt 1,45USD z wysyłką Moduł wpina się do arduino zamiast zegara RTC, a zegar wpina się szeregowo w wyjścia modułu (SDA-SDA, SCL-SCL, VIN-VIN, GND-GND) Moduł ma same zalety: - zwalnia się 6 pinów arduino - 16 kanałów PWM na dzień dobry, zamiast 6 w arduino nano. Pozostałe można wykorzystać na dodatkowe drivery lub pompy dozujące. Są moduły oferujące większą liczbę kanałów. - 12 bitowa rozdzielczość, czyli ściemnianie i rozjaśnianie zamiast 0-255 jest 0-4025 - widać różnicę w płynności, szczególnie we wschodach/zachodach - regulowana częstotliwość działania (jedno polecenie), dzięki temu można łatwo wyregulować np. buczące drivery - światło jest znacznie stabilniejsze, tj. u mnie zniknął efekt lekkiego migotania - koszt praktycznie zerowy Mój soft obsługuje moduł standardowo, wystarczy zmienić konfig .h Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
bienki Zgłoś Napisano 6 Listopada 2016 Cześć. Fajny projekt. W zasadzie każdy projekt jest fajny - zarówno Magu jak i twój. Twój ma jedną przewagę - nie trzeba odpalać kompa, żeby zmienić ustawienia lub po prostu zapalić lampy. Dla mnie rozwiązaniem problemu używania PC byłby telefon, który każdy przeważnie nosi w kieszeni. Eliminacja wyświetlacza i eliminacja konieczności użycia komputera za jednym zamachem. Wczoraj spotkałem się z kolegą - obaj mamy sterowniki z oprogramowaniem Magu i po krótkiej dyskusji doszliśmy do tego samego wniosku - brak obsługi przez Androida. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Gość Zgłoś Napisano 6 Listopada 2016 (...) obaj mamy sterowniki z oprogramowaniem Magu i po krótkiej dyskusji doszliśmy do tego samego wniosku - brak obsługi przez Androida. założymy się ? http://magu.pl/aqma-systemandroid to "coś" z prawej pod zegarem - to bluetooth Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
bienki Zgłoś Napisano 6 Listopada 2016 (edytowane) No dobra, zalepiłem - przeoczyłem ten mały link na stronie . Od jutra testowanie. Ale i ekran bedzie po 13USD w piątek więc też kupię i spróbuję alternatywnego softu. założymy się ? http://magu.pl/aqma-systemandroid to "coś" z prawej pod zegarem - to bluetooth Edytowane 6 Listopada 2016 przez bienki (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 8 Listopada 2016 Oczywiście bluetooth działa jak w Aqmie, czyli dla max 6 kanałów PWM. Mogę oczywiście wystawić inny interfejs po bluetooth który pozwoli na ustawienie większej liczby PWM + opcje dodatkowe jak w panelu lcd. Problem jest inny - pomimo ostrej optymalizacji osiągnąłem sufit pamięci flash arduino nano. Bluetooth nie mieści się jednocześnie z obsługą Nextiona. Obsługa bluetooth zajmuje chyba ok 5kb - sam nie wiem dlaczego, jak będę miał chwilkę to się tym zajmę. Na razie rozwiązaniem jest Arduino Mega. ps. dzisiaj doszedł LCD Nextiona i plastikowa ramka/maskownica na wyświetlacz, podłączę i zdam relację. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 8 Listopada 2016 Działa zajedwabiście ramka z aliexpresu też pasuje: Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
sq6kbr Zgłoś Napisano 9 Listopada 2016 Dobra robota. Podaj link do maskownic jeśli możesz. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 9 Listopada 2016 https://pl.aliexpress.com/item/3DSWAY-3D-Printer-Parts-White-2-8-3-5-LCD-Protective-Case-LCD-Cover-for-TFT/32639612283.html?spm=2114.13010608.0.0.JtqarN Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Gothmog Zgłoś Napisano 10 Listopada 2016 (edytowane) Zamiast wielkiego Arduino Mega można zastosować takie cudo: http://www.ebay.com/itm/New-Small-Meduino-Mega2560-R3-Pro-Mini-ATMEGA16U2-Arduino-Mega2560-Compatible-/162264493523?hash=item25c7b7add3:g:-9cAAOSwyQtVnMbp Ja planuje zrobić sobie sterownik na Raspbarry Pi Zero. Edytowane 10 Listopada 2016 przez Gothmog (wyświetl historię edycji) Cytuj Akwa: 375l (1500x50x50), Sump 70l (70x40x40), Cyrkulacja: Jebao CP-55, Światło: QMaven 6600 + 2x80W, Ceramika, Piasek: 20kg Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
s.sienicki Zgłoś Napisano 13 Listopada 2016 Chciałem wypróbować soft ale przy kompilacji dostaję błąd: Nextion:680: error: 'discoverOneWireDevices' was not declared in this scope s = discoverOneWireDevices (); Nextion:701: error: 'listContains' was not declared in this scope idxLed = listContains (SETTINGS.ledSensorAddress); exit status 1 'discoverOneWireDevices' was not declared in this scope Soft czysty prosto z GitHub-a jedynie co zrobiłem to doinstalowałem potrzebne biblioteki. Co jest nie tak? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 13 Listopada 2016 (edytowane) Włącz obsługę termometrów, nie przetestowałem tych definów wyłączających do końca. Plik aq ual ed.h, #define NO_TEMPERATURE na //#define NO_TEMPERATURE od razu też w tym pliku ustaw sobie piny i flagi PWM zgodnie z komentarzem. Jest defaultowo ustawione na moduł PWM. patch na githubie. Edytowane 13 Listopada 2016 przez mathom (wyświetl historię edycji) Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
s.sienicki Zgłoś Napisano 13 Listopada 2016 (edytowane) Dzięki kompiluje się Jeśli chodzi o konfig to PWM_I2C od 1 do 8 dałem 0 i odremowałem #define PWMS 8 #define PWM1_PIN 3 #define PWM2_PIN 5 #define PWM3_PIN 6 #define PWM4_PIN 9 #define PWM5_PIN 10 #define PWM6_PIN 11 #define PWM7_PIN 1 #define PWM8_PIN 2 Po wgraniu soft działa niestety wyglada to tak jakby arduino się restartowało co pewien czas. Mogę poklikać na wyświetlaczu - przetestować kanały - testowo podpiąłem tylko 1 kanał pwm i zmiana wypełnienia działa. Co może być przyczyną restartów? Na sofcie Aqmy działa prawidłowo bez restartów więc hardware wydaje się być ok. Oczywiście zasilanie zewnętrzne nie po USB / kabel odpięty. Edytowane 13 Listopada 2016 przez s.sienicki (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 13 Listopada 2016 (edytowane) Kanały 7 i 8 działają tylko na i2c chyba że masz arduino mega. Jeśli masz 1 kanał ustaw PWMS 1, albo przynajmniej PWM7_I2C i PWM8_I2C na 1. co jaki czas jest restart i jak się objawia ? masz podpięty zegar RTC ? Możesz na początek spróbować wyłączyć watchdoga, w pliku aqua l ed.ino skomentuj wdt_enable(WDTO_4S); Edytowane 13 Listopada 2016 przez mathom (wyświetl historię edycji) Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
mathom Zgłoś Napisano 14 Listopada 2016 mam podejrzenie że może brakować sramu. Wrzuciłem na githuba wersję z wyrzuconą tablicą ściemniania do pamięci flash. Sprawdź czy na tej wersji jest ok. Cytuj Moja rafka 247L Arduino PWM Sterownik DIY LED Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach