» » Устройство для контроля уровня воды – уровнемер, бакомер: ультразвуковой датчик + микроконтроллер

 
 
 

Устройство для контроля уровня воды – уровнемер, бакомер: ультразвуковой датчик + микроконтроллер

📆01.04.13 🙋Discover 👀101 779 💬40

Я большой любитель русской бани. Летом прошлого года, принимая банные процедуры, я остался без холодной воды. Почему так получилось? Дело в том, что бак для холодной воды установлен на чердаке бани.
Воду, в бак закачиваем насосом, а сливается она самотеком по трубам. Контролировать количество воды, как при наполнении, так и при использовании задача непростая – бак скрыт под крышей бани. По струе воды тоже сложно определить, сколько воды осталось – я не определил smile.
Нужно устройство для контроля уровня воды – уровнемер!!!

Устройство для контроля уровня воды – уровнемер, бакомер: ультразвуковой датчик + микроконтроллерВнимание!
Описанное устройство с усовершенствованиями
доступно в виде нового датагорского кита -
набор для сборки или как готовое изделие!

Метод измерения

Уровнемеров в продаже великое множество. Но мне как-то даже и мысль в голову не пришла искать что-то готовое, не спортивно это, не по «нашему». Вот и решил сделать прибор сам. Более того, мне недостаточно было знать, верхний и нижний уровень, я хотел знать, сколько точно литров в баке. Конечно, для данной цели – контроль уровня воды в баке, эта информация избыточна, но так солидней. Поскольку моя нынешняя работа связана с ультразвуковой дефектоскопией, то выбор способа измерения был нетрудным. В продаже есть много предложений ультразвуковых датчиков расстояния. Есть дорогие с цифровым интерфейсом и на большое расстояние, есть дешевые с более простым интерфейсом, на меньшее расстояние. Выбор пал на самый простой и дешевый датчик HC-SR04.


Датчик

Датчик представляет из себя печатную плату. На которой установлены передающий и приёмные пьезоэлементы. На плате собрана схема формирования зондирующей пачки импульсов с частотой 40кГц, которая подается на драйвер, выполненный на преобразователе уровня TTL в RS232.
Да-да, вот такое необычное применение. Не совсем правильное, но дешевое и работоспособное решение позволяющее обойтись без дополнительного высокого напряжения для раскачки излучающего пьезоэелемента. Также плата содержит усилитель для приемного пьезоэлемента и небольшой управляющий микроконтроллер. У датчика четыре ножки управления: питание +5 Вольт (VCC), вход запуска (Trig), выход (Echo), и земля (GND).

На вход Trig мы подаем импульс 10 мкС, на выходе Echo, при получении датчиком эхо-сигнала (отражения), будет сформирован импульс длительностью пропорциональной времени прохождения звука от датчика до отражателя и обратно. Это время мы делим на два и умножаем на скорость звука в воздухе, среднее значение 340 м/с – получаем расстояние до отражателя (объекта). Ниже диаграмма работы датчика.


Схема

Прототип был собран на макетной плате на микроконтроллере ATmega16 и индикаторе TIC3321. Для дополнительной визуализации есть линейка из десяти светодиодов. Схему прототипа я не привожу, кому будет нужно, в приложенном архиве проект для Протеус.
В конечном варианте я решил поставить светодиодный индикатор вместо TIC3321 – лучше подходил по габаритам к корпусу, четыре против трех разрядов и лучше видно в темноте. Микроконтроллер поставил ATmega32, давно валявшийся у меня на полке.
Две кнопки, для включения наполнения и слива. Эти же кнопки используются при процедуре калибровки, пара транзисторов и реле для включения электромагнитных клапанов или насоса.


Конструктив

Некоторое время назад, мой бывший коллега принес мне три сломанных теплосчетчика мол: сделаешь что-нибудь полезное.




Из полезного — отрезал от теплосчетчиков термодатчики, пока лежат на полке. Понравился конструктив теплосчетчика. Корпус состоит из двух половинок. В нижней половинке, устанавливаемой стационарно, стоят две платы с клемниками для внешних подключений и колодка для соединения с платой в верхней части корпуса. А в верхней части корпуса стоит основная плата счетчика. Вот этот корпус и будем использовать с такой же идеологией.

Примерка индикатора


Для верхней части корпуса была изготовлена печатная плата, в нижнюю часть, плату делать я не стал – собрал все на монтажной плате.


Питается устройство от импульсного блока питания некогда служившим для питания ADSL-роутера. После был списан на пенсию за слабость свою, после ремонта вновь введен в строй, но уже для питания моего устройства.

Передняя панель

Для передней панели была изготовлена наклейка. Приятным бонусом для меня оказалось то, что при печати на прозрачном полимере краски получаются полупрозрачными, это позволило мне отказаться от светофильтра индикатора, я просто сделал прямоугольную заливку красного цвета.


Поскольку минимальный формат печати оказался А3, то наклеек я заказал три варианта в двух экземплярах. Мне больше понравился темный. Ну, или если надоест, то всегда можно заказать новую наклейку.

Монтаж датчика

Датчик, я установил в корпус от елочной гирлянды.



Корпус закрепил на крышке бака.


Просверлил отверстия для установки датчика.



Припаял кабель, электролитический конденсатор и залил все термоклеем.


Описание работы

При подаче питания на схему сначала проходит тестирование семисегментного индикатора и линейки светодиодов. Если прибор не калиброван, то на индикаторе мы увидим, лишь измеренную дистанцию. Линейка светодиодов не работает, так же не доступна функция управления наполнения и слива бака. Больше про работу не калиброванного прибора рассказывать нечего.
Ну, так давайте откалибруем его!

Калибровка

Калибровка состоит из трех этапов:
1. Калибровка нуля. Показываем прибору нижний уровень бака – пустой бак.
2. Калибровка верхнего уровня. Показываем прибору максимальный уровень.
3. Ввод объема бака.

Вход в режим калибровки происходит после теста индикатора при удерживании обеих кнопок. После отпускания кнопок на индикаторе отображается дистанция до дна в миллиметрах, а на линейке светодиодов горит нижний светодиод, символизируя режим калибровки нуля.

Для калибровки параметра на пустом баке нажимаем кнопку «Слить», переходим к следующему этапу – калибровке максимального уровня. На индикаторе так же отображается дистанция в миллиметрах. На линейке горят все светодиоды, символизируя режим калибровки максимального уровня. Дальше возможны варианты – либо мы наполняем бак на сто процентов и после этого жмем кнопку «Наполнить» для установки верхнего уровня. Или можно просто поднести отражатель к датчику на предполагаемый максимальный уровень.

После калибровки уровней переходим к вводу объема бака. Кнопкой «Наполнить» меняем значение разряда, а кнопкой «Слить» меняем разряд и так все четыре разряда по очереди. В калибровке предусмотрены две блокировки. Не критическая – если объем не введен, то устанавливается объем 100, соответственно отображение будет в процентах или в литрах, если бак при этом на сто литров. Вторая — критическая блокировка, поскольку расположение датчика у нас верхнее, то значение верхнего уровня не может быть больше нижнего.
В этом случае прибор калибровку не проходит, а просто отображает дистанцию.

Описание работы и видео в действии

После успешной калибровки прибор отображает объем воды в литрах и уровень в десятках процентов на линейке светодиодов. Также становятся доступными функции наполнения и слива бака. В приборе предусмотрено автоматическое наполнение, которое неактивно после подачи питания. Для активации автоматического наполнения необходимо нажать кнопку «Наполнить» после чего бак наполнится на 90%.

При наполнении бака, уровень на светодиодной линейке будет отображаться как при зарядке аккумулятора в телефоне. Повторное наполнение включиться автоматически при отпускании уровня ниже 10%. Наполнение бака можно запускать в любой момент. Для остановки наполнения нужно нажать кнопку «Слить» во время наполнения. Функция слива предусмотрена для вывода бака из эксплуатации на зимний период. Может быть, и не очень нужная функция, прибор опытный трудно вот так все сразу продумать, пускай пока будет.

Для активации слива нажимаем кнопку «Слить», включается реле включения клапана слива. Реле выключается при достижении нулевого уровня после задержки необходимой для слива воды с трубопровода. Теперь, во время слива, батарейка — бак будет уже не заряжаться, а разряжаться. После активации слива, режим автоматического наполнения выключается, повторно включить его можно нажав на кнопку «Наполнить».

Вот собственно и все, смотрим демо-видео.


Видео прототипа:


Файлы (обновлено 05-04-2014):

Схема, плата, даташиты: Shema-plata-datashity.7z 🕗 06/04/14 ⚖️ 467,61 Kb ⇣ 218
Файл прошивки для варианта на led-индикаторах: TankControl-led-hex-05042014.7z 🕗 06/04/14 ⚖️ 4,28 Kb ⇣ 176

Устройство для контроля уровня воды – уровнемер, бакомер: ультразвуковой датчик + микроконтроллерВнимание!
Описанное устройство с усовершенствованиями
доступно в виде нового датагорского кита -
набор для сборки или как готовое изделие!



Заключение

Хотя на дворе уже весна, но дачный сезон еще не наступил, поэтому придется подождать, пока можно будет начать пользоваться баком. Более того, мне еще долго не придется использовать прибор в полном объеме, так как в старой бане нет постоянно подключенного водоснабжения, а новую я еще не достроил.
Но смотреть уровень уже можно!!!
:yahoo:
Иван Гаврилов (Discover)
Вологодская обл. Череповецкий р-н, п.Тоншалово
Профиль Discover
Дата рождения: 13.09.1977.
Работаю в компании "Нординкрафт" , электрик по совместительству в своем ТСЖ.
С паяльником с 12 лет.
Интересы: паяльник, работа, фото, лес.
C 2007г занимаюсь микроконтроллерами AVR.

Напаяно уже много чего, всего и не припомню.
 

Читательское голосование

Нравится

Статью одобрили 82 читателя.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.
 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Работа с датчиком DHT11. Строим термометр-гигрометр на ATMEGA8... Привет любителям электроники! Сегодня я решил познакомиться с датчиком влажности DHT11, который...
Схема на Датагоре. Новая статья Контроллер системы водоснабжения «бак - насос» с ультразвуковым датчиком уровня. Датагорский бакомер in action!... Вперёд, товарищи! На дачу! В. Ленин И. Гаврилов Конечно, у меня уже есть уровнемер и большого...
Схема на Датагоре. Новая статья Датагорский проект 10 "Water Tank Controller". Модификация блока управления для полива... Привет, друзья! Последний раз я имел дело с микроконтроллерами лет 20 назад, во время ПК типа...
Схема на Датагоре. Новая статья Термометр + термостат на микроконтроллере PIC16F876 и датчиках DS18B20... История этого термометра началась в далёком 2011 году. Мне понадобилось в подвале частного дома, в...
Схема на Датагоре. Новая статья Водонагреватель для дачи. Блок автоматики... Покупать водонагреватель или нет - каждый решает для себя сам. По просьбе друга мне пришлось...
Схема на Датагоре. Новая статья Пресостат стиральной машины - датчик уровня воды... Приветствую, сограждане-датагорцы! Написать статью я решил после публикации Дмитрия (bdna) «Датчик...
Схема на Датагоре. Новая статья Занятие на субботний вечер: датчик уровня воды в колодце... Дача. Колодец c насосом + накопительный бак. Если лень включать насос, то нужна автоматическая...
Схема на Датагоре. Новая статья Цифровой индикатор уровня топлива и напряжения АКБ для автомобиля V.3 (ATMega8 и дисплей от Nokia 1110i)... Скоро будет год, как я выложил на Датагоре свою первую статью о цифровом индикаторе топлива и уже...
Схема на Датагоре. Новая статья Массовая "выпайка" радиодеталей химическим травлением олова... Как то накопилось у меня кучка печатных плат (ПП) с радиодеталями. По надобности выпаявал их по...
Схема на Датагоре. Новая статья Модуль управления вентилятором на микроконтроллере... Доброго времени суток сограждане! Хочу вот поделится своей конструкцией. Конструкция это из тех про...
Схема на Датагоре. Новая статья Цифровой измеритель остатка топлива и напряжения АКБ для автомобиля (ATMega8 и дисплей от Nokia 1110i)... Не знаю кому как, а мне лично не нравится точность, вернее ее полное отсутствие у автомобильного...
Схема на Датагоре. Новая статья PIC микроконтроллеры. Все, что вам необходимо знать. Сид Катцен... PIC микроконтроллеры. Все, что вам необходимо знать. Сид Катцен пер. с англ. Евстифеева А. В. — М.:...
 

Общаемся по статье 💬

«Устройство для контроля уровня воды – уровнемер, бакомер: ультразвуковой датчик + микроконтроллер»

Комментарии, вопросы, ответы, дополнения, отзывы

 

Назад Вперед
<

killboss

Алишер Читатель Датагора
  • Гражданин
Комментарий # 1 от 01-04-13, 12:51.
Ответить
  • С нами с 15.03.2010
  • 6 комментариев
  • 0 публикаций
 
Доброго дня!
Очень интересное и нужное устройство получилось. Иван скажите, а можно к этому устройству добавить таймер или календарь? У моего знакомого большое аквариумное хозяйство, да и у самого стоит банка на 400 литров. Было бы интересно применить этот "уровнемер" для частичной подмены воды в аквариуме раз в неделю.
Устройство просто супер получилось. Давно заглядывался на этот датчик, все думал куда его применить. Спасибо за статью!

<

Datagor

Игорь Котов Читатель Датагора
  • Главный редактор
Комментарий # 2 от 01-04-13, 14:01.
Ответить
  • С нами с 26.02.2006
  • 2 214 комментариев
  • 273 публикации
 
Алишер, если сильно постараться, можно даже сделать, что ЭТО будет само за пивом бегать исходя из уровня в мочевом пузыре. drinks Но это будет уже совсем другая история.

<

Discover

Иван Гаврилов Читатель Датагора
  • Гражданин
Комментарий # 3 от 01-04-13, 14:04.
Ответить
  • С нами с 17.08.2009
  • 39 комментариев
  • 15 публикаций
 
killboss,
Возможно все, но думаю в версии с календарем лучше применить другой, более информативный индикатор.

<

maximus_lt

Читатель Датагора
  • Прохожий
Комментарий # 4 от 01-04-13, 18:11.
Ответить
  • С нами с --
  • 0 комментариев
  • 0 публикаций
 
На последний диод надо добавить пищалку :yes:

<

игорь джан

Игорь Читатель Датагора
  • Гражданин
Комментарий # 5 от 01-04-13, 22:43.
Ответить
  • С нами с 7.02.2012
  • 75 комментариев
  • 1 публикация
 
Не лучше поставить в бак поплавковый насос и контрольку сброса воды из верхнего уровня (на всякий случай)?
И смотреть не надо, и бак всегда полный будет.
Есть и готовый вариант, а кому охота руками сделать - тоже не проблема!

<

Discover

Иван Гаврилов Читатель Датагора
  • Гражданин
Комментарий # 6 от 02-04-13, 14:42.
Ответить
  • С нами с 17.08.2009
  • 39 комментариев
  • 15 публикаций
 
maximus_lt,
Была такая мысль.

игорь джан,
Для кого-то и лучше.
Я и не буду смотреть, система будет следить за уровнем.

<

игорь джан

Игорь Читатель Датагора
  • Гражданин
Комментарий # 7 от 02-04-13, 21:41.
Ответить
  • С нами с 7.02.2012
  • 75 комментариев
  • 1 публикация
 
Discover,я и не спорю,работа отличная.Просто я иду по пути наименьшего сопротивления. Меньше узлов,значит на выходе надежней.
P.S.Тоже баню люблю,не давно сделал обливное устройство,рекомендую!

<

Elektrik

Валерий Романов Читатель Датагора
  • Гражданин
Комментарий # 8 от 03-04-13, 0:37.
Ответить
  • С нами с 2.11.2008
  • 28 комментариев
  • 0 публикаций
 
игорь джан, Не очевидно. Все датчики которые контактируют с водой, зарастают накипью, илом, всякой слизью. Соответственно требуют обслуживания. Ультразвуковой, в этом плане, мне видится надежней будет.

<

Discover

Иван Гаврилов Читатель Датагора
  • Гражданин
