Sterownik Infiniti – najbardziej rozbudowany sterownik akwarium

Sterownik Infiniti – najbardziej rozbudowany sterownik akwariowo – terrarystyczny.

Od stworzenia sterownika Bella upłynęło już trochę czasu. W międzyczasie powstały dwa inne sterowniki: Lili (dawna nazwa to Bella Mini) oraz Luna. Wszystkie trzy można zbudować na bazie płytki Bella compact 1.1. Przez dłuższy czas ich funkcjonalności były wystarczające. Jednak co chwilę pojawiały się nowe pomysły oraz zapytania. Niestety nie było możliwości dalszego rozwoju tych projektów, ze względu na ograniczenia sprzętowe. Pamięć Arduino Nano z gumy nie jest… Były i nieustannie są wprowadzane zmiany kosmetyczne, które poprawiają za każdym razem to i owo. Nie zmieniały one jednak podstawowych funkcji sterowników. Nadszedł więc czas na rozbudowę i połączenia wszystkich powyższych sterowników w jedną potężniejszą wersję (oraz dołożenie paru nowych opcji). Tak powstał sterownik Infiniti – jak sama nazwa wskazuje – zmian będzie sporo. 

Aby uzmysłowić sobie, jak bardzo rozbudowany jest sterownik Infiniti w porównaniu do pozostałych, spójrzcie na poniższe dane:

  • Bella – 23 zmienne, 1800 linijek kodu, 
  • Luna – 21 zmiennych, 1700 linijek kodu,
  • Lili – 25 zmiennych, 1750 linijek kodu,
  • Infiniti – 125 zmiennych, 11083 linijki kodu.

Jak widać, już same wartości liczbowe robią wrażenie. Nowy sterownik ma zarówno wszystkie funkcjonalności sterowników Bella, Luna oraz Lili, jak i kilka nowych, do tej pory niedostępnych. Dokładny opis wszystkich funkcji znajdziecie w tej oraz kolejnych częściach artykułu. 

Płytki PCB oraz elementy wykonawcze

Już na pierwszy rzut oka widać, że sterownik akwariowo – terrarystyczny Infiniti zasadniczo różni się od poprzednich wersji. Pierwszą z widocznych różnic jest zastąpienie dotychczasowego Arduino Nano wersją Pro Mega. Posiada ono więcej pamięci (8-krotnie) oraz kilkukrotnie więcej wyjść zarówno cyfrowych (w tym PWM) oraz analogowych.

Kolejną zmianą jest sama budowa płytki PCB. Na płytce Bella Compact 1.1 tylko 4 drivery były zamontowane na samej płytce – dodatkowy piąty driver był podpinany na osobnej płytce. W wersji Infiniti znalazło się miejsce na 8 driverów (Meanwell serii LDD) podłączonych w 2 niezależnych szeregach (do każdego można podłączyć inne napięcie, a tym samym inną ilość diod w szeregu). Poprzez dołożenie dodatkowych driverów oraz wymiany samego Arduino (oraz zwiększeniem ogólnej funkcjonalności) wymiary płytki zostały zwiększone do 16x10cm.

Sterownik Infiniti – opis poszczególnych płytek PCB wchodzących w jego skład:

Najważniejszym elementem wykonawczym jest płytka Infiniti v1.1 (wersja 1.0 była testową wersją bez driverów). Na niej to bowiem znajdują się elementy wlutowane bezpośrednio na PCB:

  1. przycisk oświetlenia awaryjnego
  2. gniazdo RJ45 do podpięcia Infiniti LCD 1.0,
  3. gniazdo drukarkowe USB do zasilania płytki
  4. dźwiękowy sygnalizator zalania,

Oraz gniazda i złącza śrubowe umożliwiające podłączenie następujących peryferiów:

  1. Arduino Pro Mega
  2. Zegar DS1307
  3. Sonda pH 
  4. Czujnik zalania Infiniti Flood .
  5. Czujnik wilgotności i temperatury DHT22,
  6. Termometr DS18b20,    

