nanorafa Zgłoś Napisano 18 Czerwca 2013 (edytowane) Chciałbym tu przedstawić sterownik lampy LED, zbudowany przeze mnie w oparciu o Arduino (a jakże ). Rozwiązania w nim przyjęte nie są kopią znanych już pomysłów, choć przyznaję że funkcję do obsługi zegara czasu rzeczywistego zerżnąłem z projektu pokazywanego na forum reefcentral LOL, która zresztą też pewnie była skądś tam ściągnięta... Arduino ma tę zaletę że przy praktyczne zerowej wiedzy z zakresu elektroniki (mój przypadek) można zbudować coś elektronicznego . Wymagana jest natomiast znajomość programowania . Tyle tytułem wstępu. Pokażę tu wszystkie szczegóły, łącznie z kodem źródłowym, ale emocje będę dawkował na raty, w związku z brakiem weny pisarskiej . Tak to wygląda w wersji "prowizorka jest najtrwalsza" : Zdefiniowane są dwa kanały PWM, sterujące oddzielnie dwoma grupami LED (np. białe i niebieskie), przy czym software można zmodyfikować w prosty sposób tak aby obsługiwał większą ilość kanałów - maksymalnie w przypadku kontrolera Atmega 328, na którym jest zbudowane to urządzenie, będzie to chyba sześć kanałów. Pozostaje wtedy tylko kwestia innego podłączenia wyświetlacza z klawiaturą do płytki Arduino (o tym dalej...). Poprzez menu (przyciskami) można ustawić "parametry" świecenia wybranego kanału LED. A są to: godzina startu, czas rozjaśniania, moc maksymalna kanału, czas świecenia kanału z mocą maksymalną, czas ściemniania/zmierzchu. Na koniec można zdefiniować moc, na której zatrzyma sie proces ściemniania jeśli ktoś życzy sobie aby akwarium było jeszcze lekko podświetlane wieczorem/nocą (np. niebieski kanał ustawiony na 3% żeby napasać sobie oczka widokiem fosforyzującego baniaczka przed udaniem sie na spoczynek ). Ostatnim parametrem jest godzina całkowitego odłączenia kanału - kiedy rybki idą spać.... Wszystko zamyka się w cyklu 24 godzinnym i jest to pewne ograniczenie... Wszystkie czasy można ustawić w zakresie do 900 minut, jeśli mnie pamięć nie myli, a użytkownik jest odpowiedzialny za to aby ich suma była mniejsza od 24 godzin LOL . Dodałem tu obsługę zdarzenia braku zasilania. W takim przypadku po powrocie zasilania sterownik ustawi jasność kanałów tak aby odpowiadała obecnej porze dnia wynikającej w programu świecenia. Powrót po awarii trwa 1 minutę (kanały są powoli rozjaśniane żeby nie było efektu lampy błyskowej). W czasie pracy/świecenia kanału można modyfikować jego jasność itp itd, żeby sobie dobrać co się lubi , tak więc myślę że program jest w miarę elastyczny... Koszt całego urządzenia wraz wysyłkami elementów z Chin zamknął się w 100zł LOL. Czyli Płytka Arduino + LCD KeyPad shield + RTC clock. Czego chcieć więcej Aha. Ważna sprawa zastosowałem tu zegar RTC z kompensacją temperatury. Załączam tutaj kod źródłowy do tego ustrojstwa, z zastrzeżeniem że jest moją własnością włącznie z przyjętymi w nim rozwiązaniami (dumie to nazwijmy algorytmami) i można go stosować wyłącznie do zastosowań amatorskich, nie komercyjnych. Uwaga na pułapkę, archiwum ma rozszerzenie zip ale jest to rar . Proszę zmienić rozszerzenie jeśli winzip będzie się pluł . *********************************************** EDIT: W toku tematu wrzuciłem wersję "full" z pięcioma kanałami PWM oraz sterowaniem refugium. Tu jest odnośnik do posta: http://nano-reef.pl/...120#entry708229 *********************************************** sterownik_LED_src.zip sterownik_v1.1.zip Edytowane 19 Listopada 2014 przez nanorafa (wyświetl historię edycji) Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Świrek Zgłoś Napisano 18 Czerwca 2013 Coś chyba jednak jest nie tak. Nie potrafię otworzyć kodu. Same założenia mi się podobają. Oczywiście Arduino + dodatki można kupić w podobnej cenie w Polsce. A jeśli nie oryginał, to na pewno któregoś klona. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 (edytowane) Uwaga na pułapkę, archiwum ma rozszerzenie zip ale jest to rar . Proszę zmienić rozszerzenie jeśli winzip będzie się pluł . Załącznika z rozszerzeniem rar forum nie chciało łyknąć więc starą hakerską metodą zmieniłem go na zip..... Edytowane 18 Czerwca 2013 przez nanorafa (wyświetl historię edycji) Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
zachu Zgłoś Napisano 18 Czerwca 2013 (edytowane) Rozwiązania w nim przyjęte nie są kopią znanych już pomysłów, choć przyznaję że funkcję do obsługi zegara czasu rzeczywistego zerżnąłem z projektu pokazywanego na forum reefcentral " Copyright 2013 XXXXXXXXXXXX@o2.pl. All rights reserved. " LOL HAHAHA.... nanorafa, kiedy następny odcinek? już nie mogę się doczekać jak opiszesz jakie to dokładnie elementy trzeba kupić, i jak to pokleić, dzięki za wstawkę, jak dla mnie to super temat Edytowane 18 Czerwca 2013 przez zachu (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 Dobra, super, dzięki za uznanie, ale zachu plis, usuń moje nazwisko z cytatu w poście . Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
thomash666 Zgłoś Napisano 18 Czerwca 2013 Super! Natchnąłeś mnie! Możesz napisać poszczególne modele podzespołów, żebym wiedział co kupić? Cytuj http://akwariummorskie.blogspot.com/ Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
zachu Zgłoś Napisano 18 Czerwca 2013 sorki, nie znalem twojego nazwiska, myślałem ze to czyjeś się tam skopiowało razem z kodem haha weź tam wpisz "open source" czy coś co pozwala do modyfikacji i używania tego bez wnoszenia opłat za prawa autorskie Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 (edytowane) @zachu, wszystko git, nie ma problemu . Z tymi kopirajtami to chodzi tylko oto żeby ktoś sprytny sobie kasy na tym nie trzaskał za moimi plecami . Co do meritum, chcę jeszcze porobić zdjęcia jak to jest połączone itp. W planie jest także dodanie pomiaru temperatury radiatora (ale bez sterowania wiatrakami... bo w tym celu nie widzę). Czujniki temperatury zostały wczoraj zakupione . Chciałem się rozpędzić i dodać pomiar pH, ale to może wymagać jednak jakiegoś wkładu inżynierskiego z zakresu elektroniki..... Co do zakupów, kupiłem coś takiego 1) Arduino http://www.ebay.com/...=item27d324ae49 ale od użytkownika cool-hobby 2) wyświetlacz, dokładnie z tej aukcji: http://www.ebay.com/...=item3cc725dbfe 3) Zegar RTC, tu jest aukcja sprzedawcy od którego kupowałem, ale nie ma opcji "kup teraz", trzeba poszukać u kogoś innego: http://www.ebay.com/...=item4d0da4f634 Edytowane 18 Czerwca 2013 przez nanorafa (wyświetl historię edycji) Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
ktomek Zgłoś Napisano 18 Czerwca 2013 (edytowane) Nie popadajmy w paranoję. Moze obsluga PWM nie jest jednym z podstawowych przykładów w Arduino to wydaje mi sie zeby ktoś chciał na tym zarabiać. gdybyś zaprojektował PCB to wtedy moze ktoś by sie skusił. Osobiscie nie kupiłbym gotowego sterownika lamp opartego a zestaw uruchomieniowy. Ani to male ani przystosowane do żadnej z gotowych obudów, ani tym bardziej do zabudowy w lampie. Tyle w kwestii komercyjnej. Podoba mi się pomysł z Arduino z innej strony: dzieki Twojemu zaangażowaniu teraz kazdy moze złożyć taki sterownik bez większych problemów. Gratuluję. PS Iloma bitami sterujesz PWM, jakiej konwersji używasz? Jak rozwiązałeś problem zapalenia lampy w środku nocy tak zeby sprawdzić czy z akwarium wszystko OK? Edytowane 18 Czerwca 2013 przez ktomek (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 (edytowane) Nie popadajmy w paranoję... Rozwiązania są raczej z zakresu algorytmów i sposobów niż dedykowanego programowania samej Atmegi czy Arduino, więc w sumie jest chyba co chronić , tyle w kwestii "copyrights". PWM jest na wyjściach 3 i 11, więc jest to podłączone zdaje się do 16-to bitowego zegara nr.2, ale wypełnienie jest 0..255, czyli byłoby to 8mio bitowe... "problem zapalenia lampy w środku nocy" - o tym nie pomyślałem, w awaryjnych sytuacjach używam latarki jako środka w 100% wystarczającego, ale fakt trzeba to dorobić . Edytowane 18 Czerwca 2013 przez nanorafa (wyświetl historię edycji) Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
dale Zgłoś Napisano 18 Czerwca 2013 Dla mnie bomba. Jeśli w przyszłości wrócę do ledów, to raczej oprę się na takim rozwiązaniu. Kilka kanałów, proste komponenty i ich dostępność - plus nie skomplikowany montaż, zachęcają do własnoręcznej budowy. Tylko, zależało by mi na sterowaniu wentylatorem - nawet kosztem jednego kanału PWM. W sumie, mi wystarczyły by: biały, niebieski, czerwony - a jeśli było by coś ponad to, chętnie poeksperymentował bym. np. z żółtym i zielonym.. Ale bardziej z ciekawości, niż potrzeby. Cytuj 125x55x55 ogólnej rafy+50x45x45 konikarium - wspólny obieg "Powered by Twistman" - Twistman OB-200-EXT, Reaktor Wapnia Calc+ Reactor Medium + DI-500-60, 3x maxspect ethereal , bujane przez maxpect gyre, sterowane przez NEMO Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
ktomek Zgłoś Napisano 18 Czerwca 2013 Nanorafa. Ale przeliczasz to jakos? Procenty? Poza tym uzycie pwm 16bitow to takze odpowiednie skonfigurowanie timera. Pamietales o tym? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 (edytowane) Co do wentylatorów, to tez w pierwszej chwili o tym myślałem, ale jakby spojrzeć na to tak: dajemy 2 wentylatorki zamiast jednego, np revoltec airguard 120mm (18zł), na mniejszym napięciu 8V, które będą wtedy niesłyszalne na małych obrotach, a do tego tylko monitoring temperatury, z ewentualną awaryjną regulacją macy diod kiedy padnie jeden z wiatraczków. @ktomek Przeliczam na procenty. "skonfigurowanie timera" biblioteki Ardunio wszystko konfigurują, przy kompilacji, to jest zabawka dla opornych elektronicznie - takich jak ja . Edytowane 18 Czerwca 2013 przez nanorafa (wyświetl historię edycji) Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
ktomek Zgłoś Napisano 18 Czerwca 2013 @nanorafa oporni elektronicznie nie buduja takich rzeczy Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 No widzisz a tu taka niespodzianka Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Aleksander Zgłoś Napisano 18 Czerwca 2013 @nanorafa zainspirowałeś mnie i chyba przy budowie swojego LEDa powalczę sam z tym układem zamiast komuś zlecać. Jeśli mógłbyś podać źródła wiedzy odnośnie programowania tego ustrojstwa które były dla Ciebie najbardziej przydatne to też by było super. Jako laik w zakresie elektroniki będę musiał trochę tej wiedzy zgłębić żeby czegoś nie sfajczyć Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 (edytowane) Właściwie to w google wpisujemy nazwę problemu + dodajemy " Arduino" i wychodzą jakieś strzępki wiedzy. W moim "softcie" masz już właściwie wszystko gotowe . Aby uzyskać więcej kanałów trzeba inaczej podłączyć wyświetlacz, tak aby zwolnić dodatkowo PINy cyfrowe nr 9, 10 (teraz są wolne tylko 11, 3). Wtedy będziemy mieli cztery kanały PWM na pinach 9,10,11,3 pracujących z częstotliwością 500Hz (zdaje się ) Jak to zrobić, jest przykład w tym "spolszczonym" projekcie z reefcentral,gdzie wywołano "konstruktor": LiquidCrystal lcd(12, 13, 4, 5, 6, 7); określający do których pinów podłączamy wyświetlacz. Ja użyłem takiego wywołania: LiquidCrystal lcd(8, 9, 4, 5, 6, 7), które jak widać wykorzystuje "cenny" pin nr 9. Niestety jest trochę zabawy z kabelkami - jak w podanych wyżej tematach. Edytowane 18 Czerwca 2013 przez nanorafa (wyświetl historię edycji) Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
rpp Zgłoś Napisano 18 Czerwca 2013 (edytowane) PWM jest na wyjściach 3 i 11, więc jest to podłączone zdaje się do 16-to bitowego zegara nr.2, ale wypełnienie jest 0..255, czyli byłoby to 8mio bitowe... Nie miałem styczności z Arduino ale jeśli masz możliwość to użyj minimum 10bitowego PWM. Kiedyś skleciłem filmik porównujący 8 i 10 bitowy PWM: https://www.youtube....h?v=H-VaeQ2QLCU Na wyświetlaczu widać wypełnienie PWM + % świecenia widoczny dla oka. Przy 8 bitowym PWM skok pomiędzy pierwszymi wartościami wypełnienia powoduje ogromną różnicę w jasności świecenia diody. Przeliczam na procenty. A jak to przeliczasz? Czy wypełnienie 128 = 50%? Jeśli tak to pamiętaj, że charakterystyka "widzenia" przez oko jest nieliniowa. Tu masz fajnie to opisane (rys. 3): http://www.lediko.co...ie_diod_LED/61/ Jak widać 50% widziane przez oko to raptem 25% wypełnienia prostokąta. Oczywiście można to odpuścić i wiedzieć, że pokazywany % jest liniowy i tyle. Tylko później jak ktoś pyta na ile % chodzi lampa to trzeba mieć świadomość, że czasem podawany % to faktyczna moc lampy a czasem to co widzi oko. Edytowane 18 Czerwca 2013 przez rpp (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 18 Czerwca 2013 Tak, przeliczam w mocy lampy czyli 128 = 50%. Masz rację, żeby to odwzorować pod "wrażliwość" oka trzebaby zastosować skalę logarytmiczną. Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
nanorafa Zgłoś Napisano 20 Czerwca 2013 Wrzuciłem nowszą wersję softu (v.1.1) do oryginalnego postu, przeprowadziłem w nim restrukturyzację menu, a przede wszystkim uelastyczniłem kod, tak aby dodanie większej ilości kanałów sprowadzało się do rozszerzenia rozmiarów dwóch tablic . Jak zbiorę siły po upale, dopiszę w końcu instruktarz montażu i instrukcję "użytkownika" Cytuj Kostka 100x100x50cm, Oświetlenie: 12 x 39W, ATI Sunpower Cyrkulacja: 2 x Tunze 6095, 1x Tunze 6055 Obieg: NewJet 4500 Reaktor Ca, DIY Sól: Tropic Marine Pro Reef, RedSea. Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Aleksander Zgłoś Napisano 21 Czerwca 2013 Jak zbiorę siły po upale, dopiszę w końcu instruktarz montażu i instrukcję "użytkownika" do mnie dotarły graty czyt. stara lampa LED DIY którą przypadkowo kupiłem za grosze i będę reanimował jak tylko będę miał trochę luźniejszego czasu. W planach mam upchnąć na radiator 600x150mm ile diod wlezie (z aktywnym chłodzeniem) do tego 2xT5 no i prezentowany przez Ciebie sterownik, zobaczymy tylko czy uda mi się te T5 zgrać z LED'ami Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Aleksander Zgłoś Napisano 23 Lipca 2013 (edytowane) @nanorafa czy mógłbyś mi zdradzić jak podłączyłeś zegar bo ja mam takiego drania http://www.hobbyist....real_time_clock przy podłączeniu jak na schemacie odczytuję datę i czas poprzez Serial.begin(9600) więc zegar jest ok. Lampkę opieram na zamieszczontm przez Ciebie sofcie i nie mogę go skomunikować z Arduino (odczyt-zapis). Jakbyś mógł pomóc to będę wdzięczny. EDIT: Inforamcja dla potomnych, ten zegar ma akumulator nie baterię i trochę mi zajęło zanim doszedłem dlaczego nie mogę odczytać daty. Akumulator był rozładowany w nowym zegarku i musiał być podłączony z godzinkę pod włączone Arduino (zasilane z laptopa) żeby osiągnął 3,6V i później wszystko ładnie grało. Edytowane 23 Lipca 2013 przez Aleksander (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Komarek Zgłoś Napisano 1 Sierpnia 2013 Dzięki przypadkowej namowie nanorafy też będę robił sterownik. Mam nadzieję jako laik dam radę :-) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Aleksander Zgłoś Napisano 1 Sierpnia 2013 Komarek trzymam kciuki BTW to tu same laiki są Mądre głowy to obmyśliły takie Arduino aby każdy mógł sobie poradzić, a jak coś to pomożemy wedle możliwości. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach
Komarek Zgłoś Napisano 1 Sierpnia 2013 (edytowane) Spox :-) zrobiłem lampę, odpieniacz, pudełko przelewowe więc i z tym przy Waszej pomocy dam radę. Lampka świeci bomba, brak jej tylko bajerów :-) W założeniu jest zrobienie tego na 3 kanały, więc pomoc będzie niezbędna. Cezary mówił że się da, więc trza wierzyć w sukces misji :-) Edytowane 1 Sierpnia 2013 przez Komarek (wyświetl historię edycji) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach