POER термостат - тестирование новой функции PID

Пять лет назад я написал небольшой обзор на термостат POER. В то время термостат был, мягко говоря, недоделанный, но производители не ушли с рынка, а продолжили развивать свой продукт, добавив в него новые функции. Я был приятно удивлен, что даже термостаты первых версий можно обновить спустя пять лет и получить долгожданный функционал. В частности, я был недоволен неизменяемым гистерезисом в изначальной версии. Реальный перепад температуры в комнате составлял около 2.5-3.0 градусов, что сильно напрягало — пришлось даже проковырять в корпусе отверстие и высунуть термодатчик наружу, чтобы сделать его менее инертным и уменьшить реальный гистерезис до 1.5-1.8 градусов. В версии прошивки 5.0 гистерезис можно менять от ±0.1 градуса и выше. Кроме того, добавилась новая функция PID, которая не просто включает и выключает котел по достижении желаемой температуры, но и пытается учитывать инертность радиаторов отопления. Эта функция редко встречается в бюджетных термостатах, поэтому мне было любопытно, действительно ли она работает как должна, или это простенькая имитация. Что же такое PID (ПИД)? Пропорционально-интегрально-дифференцирующий регулятор. Звучит устрашающе, да и формулы рассчета значений этой системы лучше не смотреть на ночь, но если объяснять просто, то это система, которая учится на своих ошибках и с каждой новой попыткой выдает более точное значение, чем предыдущее. То есть (просто для примера) если мы хотим реальный гистерезис ±0.3 (по температуре в комнате, а не по температуре включения и выключения котла), в первый раз система может выдать ±0.4, во второй ±0.27, в третий ±0.32, в четвертый ±0.3 и так до бесконечности, система будет отслеживать свои ошибки и в следующий раз чуть раньше или чуть позже включать и выключать отопление, чтобы добиться точного значения желаемого реального гистерезиса. Никто точно не знает, при какой температуре котел включится и выключится в следующий раз — это будет рассчитываться термостатом каждый раз заново. Плюс такого подхода неоспорим — более ровная и комфортная температура в комнате. Минусы — более частое включение и выключение котла и возможность увеличения ошибки при проветривании помещения. Тем более, производитель в своем приложении предупреждает, что низкие значения PID могут вообще сломать котел:

Сделать качественный PID регулятор — задача непростая, тем интереснее понаблюдать, как эта функция реализована в POER. Смогу ли я сломать котел самыми низкими значениями PID?

Поскольку POER не умеет экспортировать логи для изучения, да и термодатчик у него довольно тормозной даже будучи вынутым за пределы корпуса термостата, то для создания статистики я использовал самодельный логгер на Arduino с записью на SD карту. В логгере использовался цифровой датчик BMP180, это самый быстрый датчик из тех, что я пробовал, и точность у него в диапазоне комнатных температур вполне достойная. Логгер стоял почти вплотную к POER, однако, у них есть небольшое расхождение показаний примерно на 0.45 градуса. Для наглядности графиков, я вычел эти 0.45 градусов из всех значений, записанных логгером. Оба прибора были установлены не менее чем в двух метрах от окон и дверей для минимизации сквозняков и прочих потоков холодного воздуха. Термостат был установлен на 21 градус во всех тестах, температура теплоносителя — 60 градусов, температура на улице в среднем — минус 7 градусов, радиаторы алюминиевые.

Разные настройки гистерезиса тестировались в хаотичном порядке, каждый в среднем по полсуток с несколькими включениями и выключениями котла, чтобы алгоритм PID имел время «научиться» на собственных ошибках (если он, конечно, вообще умеет это делать).

18.11.2023
17:00-1:12 H0.2 temp -13

19.11.2023
1:12-11:50 P0.2 temp -9
7:18-7:28 окно
11:50-21:00 P0.1 temp -5
21:00-6:00 P0.3 temp -7
21:40-21:50 окно

20.11.2023
6:00-6:10 окно
6:00-15:00 H0.1 temp -8
15:00-2:40 H0.3 temp -8

21.11.2033
2:40-6:25 P0.3 temp -8
6:25-6:35 окно
6:25-15:10 P0.4 temp -8

Дополнительная серия тестов для проверки.

1.12.2023
18:42 P0.5 temp -5

2.12.2023
6:40 P0.6 temp -5,-10
6:40-6:48 окно
17:35 P0.1 temp -10
17:35-14:42 окно

3.12.2023
7:00 P0.2 temp -8
окно 7:00-7:08
окно 18:37-18:49 temp -6
18:50 H0.1

4.12.2023
3:00 H0.2 temp -7
8:57-9:07 окно temp -8

Лог из программы PoerSmart не очень удобный, да и показаниям температуры в нем нельзя доверять из-за тормознутости термодатчика. К примеру, во время 10-минутного проветривания помещения BMP180 успевал зафиксировать падение температуры до 14-15 градусов, в то время как по мнению POER температура в доме ни разу не падала ниже 18.3 градуса. Но это «болезнь» практически всех термостатов и домашних метеостанций — датчики спрятаны внутри корпуса с плохой вентиляцией, кроме того, их часто специально делают очень инертными, чтобы цифры на экране не прыгали резко от каждого ветерка, поэтому они медленно реагируют на кратковременное резкое изменение температуры в помещении.  Но есть в PoerSmart функция, которой нет в моем логгере — лог из приложения позволяет с точностью до минуты выявлять время включения и выключения котла, чтобы вычислить время работы и время простоя в каждом режиме:

 

Ну а теперь лог с логгера, первый — с падением температуры во время проветривания, и второй — более детальный — без провалов.

Первая серия тестов.

Вторая серия тестов.

Теперь отдельно по каждой настройке. Режимы обозначены H01-H03 для гистерезиса 0.1-0.3, и P01-P06 для PID 0.1-0.6. REAL_H- реальный усредненный гистерезис температуры в комнате на основе данных с графика. Высокую точность всякими функциями типа Average я не вымерял, потому что понятно, что у всех датчиков своя погрешность, нам же достаточно знать примерное значение с точностью до 0.05 градуса. Не совсем типичные для режима значения, которые были в пределах 2-3 циклов нагрева после проветривания помещения, я, конечно, не учитывал. Чем меньше REAL_H, тем комфортнее будет жить в доме с этой настройкой, но при этом может увеличиться количество включений и выключений котла (в нормальной ситуации котел не должен включаться и выключаться каждые 5-10 минут). Ну и понятно, что данные значения индивидуальны для каждого дома и каждой отопительной системы, и даются просто для демонстрации особенностей работы термостата с разными настройками, а не как призыв бездумно ставить тот или иной режим на своем термостате. В некоторых случаях предлагаются две серии данных для одного и того же режима, потому что через пару недель после первого теста я проводил контрольный замер, поскольку результаты в некоторых режимах меня немного удивили.

H01 20.5-21.5 REAL_H=1.0
температура на улице = -7
работа= 25-30m, простой=1h10m
включение 20.9, выключение 21.1 (по термодатчику POER), 20.58-21.34 (по датчику логгера).

H01 20.65-21.6 REAL_H=0.95
температура на улице = -6
работа=25m, простой=1h25
включение 20.9, выключение 21.1 (по термодатчику POER), 20.88-21.28 (по датчику логгера).

H02 20.2-21.7 REAL_H=1.5 результат теста сомнительный, возможно повлияла более низкая температура на улице!
температура на улице = -9, -13
работа=35m, простой=1h35m
включение 20.8, выключение 21.2 (по термодатчику POER), 20.29-21.49 (по датчику логгера).

H02
20.55-21.6 REAL_H=1.05
температура на улице = -8
работа=29-34m, простой=1h15-1h25m
включение 20.8, выключение 21.2 (по термодатчику POER), 20.63-21.38 (по датчику логгера).

 

H03 20.1-21.7 REAL_H=1.6
температура на улице = -7
работа=45-50m, простой=1h25m
включение 20.7, выключение 21.3 (по термодатчику POER) 20.15-21.6 (по датчику логгера).

