Skip to content

System for monitoring water level. Controls water tap and alarm

Notifications You must be signed in to change notification settings

chyvak357/Water-Control-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

IoT Автоматизированная система контроля уровня воды в накопительном баке | auth. Мясников Роман

Описание

Система предназначена для контроля уровня воды в накопительных баках и автоматического управления краном подачи воды. В случае аварийных ситуаций подаёт звуковой сигнал до нажатия кнопки пользователем, что подтвердит его осведомлёность о внештатной ситуации.

Актуальность

Часто в разных регионах, где подача воды не постоянная, жители устанавливают накопительные баки, что бы иметь базовый запас воды. Но их нужно наполнять и при том следить, что бы вода не перешла через край и не затопила соседей/подвал, что повлечёт финансовые потери и прочие проблемы. На собсвенном опыте уже три раза не успевал перекрыть кран, на что соседи были не очень рады, пришлось долго извиняться.

Поиски решения

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

Управляющая плата

Мне сразу предложили Particle Photon в качестве управляющего элемента. Сразу понравилось решение тем, что не нужно самому разбираться с передачей данных через сервер, всё уже сделано производителем, в отличии от того же Arduino.

Датчик уровня

Долго выбирался основной датчик для уровня воды. Как показал прошлый опыт, совсем нельзя использовать систему на сопротивлении, когда ток непрерывно идёт по проводам, опущенным на разные уровни и от этого меняется кол-во горящих лампочек. После двух лет, провода окончательно растворились, в баке осталась только изоляция. Поплавковые датчики не дадут полной картины, мне ведь нужно не только перекрывать воду, но и знать её уровень. Ёмкостные датчики тоже не актуальны из-за цены и тоже не показывали уровень полностью.

Ультразвуковой датчик

Наконец-то нашёл идеально решение. Единственное, чего опасался, что вода будет колебаться и показания будут не точными или волны будет отражаться от стенок бака или его дна, но не от поверхности воды. Но первые испытания показали успех. На большинстве сайтов рекомендовали использовать HC-SR04. Он совместим как с Ardoino, так и с Photon-ом, благо для него есть библиотека.

Проектирование и разработка

Набор из компонентов, которые использовались в проекте, был прост: Particle photon, датчик HC-SR04, реле TRU-5VDC-SB-CL, кнопка с встроенным резистором и шаровой кран. Для более быстрой и удобной разработки всё было на базе Amperka. Трудностей в подключением не возникло. Больше всего времени заняло написание кода для обработки сигналов с датчика и обеспечение правильной логики работы. Ничего особенного не могу отметить, только вкратце опишу логику.

Константы

Перед заливкой прошивки на устройство нужно предварительно задать высоту бака в сантиметрах, в моём тестовом варианте это 84см, столько малярного скотча оставалось у меня для разметки "бака". Так же нужно задать: критически-низкий и высокий уровни (именно в них будет срабатывать сигнализация), а так же уровни буфера. Буфер набирается только один раз и повторно кран откроется после прохождения нижней его отметки. Сделано это для того, если бак будут использовать для компенсации насоса с своей скважины что бы он не срабатывал от помытых рук среди ночи.

Сигнализация

Система начинает визжать только если уровень воды слишком высок или низкий (что бы насос не работал в холостую). Как только тревога поднялась, подаётся звуковой сигнал (временно это светодиод) и что бы отключить это злодейство, нужно физически нажать на кнопку и тем самым показать, что пользователь знает о проблеме и может сейчас принять меры.

WEB-интерфейс

Что бы было удобно просматривать текущий (почти) уровень воды в баке, нужно создать веб-интерфейс. На данном этапе он максимально прост, но со своими функциями справляется.

Функционал

На странице выводятся несколько показателей:

  • Уровень воды;
  • Положение крана (открыт/закрыт);
  • Тревога;
  • Режим работы (ручной/автоматический);
  • Высота бака;

Все они обновляются раз в 30 секунд + время на ответ. При меньшем интервалом запросов начинала прилетать ошибка.

И, конечно же, четыре управляющих кнопки, функции для которых прописаны заранее в прошивке:

  • Переключить режим упр-я (с ручного на авто);
  • Переключить кран;
  • Подтвердить тревогу;
  • Закончить получать данные на странице;

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

Режим управления

Реализован для того, что бы можно было самому управлять краном, например, во время ремонтных работ. Но так просто сигнал не закрыть/открыть не подать, система сначала сделает это, но сразу же отработает в соответствии с текущим уровнем воды. Только в ручном режиме автоматика игнорируется, но от сигнала тревоги это не избавляет.

Установка и эксплуатация

На крышку предполагаемого бака устанавливается ультразвуковой датчик, его дальность действия (до 4м) покрывает все бытовые баки. Через 4 провода он подключается к управляющей системе. Устройство считывает показания датчика, после чего открывает либо закрывает кран с электроприводом через реле. В состоянии без питания, реле подаёт напряжение на закрытие крана, что предотвращает аварии связанные с отключением Photon-а. Но первый недостаток на текущем этапе проектирования, что при полном отключении питания в сети, кран не поменяет своё состояние, что может примести к аварийной ситуации. Остаётся только прикрутить электромеханический кран к входной трубе (не игнорируя и обычные кран) и подключить его три провода к нужным клеммам реле. Для моего крана нужно 12V (от отдельного блока питания) и потребляет он их только во время переключения задвижки.

Сколько стоит?

На момент июня 2019 года привожу только цены на компоненты, при этом стоит учитывать, что для проектирования я использовал Troyka-модули от Амперки, при сборке устройства из базовых компонентов могут возникнуть непредвиденные сложности.

  1. Плата Particle Photon 1500р
  2. Ультразвуковой датчик HC-SR04 350р
  3. Шаровой кран с электроприводом +-5000р (зависит от диаметра)
  4. Реле 100р
  5. Кнопка 10р
  6. Одно тональный динамик 50р
  7. Блок питания 12v 500р
  8. Печатная плата 5x5 50р Сумма: 7500 рублей без учёта расходников и распечатанного корпуса. Эта цена может меняться, но ниже 6 тысяч вряд ли получиться сделать.
Проще купить, чем собирать

К сожалению, аналогов я не нашёл. Были решения для дома, но никто ещё не предложил контролировать уровень воды в баке.

А что дальше?

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

Так же планирую сделать более автономную версию либо почти полностью независимую от внешнего питания, либо защищённую от его отключения, что бы кран успел закрыться до того, как отрубится питание.

Что немаловажно, будет сделана полноценная web-часть. Будет доступна регистрация и авторизация. Тем, кто ещё не подключил предложен магазин, а для других - возможность управлять своим устройством, смотреть статистику потребления воды и рекомендации, основанные на анализе.

About

System for monitoring water level. Controls water tap and alarm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published