Poziom zbiornika na wodę z mikrokontrolerem


24

Jak zmierzyć poziom zbiornika na wodę za pomocą mikrokontrolera?


1
Nie jest to warte odpowiedzi, ale mój przyjaciel zrobił to kilka lat temu dla projektu artystycznego. Wszystkich zainteresowanych chętnie przedstawię i jestem pewien, że chętnie wyjaśni, jak to zrobił. Jego projekt jest tutaj: unixarts.com/sealevel.html To połączyło zarówno pompy, jak i czujniki i wymagało wystarczającej dokładności, aby pętla w górę iw dół bez zbytniego pochylania
cyphunk

7
Kiedy mikrokontroler przestaje działać - jest pod wodą.
John U

Odpowiedzi:


23

Zakładając, że operujesz tutaj na ziemi (w przeciwieństwie do orbity), możesz użyć czujnika pływakowego, który mierzysz za pomocą mikro. Pytanie brzmi: czy musisz znać dokładny poziom, czy potrzebujesz jakiejś podróży, gdy osiągnie on poziom wysoki / niski?

W temacie „podróż na określonym poziomie” można uzyskać takie przełączniki - ogólnie pływak zawiera pewien rodzaj przełącznika wykrywającego nastawienie. Gdy poziom wody jest niższy, pływak kończy się na boku, a przełącznik jest „wyłączony”, a podniesienie poziomu powoduje, że pływak jest ustawiony pionowo, a zatem „włączony”. Są one często stosowane w pompach ściekowych. Są dość niezawodne i bardzo łatwe w obsłudze, chociaż musisz uważać, aby je poprawnie zakotwiczyć i musisz mieć pewność, że nic nie stanie na przeszkodzie pływakowi.

Jeśli chcesz znać rzeczywisty poziom, masz wiele możliwości, ale jest to mniej proste. Możesz iść z czymś takim jak czujnik ultradźwiękowy (wiązka ultradźwiękowa wystrzeliwuje z góry zbiornika, aby odbić się od poziomu wody).

Ci faceci wydają się tworzyć wskaźniki poziomu dla WIELKICH czołgów, które składają się z pływaka i zewnętrznego ciężarka połączonego kablami. Gdy pływak porusza się w górę i w dół po cieczy, wskaźnik zewnętrzny porusza się odpowiednio. Możesz zbudować coś podobnego, bez niczego bardziej skomplikowanego niż fotokomórki do odczytu poziomu (jeśli jest to duży czołg lub chcesz dużej ziarnistości, potrzebujesz dużo fotokomórek).

Alternatywnie, biorąc pod uwagę ideę pływającego kabla, można ustawić koło napinające, które porusza się za każdym razem, gdy kabel się porusza, a następnie podłączyć do niego enkoder. Umożliwiłoby to śledzenie poziomu z dość dużą dokładnością.


15

Wiem, że wkrótce wydana książka Practical Arduino zawiera projekt czujnika głębokości zbiornika na wodę , który wykorzystuje przetwornik różnicy ciśnień do pomiaru ciśnienia wody na dnie zbiornika, a następnie do obliczenia jego pojemności.

Schematy znajdują się na powyższym linku wraz z linkiem do kodu źródłowego na github.

(Pełne ujawnienie: nie mam związku z książką, ale spotkałem się z jednym z autorów kilka razy w naszych lokalnych hackerspaces).


11

Metodą, którą lubię, ale nie próbowałem, jest umieszczenie dwóch izolowanych płyt w cieczy. Bez przewodzenia, elektrolizy, kontemplacji ....... Tworzą płytki czapki. i są używane w jakimś oscylatorze (wybór zależy od ciebie) Ponieważ woda jest dobrym dialetrem, częstotliwość zależy silnie od ilości wody między płytkami. Zmierz częstotliwość, aby uzyskać głębokość.

Możesz być w stanie uzyskać podobny wynik, stosując sygnał prądu przemiennego i mierząc prąd przez górną granicę.


Umysł, to zależy w dużej mierze od stałej dialektycznej płynu. O ile się nie mylę, wykrywanie pojemnościowe wykorzystywane jest bardziej do wykrywania obecności / nieobecności niż do poziomu. Wydaje się jednak, że prawie każda metoda, na którą natrafiłem, zależy od ciężaru właściwego. Zbiorniki zawierające płyny o zmiennym składzie są trudne do regulowania.
wackyvorlon