P01 20.5-21.5 REAL_H=1.0
температура на улице = -5
работа=30m простой=1h05m
включение 20.9, выключение 21.0 (по термодатчику POER)

P01 20.65-21.5 REAL_H=0.85
температура на улице = -9
работа=20-25m простой=1h10-1h15m
включение 20.9, выключение 21.0 (по термодатчику POER) 20.70-21.38 (по датчику логгера).

P02 20.45-21.4 REAL_H=0.95
температура на улице = -9
работа=25m простой=1h
включение 20.9, выключение 21.0 (по термодатчику POER)

P02 20.65-21.55 REAL_H=0.9
температура на улице = -7
работа=25m простой=1h15m-1h20m
включение 20.9, выключение 21.0 (по термодатчику POER) 20.79-21.35 (по датчику логгера).

P03 20.5-21.35 REAL_H=0.85 (проводил 2 теста)
температура на улице = -7
работа=25m простой=1h
включение 20.9, выключение 21.0 (по термодатчику POER)

P04 20.5-21.4 REAL_H=0.9
температура на улице = -8
работа=25m простой=1h
включение 20.9, выключение 21.0 (по термодатчику POER)

P05 20.7-21.55 REAL_H=0.85
температура на улице = -5,-10
работа=25m простой=1h20m-1h25m
включение 20.9, выключение 21.0 (по термодатчику POER) 20.80-21.28 (по датчику логгера).

P06 20.7-21.55 REAL_H=0.85
температура на улице = -10
работа=25m простой=1h20m-1h25m
включение 20.9, выключение 21.0 (по термодатчику POER) 20.85-21.20 (по датчику логгера).

Выводы.

Изменение значения PID от 0.1 до 0.6, похоже, в моем случае ни на что не влияет. Реальный гистерезис был от 0.85 до 1.0 градуса, что вполне можно считать в пределах погрешности (это же реальный дом, а не изолированный от всего конь в сферическом вакууме тестовый стенд). Очевидно, что любые настройки PID до 1.0 градуса будут показывать примерно один и тот же результат, а какие-то различия появятся только для значений PID больше 1.0. Во всех режимах PID от 0.1 до 0.6 котел работал около 25 минут и отдыхал примерно час-полтора (видимо, зависит от температуры на улице и количества открывания двери в холодное помещение). Очевидно, что моей системе отопления требуется не менее 20-25 минут, чтобы нагреть остывшие батареи и подогреть датчик температуры в Poer на 0.2 градуса (это минимальный гистерезис в POER), поэтому при нормальном использовании термостата у него просто не было возможности щелкать релюхой чаще этого временного интервала. Можно обмануть термостат и заставить его выключаться быстрее 25 минут, если установить его ближе к радиатору  (соответсвенно, он нагреется быстрее и выключится быстрее), но нормальные люди так не делают, потому что рядом с радиатором, конечно, будет тепло, а вот в противоположном углу помещения так и останется холодно. Поэтому термостат нужно ставить подальше от радиаторов. Конечно, если у вас вместо радиаторов какая-нибудь тепловая завеса, и Poer нагревается на 0.2 градуса за 1 минуту, а потом так же быстро остывает, то и термостат предсказуемо будет переключать реле каждую минуту — в этом случае низких значений гистерезиса точно стоит остерегаться.

Есть ли смысл использовать PID со значениями меньше 1.0 в системе отопления с радиаторами — я смысла не вижу. Те же результаты термостат более стабильно выдает в режиме H0.1 (в режимах PID термостат иногда немного чудит после проветривания, но не критично, в пределах 0.2 градуса). Я же остановил свой выбор на режиме H0.2. В моем случае это 30 минут работы котла, 1ч20м простоя при колебании температуры в комнате около 1 градуса и наружней температуре -8 градусов.

Вообще, все это, конечно, индивидуально. Если вы не знаете, что ставить, ставьте H02 для приемлемого комфорта и экономии газа или H01 для максимального комфорта и, возможно, чуть больших затрат на газ и менее щадяшего режима использования котла (более частые включения и выключения, особенно если часто открываете окна или двери в холодные помещения). В любом случае, я не заметил ситуаций, когда термостат включал бы и выключал котел каждые пять минут даже с самыми низкими значениями гистерезиса и PID, поэтому никакие настройки этого термостата не смогли угробить мой котел вопреки обещаниям производителя. Но в редких ситуациях, когда система отопления мгновенно нагревает помещение, вполне возможно добиться слишком частого переключения реле. В этом несложно убедиться — просто чередуйте нагрев и охлаждение (например дуйте на термодатчик, а потом высовывайте в окно на мороз), и термостат без проблем будет переключаться туда-обратно несколько раз в минуту. Хотя в реальности, конечно, никто так не делает, но все же защиты от дурака здесь нет, забывать об этом не стоит, поэтому если в доме живут люди с непредсказуемым поведением, может и правда не следует ставить слишком уж низкие значения гистерезиса, особенно если активирована функция PID 🙂

Для гиков и фанатиков прилагаю оригинальный лог для изучения (3 столбик — значения с BMP180 как есть, 4-й столбик — значения уменьшины на 0.45, что более похоже на показания, которые выдает мой экземпляр POER).

4 комментария POER термостат — тестирование новой функции PID

  • Алексей

    Здравствуйте, такая проблема котел протерм пантера 25ктв (двухконтурный) 3 контура теплого пола (кухня, ванная, прихожая), зал-кухня 20 секций+теплый пол (алюминиевый радиатор Indigo 2.0 Royal Thermo), спальня-15 секций (19,45 кв.), спальня -15 секций (17,70 кв.), гардеробная 6-секций (8,30 кв.).
    Проблемы такая котел какое-то время работает четко по термостату 22 включения 23 выключения, температура теплоносителя 55 градусов. Через некоторое время 2-3 дня, температура на датчике 22,5 котел набирает 60 градусов теплоносителя и выключается, через 20 минут снова включается, опять набирает 60 градусов и выключается, термодатчик показывает 22,5. Дом в Астрахани, термодатчик другой не как у вас.

    • Tol

      Обычное явление, если мощность котла с запасом (недостаточно батарей для теплосъема), а так же в не очень холодные дни. Температура теплоносителя, очевидно, установлена на 60 градусов, по достижении этой температуры котел перестет греть и ждет, пока теплоноситель остынет, потом снова начинает греть, и так до тех пор, пока термостат не отключит нагрев.

  • Алексей

    И как решить эту проблему ?

    • Tol

      Обычно программно уменьшают мощность котла (если есть такая функция). На некоторых котлах можно уменьшить максимальное давление газа на жиклере, но тогда и ГВС будет медленнее и меньше греть. Если вышеперечисленное не вариант, можно увеличить количество секций батарей. Если есть термоголовки — избавиться от них хотя бы на половине батарей (очень узкий там проток, теплоноситель быстро перегревается, не имея возможность достаточно отдавать тепло батареям). Наименее эффективный способ — поднять температуру теплоносителя, тактовать котел не перестанет, но будет делать это реже и отключится быстрее за счет более быстрого нагрева помещения. Минус этого варианта — более быстрое разложение гликолей при высоком нагреве (если они используются), и о батареи с температурой 70-80 градусов можно обжечься. Весной бороться с тактованием вообще нет смысла, так как при температуре больше нуля потребность в отоплении заведомо ниже мощности любого котла, рассчитанного на -30 градусов. В общем, большинство людей просто не обращают на это внимание. Со временем придется перепаять реле на плате управления, у них ресурс 100 тысяч операций, этого как раз на 5-6 лет регулярного использования котла хватает. Попытки уменьшить тактование лишь отсрачивают момент ремонта, при идеальных настройках современные котлы вполне могут проработать лет 10 без ремонта, а потом уже надо смотреть, что дешевле, делать капитальный ремонт или сразу купить новый, потому что стоимость некоторых отдельных запчастей вполе может в сумме выйти дороже нового котла в сборе, такая нынче политика производителей…

Leave a Reply