Obsah:

Ultrazvukový měřič hladiny nádrže: 5 kroků (s obrázky)
Ultrazvukový měřič hladiny nádrže: 5 kroků (s obrázky)

Video: Ultrazvukový měřič hladiny nádrže: 5 kroků (s obrázky)

Video: Ultrazvukový měřič hladiny nádrže: 5 kroků (s obrázky)
Video: Signalizace hladiny v nádrži vylepšené o arduino 2024, Červenec
Anonim
Ultrazvukový hladinoměr nádrže
Ultrazvukový hladinoměr nádrže
Ultrazvukový hladinoměr nádrže
Ultrazvukový hladinoměr nádrže

Potřebujete sledovat hladinu kapaliny v nádrži s velkým průměrem, v nádrži nebo v otevřené nádobě? Tato příručka vám ukáže, jak vyrobit sonarový bezkontaktní měřič hladiny kapaliny pomocí levné elektroniky!

Výše uvedený náčrt ukazuje přehled toho, na co jsme se v rámci tohoto projektu zaměřili. Naše letní chata má studnu s velkým průměrem, která dodává pitnou vodu pro použití v domě. Jednoho dne jsme si s bratrem povídali o tom, jak náš dědeček měřil hladinu vody ručně, aby bylo možné sledovat spotřebu vody a její příliv po celé léto, aby se předešlo přečerpání. Mysleli jsme si, že s moderní elektronikou bychom měli být schopni tradici oživit, ale bez menší ruční práce. Pomocí několika programovacích triků se nám podařilo pomocí Arduina se sonarovým modulem změřit vzdálenost dolů k vodní hladině (l) s rozumnou spolehlivostí a přesností ± několik milimetrů. To znamenalo, že jsme mohli odhadnout zbývající objem V pomocí známého průměru D a hloubky L s přesností ± 1 litr.

Protože se studna nachází asi 25 metrů od domu a chtěli jsme zobrazení v interiéru, rozhodli jsme se pro použití dvou Arduinos s datovým spojením mezi nimi. Pokud tomu tak není, můžete projekt snadno upravit tak, aby používal pouze jedno Arduino. Proč nevyužít bezdrátový přenos dat? Částečně kvůli jednoduchosti a robustnosti (u drátu je menší pravděpodobnost poškození vlhkostí) a částečně proto, že jsme se chtěli vyhnout použití baterií na straně senzoru. Pomocí kabelu bychom mohli směrovat přenos dat i napájení přes stejný kabel.

1) Modul Arduino v domě Toto je hlavní modul Arduino. Odešle spouštěcí signál do Arduina ve studni, přijme změřenou vzdálenost a vypočítaný zbývající objem vody zobrazí na displeji.

2) Modul Arduino a sonar na dobré straně Účelem tohoto Arduina je jednoduše přijmout spouštěcí signál z domu, provést měření a poslat zpět vzdálenost od modulu sonaru k vodní hladině. Elektronika je zabudována do (relativně vzduchotěsné) krabice s plastovou trubkou připevněnou k přijímací straně modulu sonaru. Účelem potrubí je snížit chyby měření zmenšením zorného pole tak, aby přijímač „viděl“pouze vodní hladinu.

Krok 1: Díly, testování a programování

Díly, testování a programování
Díly, testování a programování
Díly, testování a programování
Díly, testování a programování
Díly, testování a programování
Díly, testování a programování

V tomto projektu jsme použili následující části:

  • 2 x Arduino (jeden pro měření hladiny kapaliny, jeden pro zobrazení výsledků na displeji)
  • Základní napájecí zdroj 12V
  • Ultrazvukový (sonarový) modul HC-SR04
  • LED zobrazovací modul MAX7219
  • 25 m telefonní kabel (4 vodiče: napájecí, uzemňovací a 2 datové signály)
  • Montážní box
  • Horké lepidlo
  • Pájka

Náklady na díly: Asi 70 EUR

Abychom se ujistili, že vše funguje, jak má, nejprve jsme provedli pájení, zapojení a jednoduché testování na lavičce. Existuje spousta příkladů programů pro ultrazvukový senzor a LED modul online, takže jsme je použili, abychom se ujistili, že měřená vzdálenost má smysl (obrázek 1) a že jsme byli schopni zachytit ultrazvukový odraz od vodní hladiny na- stránky (obrázek 2). Provedli jsme také důkladné testování datového odkazu, abychom se ujistili, že funguje někdy na dlouhé vzdálenosti, což se ukázalo jako vůbec žádný problém.

Nepodceňujte čas strávený tímto krokem, protože je důležité vědět, že systém funguje, než vynaložíte úsilí na to, abyste vše pěkně namontovali do krabic, kopali kabely atd.

Během testování jsme si uvědomili, že modul sonaru někdy zachycuje zvukový odraz od jiných částí studny, jako jsou boční stěny a trubice pro přívod vody, a nikoli od vodní hladiny. To znamenalo, že naměřená vzdálenost bude náhle mnohem kratší než skutečná vzdálenost k vodní hladině. Protože k vyhlazení tohoto typu chyby měření nemůžeme jednoduše použít průměrování, rozhodli jsme se vyřadit všechny nové měřené vzdálenosti, které se příliš lišily od aktuálního odhadu vzdálenosti. To není problematické, protože očekáváme, že se hladina vody bude stejně pomalu měnit. Po spuštění provede tento modul sérii měření a jako nejpravděpodobnější výchozí bod vybere největší přijatou hodnotu (tj. Nejnižší hladinu vody). Poté se kromě rozhodnutí „ponechat/vyřadit“používá k vyhlazení náhodných chyb měření částečná aktualizace odhadované úrovně. Před provedením nového měření je také důležité nechat odeznít všechny ozvěny - přinejmenším v našem případě, kdy jsou stěny vyrobeny z betonu, a proto velmi ozvěny.

Konečnou verzi kódu, který jsme použili pro dva Arduino, najdete zde:

github.com/kelindqv/arduinoUltrasonicTank

Krok 2: Stavební práce

Civilní práce
Civilní práce

Protože se naše studna nacházela v určité vzdálenosti od domu, museli jsme na trávníku vytvořit malý příkop, do kterého umístíme kabel.

Krok 3: Připojení a montáž všech komponent

Připojení a montáž všech komponent
Připojení a montáž všech komponent
Připojení a montáž všech komponent
Připojení a montáž všech komponent
Připojení a montáž všech komponent
Připojení a montáž všech komponent

Připojte vše tak, jak to bylo během testování, a doufejte, že to stále funguje! Nezapomeňte zkontrolovat, zda TX pin na jednom Arduinu jde do RX druhého a naopak. Jak je znázorněno na obrázku 1, použili jsme telefonní kabel k napájení Arduina ve studni, abychom se vyhnuli používání baterií.

Druhý a třetí obrázek ukazuje uspořádání plastových trubek s vysílačem umístěným mimo trubku a přijímačem umístěným uvnitř (ano, to byla nepohodlná poloha při fotografování …)

Krok 4: Kalibrace

Po zajištění správného výpočtu vzdálenosti od senzoru k hladině vody byla kalibrace pouze otázkou měření průměru studny a celkové hloubky, aby bylo možné vypočítat objem tekutiny. Rovněž jsme upravili parametry algoritmu (čas mezi měřeními, parametry částečné aktualizace, počet počátečních měření), abychom získali robustní a přesné měření.

Jak dobře tedy senzor sledoval hladinu kapaliny?

Mohli jsme snadno vidět účinek spláchnutí kohoutku na několik minut nebo spláchnutí toalety, což jsme chtěli. Dokonce jsme mohli vidět, že se studna přes noc doplňovala relativně předvídatelnou rychlostí - to vše pouhým pohledem na displej. Úspěch!

Poznámka:- Převod časová vzdálenost v současné době nekoriguje změny rychlosti zvuku v důsledku kolísání teploty. To by mohlo být pěkné budoucí doplnění, protože teploty ve studni se budou dost lišit!

Krok 5: Dlouhodobé používání

1letá aktualizace: Senzor funguje bezchybně bez známek koroze nebo poškození navzdory vlhkému prostředí! Jediným problémem v průběhu roku bylo, že se během chladného počasí (v zimě) na senzoru hromadí kondenzace, která senzor evidentně blokuje. V našem případě to není problém, protože čtení potřebujeme pouze v létě, ale ostatní uživatelé mohou být kreativní!:) Izolace nebo větrání jsou pravděpodobně proveditelná řešení. Šťastné vymýšlení!

Doporučuje: