Обмен по сети RS485 протоколом ModbusRTU предусмотрен на скорости 9600 бод.
Два независимых счетчика имеют делители для счета непосредственно в единицах величины. В каждом счетчике предусмотрен восьми битный делитель входных импульсов, для преобразования числа импульсов в значение величины. Объем каждого счетчика 4 байта, т.е. максимальное число сосчитанной величины – 4 294 967 295. В случае снижения питания ниже критического уровня, значения счетчиков величины и текущие значения делителей сохраняются во flash памяти микроконтроллера.
Значения счетчиков и делителей считываются и записываются двух байтными словами, в шестнадцатеричном виде. По умолчанию при программировании микроконтроллера в делители записаны коэффициенты 1 и 3. Для сведения в ячейку ЕЕPROM с адресом 03h записываются значения делителя первого счетчика, в ячейку с адресом 04h - значения делителя второго счетчика. Следует отметить, что коэффициенты деления счетчиков переписывается в специальные регистры делителей, и далее происходит их декремент с каждым входящим импульсом до нуля. Далее увеличивается значение счетчика величины на единицу, и в делитель вновь загружается коэффициент деления. После выполнения команды изменения коэффициента деления от центрального устройства, новый коэффициент загружается в регистр делителя при поступлении следующего счетного импульса.
Рис. 3
Алгоритм работы реле:
Реле для управления приводом (приводами) водоснабжения приводится в требуемое состояние «открыто», «закрыто» кнопкой «Приборка/Тест» при обнаружении протечки на любом из входов в автоматическом режиме, устройство переведет реле в положение вентилей «зарыто»
Реле терморегулятора устройства может быть сконфигурировано так, что терморегулятор будет работать, как система автономного терморегулирования, или как система управления приводом вентиля подключающего бойлер к системе горячего водоснабжения. В этом режиме при обнаружении протечки привод будет закрывать не только вентили водопроводов, но и вентиль бойлера.
Реле привода водопровода горячего водоснабжения. Алгоритм работы в режиме автономного терморегулятора – такой же как и первое реле, в режиме работы терморегулятора для управления вентилем бойлера – при обнаружении протечки закрывает привод как и первое и второе реле, в автоматическом режиме работает в противофазе к приводу бойлера. (для перекрывания водопровода ГВС во время подключения к системе бойлера)
Терморегулятор может работать в режимах управления «Нагреватель» или «Охладитель». Определяется это установкой значений уставок Твкл, Твыкл. Если Твкл < Твыкл., то работаем как нагреватель, наоборот – охладитель. Если установить одинаковые значения, выход будет работать как управление нагревателем с гистерезисом 1 градус т.е. Твыкл.= Твкл.+1.
Выход пищалки, сигнализирует прерывистым сигналом с периодом 0,5 сек. при обнаружении протечки, или с периодом 0,25 сек. при аварии датчика температуры (КЗ или обрыв)
По команде с кнопки ручного управления приводами водоснабжения «Приборка/Тест», открываются или закрываются вентили систем водоснабжения, и на время «ручного режима» устройство перестает реагировать на датчики протечки воды.
Кнопка «Бойлер» предназначена для ручного переключения водопровода горячего водоснабжения с централизованного водоснабжения на местное снабжение горячей водой с водогрейного бойлера. Если по каким-то причинам автоматически выбранный режим ГВС не устраивает пользователя, используется эта кнопка, которой вручную устанавливается требуемый режим работы водоснабжением. На время «ручного режима» устройство не будет реагировать на значение температуры в водопроводе горячего водоснабжения. (Выше сказанное актуально только для режима работы терморегулятора «управление бойлером»)
«Ручной режим» действует в течении N мин. после последнего нажатия на кнопки. (По умолчанию N=15 мин. Значение хранится в ячейке EEPROM c адресом 08h и может быть установлено от 01h до FFh мин., с центрального устройства управления.) Далее режим установится в соответствии с алгоритмом автоматической работы. Если есть протечка, вентиля перейдут в закрытое состояние (если были открыты) а бойлер перейдет в режим в соответствии с уставками температуры или останется неизменным, если значение температуры центрального ГВС будет находиться внутри петли гистерезиса уставок температуры.
Центральному устройству доступна информация о текущем состоянии входов, выходов WaterUnit, возможно удаленное управление выходами, режимами работы устройства, настройка и снятия показаний счетчиков, значений текущей температуры и питающего напряжения. О всех параметрах устройство сообщает (по запросу) центральному модулю по сети RS485 протоколом Modbus RTU.
Следует отметить, что для защиты от случайной записи значений счетчиков и коэффициентов деления, введена команда ввода пароля (значение может быть установлено от 00h до FFh, по умолчанию пароль 0) После его ввода становится возможным ввод значений счетчиков величины и коэффициентов деления. так же становится возможным смена пароля. При смене коэффициентов деления текущие загруженные значения коэффициентов сбрасываются и загружаются новые. После ввода нового пароля и после выключения питания устройства смена параметров счетчика снова становится недоступной, до следующего ввода правильного пароля.
Так же необходимо добавить, что удаленное управление выходами, возможно различными вариантами. Есть команды, (см. таблицу команд) по которым удаленно имитируется нажатие кнопок «Бойлер» или «Приборка/Тест» с соответствующим переключением выходов и блокировкой автоматики на N минут. Есть возможность управления выходами реле и пищалки напрямую, но необходимо помнить что для того что бы управление происходило по удаленным командам и не сбивалось работой автоматики, следует соответствующей командой отключить управление выхода от автоматического управления.
Перечень команд Modbus RTU сведен в таблицу «Таблицы команд управления WaterUnitPWM.xls»
Все линии входов устройства и цепь питания, снабжены схемами защиты от повышенного и обратного напряжения и фильтрами высокочастотных помех. Фильтры не установлены только в цепях входов высокоскоростных счетчиков импульсов. Поскольку скорости счетчиков вполне достаточно, что бы сосчитать импульсы дребезга механических контактов датчиков расхода воды, в счетчики добавлен управляемый программный фильтр коротких импульсов. Постоянная времени фильтра может быть выбрана от 100 мкс до 25,6 мс. Чем больше значение постоянной времени фильтра тем ниже максимальная скорость счета. Теоретически получаем от 5 кГц до 20 Гц.
В конструкции устройства применены реле с двумя группами контактов. Для уменьшения количества выводов выходы реле управления горячим и холодным водоснабжением К1 и К2 с коммутированы в две клеммы, на которых происходит смена полярности питающего напряжения. Такой способ вывода в совокупности с выводами питающего напряжения, позволяет подключать электроприводы вентилей с разными схемами управления, и сменой полярности и переключением положительного или отрицательного потенциала относительно общего провода. Цепи контактов реле терморегулятора К2 с коммутированы в четыре клеммы позволяющие организовать либо подобную первым двум реле схему управления электроприводами, либо изолированную коммутацию нагрузки.
В устройстве имеются четыре светодиода.
Светодиоды LED1 (синий) и LED3 (красный) включены, когда соответствующие реле К1 и К3 выключены, индицируя, что вентили водоснабжения открыты. Для снижения потребляемой энергии устройством (учитывая, что водопроводы дольше открыты, чем закрыты) принято за открытое положение вентилей выключенное состояние реле.
Светодиод LED2 (желтый) индицирует состояния терморегулятора (бойлера). Светодиод включен когда включено реле терморегулятора (бойлера) К2. Вывод питания светодиода выведен на отдельную клемму для подключения внешних светодиодов (встроенных в выносную кнопку(и) «Бойлер»).
Светодиод LED4 (зеленый) – индикатор рабочего состояния WaterUnit. Он включен постоянно, пока работает устройство. Светодиод мигает в противофазе с пищалкой, индицируя состояние аварии, даже если звуковой сигнал удаленно отключен.
Конструкция печатной платы устройства WaterUnit разработана в онлайн системе проектирования EasyEDA. Также хотелось бы порекомендовать для заказа печатных плат, выполненных в том числе в среде EasyEDA, один довольно интересный ресурс (это не реклама !!!) - https://jlcpcb.com. Иногда на нем проводятся различные промо-акции в рамках которых можно заказать печатные платы по очень привлекательным ценам с бесплатной доставкой.
Плата проектировалась для размещения устройства вот в такой корпус.