Skocz do zawartości
magu

AQma - sterownik akwariowy by magu. Na Arduino Leonardo za FREE!!!

Rekomendowane odpowiedzi

Magu. Nie widziałem wcześniej nowej wersji 1.3.1. Poprzednią instrukcję czytałem kilka razy, bardzo dokładnie. Dziękuję za sugestie, bardzo. Dokonam zmian i dam znać jak jest. Zasilacz transformatorowy już idzie z allegro.

*

silvia. dzięki za odpowiedz.

Edytowane przez zomer (wyświetl historię edycji)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

* Interesuje mnie jeszcze temat przekaźników do pompek http://www.ebay.com/itm/171866955340. Kilka osób pisało że przekaźniki ssr nie zarządzają prądem stałym. Wam te pompki dozujące działają, na przekaźniku ssr?

Instrukcja strona 4...

"Do sterowania pomp dozujących D1, D2, D3, na prąd stały

(jeżeli nie będą zamieniane na dodatkowe timery 230V - T4, T5, T6)

można użyć tranzystor np. TIP120, rezystor 2,2kΩ i diody:

http://magu.pl/aqma_files/tip120-Arduino.png

"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Instrukcja strona 4...

"Do sterowania pomp dozujących D1, D2, D3, na prąd stały

(jeżeli nie będą zamieniane na dodatkowe timery 230V - T4, T5, T6)

można użyć tranzystor np. TIP120, rezystor 2,2kΩ i diody:

http://magu.pl/aqma_...120-Arduino.png

"

Dobrze magu, doczytałem już sobie. Studiowałem wersje 1.2 od paru dni bez świadomości że jest 1.3.1 przepraszam. Będę robił płytkę drukowaną metodą żelazkową. Jak ktoś ma lepsze pomysły, to bardzo proszę o sugestie. Po niedzieli podeślę wydruk płytki do konsultacji.

Edytowane przez zomer (wyświetl historię edycji)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dobrze magu, doczytałem już sobie. Studiowałem wersje 1.2 od paru dni bez świadomości że jest 1.3.1 przepraszam.

W instrukcji 1.2 też jest.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dopisałem kilka linijek do kodu Maga. Kod jest dla Arduino Mega.

5 szt. PWM

6 szt. Timerów (nie licząc możliwości zamiany z pomp D1,D2,D3 na T4,T5,T6)

3 Pompy (bez zmian)

6 przycisków do timerów

Czasy timerów 7,8,9, trzeba wklepać na sztywno do kodu.

int //t7Pin=25,
	 t7HOn=9, t7MOn=30, t7SOn=00, t7HOff=18, t7MOff=00, t7SOff=00, t7Status=1;

PWM 4,5 też na sztywno do kodu.

int pwm4Pin=2, pwm4Status=1, pwm4HOn=17, pwm4MOn=11, pwm4SOn=00, pwm4HOff=17, pwm4MOff=15, pwm4SOff=00, pwm4Min=2, pwm4Max=255, pwm4Sr=3, pwm4Ss=3, pwm4KeepLight=1, pwm4Invert;

Reszta bez zmian konfigurowana jest przez AQme.

Schemat jest poglądowy, oczywiście wszystkie pompy trzeba podpiąć do tranzystorów i diod prostowniczych. Należy trzymać się instrukcji maga.

https://drive.google...iew?usp=sharing

post-25733-0-95461900-1469651140_thumb.png

Edytowane przez zomer (wyświetl historię edycji)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

witam

czy do powyższego sterownika ciężko było by dodać funkcje kontroli temperatury?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

widziałem ten drugi sterownik, ale mając jeden tak rozbudowny, dlaczego nie dodać kontroli temperatury, podobnie jak z wyświetlaczem, wszystko na 1-wire

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość

bo nie ma już miejsca na kod :(

Napisałbym więcej, ale mi się miejsce we fleszu skończyło :) Z tego powodu zrezygnowałem z wyświetlacza i pomiaru temperatury, bo komputerek stoi w szafce, wentylatory są sterowane timerami a grzałki nie używam :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Magu dziękuję za ten sterownik. Na razie mam na nim uruchomione oświetlenie, ale planuje dodać pompy do nawozów. Tak naprawdę potrzebowałbym wyłączanie i właczanie oświetlenia z użyciem jakiegoś przycisku, ale zawsze można posłużyć sie wyłącznikiem zasilania. Jestem na etapie projektowania pcb na arduino nano i drivery darelteka. Jak będzie gotowe to podzielę się.

Wysłane z mojego s3 przy użyciu Tapatalka

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam ponownie, pewnie większość szanownych grupowiczów zorientowała się, że sterownik zostaje dzielony na samodzielne wyspecjalizowane sekcję o wiele większych możliwościach (tak stało się ze sterownikiem LED, AQma LED Control, automatyczną dolewką AQma Refill ATO, a za chwilę pojawi się dozownik z programową możliwością ustalania wydajności pomp i dozowaniem 66 razy na dzień AQma Doser Six). Oczywiście wszystko za free. Miałem już nie ruszać softu do dużej AQmy bo jest super "wygrzany"... Ale u mnie (i u wielu akwarystów) właśnie ten projekt steruje całym zbiornikiem (dolewka, światło, cyfkulatory, timery itp.). Ostatnio zapomniałem dolać wody do automatycznej dolewki (mam tylko jeden czujnik). Pompa chodziła ze dwie godziny siorbiąc ostatki nieprzepompowanej wody.  Przez kilka lat działania zawsze woda w dolewce była, a teraz przyszedł jednak czas na update softu :)

Dorzuciłem coś takiego... Jeżeli dolewka dolewa wodę dłużej niż 30 sekund (czas konfigurowalny), to wyłącz pompę i co dziesięć minut piszcz buzerem, aby uzupełnić RO. Żeby dolewka ruszyła jak zwykle wystarczy ręcznie uzupełnić poziom wody do zadanego poziomu. Sterownik automatycznie przejdzie do "normalnego" działania i wyłączy się alarm.

Nie sądziłem, że coś tam jeszcze poprawię :) Nowy soft chyba nie będzie dostępny na stronie. Ale jeżeli ktoś będzie potrzebował to zapraszam na PW lub mail.  

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
a za chwilę pojawi się dozownik z programową możliwością ustalania wydajności pomp i dozowaniem 66 razy na dzień AQma Doser Six).

Super :)
Ile ta chwila potrwa?
Ile pomp będzie mógł obsłużyć?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
1 minutę temu, lukaszt0 napisał:


Ile pomp będzie mógł obsłużyć?

Doser Six  - stawiam że 6 :P

@magu wstaw na stronę bo sie od @ nie opędzisz :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Faktycznie sześć :) Soft już przetestowany (na razie dwa kanały). Aplikacja oczywiście ze znajomym interfejsem.

AQmaDoserSix.png

Ale o tym więcej w nowym temacie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam.

Magu wielki szacunek dla Twojego wkładu w społeczność akwarystów. Sam korzystam z Twojej pracy już od ponad roku. Nad dwoma baniaczkami świecą dwie lampy led sterowane AQMA LED CONTROL. Jak dotąd wszystko idealnie pracuje, zero choćby jednej zwiechy. Jeszcze raz wielkie dzięki !

 

Idąc za ciosem chciałem zrobić AQMA - STEROWNIK DO AKWARIUM MORSKIEGO, zamówiłem wszystko łącznie z AQmaB IRF poskładałem wszystko uruchomiłem i było ok, jednak wszystkie timery i pompy były załączone po starcie leonardo (dopiero potem doczytałem, że trzeba zmienić boolean ON=true, OFF=false;). Chciałem coś sprawdzić i nieopatrznie wykonałem dwa feralne ruchy jednym z przewodów z PWM pierwsze dotknąłem obudowy "tranzystora" na AQmaB IRF po czym przewód poleciał na zacisk 12V ..... i tym sposobem zjarałem w pół sekundy dwie rzeczy :( : połowa pinów na Arduino dziwacznie sie zachowuje wiec praktycznie Leonardo leci do śmietnika. Zaś naAQmaB IRF na wyjściu jest cały czas napięcie około 3V bez względu co po dzieje sie na PWM... Moje pytanie czy jest szansa naprawić to przelutowując irfz44n ?

Przy okazji chciałbym też zapytać czy jest szansa dostać od Ciebie nowy/poprawiony kod do Sterownika?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Przelutowanie IRFa rozwiąże problem. Co do kodu, to podeślij maila na PW wyślę Ci ostatnią wersję. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Leonardo wymieniony na nowy, IRFZ 44 N przelutowany. Sterownik uruchomiony, wszystko śmiga aż miło. Magu bardzo dziękuję za pomoc oraz możliwość skorzystania po raz kolejny z Twojej ciężkiej pracy!

Wklejam kilka fotek z moich wypocin:

 

20170628_001855.jpg

20170628_001629.jpg

20170628_001605.jpg

20170627_235430.jpg

20170627_235420.jpg

20170627_235400.jpg

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Mam jeszcze jedno pytanie. Czy jest możliwość dopisania w kodzie czas od - do pracy dolewki ? 

Chodzi o to, że akwarium stoi w pokoju córki i bywa, że dolewka włącza się w nocy. Jeśli byłoby możliwa taka opcja byłoby super. Nie koniecznie musiałoby to być ustawiane z aplikacji pod windows, wystarczyłoby wpisanie na sztywno w kodzie np czas pracy od 8 rano do 22 wieczorem.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hej :)

