AQma – Sterownik akwariowy – Arduino Leonardo

AQma – Sterownik akwariowy – Arduino Leonardo

Założenia

Darmowy komputer akwariowy na Arduino Leonardo :

  • do akwarium morskiego
  • na ogólnie dostępnych podzespołach
  • stworzony w jak najprostszy sposób
  • zarządzany przez USB za pomocą aplikacji na Windows
  • z instrukcją, która umożliwi jego złożenie nawet humanistom

(Dokładną instrukcję wraz z opisem aplikacji można zobaczyć http://magu.pl/aqma )

FUNKCJONALNOŚCI:

Trzy timery włącz/wyłącz

  • pracujące z rozdzielczością sekundową
  • z “pamięcią” stanu pracy po zaniku zasilania
  • z możliwością “przejścia” przez godzinę zero
  • z możliwością manualnego włączenia/wyłączenia obwodu za pomocą przycisku, obwód zostanie wprowadzony w stan przełączenia manualnego po kliknięciu guzika na obudowie, w tym przypadku dioda sygnalizacyjna zaczyna migać, wyprowadzenie z tego stanu nastąpi po ponownym, kilkusekundowym kliknięciu guzika obwodu, dioda przestanie migać a biper zrobi biiip
  • z możliwością programowego wyłączenia/włączenia obwodu

Sterowanie trzema pompami dozującymi

  • z możliwością programowego włączenia/wyłączenia poszczególnych obwodów
  • z możliwością określenia wydajności pompy (ml/min)
  • z możliwością określenia czterech czasów dozowania i ilości wlewanego płynu (w ml) dla każdej z pomp
  • z możliwością wybrania w jakie dni tygodnia następowało będzie dozowanie
  • wszystkie trzy obwodu mają mieć możliwość zmienienia się w dodatkowe obwody timerów, jeżeli funkcjonalność “pomp dozujących” nie zostanie wykorzystana
  • z “pamięcią” stanu pracy po zaniku zasilania

Sterowanie trzema kanałami PWM dla driverów lamp LED

  • z możliwością programowego włączenia/wyłączenia poszczególnych kanałów
  • z możliwością ustawienie czasu włączenia i wyłączenia kanału PWM (0-100%)
  • z możliwością ustawienia minimalnej i maksymalnej mocy lampy w %
  • z możliwością ustawienia długości świtu i zmierzchu
  • z możliwością ustawienia lampy w trybie oświetlenia nocnego, jeżeli zaptaszkowany jest określone pole w aplikacji, to lampa w czasie kiedy powinna być wyłączona ustawi PWM na wartość ustawioną w polu minimalnej mocy świecenia
  • z możliwością “przejścia” PWM przez godzinę zero
  • z możliwością “przejścia” świtu przez godzinę zero
  • z możliwością “przejścia” zmierzchu przez godzinę zero
  • z możliwością wprowadzenia obwodów w interaktywny tryb testu dla każdego z kanałów (takie kolorowanie rgb :))

Automatyczna dolewka

  • z możliwością ustawienia jak długo w sekundach czujnik musi raportować konieczności dolania wody
  • obwód powinien móc pracować również w oparciu  o bardzo popularny, wymyślony przeze mnie algorytm “silky smooth refill” oparty o cykle :)

Opóźniony start

  • z możliwością ustawienia po jakim czasie od włączenia zasilania obwód zostanie włączony (przydatne przy odpieniaczu lub HQI)
  • z możliwością zmiany trybu pracy obwodu na “Karmienie”

Karmienie

  • z możliwością ustawienia na jak długo obwód ma zostać wyłączony po kliknięciu guzika karmienia
  • z możliwością zmiany trybu pracy na obwód opóźnionego startu

 

Co jest potrzebne

  • Arduino Leonardo :)
  • Zegarek RTC DS1307 (tylko z akumulatorem nie z baterią! – 3$)

Zegarek RTC

 

  • Panel ośmiu przekaźników SSR (16$)

ssr-male

Przekaźniki mechaniczne nie nadają się! Przy obciążeniu indukcyjnym resetują arduino. Próbowałem je obstawić kondensatorami, diodami, dławikami i zawsze w końcu trafiał się restart. Przy akwarium za kilka tysiaków raczej niedopuszczalne jest żeby zacięła się pompa dozująca.

Tak wygląda mój, gotowy projekt

aqma_instrukcja_front

 

Tak aplikacja

timers

system

pwm

dosing

Tak schemat

schematA tak kod