Na płytce Infiniti 1.1 znalazło się miejsce dla aż 8 driverów firmy Meanwell. Ta wersja została dostosowana do wszystkich wariantów driverów z serii LDD – zarówno w wersjach L, jak i H oraz  rozmiarów małych i dużych (od wersji 300L do wersji 1500H).

Zasilanie driverów jest prowadzone dwoma niezależnymi torami (masa jest wspólna), co daje możliwość podpięcia dwóch zasilaczy (o tym samym lub różnym napięciu). Dzięki temu możemy wprowadzać różne konfiguracje połączeń oraz ilości diod na belkach. 

Każdy z driverów może zostać odłączony od zasilania za pomocą jumpera, który znajduje się tuż obok. Daje to możliwość czasowego wyłączenia np. niesprawnego oświetlenia.

Infiniti LCD 1.0 oraz Infiniti RJ 1.0

To całkowite nowości  – tego typu rozwiązanie nie było do tej pory nigdzie dostępne. Zapewne wielu z Was zastanawiało się, w jaki sposób umieścić sterownik w jednym miejscu, a klawiaturę z wyświetlaczem w drugim. Płytka Infiniti LCD 1.0, w połączeniu z przystosowanym do niej frontem, daje możliwość osadzenia w bardziej dogodnym miejscu wyświetlacza a także klawiatury. Klawiatura pozostała standardowa – 4 przyciskowa (góra, dół, lewo, prawo – odpowiednio plus, minus, poprzedni, następny). 

Na samej płytce znajduje się również gniazdo RJ45 do podłączenia z płytą Infiniti 1.1, 4 przyciski wymienione powyżej oraz wyjście magistrali I2C do wpięcia wyświetlacza.

Dostępna jest również płytka Infiniti  RJ 1.0, która pozwala na zastosowanie starych płytek (Arduino Nano). Znajduje się na niej gniazdo RJ45 oraz wyprowadzenie 4 pinów analogowych oraz 4 pinów magistrali I2C. Układ pinów jest kompatybilny ze starszymi modelami płytek dlatego pozwala w prosty sposób połączyć ją z płytką Infiniti LCD 1.0.

Elementem, który niewątpliwie uzupełnia powyższe płytki jest panel z plexi mieszczący wyświetlacz LCD 20×4 wraz z miejscem na zamontowanie płytki Infiniti LCD.                            

Flood sensor

Jest to najmniejsza i zarazem najłatwiejsza do omówienia płytka PCB. Razem pasującą do niej wydrukowaną na drukarce 3D obudową tworzy czujnik zalania. Został on opisany w sterowniku Bezik oraz w dalszej części artykułu. Poniżej znajduje się galeria prezentująca wszystkie płytki wykorzystane (lub możliwe do użycia) do budowy sterownika.

Infiniti 1.1

Zdjęcie 2 z 7

Przekaźniki    

Na płytce Infiniti 1.1 znajdują się dwa gniazda 8-pinowe, które umożliwiają podłączenie łącznie 12 przekaźników. Daje to wiele możliwości wykorzystania, które ogranicza jedynie Waszą pomysłowość. 

Oto lista przekaźników i ich przeznaczenie:

  • G – grzałka (sterowany termometrem),
  • W – wentylator (sterowany termometrem),
  • F – fogger (sterowany czujnikiem DHT22)
  • H – wentylator (sterowany czujnikiem DHT22)
  • C – Elektrozawór dozujący CO2 (sterowany za pomocą czujnika pH)
  • O – Napowietrzacz (sterowany za pomocą czujnika pH)
  • F – Filtr / (odłączane od zasilania w momencie wykrycia zalania)
  • 1 – Stycznik 1 – uruchamiany 1x dziennie
  • 2 – Stycznik 2 – uruchamiany 2x dziennie
  • 3 – Stycznik 3 – uruchamiany 2x dziennie
  • 4 – Stycznik 4 – uruchamiany 2x dziennie
  • 5 – Stycznik 5 – uruchamiany 3x dziennie

Część druga – Sterownik Infiniti – omówienie poszczególnych funkcji

Sterownik Infiniti zamiast Arduino Nano używa Arduino Pro Mega. Dzięki temu w znaczący sposób zwiększono funkcjonalność sterownika (dla porównania – Program Bella miał 21 możliwych do zmiany wartości, a w Infiniti jest ich aż 124). W sterowniku połączono wszystkie dotąd dostępne funkcje poprzednich sterowników (Bella, Lili, Luna oraz Bezik). Poniżej znajduje się szczegółowe omówienie wszystkich możliwości. 

Oświetlenie

Sterownik Infiniti obsługuje 8 kanałów PWM. Na płytce przeznaczonej pod drivery firmy Meanwell (od LDD-300L do LDD-1500H) mieszczą się wszystkie jednocześnie. Do sterownika zasilania driverów można podpiąć dowolny zasilacz z zakresu od 12 do 48V. Płytka posiada dwa niezależne wejścia (każde na 4 drivery) pozwalające na zastosowanie 2 odrębnych źródeł zasilania. Każdy z kanałów daje możliwość niezależnego wykorzystania wszystkich dostępnych ustawień, takich jak:

  • oświetlenie nocne od północy do świtu, 
  • godzina rozpoczęcia rozjaśniania,
  • długość świtu,
  • moc kanału w ciągu dnia,
  • godzina rozpoczęcia wygaszania,
  • długość zmroku,
  • oświetlenie nocne od zakończenia zmroku do północy.

Takie rozwiązanie umożliwia niezależne sterowanie każdym kanałem w dowolny sposób. W przypadku, kiedy moc któregoś z kanałów jest zmniejszona, wtedy jego ściemnianie bądź rozjaśnianie działa tak samo długo, lecz jest proporcjonalnie wolniejsze (skoki są mniejsze). Dzięki temu możliwe jest podłączenie jednego lub nawet kilku dodatkowych oświetleń do innego akwarium Sposób działania oświetlenia najlepiej wyjaśnia poniższy rysunek.

Infiniti - świt zmrok

Termostat

Identycznie jak w sterowniku Bella, możliwe jest podłączenie do sterownika za pomocą termometru ds18b20 dwóch niezależnych urządzeń np. grzałki wraz z chłodnicą/wentylatorem.W przypadku tej funkcjonalności mamy dostępne 2 zmienne. Pierwsza to temperatura (oznaczająca temperaturę dolną), poniżej której uruchomiona zostanie grzałka. Druga to histereza, która odpowiada za tolerancję temperatury. Jeśli temperatura wody spadnie poniżej zadanej wartości (T), uruchomi się grzałka. Na wyświetlaczu zamiast znaku “-” pokaże się litera G. Temperatura będzie rosła do momentu przekroczenia histerezy. Po przekroczeniu wartości T+H na wyświetlaczu zmieni się opis z “-” na “G”.  Z kolei, gdy temperatura przekroczy wartość zadaną plus dwukrotność histerezy (T+H+H) uruchomi się chłodzenie i będzie działać aż do momentu, w którym włączyło się grzanie (T+H). Wtedy na wyświetlaczu e wyświetli się wartość “W” zamiast “-”. W przypadku awarii / odpięcia termometru temperatura na wyświetlaczu znika (zostaje zastąpiona przez znaki “–”). Wtedy w ramach dodatkowego zabezpieczenia gniazda grzania oraz chłodzenia zostają ustawione w pozycję “OFF”. 

Infiniti - termostat

Styczniki 1 do 5

Każdy z pięciu dostępnych styczników można uruchomić na dowolny czas: od 1 minuty do 23 godzin i 59 minut. Godzina uruchomienia przekaźnika nie ma znaczenia (w sterowniku Bella uruchomienie musiało nastąpić o pełnej godzinie). Teraz włączenie sterownika przykładowo o godzinie 7:53 i wyłączenie go o 8:11 nie stanowi już problemu. Dodatkowo styczniki zostały zróżnicowane względem ilości dziennych uruchomień.

  • Stycznik 1 – 1x dziennie – opisany jako 1A
  • Stycznik 2 – 2x dziennie – opisane jako 2A i 2B
  • Stycznik 3 – 2x dziennie – opisane jako 3A i 3B
  • Stycznik 4 – 2x dziennie – opisane jako 4A i 4B
  • Stycznik 5 – 3x dziennie  – opisane jako 5A, 5B i 5C

W każdym z wymienionych styczników nie ma znaczenia, który z czasów zostanie wywołany jako pierwszy. Ustawienie jest w 100% dowolne. Poszczególne zakresy mogą na siebie zachodzić – wtedy przekaźnik będzie działał cały czas. Jeśli któryś ze styczników będzie wyłączony (wszystkie wartości ustawione na 0) nie będzie pokazywany na wyświetlaczu LCD.

Sonda pH

Program obsługuje modele sond pH opisane w tym artykule a także inne dostępne na rynku. Za jej pomocą sondy uruchamiają się styczniki opisane jako O2 i CO2. Jeśli nie jest ona w danym momencie używana, należy zewrzeć piny sygnału oraz GND. Wartości, które możemy zmieniać to dolna granica pH oraz histereza. W programie ustawiamy wybraną wartość pH oraz histerezę (w górę i w dół). Po przekroczeniu górnej granicy uruchomiony zostaje stycznik (do którego można podłączyć elektrozawór dozujący CO2) i działa on do momentu obniżenia pH poniżej zadanej wartości. Do pierwszego stycznika podpinamy dodatkowy napowietrzacz, który zostanie uruchomiony w momencie, gdy wartość pH spadnie poniżej dolnej granicy (zadana wartość pH – histereza). Będzie on działał do momentu osiągnięcia zadanej wartości pH. Informacje o dozowaniu CO2 albo włączeniu napowietrzania oznaczone są na wyświetlaczu odpowiednio literami “C” oraz “O” (jeśli w danym momencie działają) lub też “-” jeśli są wyłączone.

Niektóre sondy pH mają odwrócona skalę (dla niektórych wartość 0V to 0pH dla niektórych 14pH). Dlatego też została dodana zmienna o nazwie „odwrócona kalibracja” która pozwoli na zmianę „kierunku” odczytu wartości. Aby najprościej stwierdzić którą wersję posiadamy można zanurzyć sondę w wodzie z dodatkiem soku cytrynowego / octu. Wartość pH będzie zbliżała się do około 2,5. W drugą stronę sonda włożona do wody z mydłem powinna pokazać wartość mniej więcej 10pH.

 

Infiniti - pH

Czujnik wilgotności i temperatury DHT22

Podobnie jak to było w przypadku sterownika Luna, sterownik Infiniti zaopatrzono w możliwość dokonania pomiarów z czujnika wilgotności DHT22. Za jego pomocą uzyskujemy odczyty wilgotności oraz temperatury powietrza. Czujnik wilgotności odpowiada za uruchamianie dwóch styczników. Gdy wilgotność powietrza spadnie poniżej zadanej wartości, uruchomi się stycznik odpowiedzialny za nawilżanie (na płytce opisany jako WF). Natomiast, gdy wilgotność przekroczy górną zadaną wartość, nawilżanie zostanie wyłączone oraz uruchomi się stycznik odpowiedzialny za zmniejszenie wilgotności do poziomu wyjściowego (na płytce opisany jako WW). Działanie foggera oraz wentylatora (mającego za zadanie zmniejszyć wilgotność lub temperaturę), oznaczone jest odpowiednio literami H oraz F lub “-” jeśli są wyłączone.

Infiniti Fogger

Temperatura powietrza odczytywana za pomocą czujnika DHT22 służy do włączania dokładnie tego samego stycznika, który odpowiada za zmniejszenie wilgotności (Humidity Fan). Ustawić należy dolną granicę temperatury (z zakresu od 20 do 40C) oraz histerezę (od 1 do 10C). Po przekroczeniu górnej granicy zostanie uruchomiony wentylator obniżający temperaturę do dolnego poziomu. 

Wentylator będzie działał niezależnie od tego, czy przekroczona została temperatura, czy też wilgotność. Może zdarzyć się taka sytuacja, że wilgotność będzie mniejsza niż zadana, a temperatura powietrza większa niż dozwolona. Wówczas będą działały oba styczniki – fogger oraz wentylator. 

Infiniti wentylator

 

Czujnik zalania oraz alarm

Jedną z nowości w sterowniku Infiniti jest czujnik zalania bazujący na czujniku zastosowanym w sterowniku Bezik. Zadaniem sterownika jest monitorowanie odczytów dostarczonych przez czujnik (bądź też kilku podłączonych równolegle). W standardowej sytuacji, czyli gdy nie ma wycieku wody, przekaźnik opisany jako filtr (litera F na wyświetlaczu) wyłączy się. Jeśli pod czujnik dostanie się woda (wystarczy kilka kropel), rozlegnie się alarm dźwiękowy oraz wizualny (wyświetlacz zacznie migać niezależnie od pory dnia oraz pojawi się komunikat o zalaniu), a przekaźnik zostanie wyłączony. 

Aby zapobiec ewentualnym przypadkowym alarmom, można dwa czujniki podłączyć w szeregu – przypadkowe zalanie jednego z nich nie wywoła alarmu. Dopiero, gdy pod oba czujniki podcieknie woda, alarm uruchomi się. 

Przycisk oświetlenia awaryjnego

Na płytce, zaraz obok gniazda RJ45, znajduje się przycisk pozwalający na włączenie lampy w trybie awaryjnym. Funkcja ta  może okazać się przydatna podczas serwisu albo w nocy, jeśli zajdzie potrzeba skontrolowania akwarium (terrarium). Standardowo zamontowano przycisk, jednak można go zastąpić 2-pinowym gniazdem śrubowym. Za jego pomocą możemy wyprowadzić przycisk w dogodne miejsce.Moc oświetlenia można ustawić w menu w dowolnym zakresie od 0 do 100%.

Część trzecia – wyświetlacz oraz menu

W przypadku sterownika Infiniti wejście w tryb menu odbywa się poprzez jednoczesne naciśnięcie przycisków w górę i dół (plus i minus). Wyjście – odpowiednio za pomocą klawiszy lewo i prawo (następna i poprzednia funkcja menu).

Wygląd menu różni się od dotychczasowego – na wyświetlaczu znajduje się więcej informacji dotyczących wprowadzanych danych. Niektóre z nich, jak np. godzina czy temperatura, wyświetlają się w całości. Dla uproszczenia odczytó moc wyświetla się w wartościach procentowych.

Nowością w sterowniku Infiniti jest tryb testowy. Wywoływać go można poprzez naciśnięcie na raz wszystkich czterech przycisków. Po jego uruchomieniu pierwszym ekranem, który zobaczymy jest test zegara, termometru oraz czujnika DHT22 (wilgotności i temperatury powietrza). Przesuwając w prawo lub w lewo testujemy poszczególne kanały PWM (w zakresach 0%, 20%, 100%) oraz wszystkie styczniki po kolei . Daje to możliwość sprawdzenia lampy oraz wszystkich dostępnych 12 przekaźników. Warto pamiętać o tym, że przewody połączeniowe są dość cienkie i mogą ulec uszkodzeniu. Za pomocą testu możemy łatwo zlokalizować i wyeliminować uszkodzone przewody, jak również pomyłki w połączeniach. 

Wyjście z menu testowego następuje analogiczne jak z trybu menu – jednoczesne przyciśnięcie przycisków lewo/prawo powoduje powrót do zwykłej pracy sterownika.

Poniższa galeria przedstawia poszczególne funkcje w menu. Kolorem żółtym oznaczono dane możliwe do zmiany. W trakcie zmiany pozycji w menu aktualnie edytowana wartość zaczyna migać.

Sterownik Akwariowy Infiniti - układ wyświetlacza

Zdjęcie 1 z 18

Sterownik Infiniti - opis płytki

A teraz obiecany konkurs…

Aby wziąć udział w konkursie, należy udostępnić post na Facebooku oraz napisać w komentarzu swoje uwagi do funkcjonalności sterownika Infiniti – zarówno pozytywne, jak i negatywne, innymi słowy – co się spodobało, a co można poprawić. Głosy zbierane będą do 6 grudnia, a ogłoszenie wyników nastąpi w specjalnym świątecznym filmie 🙂 Zwycięzca zostanie wyłoniony w losowaniu (w tym celu napiszę generator liczb losowych).

Poniżej znajduje się film dokładnie przedstawiający cały sterownik oraz elementy które się na niego składają.