В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

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

📆1 апреля 2013   ✒️Discover   🔎111.490   💬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  467.61 Kb ⇣ 276
Файл прошивки для варианта на led-индикаторах: 🎁TankControl-led-hex-05042014.7z  4.28 Kb ⇣ 226

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



Заключение

Хотя на дворе уже весна, но дачный сезон еще не наступил, поэтому придется подождать, пока можно будет начать пользоваться баком. Более того, мне еще долго не придется использовать прибор в полном объеме, так как в старой бане нет постоянно подключенного водоснабжения, а новую я еще не достроил.
Но смотреть уровень уже можно!!!
:yahoo:

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

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

Нравится

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

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

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

 

 

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

 

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

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

 

<
Читатель Датагора

Discover

<
Читатель Датагора

Civil

<
Читатель Датагора

sTARcRAB

<
Читатель Датагора

voffk

<
Читатель Датагора

Discover

<
Читатель Датагора

Alexey76

<
Читатель Датагора

Discover

<
Читатель Датагора

Datagor

<
Читатель Датагора

Alexey76

<
Читатель Датагора

TimkaBoy

<
Читатель Датагора

Datagor

<
Читатель Датагора

TimkaBoy

<
Читатель Датагора

Razzgon

<
Читатель Датагора

Razzgon

<
Читатель Датагора

Maikl

<
Читатель Датагора

Asmi

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

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

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой