wtorek, 18 grudnia 2018

Bezprzewodowy miernik wilgotności gleby z odczytem w telefonie cz. 2


Dawno dawno temu mniej więcej półtora roku temu na wokandzie stanął temat miernika wilgotności gleby. Stanął i stał do dziś. A wszystko przez pojemnościowy czujnik wilgotności, który postanowiłem zrobić sam. Czujnik powstał a jakże i nawet nieźle się spisywał jako wskaźnik ilości wody w glebie. Miał tylko jedną wadę - trzeba było go zrobić samemu. Jedna sztuka, pal sześć, to jeszcze nie problem ale 10 sztuk?  Na sam druk płytek wydałbym ca 150 zł, a części a robocizna...  Zapał do konturowania projektu zgasł szybciej niż się zapalił. Ale od czego jest Aliexpress....




Temat odgrzewam dzięki Chińczykom, którzy oferują gotowe pojemnościowe czujniki wilgotności. Jeszcze kilka miesięcy temu ich cena oscylowała wokół 5 $. Dziś spadła do 1,2$ dla wersji 1.2 co całkowicie unieważnia jakiekolwiek próby wykonania czujników osobiście.


Na pierwszy rzut oka zasada działania jest  identyczna z moim czujnikiem. Bazą jest niezastąpiony 555 w roli generatora bistabilnego. Generowana częstotliwość zależy od wypadkowej pojemności kondensatora C5 i równoległego z nim czujnika pojemnościowego gleby wykonanego jako ścieżki obwodu drukowanego na wtykanej do gruntu części laminatu.



Schemat powyższy dotyczy wersji 1.0. W wersji 1.2 wprowadzono pomysł racjonalizatorski usuwając 3 V stabilizator i zwierając wejście z wyjściem rezystorem 0 om.
Opis tego czujnika dla wersji 1.0 oznaczonego jako SKU:SEN0193 jest tu >>>>

Czujnik działa świetnie. W dwu skrajnych stanach w powietrzu i zanurzony w wodzie wskazania na wyjściu wynoszą odpowiednio

- powietrze ok 4 V
- woda ok 2,5 V

1,5 V różnicy wydaje się wartością wystarczającą do określenia stopnia wilgotności gleby.

Chiński czujnik różni się rodzajem wyjściowego sygnału. U mnie była to zmienna częstotliwość z zakresu 2 do 10 kHz tu jest to napięcie stałe uzyskane po wyprostowaniu i odfiltrowaniu na elementach R1, R2, C3.

Ale szczerze mówiąc nie wiem jak ten układ filtracji działa! Moim zdaniem nie powinien.

Częstotliwość generowanego napięcia jest odwrotnie proporcjonalna do wypadkowej pojemności C5 + pojemność sondy.  Załóżmy że wypadkowa pojemność zmienia się w zakresie 470 pF do 1000 pF (sonda w powietrzu i sonda zanurzona w wodzie).
W kalkulatorze 555 odczytamy wartości częstotliwości dla obu pojemności. Jest to około 870 kHz i 400 kHz.




Podłączenie takiego sygnału do tego dziwnego filtra da zawsze ten sam wynik na wyjściu niezależnie od częstotliwości - kondensator naładuje się do maksymalnego napięcia  wyjściowego z układu 555 (5 V) minus spadek napięcia na diodzie to jest do 4,3 V co pięknie pokazuje symulator LTSpice


Wyrzucenie z układu diody daje możliwość filtracji składowej stałej przebiegu generatora


tylko co z tego jeśli oba przebiegi mają to samo wypełnienie ( oporności R3 i R4 są identyczne dla obu częstotliwości ) a więc i tą samą składową stałą w przebiegu wyjściowym generatora.



Ale przecież czujnik działa co dobitnie pokazuje miernik przyłączony do wyjścia czujnika . Tak ...  Cuda panie, chińskie cuda. Dla zasady sprawdziłem wszystkie elementy na druku - zgadzają się idealnie. Co jest do diaska?

Sprawdzam więc po kolei połączenia pomiędzy elementami i znowu identyczne jak na schemacie. Ni cholery nie wiem gdzie tkwi chińska zagadka tego czujnika. Ale mu nie odpuszczę. Godzina w internecie i zapala się zielone światło. Na stronie wemakethings znajomy schemat filtra nawet z identycznymi wartościami elementów.

a w treści wyjaśnienie działania układu. Dokładniejsza analiza druku czujnika i rzeczywiście "gorąca" elektroda czujnika jest połączona pomiędzy R1 a D2 a nie równolegle do kondensatora C5 jak w moim czujniku. Nie widać tego bo całość pokryta jest czarną solder maską a dodatkowo płytka jest drukiem wielowarstwowym. Ale bez wątpienia schemat jest identyczny. Całe szczęście bo za chwilę zwątpiłbym w całą teorię elektrotechniki!

Czujnik zawiera więc generator astabilny o stałej częstotliwości ok 870 kHz, sensor pojemnościowy wykonany jako ścieżki druku na laminacie i filtr dolnoprzepustowy a w zasadzie filtr wartości maksymalnej napięcia jakie odkłada się na pojemności czujnika (oznaczonej na rysunku jako sensor). Moduł zawiera też pozostałości po układzie zasilania, wszystkie cztery kondensatory.



Zasada działania czujnika jest nader ciekawa. Napięcie prostokątne z generatora zasila obwód RC - R2 i pojemność sensora. Dla małych pojemności sensora (sensor w powietrzu) stała czasowa obwodu RC jest również niewielka i szybko dochodzi do naładowania pojemności sensora do wartości maksymalnej napięcia wyjściowego generatora tj do 5 V.  Poprzez diodę D1 napięcie to ładuje powoli kondensator C3 aż do wartości 5V minus 0,6-0,7V czyli do wartości 4,3 - 4,4 V.

Dla sondy zanurzonej w wodzie jej pojemność rośnie, rośnie też stała czasowa obwodu ładowania. Kondensator w czasie wysokiego stanu na wyjściu generatora ładuje się znacznie wolniej przez co maksymalne napięcie na nim jest  niższe. Poniżej wykresy napięć na kondensatorze zasymulowane w LTSpice.

Sonda w powietrzu













...
Sonda w wodzie



Po podaniu napięcia z sondy na filtr poprzez diodę D1 i po ustabilizowaniu się napięcia na kondensatorze C3 uzyskamy sygnał napięcia stałego z czujnika wilgotności. Poniżej przebieg napięcia na sondzie (kolor niebieski) i napięcie na kondensatorze C3 (kolor zielony). Przebieg jest symulacją czujnika zanurzonego w wodzie.



Napięcie na wyjściu jest niższe od napięcia na sondzie o spadek napięcia na diodzie.

Uff. Teoria potwierdziła praktykę!

Z zasady działania tego dziwnego czujnika wynika, iż maksymalny zakres napięć wyjściowych czujnika nie może przekroczyć połowy maksymalnego napięcia z generatora. W praktyce dla 5 V minimalne napięcie wyjściowe to ok 2 V maksymalne to 4,5 V. Jak wykazały rzeczywiste pomiary zakres pomiarowy jest jeszcze węższy i zawiera się między 2,5 a 4 V. To też nieźle zważywszy prostotę całego układu.

W artykule wemakethings analizowane są możliwości poszerzenia tego zakresu. Autor proponuje dodanie jednego lub dwu tranzystorów obniżających minimalne napięcie z czujnika.
Jak dla mnie to dość skomplikowane rozwiązanie. Dużo prościej jest uzupełnić schemat o dodatkową diodę przyspieszającą rozładowywanie pojemności sensora.  Efekt jest rewelacyjny

Czujnik w powietrzu


Czujnik w wodzie


No pięknie zakres pomiarowy czujnika rozszerzył się od 0,6 do 4 V.
I na tym można by zakończyć teoretyczne rozważania nad chińskim czujnikiem wilgotności gleby.

Pozostał jeszcze jeden problem. ESP8266
Wejście analogowe ESP ma zakres 0-1 V. Trzeba więc na wyjściu czujnika dodać dzielnik napięcia 1:4. Zakres napięć zmodyfikowanego czujnika będzie się zmieniał od 0,15 do 1 V. I to jest dokładnie to czego potrzebuję do dalszych prób bezprzewodowego pomiaru wilgotności gleby.

Ciąg dalszy ma więc wszelkie dane by nastąpić...

Dodatek
.....................
Warto zainteresować bliżej się stabilizatorem XC6206. To wysoce precyzyjny układ zasilania stabilnym napięciem (+/-2 %) przy niewielkim (0,16 V) spadku napięcia i wyjątkowo małym prądzie własnym (1 uA). Układ nadaje się znakomicie do zasilań bateryjnych choć maksymalny prąd 0,2A może być zbyt mały dla ESP8266. Jako  blokujące na wejściu i wyjściu trzeba stosować  ceramiczne kondensatory (low ESR)o pojemności 1 uF. Stabilizator jest dostępny w całym przedziale napięć od 1,2 do 5 V co 0,1 V. Maksymalne napięcie zasilania 6 V. Cena za szt ok 1,5 centa. Więcej szczegółów tu >>>>
.......................

Przydatne linki
Pojemnościowy czujnik wilgotności SEN193 - dokumentacja
Opis pomysłu pomiaru pojemności sondy
Opis czujnika ver 1.0
Poprzedni wpis o czujniku wilgotności gleby


159

4 komentarze:

  1. Ładnie, dodatkowa dioda to jakaś specjalna czy najzwyklejsza prostownicza?

    OdpowiedzUsuń
  2. A mógłbyś na schemacie narysować, gdzie konkretnie tę dodatkową diodę wlutować? Niby z opisu to wynika, ale nie koniecznie jasno.

    OdpowiedzUsuń
  3. dioda równolegle do R2 (10 kom) skierowana strzałką do dołu - katoda diody do nogi 3 układu scalonego

    OdpowiedzUsuń