System bezkontaktowego pomiaru ilości płynu

System bezkontaktowego pomiaru ilości płynu

Pomysł na niniejsze opracowanie narodził się w wyniku poszukiwań optymalnego rozwiązania dla projektu praktycznego. Problemem do rozwiązania był bezkontaktowy system detekcji obecności płynu w naczyniu, w tym przypadku w komorze kroplowej kroplówki.

Podejmując niniejsze wyzwanie w pierwszej kolejności musiałem się zmierzyć z wyborem optymalnej metody, dzięki której owa detekcja byłaby w ogóle możliwa. Rozważałem różne rozwiązania, które lepiej lub gorzej wpisywały się w zdefiniowane wymagania. Istotnym ograniczeniem było w tym przypadku założenie, iż docelowy sensor nie może mieć kontaktu z badaną cieczą co wykluczało już na wstępie najprostsze rozwiązania w rodzaju elektrod zanurzonych w płynie czy też zwykłego pływaka umieszczonego w naczyniu. Dalsze poszukiwania skierowały mnie w stronę zastosowania czujników ultradźwiękowych i pomiaru odległości od lustra wody, jednak w przypadku tak małego zbiornika, jakim jest komora kroplowa, tego typu rozwiązanie nie wchodziło w ogóle w grę.

Pozostało poszukiwać dalej. W tym samym czasie zajmowałem się również implementacją autorskiej obsługi przycisków dotykowych z wykorzystaniem zwykłych portów I/O mikrokontrolera i właśnie wtedy do głowy przyszedł mi prosty mechanizm wykorzystujący opracowane już algorytmy, dzięki któremu możliwy stał się pomiar obecności płynu w naczyniu. Co więcej, mechanizm, o którym mowa, nie tylko pozwalał na detekcję obecności płynu w nadzorowanym naczyniu, lecz zapewniał również możliwość pomiaru ilości tego płynu, czyli stopnia wypełnienia naczynia. Ta metoda detekcji płynu w naczyniu polega na pomiarze pojemności kondensatora złożonego z dwóch elektrod przyklejonych do zewnętrznej ściany zbiornika, która to pojemność zmienia się w zależności od stanu jego napełnienia. Wynika to z faktu, iż zmienia się wtedy przewodnictwo elektryczne dielektryka dzielącego elektrody tak utworzonego kondensatora. Jak wiadomo, pojemność takiego teoretycznego kondensatora złożonego z dwóch elektrod rozdzielonych dielektrykiem zależy od powierzchni elektrod, odległości między nimi, oraz właściwości dielektryka dzielącego wspomniane elektrody.

Budowa

Umieszczając taki modelowy kondensator na zewnętrznej powierzchni naczynia powodujemy, iż pojemność elektryczna tak utworzonego elementu zależy od właściwości dielektryka umieszczonego pomiędzy elektrodami kondensatora, a ta z kolei wynika pośrednio ze stopnia napełnienia naczynia (pomijając warunki środowiskowe, których wpływ możemy ograniczyć stosując kalibrację czujnika). Zasadę działania takiego systemu detekcji płynu w naczyniu pokazano na rysunku 1. Do zewnętrznej powierzchni zbiornika przyklejone zostały dwie elektrody (w niewielkiej odległości rzędu 1 mm) stanowiące badaną pojemność, która to podłączona jest do zwykłych portów I/O mikrokontrolera.

Rysunek 1. Zasada działania pojemnościowego systemu detekcji płynu w naczyniu

Program

Mikrokontroler w ramach pomiaru wspomnianej pojemności wykonuje dwa kroki: najpierw rozładowuje mierzoną pojemność ściągając port „SENSOR” do logicznego zera, zaś później ładuje wyżej wymienioną pojemność ustalając stan wysoki na wyprowadzeniu „CHARGER”. Czas ładowania mierzonej pojemności próbkowany jest dzięki wyprowadzeniu „SENSOR” i zmienia się w zależności od poziomu płynu, przez co możemy określić pośrednio stan wypełnienia naczynia. Algorytm pomiaru pojemności tak utworzonego kondensatora pokazano na rysunku 2.

Rysunek 2. Algorytm pomiaru pojemności kondensatora stanowiącego o wypełnieniu naczynia

Rozwiązanie praktyczne jest banalne a co ciekawe, w zupełności wystarczające. W tym momencie przyznać muszę, iż sam byłem zaskoczony prostotą tegoż rozwiązania i wynikami, jakie otrzymuję. Kod odpowiedzialny za odczyt pojemności kondensatora modelowego pokazano na listingu 1.

Listing 1. Kod odpowiedzialny za odczyt pojemności kondensatora modelowego
#define KEYS_PORT PORTB
#define KEYS_DDR DDRB
#define KEYS_PIN PINB
#define CHARGER_PIN PB0
#define SENSOR_PIN PB1

uint16_t readCapKey(uint8_t pinNr){
uint16_t Loops = 0;

//Port sensora, jako wyjściowy ze stanem 0 - rozładowanie kondensatora
KEYS_DDR |= (1<<pinNr);
_delay_us(1);
//Port sensora, jako wejściowy Hi-Z
KEYS_DDR &= ~(1<<pinNr);
//Port chargera, jako wyjściowy ze stanem 1 - ładowanie kondensatora
KEYS_DDR |= (1<<CHARGER_PIN);
KEYS_PORT |= (1<<CHARGER_PIN);
//Czekamy na naładowanie kondensatora
do{
Loops++;
}while (!(KEYS_PIN & (1<<pinNr)));

//Zatrzymanie ładowania - port chargera, jako Hi-Z
KEYS_PORT &= ~(1<<CHARGER_PIN);
KEYS_DDR &= ~(1<<CHARGER_PIN);
return Loops;
}

Na fotografii tytułowej i fotografii 3 pokazano wygląd prostego systemu testowego dla detekcji poziomu płynu w naczyniu w przypadku minimalnego i maksymalnego poziomu tego płynu.

Fotografia 3. Działanie systemu testowego w przypadku znacznego poziomu płynu

Optymalizacja

Na rysunku 4 pokazano wykres zależności wartości pojemności mierzonej w funkcji ilości płynu wlanego do naczynia (przed optymalizacją polegającą na niewielkim zwiększeniu powierzchni elektrod).

Rysunek 4. Wykres zależności wartości pojemności mierzonej w funkcji ilości płynu wlanego do naczynia

Dla naszego systemu testowego wykres jest w zasadzie liniowy. Uważny Czytelnik zastanowi się zapewne nad faktem, w jaki sposób możemy zwiększyć czułość badanego urządzenia. Odpowiedź jest nader prosta. Musimy tak zmodyfikować aplikację kondensatora pomiarowego by niewielka zmiana ilości mierzonego płynu dawała największą, możliwą zmianę pojemności elektrycznej. Najprościej osiągnąć to można poprzez zmianę wielkości elektrod jak i zmianę powierzchni styku elektrod a zatem ich kształtu, co pokazano na rysunku 5.

Rysunek 5. Wygląd elektrod zapewniający maksymalizację powierzchni styku

Z przeprowadzonych doświadczeń wynika, że kształt elektrod ma zdecydowany wpływ na pojemność mierzoną a co za tym idzie, na czułość tak utworzonego układu. Tyle w kwestiach praktycznych i programowych. Mam nadzieję, że przekonałem Was, drodzy Czytelnicy, że pomiar dokonywany w ten sposób, nie dość, że jest bardzo prosty to zapewnia oczekiwaną funkcjonalność. Zapraszam do testów…

Robert Wołgajew, EP

Artykuł ukazał się w
Elektronika Praktyczna
grudzień 2019

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów