Модуль управления котлом отопления
Модуль управления отопительными котлами представляет собой плату расширения для SLS DIN MINI, с помощью которой можно подключить:
- Аппаратный мастер шины 1-Wire (датчики ds18b2 шиной)
- Реле 1A для управления по методу - запрос тепла
- Цифровая шина OpenTherm (Master) для подключения котла
- Цифровая шина OpenTherm (Slave) для подключения комнатного термостата
Список протестированных отопительных котлов.
Клеммы
- Шина 1-Wire
- Питание +5V для шины 1-Wire
- Цифровая шина OpenTherm Master / Реле (подключение котла, полярность не важна)
- --/
- Цифровая шина OpenTherm Slave (подключение комнатного термостата, полярность не важна)
- --/
Шина 1-Wire
Устройство содержит в себе аппаратный контроллер шины с активной подтяжкой.
В большинстве случаев не требуется подключения дополнительных резисторов подтяжки. Поддерживается паразитное питание и подключение нескольких датчиков шлейфом.
Шлюз поддерживает в данный момент до 10 датчиков Dallas DS18B20.
Управлять устройствами 1-Wire можно на странице /1wire.
Защита цифровой шины от высокого напряжения
Если необходимо использовать релейное управление и на клеммах котла напряжение выше 24V, необходимо снять перемычки на плате для защиты цифровой шины в устройстве, таким образом цифровая шина будет отключена от клемм 3 и 4.
Релейное управление по методу - запрос тепла
Практически все котлы умеют управляться по методу - запрос тепла, Котел начинает греть ТН до температуры установленной на его встроенном термостате, когда замыкаются его клеммы термостата.
Реле в плате шилда подключено по NC схеме и при обесточивании системы будет подан сигнал к нагреву.
Управление по цифровой шине OpenTherm
Шлюз может управлять отопительным котлом в нескольких режимах:
- В режиме термостата, тогда контроллер самостоятельно или по команде из вне управляет котлом отопления
- В режиме прозрачного шлюза, когда котлом управляет комнатный термостат, а шлюз прозрачно транслирует его сообщения котлу и обратно, фиксируя текущее состояние системы. (В данный момент мониторинг доступен только через OpenTherm Monitor)
К клеммам 5 и 6 возможно опциональное подключение комнатного термостата OpenTherm, таким образом устройство встает в разрыв шины OpenTherm.
Инициализация режима производится в стартовом скрипте init.lua
thermo.beginOpenTherm(true) --прозрачный режим (наблюдение)
thermo.beginOpenTherm() --мастер (SLS выступает в роли термостата)
thermo.beginOpenTherm(true) --прозрачный режим (наблюдение)
thermo.beginOpenTherm() --мастер (SLS выступает в роли термостата)
Поддержка OpenTherm Monitor
Opentherm Monitor - это небольшая утилита, которая предназначена для того, чтобы помочь вам настроить и контролировать ваш шлюз OpenTherm.
Включение сервера:
thermo.beginOpenThermMonitor()
thermo.beginOpenThermMonitor()
Порт для подключения: 25238
Строгий режим
Для уменьшения количества ошибок при чтении данных, можно включить строгий режим, тогда шлюз в случае изменения в полученных данных запрашивает их повторно и использует только если оба раза прочитаны одинаковые данные.
Включается командой: thermo.setStrict(true)
Мониторинг стутуса работы
Шлюз публикует текущее состояние работы в Объектах, можно привязать скрипт по изменению или же читать значения из своих скриптов.
Примеры использования в скриптах
Задать каналу реле режим выхода и выключить его:
gpio.mode(25, gpio.OUTPUT)
gpio.write(25, gpio.LOW)
gpio.mode(25, gpio.OUTPUT)
gpio.write(25, gpio.LOW)
Запуск шлюза OpenTherm:
thermo.beginOpenTherm()
thermo.beginOpenTherm()
Установка температуры теплоносителя 50 градусов:
thermo.setBoilerTemperature(50);
thermo.setBoilerTemperature(50);
Установка температуры горячей воды 50 градусов:
thermo.setDHWTemperature(50);
thermo.setDHWTemperature(50);
Управлять уставкой можно несколькими способами, подробнее об уставке можно прочитать в отдельном разделе.
Включение отопления:
thermo.setBoilerEnable(true)
thermo.setBoilerEnable(true)
Включение нагрева горячей воды:
thermo.setDHWEnable(true)
thermo.setDHWEnable(true)
Включение строгого режима позволяет усреднить получаемые по OT значения, в SLS попадают только те значения, которые при следующем опросе были получены повторно.
thermo.setStrict(true)
thermo.setStrict(true)
Задать максимальное значение модуляции:
thermo.setMaxModulation(60)
thermo.setMaxModulation(60)
Можно прочитать и отправить произвольные RAW значения
thermo.rawRead(14) --запросить и прочитать значение 14 регистра
thermo.rawWrite(14,60*256) --зададим максимальную модуляцию 60%
thermo.rawRead(14) --запросить и прочитать значение 14 регистра
thermo.rawWrite(14,60*256) --зададим максимальную модуляцию 60%
MQTT управление OpenTherm
Шлюз публикует состояние в топик xxx/thermo/, где xxx - префикс MQTT
Установка температуры теплоносителя:
xxx/thermo/boiler/set/target_temperature
xxx/thermo/boiler/set/target_temperature
Установка температуры горячей воды:
xxx/thermo/dhw/set/target_temperature
xxx/thermo/dhw/set/target_temperature
Включение/выключение отопления:
xxx/thermo/boiler/set/enable true/false
xxx/thermo/boiler/set/enable true/false
Включение/выключение нагрева горячей воды:
xxx/thermo/dhw/set/enable true/false
xxx/thermo/dhw/set/enable true/false
Срос ошибки котла:
xxx/thermo/ot/set/error_code 0
xxx/thermo/ot/set/error_code 0
Установка максимального уровня модуляции:
xxx/thermo/ot/set/max_modulation
xxx/thermo/ot/set/max_modulation
Статьи
Построение графиков работы котла
Управление по кривым отопления