Съдържание:

Ултразвуков измервател на нивото на резервоара: 5 стъпки (със снимки)
Ултразвуков измервател на нивото на резервоара: 5 стъпки (със снимки)

Видео: Ултразвуков измервател на нивото на резервоара: 5 стъпки (със снимки)

Видео: Ултразвуков измервател на нивото на резервоара: 5 стъпки (със снимки)
Видео: Прочистка печатающей головки Epson (с замачиванием) 2024, Юли
Anonim
Ултразвуков измервател на нивото на резервоара
Ултразвуков измервател на нивото на резервоара
Ултразвуков измервател на нивото на резервоара
Ултразвуков измервател на нивото на резервоара

Трябва да следите нивото на течността в кладенец с голям диаметър, резервоар или отворен контейнер? Това ръководство ще ви покаже как да направите сонарен безконтактен измервател на нивото на течността, използвайки евтина електроника!

Скицата по -горе показва преглед на това, което сме целили с този проект. Нашата лятна вила има кладенец с голям диаметър, за да доставя питейна вода за използване в къщата. Един ден с брат ми говорихме за това как дядо ни е измервал ръчно нивото на водата, за да следи потреблението и притока на вода през лятото, за да избегне овърдрафта. Смятахме, че с модерната електроника трябва да можем да възродим традицията, но с по -малко физически труд. С няколко програмни трика успяхме да използваме Arduino със сонарен модул за измерване на разстоянието до водната повърхност (l) с разумна надеждност и точност от ± няколко милиметра. Това означаваше, че можем да оценим оставащия обем V, използвайки известния диаметър D и дълбочина L, с точност около ± 1 литър.

Тъй като кладенецът се намира на около 25 м от къщата и искахме дисплея на закрито, решихме да използваме два Arduino с връзка за данни между тях. Можете лесно да промените проекта, за да използвате само един Arduino, ако това не е така за вас. Защо не използвате безжичен трансфер на данни? Отчасти поради простотата и здравината (по -малко вероятно е проводникът да бъде повреден от влага) и отчасти защото искахме да избегнем използването на батерии от страната на сензора. С кабел бихме могли да насочим както пренос на данни, така и захранване през един и същ кабел.

1) Модул Arduino в къщата Това е основният модул Arduino. Той ще изпрати задействащ сигнал към Arduino в кладенеца, ще получи измереното разстояние и ще покаже изчисления остатъчен обем вода на дисплея.

2) Arduino и сонарен модул от страната на кладенеца Целта на този Arduino е просто да получи задействащ сигнал от къщата, да извърши измерване и да изпрати обратно разстоянието от модула на сонара до нивото на водата. Електрониката е вградена в (относително херметична) кутия, с пластмасова тръба, прикрепена към приемната страна на модула на сонара. Целта на тръбата е да намали грешките при измерване чрез намаляване на зрителното поле, така че само водната повърхност да се "вижда" от приемника.

Стъпка 1: Части, тестване и програмиране

Части, тестване и програмиране
Части, тестване и програмиране
Части, тестване и програмиране
Части, тестване и програмиране
Части, тестване и програмиране
Части, тестване и програмиране

В този проект използвахме следните части:

  • 2 x Arduino (един за измерване на нивото на течността, един за показване на резултатите на дисплея)
  • Основно 12V захранване
  • Ултразвуков (сонарен) модул HC-SR04
  • LED дисплей модул MAX7219
  • 25 м телефонен кабел (4 проводника: захранване, заземяване и 2 сигнала за данни)
  • Монтажна кутия
  • Горещо лепило
  • Припой

Цената на частите: около 70 евро

За да сме сигурни, че всичко работи както трябва, първо направихме всички спойки, окабеляване и просто тестване на пейка. Има много примерни програми за ултразвуков сензор и LED модул онлайн, така че просто ги използвахме, за да се уверим, че измереното разстояние има смисъл (снимка 1) и че успяхме да уловим ултразвуковото отражение от водната повърхност на- сайт (снимка 2). Направихме и задълбочено тестване на връзката за данни, за да се уверим, че тя работи винаги на дълги разстояния, което се оказа изобщо без проблем.

