Skocz do zawartości

Prosty miernik pH gleby DIY na XIAO RP2040 + sonda pH


Pomocna odpowiedź

Napisano

Pewnie wielu osobom zdarzyło się, że roślina nie chciała rosnąć tak, jak powinna, albo po przesadzeniu nie przyjęła się. Przyczyn może być oczywiście wiele, ale jedną z rzeczy, którą warto sprawdzić, jest pH podłoża. Do jego pomiaru można wykorzystać proste mierniki wbijane bezpośrednio w ziemię albo klasyczne metody kolorymetryczne, np. płyn Helliga. Istnieje jednak również bardziej elektroniczne rozwiązanie. 

IMG_1784.thumb.JPG.9dd657326f4f3e419d5fc34fa31a13a7.JPG

Pomiar wykonywany jest na przygotowanej próbce gleby. Zamiast wkładać elektrodę bezpośrednio w ziemię, można przygotować zawiesinę gleby w wodzie, pozostawić ją na odpowiedni czas, a następnie zmierzyć pH uzyskanej próbki. Dzięki temu sonda pracuje w środowisku ciekłym, do którego została przeznaczona. Projekt powstał we współpracy ze sklepem Botland.

Komponenty i budowa

Urządzenie jest stosunkowo proste i składa się z kilku podstawowych elementów. Najważniejszym elementem jest płytka Seeed Studio XIAO RP2040. To właśnie RP2040 odpowiada za odczyt napięcia z sondy, obsługę wyświetlacza, enkodera oraz zapis parametrów kalibracyjnych.

Za prezentację wyniku odpowiada niewielki wyświetlacz LED wykorzystujący popularny układ TM1637. Moduł ten akurat miałem w szufladzie, więc zamiast szukać innego wyświetlacza postanowiłem wykorzystać właśnie jego. Ma on jednak pewne ograniczenie – zastosowany wariant nie pozwala na wygodne wykorzystanie kropek dziesiętnych. Dwukropek dostępny w typowym module TM1637 zdecydowanie nie nadaje się do rozdzielania części całkowitej i ułamkowej. 

Do obsługi urządzenia służy enkoder obrotowy z przyciskiem. Obrót pozwala na wybór wartości podczas kalibracji, natomiast jego naciśnięcie służy do zatwierdzania. Początkowo myślałem o zastosowaniu "kółka od myszki", ale nie było jak sensownie tego umieścić w obudowie.

Całość została zamknięta w obudowie wydrukowanej na drukarce 3D. XIAO RP2040 jest zamocowane na odpowiedniej nakładce wewnątrz obudowy. Przy jej montażu warto zwrócić uwagę na długość standardowych goldpinów – są one nieco za długie do tego zastosowania i przed montażem trzeba je skrócić.

Za właściwy pomiar odpowiada sonda pH firmy DFRobot wraz ze wzmacniaczem. Jest to wygodne rozwiązanie do projektów DIY, ponieważ elektronika sondy pozwala podać jej sygnał analogowy bezpośrednio do wejścia ADC mikrokontrolera.

Można oczywiście zastosować również bardziej profesjonalną sondę. W takim przypadku można uzyskać lepszą charakterystykę pracy, szczególnie gdy miernik ma być wykorzystywany częściej lub do dokładniejszych pomiarów.

Schemat połączeń jest bardzo prosty. Sygnał analogowy wzmacniacza pH trafia do wejścia ADC RP2040, a pozostałe elementy korzystają z wybranych GPIO:

  • GPIO26 – analogowy pomiar napięcia z modułu pH,
  • GPIO27 – sygnał A enkodera,
  • GPIO28 – sygnał B enkodera,
  • GPIO29 – przycisk enkodera,
  • GPIO6 – DIO wyświetlacza TM1637,
  • GPIO7 – CLK wyświetlacza TM1637.

Kalibracja

Sam odczyt napięcia z sondy nie wystarcza do uzyskania poprawnej wartości pH. Każda sonda ma swoją charakterystykę, dlatego urządzenie wymaga kalibracji.

W projekcie zastosowano kalibrację dwupunktową. Standardowo wykorzystywane są roztwory referencyjne: pH 4.00 oraz pH 7.00. Dzięki temu można wyznaczyć zależność pomiędzy napięciem generowanym przez sondę a rzeczywistą wartością pH w dwóch punktach pomiarowych.

IMG_1787.thumb.JPG.48b194c4ac00563acddeb9459bd632e1.JPGIMG_1786.thumb.JPG.bc6cd07410d6abe64ef894aebbaa3fd1.JPG

Menu kalibracji otwieramy poprzez przytrzymanie przycisku enkodera. Następnie wybieramy odpowiedni punkt kalibracyjny i umieszczamy sondę w roztworze referencyjnym. Po zanurzeniu elektrody warto odczekać około 1–2 minut, aby wskazanie się ustabilizowało. Dopiero wtedy zatwierdzamy pomiar. Następnie dokładnie tę samą procedurę powtarzamy dla drugiego roztworu.

