Opis konstrukcji kontrolera w wersji 1.0: Czytaj dalej...

Aqua Reef Meter V2.0
Cyfrowy sterownik akwariowy z pomiarem parametrów wody z zastosowaniem w akwarium morskim

Firmware Ver.2.24 - Atmega88 New!
Firmware Ver.2.20 - Atmega88 (boot)
Manual PL Ver.2.20 - Instrukcja obsługi New!
Software Ver.2.22 - ARM Application
Scheme,PCB,BOM - ARM Documentation New!

Przedstawiam inną tematycznie niż radio, ale także ciekawą, własną konstrukcję sterownika akwariowego z bogatymi możliwościami pomiarowymi, nad którym aktualnie pracuję. Jako że interesuję się również akwarystyką morską, zaintrygowany sugestiami kolegów morszczaków, postanowiłem skonstruować proste, ale jednocześnie zaawansowane urządzenie pomiarowe z zastosowaniem w akwariach, w tym akwarium morskim. Gdyby dołożyć moduł radiowy, można by połączyć oba tematy :)

Układ ten w założeniu posiada następujące możliwości:

- pomiar temperatury wody w oC
- pomiar zasolenia wyrażony od razu w gęstości
- pomiar odczynu pH wody
- pomiar stopnia utleniania REDOX
- 4 niezależne wyjścia sterujące
- każde z wyjść konfigurowane do dodowolnego parametru pomiarowego
- komunikacja kontrolera z PC za pomocą interfejsu RS232
- możliwość zastosowania dowolnej przelotki RS232/USB, co czyni kontroler bardziej uniwersalnym
- programowanie procesora przez złącze ISP
- programowanie procesora z PC przez RS232/USB za pomocą darmowej aplikacji

Każdy z parametrów jest kalibrowany z poziomu Menu sterownika i można go przypisać do dowolnego z wyjść sterujących.
W wersji 2.0 układ steruje 4 wyjściami do załączania różnych urządzeń, np. oświetlenia, pomp dozujących, elektrozaworów, chłodziarki czy grzałki. Godziny załączeń są programowane oddzielnie dla każdego z wyjść.
Kontroler mozna wykorzystsać na przykład do załączania wentylatora chłodzącego taflę wody, po przekroczeniu zadanej temperatury uwzględniając histerezę 0,2oC. Taki mały skok termiczny jest mało odczuwalny przez mieszkańców akwarium.
Zastosowany tu łatwo dostępny, nowszy 28 pinowy procesor Atmega88 ma jak się okazuje stosunkowo duże możliwości co bardziej powiększyło możliwości kontrolera w stosunku do wersji 1.0.

Aplikacja do obsługi ARM z poziomu komputeraz PC

Z kontrolerem Aqua Reef Meter współpracuje specjalnie do tego celu napisany przeze mnie program. Jest to prosta aplikacja służąca głownie do podglądu na ekranie komputera parametrów w akwarium oraz analizy wyników pomiarów. Program oprócz wyświetlania mierzonych parametrów wyświetla również wykresy czasowe tych parametrów. Odstęp czasowy tych wykresów można regulować. Dzięki temu można np. rejestrować zmiany parametrów w ciągu minut, godziny czy wielu godzi albo dni. Wyniki te można zapisać następnie w pliku CSV łatwo edytowalnym.
Inną podstawową funkcją tego Programu jest możliwość wgrywania nowszej wersji programu do procesora Atmega88 w kontrolerze. Funkcja ta dostępna jest z poziomu menu Tools.

Pomiar potencjału REDOX

Na dobry początek zmontowałem prosty układ wejściowy do pomiaru potencjału REDOX. Do pomiaru ORP użyłem plastykowej elektrody AquaMedic mV. Była to świeża elektroda, którą dopiero co zamoczyłem w wodzie RO. Właściwy odczyt potencjału redox wody akwariowej można wykonać dopiero po kilku dniach moczenia się elektrody. Nie mniej jednak podłączyłem tak zamoczoną elektrodę do układu wejściowego
Jako układ wejściowy zastosowałem wzmacniacz operacyjny TL072, który w swojej strukturze zawiera 2 stopnie wzmacniające skonstruowane w technologii JFET, co zapewnia dużą impedancję wejściową. Początkowo zastosowałem tu układ LM358, ale szybko okazało się, że jego impedancja wejściowa jest zbyt mała, co powodowało szybkie nasycanie elektrody ORP. Do zasilenia układu TL072 potrzebne jest dodatkowo ujemne napięcie. Zrealizowałem je w prosty sposób stosując układ NE555 jako generator napięcia z odwrotną polaryzacją względem masy. Układ ten zasilony napięciem 12V wygenerował napięcie wyjściowe rzędu -8V, co w zupełności wystarczyło do wysterownia stabilizatora 79L05 dającego na wyjściu ujemne napięcie -5V wystarczające do poprawnej pracy układu TL072.


Pomiar REDOX odbywa się następująco: pierwszy wzmacniacz pracuje jako wtórnik o wysokiej impedancji. Elektroda ORP włączona jest na nieodwracające wejście wzmacniacza. Wyjście tego wzmacniacza połączone jest z drugim wejściem nieodwracającym. Tak odseparowane napięcie wejściowe podane jest na drugi stopień. W wersji 1.0 był to wzmacniacz o wzmocnieniu razy 4. Dzięki temu napięcie z elektrody o wartości np. 500mV było wzmocnione do wartości ok. 2V. Jest to niezbędne dla dokładniejszego pomiaru, ponieważ w przypadku wersji 1.0 kontrolera jako przetwornik zastosowałem prosty, 8-mio bitowy układ PCF8591P ze źródłem odniesienia 2,56V odpowiadającym jednemu bajtowi. Tak uzyskany wynik był dzielony w programie kontrolera przez 4 co stanowiło niezłą dokładność pomiarową, wystarczającą do określenia potencjału redox w akwarium.

W wersji 2.0 układ pomiarowy do pomiaru redox jest podobny, lecz potencjometrem regulującym wzmocnienie II stopnia wzmacniacza operacyjnego reguluje sie dokładność pomiaru napięcia dla przetwornika 10-bitowego. Przetwornik ten ma rozdzielczość 1024 punkty, więc konieczne było takie dobranie wzmocnienia, aby dla źródła odniesienia 2,56 uzyskać właściwe wskazanie pomiaru Redox.

Po tak przygotowanym układzie pomiarowym zmieniłem wyświetlacz na docelowy, o niebieskim kolorze podświetlenia, co czyni sterownik bardziej "morskim" z wyglądu. Następnie zaprogramowałem układ Atmega88 pierwszą wersją programu. Nie obyło się bez niespodzianek typu brak rezystorków podciągających, czy zaszybkiego działania pętli. Ale ostatecznie udało się uruchomić wstępnie układ elektroniczny. Kontroler od razu zaczął bezbłędnie odczytywać wartość REDOX.

Sonda ORP nadal była niedomoczona pokazując zawyżoną wartość potencjału redox. Pozostawiłem ją nadal zanużoną w wodzie morskiej.

Pomiar odczynu pH

Do pomiaru pH doświadczalnie użyłem podobnego układu wejściowego jak w przypadku pomiaru Redox, ale z zastosowaniem układu LM358. W przypadku pomiaru pH na początek na wejściu układu pomiarowego użyłem tranzystora polowego BF245, który ma dosyć dużą rezystancję wejściową. Podłączenie sondy pH wprost na wejście wtórnika napięciowego powodowało zafałszowane wyniki z powodu zbyt małej impedancji wejściowej w stosunku do wydajności prądowej żródła jakim jest elektroda pH. Na początek za pomocą dzielnika resystorów 1K i 4k7+1k ustalone zostało napięcie wejściowe o wartości ok. 3,5V przy niepodłączonej elektrodzie. Po podłączeniu elektrody do wejścia układu, na wyjściu wtórnika ustaliło się napięcie rzędu 2,5V. Po umieszczeniu sondy we fluidzie testowym o pH=9, napięcie wyjściowe wyniosło 2,44V w temperaturze roztworu kalibracyjnego ok. 25C. W przypadku mojego przetwornika nie jest wymagane dodatkowe wzmocnienie, gdyż wartość napięcia 2,56V jest wystarczająca dla przetwornika (dla 10-cio bitowego przetwornika).
Wyjście z wtórnika podłączyłem na 3 wejście przetwornika w płytce kontrolera. Na wyjściu wtórnika podłączyłem dodatkowo rezystor i kondensator, aby wstępnie ustabilizować wartość napięcia wyjściowego w celu prawidłowego przetworzenia wyniku w przetworniku AC. Umieściłem sondę we fluidzie testowym pH 9 w temperaturze ok. 25C.

Kalibrację układu wykonałem 2 funkcjami dla fluidów pH=4 i pH=9. Pomiar pH odbywa się w interesującym mnie zakresie (7-8,5). Wykorzystanie przetworników 10-biotwych polepszyło pomiar, który odbywa się skokami co ok 0,01-0,02pH. Nie przeszkadza to jednak oszacować odczynu badanej wody.
Dzięki kalibracji 2 punktowej elektrody pH udało się uzyskać właściwy, dość dokładny wynik pomiaru alkaliczności roztworu, w tym przydapku wody morskiej.
Układ ten można z powodzeniem zastosować do badania odczynu pH w całym zakresie od pH4 do pH9, a więc również w akwarystyce słodkowodnej, a w szczególności w akwarystyce amazońskiej, w której odczyn wody jest mocno kwaśny.

Pomiar zasolenia

Zasolenie postanowiłem mierzyć pośrednio, mierząc najpierw wartość impedancji badanej wody, wyznaczając kondunktancję (G=1/R), a następnie przeliczając zmierzoną wartość na gęstość z uwzględnieniem temperatury. Na początek przyjąłem T=25C. Współczynnikiem temperaturowym postanowiłem się zająć po podłączeniu pomiaru temperatury.
Gęstość zalecana do utrzymania w akwarium morskim powinna być w granicach 1,022-1,025 g/cm3. Idealnie byłoby utrzymać wartość 1,023 g/cm3. Taką wartość gęstości przyjąłem jako docelową.

W wersji 2.0 ARM zastosowałem gotową sondę zasolenia TEH System. Kabel sondy zakończony jest standardowo wtyczką BNC. Układ pomiarowy, podobny do poprzedniego zaprojektowałem z użyciem układu LM324 zawierającego 4 wzmacniacze operacyjne. Pomiar kondunktancji z racji badania wody słonej musi być inny. Ponieważ w wodzie słonej istnieje zjawisko elektrolizy, zmierzenie impedancji wody napięciem o stałej wartości jest utrudnione z uwagi na możliwość powstania tego zjawiska. Na końcówkach sondy pomiarowej przy podłączeniu napięcia stałego bardzo szybko powstaje kondensator elektrolityczny. Dlatego też zasolenie powinno się mierzyć napięciem przemiennym. Ja z uwagi na prostotę układu postanowiłem sprawę nieco uprościć i zastosować generator sygnału prostokątnego o częstotliwości ok. 2kHz. Co prawda przemienne napięcie to nie jest, ale wydaje się skutecznie eliminować w/w zjawisko. Zaplanowałem podobny do poprzednich układ pomiarowy, ale zmieniony. Na wejście nieodwracające II wzmacniacza pracującego jako wtórnik podany jest sygnał prostokątny z prostego generatora w postaci I ze wzmacniaczy układu LM324. Do tego wejścia wtórnika jest równierz poprzez rezystor 100k wpięta równolegle sonda mierząca rezystancję wody. Sygnał z generatora "stłumiany" rezystancją wody podany jest na III wzmacniacz. Na wyjściu tego wzmacniacza zmodulowany sygnał prostokątny jest zamieniany na stały przez układ całkujący z kondensatorem 22u. Ustaliłem podkówką poziom napięcia wyjściowego ok. 2,50V. Przy spadku temperatury wody w ciągu nocy zauważyłem, że przy temperaturze 25C (spadek o 2C) napięcie podniosło się do wartości 2.03V. Widać zatem wpływ temperatury na gęstość - zmiana gęstości o 2% przy zmianie temperatury o 1C. Sprawą dokładnego przeliczenia zmian wartości napięcia wyjściowego w funkcji kondunktancji zajmuje się mój program w kontrolerze. Przy obliczeniu właściwej wartości gęstości należy wziąć pod uwagę temperaturę, stałą przewodności wody morskiej oraz zmiany ORP.

Schemat kontrolera w wersji 2.0

Po udanym uruchomieniu prototypowej wersji kontrolera narysowałem schemat. Jest to druga wersja działającego urządzenia.



Jak widać nie jest to skomplikowane urządzenie. Wbrew pozorom zawiera kilka łatwo dostępnych elementów i nie różni się zbytnio od poprzedniej wersji. Na uwagę zasługuje dodatkowy układ komunikacji RS232 z komputerem PC. Z racji zastosowania układu AVR możliwe jest programowanie procesora za pomocą złącza ISP znajdującego się na płytce w formie 5 pinów.

Całość podobnie jak w wersji 1.0 została umieszczona w plastykowej obudowie Z-28A posiadającej wycięcie na wyświetlacz. Płytka PCB zawiera przylutowane złącza 230V do który zostały przykręcone przewody kabla wyjść sterujących. Jako wyjścia sterujące zostały zastosowane gniazda hermetyczne 230V z bolcem ochronnym PE. Ma to na celu dodatkowo zabezpieczyć użytkowanie kontrolera w pobliżu akwarium. Szczegółowy opis kontrukcji kontrolera zawarty jest w adnotacji dfo wersji 1.0.

Cała konstrukcja kontrolera jest podobna do tej wersji, zatem montaż we własnym zakresie nie powinien nastręczać zbyt wielu problemów. Na przyciski nałożyłem 3 nasadki plastykowe.
Przed montażem pokrywy górnej wywierciłem otworki na przyciski i diody sygnalizacyjne.

Przy wierceniu otworów mona posłużyć się gotowym szablonem przedstawionym na fotografii, który można przyłożyć bezpośrednio do obudowy i oznaczyć miejsca wierceń.
Na przednią część obudowy nakleiłem nalepkę wykonaną na papierze wodoodpornym. Zaprojektowany wcześniej rysunek czołówki wydrukowałem na kolorowej drukarce.

Po uruchomieniu układu kontroler miał tendencje do zakłóceń podczas załączania wyjść sterujących. Aby temu zaradzić, przylutowałem dodatkowy kondensator 100nF bezpośrednio na nóżce zasilania Vcc procesora. Wszystkie przewody sygnałowe z wejść pomiarowych oraz przewody zasilające wykonałem w formie przewodów ekranowanych. Zapobiegło to zakłóceniom.

Na pobliskiej fotografii przedstawiony jest przykład zamocowania kontrolera obok zbiornika. W tym celu wywierciłem otworek o średnicy 6mm z tyłu obudowy tuż nad końcem płytki drukowanej i powiesiłem kontroler za pomocą małego kołka rozporowego oraz śruby z szerszym łbem. Jest to sprawdzony i stosunkowo wygodny sposób mocowania kontrolera. Zwłaszcza w miejscach, w których zwiększone jest ryzyko rozlania się wody.