Serwisy partnerskie:
Close icon
Serwisy partnerskie

System monitorowania poziomu cieczy oparty na smartfonie

Pomiar poziomu cieczy w zbiornikach procesowych w celu monitorowania i/lub kontroli jest niezbędny w przemyśle procesowym. W instalacjach procesowych, zbiorniki zawierają różne ciecze, które są zazwyczaj kosztowne. Niektóre z tych cieczy są łatwopalne i żrące. Dlatego bardzo istotne jest monitorowanie poziomu cieczy w zbiorniku, aby nie doszło do jej przelania.
Article Image

Różne metody są wykorzystywane do monitorowania poziomu cieczy, a wybór technologii do wykorzystania opiera się na kilku czynnikach, takich jak:

  • maksymalna i minimalna temperatura,
  • maksymalne i minimalne ciśnienie,
  • geometria zbiornika,
  • rodzaj cieczy,
  • materiał konstrukcyjny zbiornika.

Nie istnieją czujniki poziomu lub przełączniki, które mogą precyzyjnie określić dokładność lub niezawodność w konkretnym zastosowaniu. Jednym z najbardziej popularnych czujników poziomu jest ultradźwiękowy czujnik poziomu. Do zalet ultradźwiękowego czujnika poziomu należy jego bezkontaktowe zastosowanie i możliwość stosowania w różnych cieczach. Ultradźwiękowe czujniki poziomu działają poprzez generowanie impulsu ultradźwiękowego i pomiar czasu powrotu echa.

Jeśli czujnik jest zamontowany na górze zbiornika, impuls przemieszcza się w powietrzu z prędkością 331 m/s w temperaturze 0°C. Dlatego czas podróży jest wskaźnikiem głębokości pustej przestrzeni nad cieczą w zbiorniku. W przypadku wody o temperaturze 25°C impuls ultradźwiękowy przemieszcza się z prędkością 1505 m/s. Do testów zamontowano detektor na szczycie szklanego słoika, a cieczą użytą do badań była woda. Autorski prototyp pokazany jest na fotografii głównej.

Zrzut ekranu aplikacji na system Android do monitorowania poziomu wody w zbiorniku przedstawiono na rysunku 1. Schemat blokowy projektu został przedstawiony na rysunku 2.

Rysunek 1. Zrzut ekranu aplikacji Android do systemu monitorowania poziomu cieczy
Rysunek 2. Schemat blokowy projektu
Fotografia 3. Widok z góry typowego modułu Bluetooth HC-05

Układ i działanie

Projekt składa się z dwóch części: Jednostki nadawczej zbudowanej wokół Arduino Uno, modułu Bluetooth HC-05 oraz modułu czujnika ultradźwiękowego (HC-SR04). Odbiornikiem jest smartfon z systemem Android i zainstalowaną aplikacją Android. Schemat ideowy projektu (nadajnik) jest pokazany na rysunku 4. Główne komponenty użyte w projekcie to:

Rysunek 4. Schemat połączeń projektu systemu monitorowania poziomu cieczy (nadajnik)

Aplikacja Android. Wykorzystana tutaj aplikacja do monitorowania poziomu (levelmonitoring.apk) została zbudowana przy użyciu MIT App Inventor. Kiedy ta aplikacja jest uruchomiona, dane wysyłane przez moduł Bluetooth HC-05 są odbierane i wyświetlane na smartfonie z systemem Android. Aplikacja monitorująca poziom została przetestowana na smartfonie Micromax Q372 z systemem Android Lollipop v5.0.

Arduino Uno. Arduino Uno jest płytką rozwojową opartą o mikrokontroler AVR ATmega328P z sześcioma analogowymi pinami wejściowymi i czternastoma cyfrowymi pinami I/O. Mikrokontroler posiada 32 kB pamięci ISP flash, 2 kB RAM i 1 kB EEPROM. Płytka zapewnia możliwość komunikacji szeregowej poprzez UART, SPI oraz I2C. Mikrokontroler może pracować z częstotliwością taktowania 16 MHz. Moduł Bluetooth HC-05 oraz moduł czujnika ultradźwiękowego (HC-SR04) są sprzężone z Arduino Uno.

Moduł Bluetooth HC-05. Jest to łatwy w użyciu moduł Bluetooth SPP (serial port protocol) zaprojektowany do transparentnego zestawiania bezprzewodowych połączeń szeregowych. Moduł Bluetooth portu szeregowego jest w pełni kwalifikowanym modułem V2.0 Bluetooth 3 Mbps EDR (enhanced data rate) z kompletnym transceiverem radiowym 2,4 GHz i pasmem podstawowym. Wykorzystuje on jednochipowy system Bluetooth CSR Bluecore 04-External z technologią CMOS i AFH (adaptive frequency hopping feature). Widok z góry typowego 6-pinowego modułu Bluetooth HC-05 pokazano na fotografii 3. W projekcie wykorzystano tylko cztery piny: RXD, TXD, Vcc, oraz piny GND modułu HC-05. Tak więc, możesz użyć dowolnego podobnego 4-pinowego modułu Bluetooth do tego projektu.

Moduł czujnika ultradźwiękowego HC-SR04. Ultradźwiękowy moduł HC-SR04 zapewnia funkcję bezkontaktowego pomiaru od 2 cm do 400 cm z dokładnością do 3 mm. Moduł zawiera nadajnik ultradźwiękowy, odbiornik i obwód sterujący.

Posiada cztery piny -echo, trig, Vcc, i GND. Podstawowa zasada działania modułu jest jak wyjaśniono poniżej.

Trig (trigger) jest pinem wejściowym. Jest on przystosowany do podania wysokiego impulsu o czasie trwania co najmniej 10 µs, po otrzymaniu którego moduł automatycznie wysyła osiem impulsów dźwiękowych o częstotliwości 40 kHz (sygnały ultradźwiękowe). Sygnał ten, po odbiciu od obiektu/wody, odbierany jest przez pin echo.

Pin echo jest pinem wyjściowym. Przechodzi on w stan wysoki przez okres czasu, który jest równy czasowi powrotu fali ultradźwiękowej do czujnika. Na styku echo podawany jest czas przemieszczania się fali dźwiękowej w mikrosekundach.

Schemat połączenia modułu ultradźwiękowego z Arduino przedstawiono na rysunku 4.

Czujnik ultradźwiękowy mierzy odległość pomiędzy czujnikiem a obiektem/cieczą poprzez wysłanie fali ultradźwiękowej i obliczenie czasu potrzebnego na powrót echa. Jeśli czas pomiędzy wyzwoleniem fali a echem jest znany, odległość obiektu może być obliczona przez proste pomnożenie połowy czasu z prędkością dźwięku w powietrzu. Zasada ta została tutaj wykorzystana do wykrywania poziomu wody w zbiorniku. Działanie czujnika ilustrują rysunki 5 i 6.

Rysunek 5. Pusty zbiornik
Rysunek 6. Zbiornik napełniony wodą do określonej wysokości (h)

Jak widać na rysunku 5, gdy zbiornik jest pusty, fala ultradźwiękowa uderza w dno zbiornika i ulega odbiciu. W wyniku tego wykrywa głębokość pustego zbiornika na wysokości "H".

Jeżeli zbiornik jest wypełniony wodą do wysokości 'h', fala ultradźwiękowa odbija się od powierzchni wody i wykrywa głębokość pustej przestrzeni 'y' nad wodą, jak pokazano na rysunku 6.

Gdy "H" i "y" są znane, poziom wody "h" może być obliczony przez odjęcie "y" od "H", czyli h=(H-y). Wartość H oblicza się tylko raz podczas wstępnej kalibracji, gdy zbiornik jest pusty. W konfiguracji opisywanego projektu wartość H wynosiła 17 cm. Można zmienić wartość H w kodzie na 30 cm, 50 cm, lub dowolną inną wartość w zależności od wysokości zbiornika.

Wartość poziomu wody jest przesyłana do modułu Bluetooth HC-05 za pomocą komunikacji szeregowej. Jak pokazano na rysunku 4, piny RXD i TXD modułu Bluetooth są połączone odpowiednio z pinami TX i RX płytki Arduino Uno. Moduł Bluetooth HC-05 wysyła te dane bezprzewodowo do smartfona poprzez Bluetooth. Dane otrzymane na smartfonie są wyświetlane w aplikacji. Aby połączyć moduł Bluetooth ze smartfonem, muszą one zostać sparowane.

Budowa i testowanie

Pobierz kod źródłowy 'smart_water_level.ino' na płytkę Arduino Uno. Aplikację 'Level Monitoring' trzeba zainstalować na smartfonie z systemem Android. Następnie należy włączyć Bluetooth w smartfonie.

Po włączeniu zasilania układu (po stronie nadajnika), moduł Bluetooth HC-05 zostanie sparowany z Bluetooth w smartfonie z systemem Android. Domyślnym kluczem dostępu jest '1234' lub '0000'.

Po udanym sparowaniu, otwórz aplikację 'Level Monitoring' na smartfonie i naciśnij na logo Bluetooth. Wyświetli się lista urządzeń Bluetooth wykrytych przez Twój smartfon. Z listy należy wybrać urządzenie HC-05.

Po udanym połączeniu, na głównym ekranie aplikacji pojawi się komunikat "Connected". Aplikacja Android zacznie teraz wyświetlać dane o poziomie wody otrzymane od strony nadajnika.

Zmontuj układ, jak pokazano na rysunku 4, i umieść czujnik ultradźwiękowy na górze naczynia/pojemnika, którego poziom cieczy chcesz mierzyć. Aby rozwiązać problem, można sprawdzić napięcia w różnych punktach testowych, jak pokazano w tabeli 1.

Zrzut ekranu smartfona wyświetlającego poziom wody=9 cm podczas testów jest pokazany na rysunku 7.

Rysunek 7. Poziom wody (9 cm) wyświetlany na smartfonie

Artykuł Smartphone Based Liquid Level Monitoring System opracowano w wersji polskiej na podstawie współpracy z portalem www.electronicsforu.com.

Tematyka materiału: Arduino UNO, HC-05, HY-SRF05
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo