Recent Changes - Search:

Главная страница

Проекты

Статьи

Домашний WiFi роутер

Архив проектов

Загрузки

GitHub

SourceForge

edit SideBar

PlumbingController

Контроллер водопровода

За основу буду брать систему защиты от протечки для стиральной машины.

Задачи модуля:

  • перекрытие подачи воды по команде;
  • защита от протечки: перекрыть ввод и полотенцесушитель в случае срабатывания датчиков;
  • переключение источника горячей воды: центральное водоснабжение или водонагреватель;
  • учет расхода воды.

Характеристики:

  • Количество управляемых вентилей: 6
    • 2шт - ввод холодной и горячей воды;
    • 2шт - вход и выход водонагревателя;
    • 2шт - полотенцесушитель.
  • Количество входов для счетчиков расхода воды: 2
  • Количество входов для датчиков протечки: 4
  • Автономное питание от батареи в случае отключения электричества.

Структурная схема

Необходимое количество GPIO портов

НазначениеВыводов на единицуКол-во кдиницОбщее кол-во
контроллер вентилей
вентили4624
SPI313
итого27
контроллер свтодиодов
светодиоды двухцветные21122
светодиоды одноцветные122
SPI313
итого27
главный контроллер
счетчики расхода122
датчики протечки248
LCD/LED дисплей717
кнопки122
энкодер313
контроллер питания414
SPI313
итого29

Выбор микроконтроллеров

  • Главный контроллер: ATmega2560-16A
  • Контроллер вентилей: ATmega8515 (*)
  • Контроллер свтодиодов: ATmega8515 (*)

* Atmega8515 не имеет контроллера I2C, поэтому для связи будет использована шина SPI.

Конфигурация узлов и моделей BLE Mesh

Чем мы хотим управлять и что хотим контролировать.

Управлять, разумеется, мы может только вентилями. Для этого подойдет простой On/Off сервер. Но существует ряд ограничений:

  1. В случае протечки (аварии), все вентили закрываются. Открыть их потом с помощью команды BLE Mesh будет нельзя.
  2. Существуют запрещенные комбинации открытия вентилей (TODO: расписать эти комбинации), которые нельзя будет настроить с помощью BLE Mesh.

TODO: предусмотреть возможность отключения датчиков протечки.
Для датчиков протечки можно сделать отдельную ноду с моделями серверов: OnOff и Sensor.

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

  • неисправность вентилей (вентиль не открылся/закрылся за определенное время) - 6шт;
  • состояние датчиков протечки: нормально, авария, неисправность - 4шт;
  • значения счетчиков расхода воды: текущий расход (л/с), общее потребление (M3) - 2шт.

Всвязи с этим появляются следующие проблемы:

  1. Вентили, счетчики и датчики протечки практически никак друг с другом не связаны логически. Разве что, счетчики воды можно совместить с первыми двумя вентилями (вентили ввода). Датчики же вообще никак не связаны ни с вентилями, ни со счетчиками. Поскольку, одинаковые модели не должны располагаться на одном узле, нам придется, либо создавать 12 от дельных узлов, либо группировать модели сенсоров с моделями OnOff как получится, и ограничется 6-ю узлами.
  2. В стандартах GATT Specification отсуствуют такие параметры, как: неисправность вентиля, состояние датчика протечки, расход и потребление жидкостей (TODO: хотя, два последних еще могут быть). Поэтому, придется колхозить свои кастомные значения и отходить от спецификации. Хотя, состояние несиправности вентилей и датчиков протечки можно будет попробовать запихнуть в модель Health.

Ссылки

Edit - History - Print - Recent Changes - Search
Page last modified on June 26, 2024, at 12:49 pm