Не подценявайте времето, прекарано на тази стъпка, тъй като е жизненоважно да знаете, че системата работи, преди да положите усилия да монтирате всичко добре в кутии, да изкопаете кабели и т.н.

По време на тестването разбрахме, че сонарният модул понякога улавя звуково отражение от други части на кладенеца, като страничните стени и водопроводната тръба, а не от водната повърхност. Това означава, че измереното разстояние внезапно ще бъде много по -кратко от действителното разстояние до нивото на водата. Тъй като не можем просто да използваме усредняване, за да изгладим този тип грешка при измерването, решихме да изхвърлим всички нови измерени разстояния, които са твърде различни от текущата оценка на разстоянието. Това не е проблем, тъй като така или иначе очакваме нивото на водата да се промени доста бавно. При стартиране този модул ще направи серия от измервания и ще избере най -голямата получена стойност (т.е. най -ниското ниво на водата) като най -вероятната отправна точка. След това, в допълнение към решението „запази/изхвърли“, се използва частична актуализация на прогнозното ниво за изглаждане на случайни грешки при измерването. Важно е също така да се даде възможност на всички ехота да изчезнат, преди да се извърши ново измерване - поне в нашия случай, когато стените са направени от бетон и следователно много ехо.

Окончателната версия на кода, който използвахме за двата Arduino, можете да намерите тук:

github.com/kelindqv/arduinoUltrasonicTank

Стъпка 2: Строителни работи

Граждански работи
Граждански работи

Тъй като нашият кладенец беше разположен на разстояние от къщата, трябваше да създадем малък изкоп в тревата, в който да поставим кабела.

Стъпка 3: Свързване и монтиране на всички компоненти

Свързване и монтиране на всички компоненти
Свързване и монтиране на всички компоненти
Свързване и монтиране на всички компоненти
Свързване и монтиране на всички компоненти
Свързване и монтиране на всички компоненти
Свързване и монтиране на всички компоненти

Свържете всичко както беше по време на тестването и се надявайте, че все още работи! Не забравяйте да проверите дали TX щифтът на единия Arduino отива към RX на другия и обратно. Както е показано на снимка 1, използвахме телефонния кабел за захранване на Arduino в кладенеца, за да избегнем използването на батерии.

Втората и третата снимка показват разположението на пластмасовата тръба, като предавателят е поставен извън тръбата, а приемникът е поставен вътре (да, това беше неудобно положение за снимане …)

Стъпка 4: Калибриране

След като се увери, че разстоянието от сензора до нивото на водата е изчислено правилно, калибрирането беше само въпрос на измерване на диаметъра на кладенеца и общата дълбочина, така че обемът на течността да може да бъде изчислен. Също така коригирахме параметрите на алгоритъма (време между измерванията, параметрите на частичното актуализиране, броя на първоначалните измервания), за да дадем стабилно и точно измерване.

И така, колко добре сензорът проследи нивото на течността?

Лесно можехме да видим ефект от промиване на чешмата за няколко минути или промиване на тоалетната, което искахме. Дори можехме да видим, че кладенецът се зарежда с относително предвидима скорост за една нощ - всичко това само с един поглед върху дисплея. Успех!

Забележка:- Преобразуването на време-разстояние понастоящем не се коригира за промени в скоростта на звука поради температурни колебания. Това би могло да бъде хубаво бъдещо допълнение, тъй като температурите в кладенеца ще варират доста!

Стъпка 5: Дългосрочна употреба

Актуализация за 1 година: Сензорът работи безупречно без признаци на корозия или повреда въпреки влажната среда! Единственият проблем през годината е, че кондензът се натрупва върху сензора по време на студено време (през зимата), което очевидно блокира сензора. В нашия случай това не е проблем, тъй като се нуждаем само от четене през лятото, но може да се наложи други потребители да проявят креативност!:) Изолацията или вентилацията вероятно са възможни решения. Честито измисляне!

Препоръчано: