Jak zbudować własny pH-metr w oparciu o Arduino.
Oto kolejny projekt po doniczce testowej, który przygotowałem pod nową wersję zautomatyzowanej szklarni. Jak wygląda i działa mój pH-metr, możecie zobaczyć w filmie poniżej.
Zastosowanie
W mojej szklarni mam plan prowadzić uprawę hydroponiczną, o której niedawno opowiadałem w trakcie World Sapce Week Wro (moją prelekcję znajdziecie między 4:15:00 a 5:15:00). Podczas takiej uprawy dość ważny jest pomiar pH roztworu (woda + składniki odżywcze), w jakim są zanurzone rośliny. Uprawa bezglebowa to niejedyna dziedzina, w której taki pomiar jest potrzebny; może się on również przydać przy hodowli rybek czy nawet w piwowarstwie.
Czym jest pH
Dzięki pH-metrowi możemy zmierzyć pH danego wodnego roztworu. Skala ta jest logarytmiczna
i zależy w sposób odwrotnie proporcjonalny od stężenia jonów wodoru w roztworze. Mówi nam o tym, czy roztwór ma odczyn zasadowy czy kwaśny. Dla przykładu – sok z cytryny ma odczyn kwasowy i jego wartość pH to około 2,4; mydło ma odczyn zasadowy i jego pH ma wartość w okolicy 9,0-10,0. Dla moich mieszanek w hydroponice docelowa wartość pH będzie między 5,8 a 6,2, zależnie od roślin i stadiów wegetacji.
Sonda pH
Oczywiście, pH można zbadać przy użyciu papierka wskaźnikowego (np. lakmusowego). Ja jednak wolę skorzystać z czegoś bardziej profesjonalnego, mianowicie sondy pH, połączonej do pH-metru. Samych sond mamy wiele modeli, ja obecnie korzystam z takiej.
Sonda ma końcówkę służącą zanurzaniu w roztworze, którego pH chcemy zmierzyć. Sondy są zazwyczaj dość długie i na przeciwległym końcu mają wyprowadzenie do przewodu koncentrycznego zakończonego wtyczką BNC. Ustandaryzowane gniazdo jest bardzo przydatne, bo można podłączyć sondę do różnych pH-metrów. Ja swoją przed budową własnego urządzenia testowałem na innym pH-metrze, aby sprawdzić jej działanie. Sonda utrzymywała dokładność nawet do 0,02, mimo że producent podaje wartość na poziomie 0,1.
Poza dokładnością najważniejszymi parametrami sondy są jej żywotności oraz w jakich warunkach może pracować. Żywotność oceniać mi teraz trudno, ale ważnym aspektem jest to, że pH-metr wraz z sondą trzeba co jakiś czas kalibrować. Jeśli chodzi o warunki pracy, to tutaj, niestety, moja sonda nie może pracować stale w roztworze. Powinna ona zostać zanurzona tylko na czas pomiaru, a potem wrócić do roztworu 3M KCL. Niestety, i ten roztwór trzeba co jakiś czas wymieniać /: Poza tym, gdyby sonda pozostała długo poza roztworem, wyschłaby i jej żywotność znacznie by się skróciła. Sondy, które mogą stale pozostawać w roztworze pomiarowym są znacznie droższe.
Schemat pH-metru
Sonda pH musi być podłączona do płytki, która zamienia parametry sondy na sygnał analogowy.
W moim pH-metrze, oprócz sondy, było mi potrzebne także coś do wyświetlania pomiarów. Poszedłem w minimalizację rozmiarów i użyłem małego wyświetlacza OLED SSD1306 128×64 px podłączonego przez I2C. Na razie do sterowania wystarczają 2 przyciski. Dodatkowo dorzuciłem termometr DS18b20; docelowo w obudowie wodoodpornej umożliwi pomiar temperatury cieczy, co może się przydać.
Schemat jest bardzo prosty, co widać poniżej.
Oczywiście, będzie do tego urządzenia dedykowana płytka PCB, a nie jak tymczasowo użyta płytka uniwersalna.
Co może zainteresować, to sposób zasilania płytki do sondy pH oraz przygotowane, bardzo podobne, drugie wejście. Urządzenie ma być w przyszłości jednocześnie pH-metrem, jak i EC-metrem, o czym przekonacie się niebawem i wtedy opowiem trochę więcej (;
Urządzenie jest zasilane z baterii 9 V lub USB.
Jest przewidziana obudowa, kiedy już przyjdzie docelowa płytka. Tak jak obecne, także zostanie wydrukowana, ale będzie zakrywać całą elektronikę. Prototypowe rozwiązanie przygotowałem przy pomocy SolidWorksa od Solid Expert z czarnego PLA od Print.me. Płytka mocowana jest dzięki wtapianym gwintom, tak jak robiłem to w tym projekcie.
Kod pH-metru
Cały kod znajdziecie na repozytorium – tutaj.
Jest przygotowany pod Platform IO, które możecie zainstalować według poniższej instrukcji.
Kod zapewne będzie się jeszcze zmieniał, trzeba go uczynić trochę czytelniejszym i dodać funkcję EC-metru.
Całość powstała na live streamach. Odcinki, podczas których pracowałem między innymi nad tym projektem, znajdziecie poniżej.
Wcześniej przygotowałem również materiał o millis i maszynie stanów, których używam w tym projekcie. Warto zobaczyć, jeśli nie znacie tych elementów kodu.
Urządzenie podczas pracy jest w jedynym z dwóch stanów: wyświetlania pomiarów lub kalibracji.
W folderze z kodem znajdziecie osobne pliki, które służą do zapisu matematycznego charakterystyki liniowej, według której konwertuję wartość z płytki z sondą na wartość pH. Jest ona wyznaczana z dwóch punktów pomiarowych ustalanych podczas procesu kalibracji.
Punkty są przetrzymywane w pamięci EEPROM urządzenia, przez co nie trzeba go kalibrować przy każdym włączeniu.
Własna budowa lub zamówienie gotowego
Urządzenie można zbudować samemu na podstawie schematu i z pomocą środowiska wgrać na płytkę Arduino oprogramowanie.
Jeżeli jednak chcecie gotowe PCB z zaprogramowanym Arduino, możecie złożyć zamówienie – tutaj.
Pozostanie wtedy tylko dobór sondy i płytki do sondy.
Jeśli artykuł był dla Ciebie wartościowy, możesz wesprzeć rozwój projektu na https://inzynierdomu.tipo.live/.
Świetny projekt 🙂 czekam na więcej