Однажды зимним утром я проснулся от того, что мне было неприемлемо зябко. «Никогда такого не было!», — подумал лентяй во мне. «И вот опять!», — ответил ему потребитель — «Тыжинженер!». Да, моему котлу в доме уже около 7 лет и все это время он был недоразвитым, а домочадцы постоянно подкручивали температуру теплоносителя, если им было жарко или холодно. В этот день я решил, что пора потратить свой досуг на решение этой задачи, а именно регулирование котла по температуре воздуха в помещении. Кому это близко прошу под кат.

Для начала, я, «как инженер», проанализировал рынок на предмет приобретения готового решения. Бошевских регуляторов в доступе не нашел или были варианты «привезем с Марса к 1 июня после 16–00». Альтернативные универсальные решения типа Zont по стоимости от 20 тыр, как будто, уже привезены с Марса. Тут включился жадина со своим «тыжинженер». Ну что же, автоботы инженеры, вперед!

Анализ решений в комьюнити DIY привел к довольно зрелым решениям на базе прошивки Tasmota библиотеки Opentherm (автор yurysannikov ) Котел Bosch 6000 имеет возможность подключения внешнего термостата по протоколу Opentherm, который позволяет плавно регулировать работу котла. В составе tasmota есть готовая библиотека Opentherm, которая позволяет управлять базовыми/обязательными (по спецификации) параметрами моего котла, а именно, включением/отключением режимов внешнего управления горячей водой и отоплением, а также установкой их температур. Но, данная библиотека не входит в состав уже скомпилированных бинарников, представленных на сайте. Поэтому компилировать пришлось самому. В конце статьи выложу свой bin с включенными библиотеками openterm и display для своего контроллера. Подойдет для всех esp8266. В platformio использовалась board=esp8266_4M2M. Как прошивать esp8266 описывать не буду, на Хабре это уже есть.

С ПО разобрались и это уже похоже на план, но вот котел имеет аппаратный интерфейс, работающий с напряжениями до 15В, а это не норм для ESP, у которой 3,3В питание. Требуется устройство согласования. Как минимум две версии такого решения и устройства уже имеются в интернете. Я выбрал то, что построено на одном транзисторе, но покупать или заказывать с Марса в очередной раз не стал и спаял его сам.

Источник изображения схемы из проекта библиотеки и адаптера Игоря Мельника.

Далее, как писали еще в прошлом веке в журнале «Радио», «правильно собранное устройство в регулировке и наладке не нуждается», поэтому я потратил день на его наладку. А история житейская... Я пришел в магазин и попросил нужный транзистор. Мне сказали такого нет, я прямо у кассы подобрал в интернете аналог — КТ3107 и мне его продали в пакетике. После полдня мучений я был на пороге вывода, что он не исправен, но вдруг заметил, что мне продали другой транзистор. Радостный, что нашел причину, полез в интернет, но с горечью понял, что он полный аналог по характеристикам. Еще полдня мучений и я заметил, что он не полный аналог по цоколевке (рука‑лицо). В итоге ‑...не нуждается.

Отлично, контроллер прошит и настроен по пинам.

Специально оставил имя автора прошивки Theo Arends, сделавшего процесс использования ESP контроллеров доступным для «домохозяев».

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

Вот мой Франкенштейн.

Если все шаги выполнены без ошибок, то в консоли веб‑интерфейса Тасмоты, при старте, мы видим обмен с котлом. Не стоит пугаться сообщение типа «команда OT19 неизвестна». Библиотека OT при инициализации посылает несколько команд для проверки их поддержки котлом. При трех неудачах она их помечает как не поддерживаемые.

Чтобы убедиться, что все работает можно прямо из консоли дать команду котлу:

ot_ch 1 включить управление отоплением;

ot_tboiler=60 установить температуру теплоносителя;

ot_dhw 1 включить управление горячей водой;

ot_twater=45 установить температуру горячей воды.

Если данные команды отрабатывают, переходим к следующему шагу, если нет, то как в журнале «Радио»...

Далее начинается волшебство, за которое, судя по всему, производители регуляторов и просят 20 тыр, потому что всё, что мы до этого сделали или купили не стоит больше 1000р.

Мы с Вами пишем математику PID регулятора.

  1. dT = (Тжелаемая - Тв помещении фактическая)

  2. Tнакопительная = Tнакопительная предыдущая + K интегральный * dT * dt

  3. Tпропорциональности = Kпропорциональности * dT

  4. Tтеплоносителя = Tпропорциональности + Tнакопительная

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

Следует пояснить как работает данный регулятор.

При старте, когда ошибка рассогласования уставки и фактической температуры регулируемого параметра (воздуха) максимальны, на котел воздействие оказывает расчет Tпропорциональности, а накопительный находится в районе 0. Постепенно воздействие на котел приводит к изменению температуры воздуха в сторону уставки. Ошибка уменьшается и Tпропорциональности стремится к 0. В это время Tнакопительная уже накопила нужное значение для воздействия на котел, и ее прирост из‑за dT = 0 прекращается. Система нашла свой баланс и дальнейшие колебания становятся малозначительными. Котел работает в экономичном режиме, восполняя только утечки тепла из дома. Кто водит машину, тот знает зависимость расхода топлива от характера вождения.

K пропорциональности = 40; У него есть физический смысл — это соотношение между диапазонами измеренного параметра и воздействия. В моем случае разброс температур в помещении принят 22,5–23,5=1 градус, а разброс воздействий на теплоноситель 80–40=40 градусов. Соответственно, соотносятся диапазоны как 40 к 1.

Kинтегральный = 0.02; Этот параметр тоже имеет смысл — он компенсирует статическую ошибку, и в его значении учтена константа dt. Если бы этого параметра не было, то при некоторых условиях мы не смогли бы достичь требуемого значения, как в задаче «придет ли к финишу лягушка, длина прыжка которой уменьшается в два раза с каждым следующим прыжком». Понятно, что имеются условия, при которых лягушка может финишировать первым прыжком, а значит ответ зависит от его длины. У нас этот прыжок 40*1 (dT) и с приближением стремиться к 0. Начальный расчет Ки можно сделать из исходных параметров. К примеру, мы принимаем, что дом прогреется на 1 градус за два часа, соответственно, мы сделаем 2*60*60секунд измерений и расчетов. Тнакопительная будет копиться по арифметической прогрессии как Ки*dT, где dT от 1 до 0. Сумма членов прогрессии будет как произведение значения среднего члена прогрессии на число ее членов. Получается мы накопим 3600, а нам желательно остаться в среднем значении возможностей котла, к примеру, температура теплоносителя 60 градусов. Напоминаю, что в конце весь вес расчета уставки теплоносителя ложится на Тнакопительная, значит нам надо уменьшить скорость накопления в Ки = 60/3600 =0,016 раз.

Что касается погодного регулирования, то лично мое мнение, это маркетинг. При согласованной мощности системы отопления с теплопотерями дома регулирование температуры воздуха в помещении подерживается тем же принципом воздействий на котел. Для систем со слабой системой отопления вопрос частично решается предсказанием теплопотерь по снижению температуры на улице. В данном решении, вам просто надо корректировать крутизну характеристики PI регулятора, а именно K пропорциональности 70, К интегральный 0.04. Это несомненно характеристика вашего дома и цифры ориентировочные, поэтому производители предлагают по несколько кривых, т. е. таких пар можно иметь несколько (нормальный режим, средний и форсированный). Но, к гадалке не ходи, при несогласованности мощности всё упрется в потолок котла 75–80 градусов теплоносителя.

Теорию рассмотрели, приступаем к практике. Тасмота имеет механизм выполнения действий по событиям, реализованный через правила, вводимые в консоль. Вы можете просто вставить этот текст. Лучше каждое правило (rule) по отдельности.

Rule1 
ON System#Init DO Backlog Mem1=40; Mem2=0.02; Mem3=40; Mem4=77; Mem5=22.5; Mem6=45 ENDON 
ON System#Init DO Var1=Mem7 ENDON 
ON System#Init DO displaytext [zds1l1c1pp19] Tnow Tset  ENDON 
ON System#Boot DO ot_ch 1 ENDON 
ON System#Boot DO ot_dhw 1 ENDON 
ON System#Boot DO ot_twater 45 ENDON 
ON System#Boot DO RuleTimer1 10 ENDON 
ON mqtt#connected DO Subscribe TempHumid, tele/WIFi-TermHumid/SENSOR, AM2301.Temperature ENDON 
ON mqtt#connected DO publish tele/%topic%/SetTemp %mem5% ENDON 
ON mqtt#connected DO publish tele/%topic%/Var11 %Var11% ENDON 
ON mqtt#connected DO publish tele/%topic%/Var1 %Var1% ENDON