Bardzo mi się podoba zaangażowanie w Twój projekt. Faktycznie od strony założeń - wszystko w dechę :)

Sam, swego czasu stworzyłem sobie taki sterownik, jednak nie zaczynałem od programowania przy użyciu Arduino IDE, a AVR GCC :) 

I właśnie do tego chciałbym nawiązać, z góry zaznaczę jednak że ekspertem nie jestem, ale trochę w tym się bawię :):

Piszesz, że brakuje Ci już miejsca w sterowniku. Wiadomo, przy 1500 liniach kodu, o optymalizację jest bardzo ciężko. Jednak mogę Ci powiedzieć, że w kilka wieczorów da się wyciągnąć z tego jeszcze trochę miejsca, a na pewno odzyskasz sporo cykli kontrolera: DigitalWrite() oraz DigitalRead() to są wygodne funkcje, zgodzę się, ale jak zagłębicie się w biblioteki, to zobaczycie mnóstwo bezużytecznego kodu który rzadko jest używany. Bez problemu można zastąpić te funkcje... odwoływaniem się bezpośrednio do rejestrów. Można to robić spokojnie z poziomu Arduino IDE.

Fragment kodu dla lampek w szafie z czujnikiem ruchu i otwarcia drzwi, jaki sam stworzyłem:

Cytuj

///PINY - OUTPUT
// pinMode(szafaZewnatrz, OUTPUT);
// pinMode(szafaGora, OUTPUT);
// pinMode(szafaPolka1, OUTPUT);
// pinMode(szafaPolka2, OUTPUT);
// pinMode(szafaPolka3, OUTPUT);
// pinMode(szafaPolka4, OUTPUT);
// pinMode(szafaPolka5, OUTPUT);
// pinMode(szafaPolka6, OUTPUT);
DDRA |= 0b11111111;
PORTA |= 0b00000000;

PORTA = WYJSCIA_out;
WYJSCIA_out |= PIR_st ? szafaZewnatrz : 0b00000000;

 Całość na githubie, jakby ktoś chciał przejrzeć. Nie przeraźcie się - mam dużo naleciałości z pracy (programista PLC - próbowałem zasymulować cykl sterownika i przenieść logikę cyfrową z nich :D)

Ale prosty tutorial wytłumaczy o co mi chodzi: Kurs AVR GCC

Myślę, że wtedy mógłbyś na prawdę sporo wyciągnąć jeszcze z tego programu :)

 

A od siebie jeszcze dodam, że myślę mógłbyś rozważyć tranzycję (albo kto inny) z płytek Arduino na ESP8266 lub ESP32. Płytki z podstawową elektroniką pod to kosztują poniżej 100 zł a z wersją ESP32 mamy jeszcze Bluetooth (BLE). Obie płytki obsługują WiFi, można na nie ładować proste (a nawet bardziej skomplikowane) strony WWW. Mają 512kb lub 4MB pamięci na program, 40-80mHz czas cyklu.... i da się je programować jak każde Arduino :D - i jest tak o połowę mniejsze. Ale wtedy dużo będzie trzeba pisać od nowa - nie wszystko działa idealnie jak na "oryginalnych" płytkach Arduino.

Sam, jak będę miał przypływ czasu planuję na tych płytkach coś zrobić. Najpierw parę projektów dla domu, a potem sterownik + oświetlenie LED :)

