Погодозависимое управление отоплением на Wiren Board
При погодозависимом управлении в отопительной системе дома поддерживается температура теплоносителя, пропорциональная разнице комфортной температуры в доме и температуры на улице. Для определения требуемой в настоящий момент температуры теплоносителя, используются так называемые отопительные или эквитермические кривые, представленные в табличной форме, либо в виде аппроксимирующей функции.
Чем лучше утеплен дом, тем меньше его теплопотери и тем более пологой будет для этого дома отопительная кривая. Отопительные кривые рассчитаны для температуры в помещении 20°C. Если в помещении требуется иная температура, то кривая сдвигается вверх или вниз на определенную величину. Чем ниже температура теплоносителя, запрашиваемая от котла, тем меньше расход топлива. Значит, если при потеплении на улице котел будет подавать в отопительную систему менее горячий теплоноситель, то при сохранении комфорта в доме мы получим экономию топлива.
Котлы с интерфейсом управления OpenTherm, как правило, имеют возможность изменять мощность горелки в пределах от 20% до 100%. И это их свойство очень полезно для реализации погодозависимого управления. Вместо работы в режиме тактирования (вкл/выкл) котел плавно понижает мощность горелки для уменьшения температуры теплоносителя. При этом мы наблюдаем выдаваемую горелкой мощность в процентах в канале Modulation шлюза. Еще одним плюсом работы котла в режиме модуляции горелки является увеличение ресурса самого котла.
Исходные данные
В доме установлен газовый котел и в помещениях установлены радиаторы отопления. Применена коллекторная разводка радиаторов, встроенный в котел циркуляционный насос обеспечивает циркуляцию теплоносителя в системе.
Снаружи дома в правильном месте (на северной стороне) установлен датчик температуры воздуха. Данные с датчика наружной температуры должны быть доступны в WB6. Вплоть до того, что это могут быть данные с виртуального устройства или данные от внешней погодной станции. Для оперативного управления отоплением воспользуемся пультом управления ПУ-3, с которым нас познакомил в своей статье Александр Попов (@Popov_Alexander).
Реализация
После подключения универсального шлюза NEVOTON BCG-3.0.1-W OpenTherm-Modbus в интерфейсе WB6 имеется информация о состоянии котла. На WB6 создаем виртуальное устройство Thermo_Regulator. Для этого в WEB-интерфейсе WB6 заходим в меню Scripts и создаем новый скрипт Thermo_Reg.js
Жмем «Сохранить» вверху окна редактирования. В закладке Devices увидим новое устройство. С помощью этого устройства мы можем управлять работой отопления.
В поле OutsideTemp отображается температура на улице с внешнего датчика. Ползунком RoomTempSetpoint устанавливаем желаемую температуру в помещениях дома. Ползунком K устанавливаем коэффициент отопительной кривой. Этот коэффициент зависит от характеристик дома, в основном, от теплопроводности стен. Он подбирается опытным путем один раз и в дальнейшем его менять нет необходимости. Выключатель enabled позволяет выбрать автоматический (on) или ручной (off) режим задания целевой температуры теплоносителя для котла. В автоматическом режиме вычисленное значение целевой температуры отображается положением ползунка Setpoint. В ручном режиме можно самостоятельно задать для котла требуемое значение целевой температуры теплоносителя, передвинув ползунок.
Расчет температуры теплоносителя, в зависимости от температуры на улице, можно реализовать на WB6 средствами правил wb-rules, но я выбрал альтернативный вариант – средствами node-red на этом же WB6 создал flow «Погодозависимый регулятор». Это стало возможным благодаря наличию в репозитории специализированной ноды node-red-contrib-wirenboard автора Andrej_Popov.
С помощью этих нод из WB6 считываются значения коэффициента температурной кривой K, величина желаемой температуры в помещении, текущая уставка целевой температуры котла, температура на улице и состояние виртуального переключателя управления «Авто/Ручное» и все эти данные записываются в соответствующие переменные flow. Каждые 300 секунд, то есть раз в 5 минут, функция «Вычисление температуры подачи по кривой» производит вычисление целевой температуры для котла по формуле, найденной в статье. Если переключатель стоит в положении «Автоматическое управление» ( enabled = 1), то вычисленное значение температуры записывается в канал Setpoint виртуального устройства thermo_reg. Если переключатель в положении «Ручное управление» ( enabled = 0), то в канале Setpoint остается значение, заданное ползунком вручную. Текущее значение температуры теплоносителя в котле индицируется на настенном пульте ПУ-3 на месте дополнительной температуры. Значение уставки желаемой температуры в помещении отправляется с ПУ-3 в канал RoomTempSetpoint виртуального устройства thermo_reg.
Данный пример еще далек от совершенства, хотя и выполняет основные функции. Его следует рассматривать, как Application Notes – пример применения или отправную точку для тех, кто хочет оценить возможность тех или иных технических решений. Здесь можно добавить автоматическое понижение температуры в помещениях при отсутствии в доме людей, и восстановление комфортной температуры заблаговременно перед приездом обитателей дома. Можно менять температуру в помещении в зависимости от времени суток. Возможность такая есть. Её надо только реализовать в Вашем проекте по Вашим потребностям. Но это еще не все возможности, которые можно получить от связки WB6 и универсального шлюза OpenTherm-Modbus. И об этом – в следующий раз.
Статья НПФ «НЕВОТОН» на портале Sprut.ai