Rule2 
ON event#TempHumid DO backlog Var10=%value%; RuleTimer1 10; Var11=1; event Calc ENDON 
ON DS18B20#TEMPERATURE DO Var2=%value%-4 ENDON 
ON Rules#Timer=1 DO backlog RuleTimer1 10; Var10=Var2; Var11=2; event Calc ENDON 
ON event#Calc DO Var1=Var1+(Mem5-Var10)Mem2Var11 ENDON 
ON event#Calc DO Var4=(Mem5-Var10)*Mem1 ENDON 
ON event#Calc DO Var3=Var4+Var1 ENDON 
ON Var3#State<40 DO Var3=40 ENDON 
ON Var3#State>80 DO Var3=80 ENDON 
ON Var3#State DO displaytext [ds1l2c1pp5] %Var10% ENDON 
ON Var3#State DO displaytext [ds1l2c7pp5] %Mem5% ENDON 
ON Var3#State DO displaytext [ds1l3c1pp5] %Var3% ENDON 
ON Var3#State DO displaytext [ds1l4c1pp5] %Var4% ENDON 
ON Var3#State DO displaytext [ds1l4c7pp7] %Var1% ENDON 
ON Var3#State DO displaytext [ds1l5c1tS] %uptime% ENDON 
ON Var3#State DO ot_tboiler %Var3% ENDON 
ON mem5#State DO publish tele/%topic%/SetTemp %mem5% ENDON 
ON Time#Minute|10 DO publish tele/%topic%/Var11 %Var11% ENDON 
ON Time#Minute|10 DO publish tele/%topic%/Var1 %Var1% ENDON 
ON Time#Minute|10 DO Mem7=Var1 ENDON

В Rule1 сгруппированы события и действия, выполняемые при старте и нештатных ситуациях. В Rule2 непосредственно, то что выполняется в цикле расчета. Правила сразу не заработают. Их надо включить командами консоли, введя Rule1 1 ввод и Rule2 1 ввод. По параметрам: mem хранятся во флэше, var теряются при перезагрузке.

mem1 — К пропорциональности

mem2 — К интегральный

mem3 — Минимальная температура теплоносителя

mem4 — Максимальная температура теплоносителя (важно, что она не может быть больше той, что введена с панели котла)

mem5 — уставка температуры воздуха в помещении

mem6 — уставка температуры горячей воды

mem7 — сохранение Тнакопительная во флэш каждые 10 минут на случай нештатного рестарта.

var1 — Тнакопительная

var2 — Температура, измеренная локальным датчиком

var3 — Tтеплоносителя расчетная, и отправляемая в котел

var4 — Tпропорциональности

var10 — Температура, полученная с любого датчика по MQTT

var11 — Флаг используемого датчика: 2-локальный, 1-MQTT

Правила имеют избыточность, но даже если у Вас не будет MQTT датчика или дисплея они будут работать. Первые 10 секунд будет ожидаться приход температуры с MQTT. Если за 10 секунд не поступило, то в расчет входит термометр, подключенный к контроллеру напрямую. Далее идет расчёт, нормирование, отправка в котел и вывод на дисплей и в MQTT.

График изменения температуры из HomeAssistant, включая период ночи и прогрев комнаты через окна днем.На графике в начале видно, что отключался удаленный датчик. Я выключал и переносил его из комнаты в комнату.

График изменения температуры теплоносителя в тот же период времени. Видно, как днем «проседает», а ночью сам «наваливает», позволяя спать «тыжинженеру».

На этом всё! Всем тепла!

Tasmota firmware_OT_displ.bin

Комментарии (65)


  1. INSTE
    00.00.0000 00:00
    -2

    А решается все на самом деле установкой термоголовок на каждую батарею.


    1. shadovv76 Автор
      00.00.0000 00:00
      +4

      Если, требуется регулировать температуру возле батарей, то это решение.


      1. INSTE
        00.00.0000 00:00
        +1

        Есть выносные (до 2 метров) термоэлементы, причем на капиллярных трубках (полная автоматика без электроники).


        1. vbifkol
          00.00.0000 00:00
          +3

          Прям представил себе, что в центр зала от батареи тянется трубка на уровне груди человека. В принципе, наверное, можно и так, но как-то это странно.


          1. INSTE
            00.00.0000 00:00
            +1

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


            1. vbifkol
              00.00.0000 00:00

              Батарея находится обычно под окном и/или у балконной двери. Я как-то провел замеры, комната 18м2, на улице -20, температура теплоносителя 80, начальная температура воздуха в комнате 22 градуса. Приоткрываем балкон в режиме проветривания, через 10 минут на ближнем к окну куске батареи 5 градусов, на дальнем, где термостат - 15 градусов, на уровне груди в метре от двери - 21 градус. Кстати, тогда же я понял что дискретно рулить медными батареями с водой в качестве теплоносителя нельзя - шансы что они замерзнут за 5 минут нифига не нулевые.


              1. BigBeaver
                00.00.0000 00:00

                Так у меня однажды подводящий шланг к посудомойке замерз.


              1. INSTE
                00.00.0000 00:00

                Кто же мешает поставить термостат на ближайший угол к окну?
                Хотя, даже +15 уже 100% дискретно включат батарею, и ничего не произойдет.


                1. vbifkol
                  00.00.0000 00:00

                  Кто же мешает поставить термостат на ближайший угол к окну?

                  Да никто не мешает. Батарея будет греться когда в комнате и так жарко.

                  Хотя, даже +15 уже 100% дискретно включат батарею, и ничего не произойдет.

                  Именно, желающий оперативно немного охладить комнату проветриванием просто не сможет это сделать. Кажется, это не очень правильный результат.


  1. Dimsml
    00.00.0000 00:00

    Возникают вопросы:

    1) Я правильно понимаю, что в сам котёл никаких изменений не вносилось?

    2) Есть ли у этого протокола железная защита от дурака? Статическое электричество, внезапно прилетающие 220 вольт, молнии, вот это всё?

    3) У микроконтроллера есть всякие штуки типа hardware watchdog, которые его перезагрузят или остановят если он повиснет или уйдёт в циклический презагруз?

    4) Собственно что сделает котёл если ему ВНЕЗАПНО придёт задание раскочегариться на максимум или мусор, просто выполнит то, что ему понравится или откажется?


    1. shadovv76 Автор
      00.00.0000 00:00
      +6

      1. Правильно поняли

      2. Защита есть у котла, нельзя поставить температуру выше установленной с панели котла. Насчёт молний отвечу стандартно котёл должен иметь заземление и это к автоматизации отношения не имеет. 220 В через плату управления прилететь не может потому что используется блок питания с трансформаторной развязкой как стандартные для обычных телефонов с микро USB шнуром.

      3. Watchdog есть, детали можно посмотреть на сайте tasmota. На фотках с экраном видно в правом нижнем углу Uptime. Это больше для пользователей если не доверяем автоматике

      4. Выполняет все задания которые ему направлены в соответствии со спецификацией протокола, при этом, не выходят за границы определённых с панели параметров. Выдачу мусора в шину только теоретически можно предположить, что же касается прикладной части то перед выдачей команды котлу, идёт нормирование по минимальной температуре и максимальной


      1. Dimsml
        00.00.0000 00:00
        +1

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


        1. shadovv76 Автор
          00.00.0000 00:00
          +1

          Несомненно я согласен, что вмешательство в конструкцию котла недопустимо.


        1. randomsimplenumber
          00.00.0000 00:00
          +3

          В протоколе opentherm есть и достаточно низкоуровневые команды. Но, как правило, котел поддерживает небольшое подмножество; то, что можно сделать с его панели управления. Напрямую управлять клапанами не получится. И нагреть воду до 150 градусов тоже.


      1. Chupaka
        00.00.0000 00:00
        +2

        Добавлю ещё по второму пункту, что в схеме адаптера есть гальваническая развязка на оптопарах, так что электрика esp8266 и провода в сторону котла напрямую никак не связаны.

        Ещё как минимум у Бош в требованиях стоит потребление питания термостата непосредственно от линии OpenTherm, но там и токи маленькие (не уверен даже, что на wifi у esp хватит), и с понижением напряжения надо что-то придумывать...

        А по четвёртому — вы задаёте котлу всё то же, что и с панели на нём. Выставили температуру воды в N градусов — и его мозги уже сами включают внутренние алгоритмы PID для управления мощностью горелки для достижения поставленного результата.


        1. YDR
          00.00.0000 00:00

          скорее всего, будет 2 контура ПИД,

          внутренний, управление мощностью горелки в зависимости от температуры теплоносителя

          внешний, управление температурой теплоносителя от температуры в доме.


          1. Chupaka
            00.00.0000 00:00

            Ну, технически так и будет. Тут посыл был в том, что котёл не будет входить в какие-то критические режимы, в которые нельзя его ввести простым нажиманием кнопочек на нём.


  1. Babaka-BY
    00.00.0000 00:00
    +2

    Вот тоже хороший проект из этой темы:
    https://github.com/emsesp/EMS-ESP32


    1. shadovv76 Автор
      00.00.0000 00:00
      +1

      Да, мне попадались на глаза реализации платы согласования на операционных усилителях, но на одном транзисторе решение мне показалось более изящным и надёжным. По Tasmota мне также было уже знакомо, Я перешивал на неё ранее свои бриджи Sonoff


  1. markoni
    00.00.0000 00:00
    +1

    Разве, что в доме 1-2 комнаты. Иначе, регулировка температуры котлом - такое себе. Плюс, вполне естественно задавать разную температуру для разных помещений. Соотвтственно - термоголовки на каждый радиатор, управляемые по показаниям внешних датчиков (чтобы не возле батарей, как заметил автор).


    1. shadovv76 Автор
      00.00.0000 00:00
      +3

      У всех разные условия, где-то это решение оптимально, но если у вас 16 батарей и есть комната размером 75 квадратных метров то температура около батареи будет отличаться от температуры в 5 м от неё. Установка терморегуляторов на батареях не меняет режим работы котла мин/макс, мало того, малый отбор тепла с зажатых батарей будет приводить к тому. что котёл будет переключаться ещё чаще. Как минимум. при каждом новом поджиге часть несгоревшего газа будет выдуваться вместе с дымовыми газами. В котлах, типа моего, присутствует возможность модулирования пламени горелки, что позволяет ему, когда температура уже близко к целевой не отключать котёл, а уменьшать объем подаваемого газа и как следствие тепла в отопительный контур.


      1. markoni
        00.00.0000 00:00

        Все это замечательно, но по моему мнению - самый большой минус - отсутствие возможности регулировки температуры в каждом помещении отдельно.
        У меня стоят термоголовки на каждом радиаторе, и регулируются по внешним датчикам температуры в соответствующем помещении (т.е. - по реальной температуре). Отдельно есть сценарий, когда все головки закрыты - котел отключается через стандартный интерфейс котла для термостата.
        Ну а с малым отбором тепла при зажатых термоголовках - так и теплоноситель медленнее остывает. Так что, вряд ли котел переключается чаще. А с расходом газа на включениях - я не настолько Грета Тунберг :)


        1. shadovv76 Автор
          00.00.0000 00:00
          +3

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

          без регулятора:

          "Ну а с малым отбором тепла при зажатых термоголовках - так и теплоноситель медленнее остывает " - все верно теплоноситель остывает медленно и теплосъема с горелки нет и котел выключает газ из-за перегрева выше установленной максимальной температуры теплоносителя. Насос продолжает гонять перегретый теплоноситель мимо радиаторов. Совершая нулевую полезную работу(не отдавая тепло), но тратя даже больше энергии, чем через трубу большего сечения(при открытых радиаторах).


        1. YDR
          00.00.0000 00:00

          термоголовки вручную регулируются?


          1. markoni
            00.00.0000 00:00
            +1

            Home Assistant, термоголовки c zigbee. Все автоматически, исходя из устанавливаемой целевой, и фактической температуры.


            1. YDR
              00.00.0000 00:00

              а стоимость?


              1. markoni
                00.00.0000 00:00
                +1

                Сами термоголовки - около 20-22$ были, когда покупал.


  1. Telmah
    00.00.0000 00:00

    Жаль что такое не работает для тёплых полов из за их инертности


    1. shadovv76 Автор
      00.00.0000 00:00
      +1

      В тёплых полах также будет работать не вижу каких-то фундаментальных ограничений. Инерционность учитывается в К интегральный. Есть ли у вас источник питания, который может сжечь полы, то он может преодолеть любую инерционность, при условии, что ваш пол будет успевать впитывать тепло подаваемое на кабель. Правда, мне неизвестно используют ли тёплые полы протокол Opentherm.


      1. dragonnur
        00.00.0000 00:00

        А водяные тёплые полы?


        1. shadovv76 Автор
          00.00.0000 00:00

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


    1. Popadanec
      00.00.0000 00:00
      +1

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


      1. Telmah
        00.00.0000 00:00

        У вас температура подачи в пол не регулируется напрямую котлом. Терморегутор с системой подмеса штука хорошая, но не очень экономная

        у меня котёл управляется погодным датчиком, и напрямую греет полы. Но из за инертности пола температура подачи и обратки при больших перепадах температуры на улице иногда реагирует медлено и как результат иногда провалы или пики тепературы плюс минус градус. Зануда я, да


        1. Popadanec
          00.00.0000 00:00

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


          1. Telmah
            00.00.0000 00:00

            ну тёплый пол больше 30 вообюще редко кушает (когда на улице -5 -10). он даже на ошупь не должен быть тёплым - он просто не должен быть холодным. ну за исключением санузлов. а вот с температурой горячей воды - надо смотреть нормы - горячей ее делают в том числе чтобы в бойлере не заводились бактерии


            1. Popadanec
              00.00.0000 00:00

              У меня газовый двухконтурный проточный котёл. Потому не актуально.


              1. Telmah
                00.00.0000 00:00

                актуально. там тоже есть накопитель - просто небольшой


                1. Popadanec
                  00.00.0000 00:00
                  +1

                  Это аккумулятор давления для системы обогрева. Он никак не связан с нагревом воды для крана.


          1. aumi13
            00.00.0000 00:00

            температура воды, что то около 40 градусов.

            советую ознакомица - https://www.who.int/ru/news-room/fact-sheets/detail/legionellosis


            1. Popadanec
              00.00.0000 00:00

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


              1. YDR
                00.00.0000 00:00

                она будет копить голод.

                Лучше все-таки поднять температуру.


                1. Popadanec
                  00.00.0000 00:00

                  Ерунду не несите. Условий для её размножения и накопления нет. Ей даже накапливаться негде, т.к. система горячей воды, полностью проточная, застоя не бывает.
                  Единственный вариант, это если она массово попрёт из скважины(а там вода даже летом 5-10 градусов), и то, выставленная температура в 60 градусов на котле не поможет. Потому что 5-10 литров успевает проскочить холодными.


    1. ZHNovell
      00.00.0000 00:00

      У меня похожая система аппаратно, программно немного другая- немного расширеная на основе Diyless, датчик температуры DS18b20 стоит в комнате где только батареи (У меня 2 комнаты на батареях и 3 комнаты+корридоры+ванна+кухня+прихожая только на теплых полах или смешанные) в комнатах где теплые полы водяные стоят свои термостаты которые управляют сервоприводами каждой зоной водяных теплых полов. Коллектор теплых полов по стандартной схеме: 3х ходовой клапан, байпас, каждый контур на сервоприводе. подача ТП соеденина с подачей на батареи, обратка так же с обраткой но с обратным клапаном. Ну за 2 года ситуации что в комнатах с батареями стало жарко и котел вырубился, а ТП стало не хватать температуры и в тех комнатах стало холодно не возникало. Может быть по тому что изначально удачно был сделан расчет и система отбалансирована.


  1. neo_neo
    00.00.0000 00:00

    я в старую стиралку воткнул Arduino Uno с релюшками,дисплеем и кнопками,вот это зрелище было,там была функция "Космос" и я хотел ее вклюить перед покупкой новой,но так пока не купил.


    1. shadovv76 Автор
      00.00.0000 00:00
      +1

      Почему бы и нет. Алгоритмы стиралки ещё проще и очевидней. Они все имеют позиционный принцип вкл/выкл. Единственный ПИД-регулятор, который там может быть, это нагрев воды


      1. sim2q
        00.00.0000 00:00
        +3

        Алгоритмы стиралки ещё проще и очевидней.

        А вы про какие машины?
        А то даже в "простой" к примеру есть интересное, типа определения загрузки по току и ускорению барабана под разными углами. Так-то был где-то GNU проект open-стиралки, но давно не интересовался. Читаю ремонтёров немного и оттуда почерпнул.


        1. shadovv76 Автор
          00.00.0000 00:00
          +1

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

          " Алгоритмы стиралки ещё проще и очевидней" - не имело целью обидеть автоматизаторов стиралок :)


      1. Yuri0128
        00.00.0000 00:00
        +2

        ПИД там на моторе. На нагреве обычно нет, просто "догрев до темпертуры на максимуме".


        1. shadovv76 Автор
          00.00.0000 00:00

          да согласен. чтобы как с Иранскими центрифугами не было.


        1. BigBeaver
          00.00.0000 00:00

          Это если не инвертерный.


    1. Crazy_Pit
      00.00.0000 00:00

      А можете рассказать поподробней про режимы стирки. Где брали и/или на чём основывали алгоритмы стирки вещей.


      1. lorc
        00.00.0000 00:00
        +1

        А вы погуглите изображения по запросу "циклограмма стиральной машины". В интернете все есть :)


  1. Be1erafon
    00.00.0000 00:00

    Делал подобное что то, года 3 работает по mqtt, сделал базовый функционал думал что то еще добавить, но так руки и не дошли.


  1. Crazy_Pit
    00.00.0000 00:00

    Делал управление по openterm на прошивке Tasmota . Не понравилось, что температура которая устанавливается через интерфейс после переключения на "ручной" режим не сохраняется. Пришёл к выводу что надо тупо "нажимать" кнопки. То есть припаиваться к кнопкам котла и так им управлять, но делать это не стал тк это газовый котел, а там всякие документы и всякие "газовики" не обрадуются моим экспериментам. котел Buderus Logamax U072-24K.


  1. Abyss777
    00.00.0000 00:00

    Сделал и работает примерно такое-же решение, только котёл тупой и управление сухими контактами ВКЛ/ВЫКЛ. Немного подправил Sonoff чтоб 220 с реле убрать, и второй датчик температуры добавил, на батарею.

    Без ПИД-регулятора, просто порогами. Колебания днём 0,6 а ночью 0,8 градуса.
    Да, одной из основных целей были разные температуры днём и ночью, когда прохладнее лучше спится.

    ESP максимально автономная, потому что когда делал был хреновый интернет.
    Всё льётся в majordomo. На нём же телеграмм бот, с интерфейсом для домочадцев. Сделать похолоднее или потеплее, либо принудительно включить на полчаса. Но по факту все настройки задаются GET запросами, в случае чего просто через браузер. Но на самом деле ни разу не пригождалось, как изначально выставили комфортную температуру так два года и стоит.
    Единственное, в морозы температуру теплоносителя поднимаем, иначе не может догреть до нужной температуры воздуха.


  1. Yak52
    00.00.0000 00:00
    +1

    Вот мой Франкенштейн.

    Вот тут еще надо подумать кто здесь Франкенштейн ))


  1. awoland
    00.00.0000 00:00
    +1

    Существуют штатные термостаты производства Bosh для установки на эти котлы. Версии для котлов с EMS2 имеют даже возможность подключения внешнего уличного датчика температуры.


    1. shadovv76 Автор
      00.00.0000 00:00
      +2

      я это упомянул в первичном анализе. проблема с доступностью в разумные сроки. стоимость это отдельная тема. Как можно увидеть термостат повязан с MQTT сервером. За сервером HomeAssistant. Мне не требуется датчик температуры на улице Home Assistant может брать температуру как текущую и даже из прогноза и менять Кп и Ки в ПИД-регуляторе термостата. Такое может потребоваться пару раз за зиму, когда сменяются фронты циклонов и перепады день/ночь больше 10 градусов. В моем регионе это где-то так. А вот изменение условий день ночь хоть и не такие резкие но зато каждый день, игнорировать трудно.


  1. NiCOOLaS
    00.00.0000 00:00

    Актуально)

    Аккумулятор на фото как подключен к esp ? Играет роль мини ups только для платы ?


    1. shadovv76 Автор
      00.00.0000 00:00

      Питает только контроллер. В принципе, избыточно. При перезагрузке контроллер подхватывает сохранённые параметры.

      Используется зарядник на базе SM5401. За ним последовательный повышающий на базе МТ3608. Смешение входного питания и после повышающего выполнено через два диода. Такая схема питания потребовал ась потому что не устроила стабильность питания. Решил что не хватает напряжения, при переключении на аккумулятор. Напряжение от аккумулятора падало до 4.2 В. Установил повышающий потому что на плате ESP с обратной стороны (на фото не видно) распаян AMS1117. Два диода потребовались в связи с тем, что иногда при переключение заряда на работу от аккумулятора происходил сброс контроллера.

      Пробовал использовать обычные павер банке. Те что размером в толстый палец. Но два из трёх таких павер банков оказалось не имеют повышающего и выдают на выход 4,2 В. Один павер банк выдавал 5 В аккумулятора, но точно также при переходе из режима заряда на питание от аккумулятора сбрасывал кратковременно питание.

      Это проблема попила моей кровушки


  1. shadovv76 Автор
    00.00.0000 00:00

    ответ


  1. yurysannikov
    00.00.0000 00:00
    +2

    Как автор интеграции и как человек, который несколько раз отморозил зад оставался зимой без отопления, хочу предупредить о следующем:

    • после 3-4 лет работы большинство моих железок с ESP8266 либо умирают, либо работают очень не стабильно. Относительно живучими оказались контроллеры на Sonoff 4ch Pro. Один пришлось раскирпичивать, видимо, после близкого удара молнии.

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

    • Так-же, если Ваше устройство повиснет, котел с большой долей вероятности уйдет в ошибку. Не помогает даже EnableCentralHeatingOnDiagnostics или CHOD, настройка, которая должна влкючать котел по замыканию контактов внешнего термостата. Внешний механический термостат стоит в качестве резерва, если в автоматизации что-то пойдет не так. У некоторых ребят вылечивалось командой BLOR но не у меня. Нужно было передергивать питание котла.

    В итоге, я приколхозил два реле задержки времени (что-то вроде PCS-516) и тазмотой сбрасывал первое. В случае неполадки тазмоты, первое реле выключало питание и тазмоте и котел. Через некоторое время второе реле задержки подавало питание на котел (но не на тазмоту), что приводило к включению котла в нормальном режиме и управлению по температуре от внешних механических датчиков температуры.

    Уже чувствуйте боль? ;)

    В моем новом доме нет больше никаких ESP. Никакого ВайФай. Управление идет только через ПЛК ОВЕН. Каналы обмена RS485 на 9600 бод. Датчики только 0-10В или 4-20мА. Котел не управляется, только опрашивается через сухие контакты. Котел работает по датчику внешней температуры, покомнатная регуляция через нормально открытые термоклапана на гребенке. Все так-же стоит WatchDog на реле задержки времени. Отстреливает всю автоматизацию по питанию в случае чего. Для чего все реле управления циркуляционными насосами подключены в нормально закрытом состоянии а термоголовки нормально открытые. Тот-же эффект при отказе блока питания автоматики. Линии питания, автоматы и ИБП на котлы/насосы и автоматику тоже разные.

    Температура покомнатно управляется через Google Nest (американская версия, которая на 24 вольта AC) Показали себя довольно надежно. Так-же, есть аварийные механические термостаты, которые сразу отстреливают всю автоматику и переводят систему в безопасный режим.

    Со второй системой проблем не было!


    1. shadovv76 Автор
      00.00.0000 00:00
      +1

      Подробный комментарий, спасибо, в том числе за библиотеку! Добавлю в статью.

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

      1. Софт библиотеки.

      2. Софт Tasmota (watchdog).

      3. Какую схему согласования вы использовали? В текущий есть развязка оптопарами и нет реактивных элементов.

      4. Поведение котла.

      У меня Home Assistant отслеживает активность устройства, если просто зависнет, то и по протоколу MQTT перестанут поступать сообщения.

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


      1. yurysannikov
        00.00.0000 00:00

        К моему стыду, корень проблемы я не нашел. Точно не проблема в софте или в котле. По моим наблюдениям проблемы две: Со временем, начинает менее стабильно работать WiFi тракт. При чем эта проблема больше наблюдается у ESP8266 в виде сборки (как в Вашем проекте). Устройства с чипом ESP8285 менее подвержены этой проблеме. Так-же, есть подозрение на качество внешней flash памяти для ESP8266 в модульном варианте. В моем случае устройства просто останавливаются и больше не перегружаются, даже при сбросе питания. Перепрошить помогает, но доверия к устройству больше нет. Проблемы наблюдались на устройствах, работающих через ИБП и просто подключенных к сети.

        Так как проблема устаревания системы довольно актуальна, и некоторые модули через пару лет я просто не смог быстро собрать, я решил подойти к проблеме кардинально. А именно заменить все критические компоненты на ПЛК. Надеюсь, и через 10 лет Овен так-же будет делать плюс минус одинаковые контроллеры, которые используются и в котельных и на производстве. Исполнительные устройства тоже от овена или wirenboard.

        То, что у Вас проживает человек, это хорошо. Но может всякое произойти. Я, вот, уехал в августе в авто путешествие с семьей, а вернуться не смог. По понятным причинам. Дом к зиме не подготовил, и подготовить было некому. В старом доме чудом удалось удалено перепрошить тазмоту с умирающим вайфаем на более-менее безопасный алгоритм работы. Так что, как говорил поручик Ржевский, случаи бывают разные.


        1. Estranged01
          00.00.0000 00:00
          +2

          У меня ESP8266 в виде китайских Wemos D1 mini в количестве около 20шт. Многие работают уже 6 лет 24/7. Никаких деградаций не заметил.