A propo PWM jest jeszcze alternatywne rozwiązanie. Można kupić bardzo fajne płytki 16 kanałowe wyjścia PWM 12 Bit - można na nich osiągnąć niesamowitą płynność w przyroście jasności (standardowe 8-10 bitów było dla mnie za mało, widać było poszczególne kroki). Płytki komunikują się po I2C więc właściwie od strony programu jedyne czym się trzeba martwić to obliczeniem stopnia wysterowania. Traci się dużo mniej cyklu kontrolera (z tego co się orientuję Arduino także PWM generuje w czasie cyklu...)

 

Ale i tak podziwiam za werwę w stworzeniu tego :) W czym pisałeś kod ? Arduino IDE, czy już jakieś inne lepsze IDE? Ja ostatnio robiłem tranzycję na Atom'a

Edytowane przez iKuro (wyświetl historię edycji)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Dnia 30.06.2017 o 13:28, ufobb napisał:

Mam jeszcze jedno pytanie. Czy jest możliwość dopisania w kodzie czas od - do pracy dolewki ? 

Chodzi o to, że akwarium stoi w pokoju córki i bywa, że dolewka włącza się w nocy. Jeśli byłoby możliwa taka opcja byłoby super. Nie koniecznie musiałoby to być ustawiane z aplikacji pod windows, wystarczyłoby wpisanie na sztywno w kodzie np czas pracy od 8 rano do 22 wieczorem.

Zerknij na PW, myślę że córka będzie zadowolona :)

48 minut temu, iKuro napisał:

Piszesz, że brakuje Ci już miejsca w sterowniku. Wiadomo, przy 1500 liniach kodu, o optymalizację jest bardzo ciężko. Jednak mogę Ci powiedzieć, że w kilka wieczorów da się wyciągnąć z tego jeszcze trochę miejsca, a na pewno odzyskasz sporo cykli kontrolera: DigitalWrite() oraz DigitalRead() to są wygodne funkcje, zgodzę się, ale jak zagłębicie się w biblioteki, to zobaczycie mnóstwo bezużytecznego kodu który rzadko jest używany. Bez problemu można zastąpić te funkcje... odwoływaniem się bezpośrednio do rejestrów. Można to robić spokojnie z poziomu Arduino IDE.

Idąc tym tropem można zrobić o wiele więcej, przepisać biblioteki, powycinać tylko te fragmenty, które są używane itp. Jednak jest to rzeźba w kupie, która prędzej czy później się zemści. Jeżeli wypuszczę wersję 2.0 z dodatkowymi funkcjonalnościami to po prostu zrobię to po bożemu na większym klocku, z pełną zgodnością z referencjami Arduino https://www.arduino.cc/en/Reference/HomePage

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spoko :)

Właśnie dla tego pisałem że przy 1500linii to może się już nie chcieć tego robić :). Mimo wszystko ze swojej strony polecam zagłębić AVR GCC na której Arduino się w sumie opiera. Przyda się przy następnych projektach.

A wyżej napisałem to wszystko, bo może komuś będzie się chciało to zrobić, dołożyć coś od siebie i ew poprawić :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
15 godzin temu, magu napisał:

Zerknij na PW, myślę że córka będzie zadowolona :)

Witam. Przede wszystkim dziękuję za szybką odpowiedź na pytanie mojego taty i za poświęcony nam czas. Wielkie dzięki za poprawki w programie, bo dzięki temu będę mogła spokojnie się wyspać a głośna dolewka nie będzie straszyć mnie i moich zwierząt w nocy. :D Jestem Panu bardzo wdzięczna!!! / Córka Zosia :)  

Edytowane przez ufobb (wyświetl historię edycji)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Magu. Można dodać funkcję wielokrotnego włączenie, wyłączenia Timera?. Np żeby T1 włączył się o 8 rano i drugi raz o 18 wieczorem?. Mam na myśli wpis do kodu na sztywno. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam, czy jest gdzieś do pobrania  AQma Doser Six? Pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
43 minuty temu, k2b napisał:

Witam, czy jest gdzieś do pobrania  AQma Doser Six? Pozdrawiam

jak będzie - to będzie pewno na  http://magu.pl/

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Ten wątek jest dość stary. Należy rozważyć rozpoczęcie nowego wątku zamiast ożywienia tego.

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wchodząc do serwisu Nano-Reef, zgadzasz się na warunki Warunki użytkowania.