Поиск

1 ноября 2016 г.

Контроллер пропорционального дозирования для очистки воды

Для удаление из воды повышенного содержания железа и марганца применяются разные схемы.
В моем случае это подача гипохлорита натрия (хлорка) в качестве окислителя.

Далее описан контроллер пропорционального дозирования для дозирующего насоса.
Мозги контроллера на ATMEL ATtiny 4313, плюс используется микросхема точного времени DS1307 с памятью и текстовый LCD индикатор 20х4.





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

Полная схема очистки воды:




Для удаления основной массы веществ используется засыпка Quantum DMI-65. Эта загрузка требует постоянного дозирования гипохлорита натрия. Так как в разные моменты времени потребление воды разное, то и дозировать нужно пропорционально этому потреблению, иначе будут либо проскоки железа, либо вода будет пахнуть хлоркой.
Засыпку так же нужно время от времени промывать обратным потоком воды, и на это время очень желательно отключать подачу хлорки.

Для подачи воды через баллон используется "голова" Autotrol 263 c контроллером 742. 
Собственно, контроллер дозирующего насоса был куплен давно, но не выполнял нормально своих функций - не имел нормальной настройки пропорции и не позволял настроить длительность "импульса" включения насоса.

У меня стоит дозирующий насос Stenner 45MHP10, в котором используется перистальтическая трубка для подачи жидкости и если импульс включения слишком короткий, то подачи не происходит.
Как оказалось, в старом контроллере стоял микроконтроллер Atmel AT90S1200, который по-выводно совместим с ATtiny4313, да еще и установлен на колодке.



Поэтому и появилось желание "доработать" контроллер, попутно добавив нормальный дисплей. Итого, дополнительный функционал:
  1. Настройка пропорции дозирования
  2. Установка минимальной длительности импульса дозирования
  3. Статистика расхода (за день, вчера, по дням недели и т.д.)
  4. Отключение дозирования во время обратной промывки
  5. Принудительная промывка в заданное время (час) по расходу
  6. Перекрытие выхода на время промывки, чтобы неочищенная вода не попала в систему
  7. Нечувствительность к пропаданию питания
Датчик расхода - обыкновенный счетчик расхода воды с приклеенным сверху фотодатчиком над крыльчаткой. Померил, получается 200 импульсов на литр (400 смен состояния INT0).

Контроллер "головы" фильтра (Autotrol 742) имеет вход на запуск регенерации. Для обратной информации о стадии промывки на голову вешаются микрики. 
Данные хранятся в питаемой от батарейки микросхеме часов DS1307. Поэтому пропадание питания контроллеру не страшно. 

Памяти в ATtiny4313 всего 4 Кб, поэтому приходилось экономить и уменьшать "дружественность" интерфейса. На экран выводится:
  • моментальный расход в м3/ч
  • сколько потреблено воды с последней промывки
  • количество промывок
  • дней с последней промывки
  • сколько потреблено воды сегодня
  • сколько потреблено воды вчера
  • день недели и время
  • среднее потребление за день недели
Алгоритм дозирования такой: за каждую секунду считаем расход (F), далее делим на настройку (M) - максимальный расход, при котором насос включен постоянно. Получаем сколько времени должен быть включен насос в секунду = M / F. 

Суммируем это значение, и когда оно превысит минимальное время включение насоса для поворота на один оборот (например, 1 секунда) - включаем насос. 
Формула для расчета М = (максимальный расход в м3/ч) / 3.6 * (число импульсов на литр) / 10 

Для расчета "максимального расхода воды в м3/ч" есть цела формула (справа), но по факту настраивать все равно пришлось эмпирически - до слабого запаха хлорки на выходе фильтра. 
У меня М = 45. 

Прошивка, исходник, схема: FeedPumpController.zip

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

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