Комментарий # 9 от 03-04-13, 0:50.
Ответить
  • С нами с 17.08.2009
  • 39 комментариев
  • 15 публикаций
 
Elektrik,
Время покажет, сегодня коллега предположил что из-за конденсата могут быть проблемы. Думаю для избежания этого применить герметичные датчики. Этим летом, прибор будет стоять в старой бане, где не предусмотрено постоянных коммуникаций - понаблюдаю. А вот когда дострою новую баню(очень хочу за лето управиться), то буду запускать прибор с полным функционалом - с управлением наливом бака.

<

uni-t

Саша Читатель Датагора
  • Кандидат
Комментарий # 10 от 03-04-13, 1:48.
Ответить
  • С нами с 23.01.2009
  • 2 комментария
  • 0 публикаций
 
Классная идея. good
Главное результат достигнут, а это не каждому дано )))

А в чем писалась программа? Спасибо.

<

Discover

Иван Гаврилов Читатель Датагора
  • Гражданин
Комментарий # 11 от 03-04-13, 2:16.
Ответить
  • С нами с 17.08.2009
  • 39 комментариев
  • 15 публикаций
 
uni-t,
СИ, Atmel Studio 6.0

<

TeaMoon

Артем Читатель Датагора
  • Кандидат
Комментарий # 12 от 03-04-13, 10:21.
Ответить
  • С нами с 13.10.2011
  • 21 комментарий
  • 0 публикаций
 
Скажите пожалуйста, а отражение идет от уровня воды, или на воде должна плавать "платформа", от которой будет идти отражение? На втором видео видно, что на прототипе уровень скачет просто от воды, но на сколько велика погрешность измерений в данном случае - не совсем ясно.

<

Discover

Иван Гаврилов Читатель Датагора
  • Гражданин
Комментарий # 13 от 03-04-13, 15:35.
Ответить
  • С нами с 17.08.2009
  • 39 комментариев
  • 15 публикаций
 
TeaMoon,
Отражение от уровня воды.
На втором видео, первая версия программы, где было 8 против 16-ти накоплений измерений, плюс немного изменен сам алгоритм опроса датчика. В общем не стоит сравнивать. Но более сильное влияние на "дерганье" показаний, влияют волны от струи воды, ультразвук при этом может и не вернуться в датчик. На втором видео я старался избежать волн. Когда датчик ловит отражение от статичной поверхности(стена или пол) - никаких колебаний нет. В реальности таких сильных волн не будет.

<

игорь джан

Игорь Читатель Датагора
  • Гражданин
Комментарий # 14 от 03-04-13, 22:00.
Ответить
  • С нами с 7.02.2012
  • 75 комментариев
  • 1 публикация
 
Discover,Время покажет, сегодня коллега предположил что из-за конденсата могут быть проблемы.
Только сегодня обсуждал с братом по поводу работоспособности датчиков во влажной среде(вызывает сомнения).

<

leg42

Олег Читатель Датагора
  • Гражданин
Комментарий # 15 от 04-04-13, 2:02.
Ответить
  • С нами с 22.02.2010
  • 11 комментариев
  • 0 публикаций
 
Спасибо. Задумка нравится, как говорят бум делать!
На даче бочка с поплавками, типа унитазной механики, работает уж лет 6. 220 нету. Летом обесчают свет.

<

AVL_007

Андрей Читатель Датагора
  • Гражданин
Комментарий # 16 от 06-04-13, 18:21.
Ответить
  • С нами с 23.08.2011
  • 20 комментариев
  • 4 публикации
 
Лиц. панель печатали на пленке на струйнике?

Назад Вперед

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте корректны и вежливы, соблюдайте правила!


Налетай! Паяльники, станции, жала с доставкой

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км!

Тестер универсальный LCR-TC1 для транзисторов, конденсаторов, ESR, MOSFET и т.д.
  • smilelolhellowinkscepticthumbupbored
    crazybadcryingsadirefulsickstraight
    ballooncakegooddrinksmailbombsun
    nightrainstarscolddashpartyhandshake
    musicnegativenowordspardonshoksleepunknown
    wackoyawnsainthelmethashsmokingwhew


Скопируйте текст вашего комментария на случай неверного ответа на контрольный вопрос.