Po wykonaniu obu pomiarów mikrokontroler zapisuje wartości kalibracyjne w pamięci nieulotnej. Nie trzeba więc wykonywać kalibracji przy każdym uruchomieniu urządzenia.

Warto pamiętać, że kalibrację należy wykonywać z wykorzystaniem świeżych i odpowiednio przechowywanych roztworów referencyjnych. Sama sonda również wymaga właściwego przechowywania – nie jest to element, który powinien być po prostu pozostawiony do wyschnięcia po zakończeniu pomiarów.

Program

Program został przygotowany dla środowiska Arduino/PlatformIO i wykorzystuje biblioteki obsługujące płytkę XIAO RP2040, wyświetlacz TM1637 oraz moduł pH firmy DFRobot.

Najważniejszym elementem programu jest przeliczenie napięcia zmierzonego przez ADC na wartość pH. RP2040 wykorzystuje 12-bitowy przetwornik ADC, dlatego odczyt mieści się w zakresie: 0–4095

Napięcie można następnie wyznaczyć na podstawie napięcia odniesienia 3,3 V:

float voltage = adc_value * 3.3f / 4095.0f;

Wartość pH nie jest jednak wyliczana za pomocą uniwersalnego wzoru przypisanego do konkretnej sondy. Zamiast tego program korzysta z dwóch punktów uzyskanych podczas kalibracji.

Jeżeli znamy: V7 – napięcie zmierzone dla pH 7 V4 – napięcie zmierzone dla pH 4

to pomiędzy tymi punktami można zastosować interpolację liniową. W uproszczeniu program wyznacza więc położenie aktualnego napięcia pomiędzy napięciami zapisanymi podczas kalibracji i na tej podstawie oblicza wartość pH.

Takie rozwiązanie jest znacznie bardziej praktyczne niż wpisanie do programu jednego wzoru zakładającego idealną charakterystykę konkretnego modułu. W rzeczywistym układzie wynik zależy bowiem m.in. od konkretnej sondy, elektroniki pomiarowej i warunków pracy.

Program cały czas obsługuje również interfejs użytkownika. Aktualny wynik jest prezentowany na wyświetlaczu, a enkoder jest wykorzystywany podczas kalibracji. Przy projektowaniu programu istotne było również ograniczenie przypadkowych zmian ustawień. Przycisk enkodera należy przytrzymać przez określony czas, aby wejść w tryb kalibracji. Dzięki temu zwykłe przypadkowe naciśnięcie przycisku podczas korzystania z miernika nie powoduje przejścia do ustawień.

Parametry kalibracji są przechowywane w pamięci urządzenia, dzięki czemu po ponownym uruchomieniu miernik może od razu korzystać z poprzednio zapisanych wartości.

Cały kod projektu można znaleźć w plikach projektu.

Pomiar pH gleby

Przed rozpoczęciem pomiaru trzeba przygotować próbkę. Elektroda pH jest przeznaczona do pracy w cieczy, dlatego bezpośrednie wbijanie jej w suchą lub zwartą ziemię nie jest najlepszym sposobem wykorzystania tego typu sondy.

Próbkę gleby można wymieszać z wodą, uzyskując zawiesinę, a następnie pozostawić ją na około 24 godziny. Po tym czasie sonda może zostać wykorzystana do wykonania pomiaru przygotowanej próbki.

W praktyce ważne jest, aby kolejne pomiary wykonywać w możliwie podobny sposób. Ilość gleby, ilość wody, czas przygotowania próbki oraz sposób pobrania próbki mogą wpływać na uzyskany wynik. Dlatego miernik najlepiej traktować jako narzędzie do porównywania próbek przygotowanych według tej samej procedury, a nie jako laboratoryjny przyrząd do bezwzględnego oznaczania pH gleby.

Podsumowanie

Zamiast gotowego miernika z nieznaną elektroniką otrzymujemy urządzenie, nad którym mamy pełną kontrolę – od sposobu pomiaru, przez kalibrację, aż po sposób prezentowania wyniku.

Dużą zaletą projektu jest dwupunktowa kalibracja oraz zapisywanie jej parametrów w pamięci. Po jednorazowym skalibrowaniu urządzenie może być więc używane bez ponownego konfigurowania przy każdym uruchomieniu.

Projekt pokazuje również, że do budowy prostego przyrządu pomiarowego nie potrzeba rozbudowanego mikrokontrolera. XIAO RP2040 zapewnia wystarczającą liczbę wejść i wyjść, ADC oraz moc obliczeniową, a całość można zamknąć w niewielkiej, własnoręcznie zaprojektowanej obudowie.

Jest to więc kolejny przykład projektu, w którym stosunkowo prosty układ elektroniczny pozwala zastąpić gotowe urządzenie własną konstrukcją dopasowaną dokładnie do potrzeb użytkownika.

  • Lubię! 1

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...