Spisu treści:

Ultradźwiękowy miernik poziomu w zbiorniku: 5 kroków (ze zdjęciami)
Ultradźwiękowy miernik poziomu w zbiorniku: 5 kroków (ze zdjęciami)

Wideo: Ultradźwiękowy miernik poziomu w zbiorniku: 5 kroków (ze zdjęciami)

Wideo: Ultradźwiękowy miernik poziomu w zbiorniku: 5 kroków (ze zdjęciami)
Wideo: Prosty wskaźnik poziomu wody Pod Napięciem S5E06 2024, Listopad
Anonim
Miernik poziomu w zbiorniku ultradźwiękowym
Miernik poziomu w zbiorniku ultradźwiękowym
Miernik poziomu w zbiorniku ultradźwiękowym
Miernik poziomu w zbiorniku ultradźwiękowym

Potrzebujesz monitorować poziom płynu w studni o dużej średnicy, zbiorniku lub otwartym pojemniku? Ten przewodnik pokaże Ci, jak zrobić sonarowy bezdotykowy miernik poziomu płynu przy użyciu taniej elektroniki!

Powyższy szkic przedstawia przegląd tego, do czego dążyliśmy w tym projekcie. Nasz domek letniskowy posiada studnię o dużej średnicy do dostarczania wody pitnej do użytku w domu. Pewnego dnia rozmawialiśmy z bratem o tym, jak nasz dziadek mierzył ręcznie poziom wody, aby śledzić zużycie i napływ wody przez całe lato, aby uniknąć przekroczenia limitu. Pomyśleliśmy, że dzięki nowoczesnej elektronice powinniśmy być w stanie ożywić tradycję, ale przy mniejszym nakładzie pracy ręcznej. Dzięki kilku sztuczkom programistycznym udało nam się użyć Arduino z modułem sonaru do pomiaru odległości do powierzchni wody (l) z rozsądną niezawodnością i dokładnością ± kilku milimetrów. Oznaczało to, że mogliśmy oszacować pozostałą objętość V, wykorzystując znaną średnicę D i głębokość L, z dokładnością około ±1 litra.

Ponieważ studnia znajduje się około 25 m od domu, a chcieliśmy, aby wyświetlacz znajdował się w pomieszczeniu, zdecydowaliśmy się na użycie dwóch Arduino z łączem danych pomiędzy nimi. Możesz łatwo zmodyfikować projekt, aby używał tylko jednego Arduino, jeśli tak nie jest w Twoim przypadku. Dlaczego nie skorzystać z bezprzewodowego przesyłania danych? Częściowo ze względu na prostotę i wytrzymałość (drut jest mniej podatny na uszkodzenia przez wilgoć), a częściowo dlatego, że chcieliśmy uniknąć używania baterii po stronie czujnika. Za pomocą przewodu moglibyśmy poprowadzić zarówno transfer danych, jak i zasilanie tym samym kablem.

1) Moduł Arduino w domuJest to główny moduł Arduino. Wyśle sygnał wyzwalający do Arduino w studni, odbierze zmierzoną odległość i wyświetli obliczoną pozostałą objętość wody na wyświetlaczu.

2) Dobrze boczne Arduino i moduł sonaru Celem tego Arduino jest po prostu odebranie sygnału wyzwalającego z domu, wykonanie pomiaru i przesłanie odległości od modułu sonaru do poziomu wody. Elektronika jest wbudowana w (stosunkowo szczelną) skrzynkę z plastikową rurką przymocowaną do strony odbiorczej modułu sonaru. Zadaniem rury jest zmniejszenie błędów pomiarowych poprzez zmniejszenie pola widzenia tak, aby odbiornik „widział” tylko taflę wody.

Krok 1: Części, testowanie i programowanie

Części, testowanie i programowanie
Części, testowanie i programowanie
Części, testowanie i programowanie
Części, testowanie i programowanie
Części, testowanie i programowanie
Części, testowanie i programowanie

W tym projekcie wykorzystaliśmy następujące części:

  • 2 x Arduino (jeden do pomiaru poziomu płynu, jeden do wyświetlania wyników na wyświetlaczu)
  • Podstawowy zasilacz 12 V
  • Moduł ultradźwiękowy (sonar) HC-SR04
  • Moduł wyświetlacza LED MAX7219
  • 25 m kabel telefoniczny (4 żyły: zasilanie, masa i 2 sygnały danych)
  • Skrzynka montażowa
  • Gorący klej
  • Lutować

Koszt części: około 70 €

Aby upewnić się, że wszystko działa tak, jak powinno, najpierw wykonaliśmy wszystkie lutowanie, okablowanie i proste testy na stanowisku. Istnieje wiele przykładowych programów dla czujnika ultradźwiękowego i modułu LED online, więc użyliśmy ich tylko po to, aby upewnić się, że zmierzona odległość ma sens (rysunek 1) i że udało nam się uchwycić odbicie ultradźwięków od powierzchni wody na- miejsce (zdjęcie 2). Przeprowadziliśmy również gruntowne testy łącza danych, aby upewnić się, że działa zawsze na duże odległości, co nie stanowiło żadnego problemu.

Nie lekceważ czasu spędzonego na tym etapie, ponieważ ważne jest, aby wiedzieć, że system działa, zanim zaczniesz ładnie zamontować wszystko w puszkach, kopać kable itp.

Podczas testów zdaliśmy sobie sprawę, że moduł sonaru czasami odbiera odbicia dźwięku od innych części studni, takich jak ściany boczne i rura doprowadzająca wodę, a nie od powierzchni wody. Oznaczało to, że zmierzona odległość nagle byłaby znacznie krótsza niż rzeczywista odległość do poziomu wody. Ponieważ nie możemy po prostu użyć uśredniania do wygładzenia tego typu błędu pomiaru, zdecydowaliśmy się odrzucić wszelkie nowe zmierzone odległości, które zbyt różniły się od bieżącej oceny odległości. Nie stanowi to problemu, ponieważ spodziewamy się, że poziom wody i tak będzie się zmieniał dość wolno. Po uruchomieniu moduł ten wykona serię pomiarów i wybierze największą otrzymaną wartość (tj. najniższy poziom wody) jako najbardziej prawdopodobny punkt początkowy. Następnie, oprócz decyzji „zachowaj/odrzuć”, wykorzystywana jest częściowa aktualizacja oszacowanego poziomu w celu wygładzenia przypadkowych błędów pomiaru. Ważne jest również, aby wszystkie echa wygasły przed przeprowadzeniem nowego pomiaru – przynajmniej w naszym przypadku, gdy ściany są wykonane z betonu, a więc bardzo echa.

Ostateczną wersję kodu, którego użyliśmy dla dwóch Arduino można znaleźć tutaj:

github.com/kelindqv/arduinoUltrasonicTank

Krok 2: Roboty budowlane

Prace budowlane
Prace budowlane

Ponieważ nasza studnia znajdowała się w pewnej odległości od domu, musieliśmy zrobić mały rów w trawniku, w którym umieściliśmy kabel.

Krok 3: Podłączanie i montowanie wszystkich komponentów

Podłączanie i montaż wszystkich komponentów
Podłączanie i montaż wszystkich komponentów
Podłączanie i montaż wszystkich komponentów
Podłączanie i montaż wszystkich komponentów
Podłączanie i montaż wszystkich komponentów
Podłączanie i montaż wszystkich komponentów

Podłącz wszystko tak, jak podczas testowania i miej nadzieję, że nadal działa! Pamiętaj, aby sprawdzić, czy pin TX na jednym Arduino idzie do RX drugiego i na odwrót. Jak pokazano na rysunku 1, użyliśmy kabla telefonicznego do zasilania Arduino w studni, aby uniknąć używania baterii.

Drugie i trzecie zdjęcie przedstawia układ rurek z tworzywa sztucznego, z nadajnikiem umieszczonym na zewnątrz rury i odbiornikiem umieszczonym wewnątrz (tak, to była niewygodna pozycja strzelecka…)

Krok 4: Kalibracja

Po upewnieniu się, że odległość od czujnika do lustra wody jest poprawnie obliczona, kalibracja polegała tylko na zmierzeniu średnicy studni i całkowitej głębokości, aby można było obliczyć objętość płynu. Dostosowaliśmy również parametry algorytmu (czas między pomiarami, parametry częściowej aktualizacji, liczba początkowych pomiarów), aby zapewnić solidny i dokładny pomiar.

Jak dobrze czujnik śledził poziom płynu?

Z łatwością mogliśmy zobaczyć efekt spłukiwania kranu przez kilka minut lub spłukiwania toalety, o co nam chodziło. Mogliśmy nawet zobaczyć, że studnia napełniała się z dnia na dzień w stosunkowo przewidywalnym tempie - wszystko po jednym spojrzeniu na wyświetlacz. Powodzenie!

Uwaga:- Konwersja czas-odległość nie koryguje obecnie zmian prędkości dźwięku spowodowanych zmianami temperatury. Może to być dobry dodatek w przyszłości, ponieważ temperatury w studni będą się znacznie różnić!

Krok 5: Długotrwałe użytkowanie

Aktualizacja 1 rok: czujnik działa bez zarzutu bez śladów korozji lub uszkodzeń pomimo wilgotnego środowiska! Jedynym problemem w ciągu roku było to, że podczas zimnej pogody (zimą) na czujniku gromadzi się kondensacja, co oczywiście blokuje czujnik. W naszym przypadku nie jest to problem, ponieważ czytanie potrzebujemy tylko latem, ale inni użytkownicy mogą być zmuszeni do kreatywności!:) Izolacja lub wentylacja to prawdopodobnie możliwe rozwiązania. Miłego wymyślania!

Zalecana: