Skip to content

Модуль управления котлом отопления

Модуль управления отопительными котлами представляет собой плату расширения для SLS DIN MINI, с помощью которой можно подключить:

  • Аппаратный мастер шины 1-Wire (датчики ds18b2 шиной)
  • Реле 1A для управления по методу - запрос тепла
  • Цифровая шина OpenTherm (Master) для подключения котла
  • Цифровая шина OpenTherm (Slave) для подключения комнатного термостата

Список протестированных отопительных котлов.

Клеммы

  1. Шина 1-Wire
  2. Питание +5V для шины 1-Wire
  3. Цифровая шина OpenTherm Master / Реле (подключение котла, полярность не важна)
  4. --/
  5. Цифровая шина OpenTherm Slave (подключение комнатного термостата, полярность не важна)
  6. --/

Шина 1-Wire

Устройство содержит в себе аппаратный контроллер шины с активной подтяжкой.

В большинстве случаев не требуется подключения дополнительных резисторов подтяжки. Поддерживается паразитное питание и подключение нескольких датчиков шлейфом.

Шлюз поддерживает в данный момент до 10 датчиков Dallas DS18B20.

Управлять устройствами 1-Wire можно на странице /1wire.

Защита цифровой шины от высокого напряжения

Если необходимо использовать релейное управление и на клеммах котла напряжение выше 24V, необходимо снять перемычки на плате для защиты цифровой шины в устройстве, таким образом цифровая шина будет отключена от клемм 3 и 4.

Релейное управление по методу - запрос тепла

Практически все котлы умеют управляться по методу - запрос тепла, Котел начинает греть ТН до температуры установленной на его встроенном термостате, когда замыкаются его клеммы термостата.

Реле в плате шилда подключено по NC схеме и при обесточивании системы будет подан сигнал к нагреву.

Управление по цифровой шине OpenTherm

Шлюз может управлять отопительным котлом в нескольких режимах:

  1. В режиме термостата, тогда контроллер самостоятельно или по команде из вне управляет котлом отопления
  2. В режиме прозрачного шлюза, когда котлом управляет комнатный термостат, а шлюз прозрачно транслирует его сообщения котлу и обратно, фиксируя текущее состояние системы. (В данный момент мониторинг доступен только через OpenTherm Monitor)

К клеммам 5 и 6 возможно опциональное подключение комнатного термостата OpenTherm, таким образом устройство встает в разрыв шины OpenTherm.

Инициализация режима производится в стартовом скрипте init.lua

lua
thermo.beginOpenTherm(true)  --прозрачный режим (наблюдение)
thermo.beginOpenTherm()      --мастер (SLS выступает в роли термостата)
thermo.beginOpenTherm(true)  --прозрачный режим (наблюдение)
thermo.beginOpenTherm()      --мастер (SLS выступает в роли термостата)

Поддержка OpenTherm Monitor

Opentherm Monitor - это небольшая утилита, которая предназначена для того, чтобы помочь вам настроить и контролировать ваш шлюз OpenTherm.

icon

Включение сервера:

lua
thermo.beginOpenThermMonitor()
thermo.beginOpenThermMonitor()

Порт для подключения: 25238

Строгий режим

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

Включается командой: thermo.setStrict(true)

Мониторинг стутуса работы

Шлюз публикует текущее состояние работы в Объектах, можно привязать скрипт по изменению или же читать значения из своих скриптов.

Примеры использования в скриптах

Задать каналу реле режим выхода и выключить его:

lua
gpio.mode(25, gpio.OUTPUT)
gpio.write(25, gpio.LOW)
gpio.mode(25, gpio.OUTPUT)
gpio.write(25, gpio.LOW)

Запуск шлюза OpenTherm:

lua
thermo.beginOpenTherm()
thermo.beginOpenTherm()

Установка температуры теплоносителя 50 градусов:

lua
thermo.setBoilerTemperature(50);
thermo.setBoilerTemperature(50);

Установка температуры горячей воды 50 градусов:

lua
thermo.setDHWTemperature(50);
thermo.setDHWTemperature(50);

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

Включение отопления:

lua
thermo.setBoilerEnable(true)
thermo.setBoilerEnable(true)

Включение нагрева горячей воды:

lua
thermo.setDHWEnable(true)
thermo.setDHWEnable(true)

Включение строгого режима позволяет усреднить получаемые по OT значения, в SLS попадают только те значения, которые при следующем опросе были получены повторно.

lua
thermo.setStrict(true)
thermo.setStrict(true)

Задать максимальное значение модуляции:

lua
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

Статьи

Построение графиков работы котла

Управление по кривым отопления

Фантастический OpenTherm и где он обитает

SLS: управление газовым котлом