Пристрій для контролю рівня води – рівнемір, бакомір ультразвуковий датчик мікроконтролер

Я великий аматор української лазні. Влітку минулого року, приймаючи лазневі процедури, я залишився без холодної води. Чому так вийшло? Справа в тому, що бак для холодної води встановлений на горищі лазні. Воду, в бак закачуємо насосом, а зливається вона самопливом по трубах. Контролювати кількість води як при наповненні, так і при використанні завдання непросте – бак прихований під дахом лазні. По струменю води теж складно визначити, скільки води залишилося - я не визначив. Потрібно пристрій для контролю рівня води - рівнемір.
Зміст / Contents
↑ Метод виміру

Датчик являє собою друковану плату. На якій встановлені передавальний та приймальні п'єзоелементи. На платі зібрана схема формування зондувальної пачки імпульсів з частотою 40кГц, яка подається на драйвер, виконаний на перетворювачі рівня TTL RS232. Так-так, ось таке незвичайне застосування. Не зовсім правильне, але дешеве і працездатне рішення, що дозволяє обійтися без додаткової високої напруги для розгойдування випромінюючого п'єзоелемента. Також плата містить підсилювач для приймального п'єзоелемента та невеликий керуючий мікроконтролер. У датчика чотири ніжки управління: живлення +5 Вольт (VCC), вхід запуску (Trig), вихід (Echo) та земля (GND).
На вхід Trig ми подаємо імпульс 10 мкС, на виході Echo, при отриманні датчиком ехо-сигналу (відображення), буде сформований імпульс тривалістю пропорційної проходження звуку від датчика до відбивача і назад. Цей час ми ділимо на два та множимо на швидкість звуку в повітрі, середнє значення 340 м/с – отримуємо відстань до відбивача (об'єкта). Нижче діаграма роботидатчика.

↑ Конструктив



З корисного - відрізав від теплолічильників термодатчики, поки лежать на полиці. Сподобався конструктив теплолічильника. Корпус складається із двох половинок. У нижній половинці, що встановлюється стаціонарно, стоять дві плати з клемниками для зовнішніх підключень та колодка для з'єднання з платою у верхній частині корпусу. А у верхній частині корпусу стоїть основна плата лічильника. Ось цей корпус і будемо використовувати з такою самою ідеологією.

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


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


Оскільки мінімальний формат друку виявився А3, то наклейок я замовив три варіанти у двох примірниках. Мені більше сподобався темний. Ну, або якщо набридне, завжди можна замовити нову наклейку.
↑ Монтаж датчика


Корпус закріпив на кришці бака.

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


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

↑ Опис роботи
При подачі живлення на схему спочатку проходить тестування семисегментного індикатора та лінійки світлодіодів. Якщо прилад не калібрований, то на індикаторі ми побачимо лише виміряну дистанцію. Лінійка світлодіодів не працює, так само не доступна функція керування наповнення та зливу бака. Більше про роботу не каліброваного приладурозповідати нічого. Ну, то давайте відкалібруємо його!
↑ Калібрування

Для калібрування параметра на порожньому баку натискаємо кнопку "Злити", переходимо до наступного етапу - калібрування максимального рівня. На індикаторі також відображається дистанція в міліметрах. На лінійці горять усі світлодіоди, що символізують режим калібрування максимального рівня. Далі можливі варіанти - або ми наповнюємо бак повністю і потім тиснемо кнопку «Наповнити» для установки верхнього рівня. Або можна просто піднести відбивач до датчика на передбачуваний максимальний рівень.
Після калібрування рівнів переходимо до введення обсягу бака. Кнопкою «Наповнити» змінюємо значення розряду, а кнопкою «Злити» міняємо розряд і так усі чотири розряди по черзі. У калібруванні передбачено два блокування. Не критична – якщо обсяг не введений, то встановлюється обсяг 100, відповідно відображення буде у відсотках чи літрах, якщо бак при цьому на сто літрів. Друге — критичне блокування, оскільки розташування датчика у нас верхнє, то значення верхнього рівня не може бути більшим за нижній. У цьому випадку прилад калібрування не проходить, а просто відображає дистанцію.
Після успішного калібрування прилад відображає об'єм води в літрах та рівень у десятках відсотків на лінійці світлодіодів. Також стають доступними функції наповнення та зливу бака. У приладі передбачено автоматичне наповнення, яке неактивне після подачі живлення. Для активації автоматичного наповнення необхідно натиснути кнопку «Наповнити», після чого бак наповниться на 90%.
Для активації зливу натискаємо кнопку «Злити», включається реле увімкнення клапана зливу. Реле вимикається після досягнення нульового рівня після затримки необхідної для зливу води з трубопроводу. Тепер, під часзливу, батарейка - бак буде вже не заряджатися, а розряджатися. Після активації зливу режим автоматичного наповнення вимикається, повторно включити його можна натиснувши кнопку «Наповнити».
Здрастуйте, читачу! Мене звуть Ігор, мені 45, я сибіряк і затятий електронник-аматор. Я вигадав, створив і утримую цей чудовий сайт з 2006 року.Вже понад 10 років наш журнал існує тільки на мої кошти.
Здрастуйте, читачу! Мене звуть Ігор, мені 45, я сибіряк і затятий електронник-аматор. Я вигадав, створив і утримую цей чудовий сайт з 2006 року.Вже понад 10 років наш журнал існує тільки на мої кошти.
↑ Висновок
Дата народження: 13.09.1977. Працюю в компанії "Нординкрафт", електрик за сумісництвом у своєму ТСЖ. З паяльником з 12 років. Інтереси: паяльник, робота, фото, ліс. 2007 р. займаюся мікроконтролерами AVR.
Напаяно вже багато чого, всього не пригадаю.