Czujniki poziomu cieczy oparte na pojemności najlepiej sprawdzają się w wykrywaniu obecności lub braku płynu. W celu odczytania poziomu wody załaduj / rozładuj płytki za pomocą stałego rezystora i zmierz czas. Jak wspomniano powyżej, dodanie zanieczyszczeń do wody (takich jak sól) może spowodować drastyczną zmianę pojemności, a zatem odczyt dla ustalonego poziomu cieczy. Jeśli mierzona ciecz jest jednorodna, stanowi to o wiele mniejszy problem.
mjh2007

Zrobiłem oscylator dynatronowy z prostą, gotową do użycia cewką SMD, która rezonowała z izolowanymi płytkami, jak postulowany Russ. Fala sinusoidalna była podniesiona do góry, a ktoś inny policzył impulsy w oprogramowaniu układowym, innymi słowy, co Russ powiedział, że działa.
Autystyczny

10

Przydałoby się więcej szczegółów, ale myślę, że metoda ultradźwiękowa jest prawdopodobnie najprostsza pod względem koncepcyjnym (stąd potrzeba dodatkowych szczegółów: -]). Zarzuciłem czujnik poziomu zbiornika paliwa w piwnicy za pomocą ultradźwiękowego przetwornika MaxSonar. Przełączam się na czujnik Parallax Ping, gdy tylko będę mógł go zdobyć. Jednostka MaxSonar okazała się nieco uciążliwa; okazuje się, że ma rozdzielczość tylko jednego cala (2,54 cm), co odpowiada prawie 7 galonom w moim zbiorniku. Włożyłem jednostkę MaxSonar do kołpaka z PVC na górze zbiornika skierowanego w dół (poza zasięgiem cieczy).


7

Jednym ze sposobów jest umieszczenie diody LED na dnie zbiornika skierowanej do góry i fotodiody u góry zbiornika, skierowanej w stronę diody LED. Dioda LED zostanie osłabiona przez wodę w zbiorniku, musisz eksperymentować, aby ustalić, ile. Ponadto najlepiej jest wykonać serię szybkich pomiarów i uśrednić je, używając tej metody.


1
wydaje się bardzo podatny na błędy, światło otoczenia, rozbłyski itp.
Jason S

7

Używam taniego czujnika kołka z lokalnego sklepu ze sprzętem z tranzystorem fotograficznym, aby wyczuć wskaźnik LED. Po przyklejeniu go do boku zbiornika wykrywa, kiedy poziom wzrośnie powyżej czujnika i ostrzega nas o wysokim stanie wody.


6

Istnieje zaskakująca liczba sposobów sprawdzania poziomu. Są czujniki, które wykorzystują RF, wysyłając impuls falowodu i wykrywając odbicie od powierzchni cieczy w zbiorniku. Są tu ultradźwięki, pływaki, rurki barbotażowe, kurki ciśnieniowe ... Zastosowana metoda zależy od wielkości zbiornika, zawartości, otoczenia i innych czynników.


4

Jestem zaskoczony wszystkimi skomplikowanymi rozwiązaniami elektronicznymi, użyłbym prostego potencjometru. Większość mikrokontrolerów ma podstawowe analogowe wejścia / wyjścia.

 +V
-----
  |
  |
  /
  \
  /<----------> to analog i/p
  \
  |
  |
-----
 GND

Użyj standardowego pływaka zaworu zbiornika wody (może już być). Pozostały problem to połączenie pływaka z doniczką w celu uzyskania maksymalnego huśtania się (możesz także użyć puli z suwakiem).

                  |-|
                  | |
                  |o| <--------Slider pot.
                  |||
                  |||
                   |
                   |  <--------Coupling.
                   |
   ____            |
  (float)----------o-----o  <--Anchor point of float.
   ----

Jak upewnić się, że pula wraca do pierwotnej pozycji?

Ciężar pływaka pociągnie go w dół, gdy poziom wody spadnie ...
ttt

Nie jestem tego taki pewien. Znalezienie prawidłowej masy pływaka, tak aby pływał w obecności wody i upuszczał naczynie pod nieobecność wody, nie jest takie łatwe. Większość doniczek ma dość wysokie tarcie statyczne. Sądzę jednak, że jest to możliwe, biorąc pod uwagę właściwą konfigurację mechaniczną.

Wiele dłuższych puli z suwakiem ma bardzo niskie tarcie (stosowane w mikserach kontrolowanych palcami i odtwarzaczach DJ). Użyłem 4-calowego suwaka z mojego pojemnika na bity i przetestowałem go z normalnym pływakiem do zbiornika na wodę. Działa nawet na mniejszym pływaku do spłuczki toaletowej! Nawiasem mówiąc, użyłbym stałego opornika w szeregu z doniczką, aby nawet jeśli w wilgotnym otoczeniu nie przekroczy mocy wyjściowej portu kontrolera (ani nie pobierze zbyt dużego prądu ze stałego Vref). Użyłem rezystora 10k z potencjometrem 10k w mojej konfiguracji testowej.
ttt

Podczas testów użyłem tylko kawałka wygiętego drutu, aby zatrzasnąć się na ramieniu pływaka. W spłuczce toalety ramię jest wykonane z plastiku o przekroju kwadratowym, więc bardzo łatwo byłoby wywiercić mały otwór w celu zamocowania.
ttt

4

Najprostsze podejście

Umieść małą rurkę w rogu zbiornika, która ma nieco większą średnicę niż piłka do ping ponga.

Umieść diodę podczerwieni po jednej stronie tuby, a fotorezystor naprzeciwko diody LED (wiercąc otwór w tubie jej nieprzezroczystej lub umieszczając na zewnątrz, jeśli jest przezroczysty). Przyklej części elektryczne na gorąco, aby je uszczelnić i wrzuć piłkę do ping ponga do tuby.

Kiedy poziom wody podnosi się lub obniża do punktu, w którym piłka do ping ponga przełamuje wiązkę podczerwieni, będziesz wiedział, że osiąga pożądany poziom. Działa to, jeśli potrzebujesz tylko dyskretnego (włączania / wyłączania) wskaźnika poziomu.

Ten system jest również stosowany w pistoletach do paintballa, które zapobiegają cięciu piłek, zapewniając, że cała piłka znajduje się w komorze strzelania, zanim elektroniczny spust wyzwoli uzbrojenie elektromagnesu strzelającego.

Jest prosty, skuteczny i wymaga niewielkiej lub żadnej kalibracji.



1

Jeszcze jedno sprytne podejście: skorzystaj z większej przewodności cieplnej wody (płynu). Chodzi o to, aby mieć czujnik temperatury i mierzyć różnicę jego samonagrzewania po zanurzeniu i w wolnym powietrzu.


To faktycznie zostało zrobione w CHCH NewZealand, gdzie jestem, ale nie zrobiłem tego, myślę, że ma około 20 lat. Na zewnątrz zbiornika był rząd wielu termistów, więc działa OK, więc dostaję mój głos.
Autystyczny

1

Inne rozwiązanie (bez zamierzonej gry słów);

Użyj potencjometru zgodnie z powyższym opisem. Normalny zakres obrotu wynosi 270 stopni. Przymocuj pływak do potencjometru za pomocą ramienia wysięgnika. (długość = 1 jednostka)

Pomiędzy pełnym a pustym ramię wysięgnika przesunie się o 90 stopni.

ADC na PIC ma 256 lub 1024 kroków (tak, zero to krok).

Dla jasności użyję 256 kroków.

270 stopni = 256 kroków ADC. 270/90 = 3 (jedna trzecia zakresu potencjometru)
255/3 = 85 kroków ADC

Zaprogramuj kod, aby zaznaczyć punkt 0 stopni (pusty zbiornik) po naciśnięciu przycisku.

To przechowuje punkt przesunięcia w eepromie PIC. Teraz potencjometr nie musi być dokładnie zerowy, ponieważ ten punkt kalibracji można ustawić.

Za pomocą trygometrii oblicz tabelę odnośników (podpowiedź: skrypt php), aby odpowiadała każdemu krokowi ADC.

Wskazówka: każdy krok ADC odpowiada 90/85 = 1,0588 stopni.

Tak, powinieneś był poświęcić więcej uwagi na lekcji matematyki. głupia strata czasu, teraz nieodzowna. zaangażować mózg. uczyć się trygonometrii. uczyć innych.

Akronim: Stary Arab nosił ciężki worek siana.

Hipontenu jest długością ramienia wysięgnika. Zrób 1 jednostkę długości. Tabela przeglądowa podaje procent głębokości zbiornika. (oczywiście pomnóż przez 100)


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.