Поиск

12 декабря 2019 г.

Контроллер управления водоподготовкой (фильтрацией)

Вода из скважины у меня идет с сильным превышением по железу (в 30 раз), марганцу, сероводороду. Жесткость тоже повышенная.
Применяю уже несколько лет систему очистки - бак для отстаивания, колонна с Quantum DMI-65, дозатор хлорки, колонна с умягчителем.
Есть некоторые особенности системы, которые требуют постоянного внимания, плюс
созрела необходимость видеть состояние системы удаленно, а так же иметь больше возможностей - защита насосной станции от сухого хода, контроль протечки, дренажа.

Старый контроллер этого не тянет, в новом используется более мощный на базе Arduino DUE со встроенным веб-сервером.





Особенности системы очистки:
Вода с большим превышением железа, сероводорода и т.п. подается в накопительный бак 500 л через разбрызгиватель (ПП труба с отверстиями 1 мм).
Далее из этой емкости насосная станция подает воду через фильтры в систему водоснабжения.
Сначала стоит фильтр обезжелезиватель, далее - умягчитель.

Голова фильтра обезжелезивателя - Autotrol 263 с электронным блоком Autotrol 742.
Для блока 263 сделана доработка, чтобы определять отдельно обратную промывку, во время которой не подается раствор реагента.

Голова умягчителя - Runxin TM.F68C3. У нее есть внешний вход для старта регенерации и контакт выхода для индикации, что клапан находится в режиме промывки.

Примерная гидравлическая схема:
Water scheme, схема водоснабжения

Для контроллера используется плата Arduino DUE или Arduino DUE Core (ARM SAM3x8e).
Также, как минимум, нужны платы: реле, часов DS3231 + EEPROM, сети на W5500.
Возможности:
  • Управление дозатором реагента по расходу
  • Промывка двух фильтров (например - обезжелезивателя, умягчителя) по времени и по расходу
  • Управление насосной станцией по датчику давления воды, защита от перегрузки и сухого хода
  • Глубокий контроль рабочего состояния системы
  • Графический веб-интерфейс с поддержкой мобильных устройств
  • Текстовый дисплей LCD2004, кнопки управления
  • Расширенная статистика с записью на SD карту
  • Оповещения о сбоях через email или sms.
  • Счетчик электричества по Modbus RTU (PZEM-004T v3)
  • Весы на плате HX711 для контроля уровня реагента
  • Аналоговый датчик уровня воды 4-20 mA
  • Датчик температуры DS18B20 или NTC

Для определения уровня воды в баке 500 литров используется погружной датчик уровня с выходом 4-20 мА, который определяет уровень по давлению воды.
Применение аналогового датчика уровня позволяет контролировать нормальную работоспособность системы наполнения бака и насоса скважины, а так же отображать уровень в реальном времени на веб-странице.
Для надежности, еще есть обычный контактный датчик уровня сухого бака.

Насосная станция включается контроллером по датчику давления с выходом 0-5V, реле давления которой оставлено, и для защиты, если что-то пойдет не так, настроено на максимум 4.5 атм.
Станция подключается через электрический счетчик PZEM-004T v3, для защиты от сухого хода и перегрузки.

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

Железо, марганец и сероводород удаляется засыпкой Quantum DMI-65, с реагентом в виде гипохлорита натрия.
Настройка датчиков
Дозирование хлорки идет пропорционально потреблению воды, которое замеряется импульсным водным счетчиком.
Что бы определять сколько осталось реагента и скорость его расходования, емкость реагента постоянно взвешивается переделанными бытовыми весами с применением платы АЦП на HX711.

Еще есть символьный дисплей LCD 2004, но основное управление идет через веб интерфейс.
Контроллер подключается к сети и интернет через сетевую плату на чипе W5500.

Ядром контроллера является 32-битный ARM процессор SAM3x8e на плате Arduino DUE Core, которая установлена на базовую плату.

Схема подключения внешних компонентов:


Реле и датчики в веб интерфейсе:




Главная плата с установленной Arduino DUE Core:



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

Датчик давления для воды 0-6 bar с выходом 0-5V, купленный на алиэкспресс.
Показания держатся стабильно, единственный момент, наблюдается небольшая задержка в регистрации изменения давления. Но думаю, что это из-за того, что так как вода грязная и чтобы не было непосредственного контакта, то датчик вкручен не непосредственно в тройник, а через муфту и переход, между которыми поставлен резиновый круг. Внутрь датчика залита дистиллированная вода.

Аналоговый датчик уровня с выходом 4-20 mA - работает стабильно, повторяемость показаний хорошая.
У меня питается от DC-DC преобразователя 5->12V, выходной сигнал правда шумный, в программе для фильтрации используется - медианный фильтр плюс усреднение, но все равно, точность достаточная.

Уровень в %:


Исходный код, прошивка: https://github.com/vad7/WaterTreat


Комментариев нет:

Отправить комментарий