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

Но если предыдущие статьи — это высокая теория, то теперь обратимся к низкой практике - пойдем в подвал и займемся бойлером. Мы покажем, как в быту можно применять знания, полученные после изучения теории автоматического управления, а так же технологи российского ядренного промышленного комплекса. Применять эти технологии будем на копеечном чипе с Алиекспресса. Будет, как всегда, интересно и познавательно.

Разработка системы автоматического управления отоплением с применением модельно-ориентированного подхода

Введение

В задачах управления технологическим оборудованием часто встречаются ситуации, когда требуется обеспечить регулирование параметров технологического процесса, имея ограниченные возможности по управлению оборудованием. К таким ситуациям можно, например, отнести случаи, когда оборудование обеспечивает только дискретное управление – то есть оно может быть только включено или выключено. Сложность обеспечения точных технологических параметров в таких ситуациях объясняется тем, что моменты включения и выключения такого оборудования имеют некоторую неопределённость, объясняемую инерционными характеристиками оборудования. Кроме этого, в общем виде данный класс систем относится к гибридным системам. К классическим примерам подобных систем можно отнести отопительные системы на базе электрических и газовых котлов. Особенностями таких систем является то, что в случае старого оборудования регулирование котла горелкой осуществляется только её включением или выключением (в самом дешёвом варианте реализации). Учёт инерционности отапливаемого помещения в таком случае позволяет обеспечить более точное регулирование температуры без необходимости модернизации оборудования, при этом надо, естественно, учитывать, что котёл не может включаться мгновенно, и количество его включений и выключений должно быть лимитировано.

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

Интересный исторический факт: такая же задача (по обновлению мозгов старого железа) решалась в 2000х для реакторов РБМК (того же типа, что взорвался в Чернобыле). Тогда встала задача поменять советскую систему управления на новую, цифровую. В той ситуации инженеры-программисты начали использовать модельно-ориентированное проектирование: математическое моделирование процессов АЭС вместе с алгоритмами управления и автоматическую генерацию кода из среды структурного моделирования прямо в контроллер управления АЭС. Если мы можем такое проделывать с ядерным реактором, то с газовым котлом мы точно справимся. Покажем, как технологии мирного атома применяются в быту.

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

Постановка задачи

В наиболее упрощённом виде общее поведение системы отопления может быть описано при помощи следующего дифференциального уравнения:

С_P\cdot\frac{dT}{dt} =u\cdot P-\alpha\cdot T,

где: C_P - теплоёмкость системы,  u - управляющее воздействие (0 – выключено, 1 – включено), P – мощность котла, \alpha– коэффициент тепловых потерь, T - температура в помещении.

Данное дифференциальное уравнение может быть переформулировано в типовом виде:

\tau \cdot \frac{dT}{dt}=k\cdot u -T,

где: T =C_P / \alpha - постоянная времени системы,  k = P/ \alpha - коэффициент усиления системы.

W(s)=\frac{k}{T\cdot s+1}

Подробнее описание такого звена и его свойства можно найти здесь: Апериодическое звено 1–го порядка  (там же есть ссылка на курс лекций по теории автоматического управления)

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

Рисунок 1. Простейшая система управления системой обогорева
Рисунок 1. Простейшая система управления системой обогорева

Чтобы обеспечить коррекцию инерционности для такого типа систем, целесообразно использовать метод частичной компенсации с условием само-подобности замещающей передаточной функции разомкнутой системы. Данное требование необходимо для корректной работы релейного звена, задающего температуры включения и выключения системы , чтобы в нём не пересчитывать заданные температурные параметры, и заключается в том, что эквивалентная передаточная функция должна иметь тот же вид, что и передаточная функция исходной системы. Схема регулятора температуры с корректирующим звеном приведена на рисунке 2.

Рисунок 2. Регулирование с уточнением
Рисунок 2. Регулирование с уточнением

Для коррекции мы исключаем из схемы релейное звено, заменяем его на усилительное звено и должны получить эквивалентную передаточную функцию вида:

W_{sum}(s)=\frac{k}{T_{кор}\cdot s+1}

Где: T_{кор}-целевая (ненулевая) инерционность системы после коррекции. Она задаётся из условия требуемой постоянной времени канала измерения (как правило, не ниже постоянной времени термопар). Сигнал от датчиков, как правило, зашумлённый, и требуется выбирать минимальную инерционность системы так, чтобы случайные возмущения не оказывали существенного влияния на поведение системы. 

Подставляя в выражение для последовательно соединённых звеньев их значения:

W_{sum}(s)=\frac{k}{T_{кор}\cdot s+1}=W(s)\cdot W_{кор}(s)\frac{k}{T_{кор} \cdot s+1}=\frac{k}{T\cdot s+1}\cdot W_{кор}(s)

поскольку в дальнешем будем использовать выражение для зависмсоит температуры от времени T(t) обзначим постоянну времени систем T как \tau получаем выражение для корректирующего звена: 

W_{кор}(s)=\frac{\tau\cdot s+1}{T_{кор}\cdot s+1}

Чтобы определить параметры корректирующего звена, необходимо знать параметр \tau – постоянная времени системы отопления. Для определения постоянной времени системы отопления необходимо идентифицировать систему, то есть по экспериментальным или расчётным данным вычислить коэффициенты её передаточной функции. Идентификацию системы в случае отопительного котла удобнее всего делать при помощи оценки реакции системы на константное управляющее воздействие (в случае котла – на единичное – включен). 

Аналитическое решение дифференциального уравнения будет иметь вид:

T(t)=k\cdot u(1- e^{\frac{t}{\tau}})+T_0

где T_0 – начальная температура перед включением котла,  u = 1 – единичное управляющее воздействие.

Продифференцировав данное выражение, можно получить аналитическое значение производной температуры:

T'(t)=\frac{k\cdot u}{T} \cdot e^{-\frac{t}{\tau}}

Для вычисления постоянной времени системы необходимо провести измерения производной её температуры, как минимум, в двух точках переходного процесса t_1 и t_2, как изображено на рисунке 3. Точки измерения выбираются из условия, t_0<t_1<t_2 где t_0 - начальное время переходного процесса, соответствующее моменту подачи управляющего воздействия на тестируемую систему. Конкретные значения данных точек могут выбираться из условий измеренной температуры динамически, так, чтобы T(t_2)>T(t_1)>T(t_0). В данных точках мы можем вычислить производную функции T , используя её численную аппроксимацию

T'(t)=\frac{T(t_n)-T(t_{n-1})}{t_n-t_{n-1}}

где: t_n – физическое время на n -м шаге вычисления, t_{n-1} физическое время на n-1 шаге вычисления. Шаг интегрирования на n -1-м шаге будет равен:

h_n=t_n-t_{n-1}
Рассчет производной
Рассчет производной

Вычисляя значение производной и поделив T'(t_1) на T'(t_2) получим следующее выражение:

\frac{T'(t_1)}{T'(t_2)}=\cfrac{\cfrac{k\cdot u}{\tau}\cdot e^{-\cfrac{t_1}{\tau}}}{\cfrac{k\cdot u}{\tau}\cdot e^{-\cfrac{t_2}{\tau}}}

после преобразований получаем:

\frac{T'(t_1)}{T'(t_2)}=e^{\cfrac{t_2-t_1}{\tau}}

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

\tau=(t_2-t_1)\cdot ln \left ( \frac{T'(t_1)}{T'(t_2)} \right)

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

k=\cfrac{T'(t_2)\cdot \tau}{u\cdot e^{-\cfrac{t_2}{\tau}}}

предполагаемое время завершения процесса при постоянной времени можно рассчитать на основании аналитического решения системы. Задавая заданным значением температуры T_{зад}, получаем:

T_{зад}=k\cdot u \cdot \left (1-e^{\cfrac{t_{зад}}{\tau}} \right)+T_01-e^{\cfrac{t_{зад}}{\tau}}=\frac{T_{зад}-T_0}{k\cdot u}e^{\cfrac{t_{зад}}{\tau}}=1-\cfrac{T_{зад}-T_0}{k\cdot u}

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

t_{зад}=-\tau\cdot ln \left (1-\frac{T_{зад}-T_0}{k\cdot u}\right)+t_0

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

h_{maх}=t_{ зад}-t_0=-\tau\cdot ln \left (1 -\frac{T_{зад}-T_0}{k\cdot u} \right)

Как упоминалось выше, идентификация системы может быть выполнена как непосредственно на регуляторе на основании данных от реальной системы, так и в процессе моделирования. 

Мы можем произвести измерение температуры, включив газовый котел, измерять температуру в помещениях, а можем создать математическую модель объекта и провести исследования на ней. Если мы говорим о помещениях, то мы вполне можем, проведя измерения температуры, настроить модель так, чтобы она полностью повторяла поведение объекта. Как нас учит западный стандарт цифровых двойников, у нас получится конвергентная информационная связь между нашим коттеджем-перваком и его моделью – цифровым двойником. Новейшие технологии – в быт!

Структурная схема алгоритма идентификации параметров инерционной системы приведена на рисунке 4.

Рисунок 4. Струкутурная схема идентификации
Рисунок 4. Струкутурная схема идентификации

Программа расчёта коэффициентов идентификатора на встроенном языке программирования SimInTech приведена на рисунке 5:

Рисунок5. Расчет коэффициентов идентификатор
Рисунок5. Расчет коэффициентов идентификатор

Константа Tdetect является вектором, в котором задаются времена точек измерения  t_0, t_1, t_2 (относительно момента начала измерений). В данной модели он равен Tdetect = [0, 3 ,4]. Моделирование показало, что данный алгоритм точно идентифицирует параметры апериодического звена 1-го порядка при константном входном воздействии. 

Моделирование

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

Теплогидравлическая модель была разработана при помощи подсистемы теплогидравлики HS программного комплекса SimInTech. Она базируется на математической модели течения сжимаемой двухфазной жидкости, а также позволяет выполнять моделирование уравнений теплопроводности для цилиндрических и плоских стенок. 

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

Рисунок 6. Теаплогидравлическая модель отопительного контура
Рисунок 6. Теаплогидравлическая модель отопительного контура
Рисунок 7. Модель газвого котла
Рисунок 7. Модель газвого котла
Рисунок 8 Теплогидравлическая модель фрагмента помещения с батареей, естественной циркуляцией воздуха и стеной дома
Рисунок 8 Теплогидравлическая модель фрагмента помещения с батареей, естественной циркуляцией воздуха и стеной дома

Структурная схема модели системы управления показана на рисунке 9. Структурная схема субмодели регулятора показана на рисунке 10.

Рисунок 9. Общая модель системы регулирования
Рисунок 9. Общая модель системы регулирования
Рисунок 10. Модель регулятора системы отопления
Рисунок 10. Модель регулятора системы отопления

В модель регулятора был встроен блок идентификации постоянной времени системы. Структурная схема этой субмодели приведена на рисунке 11.

Рисунок 11. Модель идентификатор постоянной вермени системы
Рисунок 11. Модель идентификатор постоянной вермени системы
Рисунок 12. Идентификация постоянной времени на языке SimInTech
Рисунок 12. Идентификация постоянной времени на языке SimInTech

Основные результаты численного моделирования системы приведены на рисунках 13-14.

Рис.13. Результаты моделирования: графики температур на выходе газового котла, в бойлере ГВС и в помещении в режиме нагрева помещения
Рис.13. Результаты моделирования: графики температур на выходе газового котла, в бойлере ГВС и в помещении в режиме нагрева помещения
Рис.14. Результаты моделирования: циклограммы работы оборудования в режиме нагрева помещения.
Рис.14. Результаты моделирования: циклограммы работы оборудования в режиме нагрева помещения.

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

С учётом ограниченного диапазона времени переходного процесса, пригодного для идентификации, целесообразно выбирать значения постоянной времени по локальным максимумам графика постоянной времени. При этом система отопления в общем не является линейной, и постоянная времени в ней зависит от текущей температуры теплоносителя в контуре – при прогреве теплоносителя постоянная времени уменьшается (что логично, т.к. при этом для догрева помещения на ту же температуру времени нужно меньше). Это можно также использовать при расчёте коэффициентов компенсации инерционности в корректирующем звене, т.е. можно \tauзадать как функцию от температуры обратки контура отопления.  В результате численного моделирования при помощи модели идентификации системы была получена постоянная времени системы для самой динамичной части переходного процесса, равная 4403.6 сек, которая была принята в качестве коэффициента \tau корректирующего звена. Для более точной коррекции регулятора принципиально возможно использовать и более сложный метод коррекции с применением звеньев большего порядка (описанный в работе Буй Ван Тама), но при этом система может и стать неустойчивой. 

Точность поддержания температуры при выходе на стационарный режим при регулировании по температуре помещения с компенсацией тепловой инерционности составляет [-0.5, 0.5] градусов. Обычный релейный регулятор в таком режиме будет иметь точность поддержания температуры [-1.5, 3] градусов, при этом точность поддержания температуры для регулятора без компенсирующего звена сильно хуже при переходных процессах, вызванных возмущением системы (включением подогрева бойлера ГВС). 

Рисунок 15. Результаты моделирования: циклограммы работы оборудования в режиме нагрева помещения
Рисунок 15. Результаты моделирования: циклограммы работы оборудования в режиме нагрева помещения

Графики температур в системе и циклограммы работы оборудования для модели регулятора без компенсации приведены на рисунках 16 и 17. 

Рисунок 16. Результаты моделирования: графики температур на выходе газового котла, в бойлере ГВС и в помещении в режиме нагрева помещения без корректирующего звена.
Рисунок 16. Результаты моделирования: графики температур на выходе газового котла, в бойлере ГВС и в помещении в режиме нагрева помещения без корректирующего звена.
Рисунок 17. Результаты моделирования: циклограммы работы оборудования в режиме нагрева помещения регулятор без корректирующего звена.
Рисунок 17. Результаты моделирования: циклограммы работы оборудования в режиме нагрева помещения регулятор без корректирующего звена.

Как видно из результатов моделирования, наличие компенсации тепловой инерции значительно улучшает точность поддержания температуры, особенно в переходных режимах. А значит теория автоматического управления реально работает и помогает не только управлять АЭС, но и экономить газ и электричество в домах простых россиян.

Сквозная технология от модели к железу

Для разработанного и настроенного на модели алгоритма управления при помощи кодогенератора SimInTech был сгенерирован код для управляющего контроллера, построенного на базе процессорного модуля ESP32 devkit v.4, релейной платы ES23A08 и модуля сбора данных для термопар типа PT100 PTA8D08. Для обеспечения автоматизации генерации кода был разработан шаблон генерации кода для ESP32, а также блоки привязки к оборудованию. На рисунке 18 приведена модель регулятора, подготовленная для генерации кода, в которой входы и выходы алгоритма управления привязаны к соответствующим аппаратным сигналам. 

Рисунок 18. Модель аппаратной привязки алгоритма регулятора системы отопления.
Рисунок 18. Модель аппаратной привязки алгоритма регулятора системы отопления.

Если внимательно посмотреть на рисунок 18, то можно увидеть на нем систему управления АЭС. В самом деле типовой алгоритм управления ядерным реактором выглядит так:

Рисунок 19, Схема алгоритма управления АЭС для генерации кода в стойки управления
Рисунок 19, Схема алгоритма управления АЭС для генерации кода в стойки управления

.Все очень похоже структурно. Более того, сам технологический алгоритм (выделен кирпичным цветом) не зависит от аппаратуры управления, на которой он реализован. Данный алгоритм или группу алгоритмов можно спокойно отлаживать на модели объекта на ранних стадиях проектирования. Аппаратная привязка осуществляется на уровне ввода данных и вывода команд (выделены синим цветом). Именно про это мы рассказывали в статье «Как соединить модель с контроллером»

Рисунок 20. Стуркурная схема управления в контроллере.
Рисунок 20. Стуркурная схема управления в контроллере.

Таким образом, на уровне структурной схемы происходит разделение работы программистов и технологов. Выполнив работу программиста по привязке ввода-вывода контроллера один раз, можно использовать данную привязку во всех других проектах с данным контроллером.  Для этого необходимый исходный код помещается в советующую секцию блока (рисунок 21), а пользователь-технолог создает алгоритм в виде функциональной схемы, используя готовые и отлаженные блоки.

Рисунок 21. Упаковка исходного кода для аппаратуры ввода – вывода в графический блок
Рисунок 21. Упаковка исходного кода для аппаратуры ввода – вывода в графический блок

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

Рисунок 22. Библиотека для работы с контроллером Milandr
Рисунок 22. Библиотека для работы с контроллером Milandr

Генерация кода из струкутурной схемы

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

Рисунок 23. Настройка шаблона генерации кода
Рисунок 23. Настройка шаблона генерации кода

В тоге по нажатию одной кнопки получаются весь набор исходных кодов и соопуствующих файлов для загрузки в контроллер. В нашем случае готовый набор файлов открывается в среде Visual Studio Code, для которой есть специальный пакет ESP IDF (рисунок 24). Дале была скомпилирована прошивка, залитая потом в процессорный модуль ESP32.

Рисунок 24. Исходный код управления готовый к загрузке
Рисунок 24. Исходный код управления готовый к загрузке

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

Рисунок 25. Свзяь между исходным кодом и схемой.
Рисунок 25. Свзяь между исходным кодом и схемой.

Переходим к железу

На рисунке 26 приведена электрическая схема соединений оборудования. При этом для обеспечения надёжности системы при отключении электричества было применено обратное включение насосов и котла управления. Т.е. насосы и цепь термопары котла подключены на нормально замкнутые контакты блока управления, что гарантирует возможность управления котлом при помощи встроенного механического термостата при отключении электрической энергии с переводом системы на естественную циркуляцию. Был сгенерирован код для контроллера ESP32 devkit v.4 и при помощи пакета ESP IDF (рисунок 27) была скомпилирована прошивка, залитая потом в процессорный модуль. На рисунке 28 фотография шкафа управления.

Рисунок  26. Электрическая схема подключения
Рисунок 26. Электрическая схема подключения
Рисунок 27. Фрагмент кода сгенерированого из SimInTech
Рисунок 27. Фрагмент кода сгенерированого из SimInTech
Рисунок 28. Шкаф управления
Рисунок 28. Шкаф управления

На фото 25 сверху вниз: защитные автоматы, плата опроса термопар PTA8D08, блок питания 12В 3.5 А, релейная плата ES32A08 с установленной процессорной платой ESP32 devkit v.4 (38 pin).

Результаты

Главный результат: атомные технология реально работают и упрощают создание управляющего как ПО для систем управления важных для безопасности АЭС, так и для систем управления тепловым котлом на базе копеечных контроллеров с Алиэкспресса.

Результаты эксплуатации в режиме нагрева котла показали, что точность поддержания температуры в бойлере косвенного нагрева составляет [-2; + 4] градусов и соответствуют заданной в алгоритме (температура в бойлере должна быть в среднем больше 55 градусов, чтобы не размножались вредные бактерии). По результатам эксплуатации было замечено, что даже при заблаговременном выключении газового котла в режиме нагрева бойлера по уставке перегрева равной 60 градусов ещё до достижения в бойлере косвенного нагрева заданной температуры отключения 56 градусов, котёл за счёт циркуляции теплоносителя и своей собственной теплоёмкости догревает воду в бойлере до 58 градусов и при этом не наблюдается локальных подкипаний теплоносителя. Это говорит о том, что даже при относительно небольшой тепловой инерции её грамотный учёт может быть полезен для облегчения эксплуатационного режима оборудования.  

Выводы

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

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

С ядерными технологиям в быту можно экономить газ, электричество и деньги.

P.S. Весь проект, вместе с шаблоном генерации кода под ESP32 можно вззять в дистрибутиве по этой ссылке... После установки см. папку Demo:

Модель отопления с прошивкой
Модель отопления с прошивкой

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


  1. lumen_xp
    17.10.2024 04:28

    Вячеслав купил дачу на продаже софта для вертолетчиков?

    Рынок автоматизации жилых помещение не такой доходный как АЭС, если питаете надежды какие-то.

    Генерация кода для ESP32 штука отличная я считаю, наверное господам из @Dmitrii43 WirenBoard стоит присмотреться, не одной мастер-скадой живем.


    1. petuhoff Автор
      17.10.2024 04:28

      Можно модель взять из Demo примеров:


    1. timofeevka
      17.10.2024 04:28

      Это моя дача в г. Раменское. Таки да купленная на зарплату полученную с продажи софта. Дом не новый, котел в нем - старая thermona pb 25 и регистры из труб вместо батарей. Задача была не меняя весь контур и котел обеспечить горячую воду и автоматическое управление котлом и желательно подешевле, но с возможностью модернизации. Соответственно был добавлен трехходовой клапан с приводом и косвенник + соответствующая арматура. Под это все я нагородил блок управления и для того, чтобы посмотреть как оно вообще работать будет сначала провел моделирование, потом сделал шаблон для esp и туда залил код. На самом деле тяжелее всего было арматуру поставить. А дольше всего было ждать запчасти с Алика - у нас были перебои с почтой из-за увольнения сотрудников на почтамте.


      1. lumen_xp
        17.10.2024 04:28

        Я ни в коем случае Ваши деньги не считаю. Слишком сильный контраст в статьях после вертолетов с переходом на моделирование перегонки спирта и отопление домов.
        По мне дак самое сложное было заставить сотрудников написать генератор кода для ESP32 потому что директор вкорячил этот контроллер у себя дома и ему надо на нем регулятор поднять. Не проще ли было интегратор с обратной связью написать в 2 строки на VSCode? Как будто микроскопом гвозди забиваем...

        У меня дом тоже на ESP32+промышленные контроллеры, оставшиеся после ПНР+Zigbee+HomeAssistant. В общем зоопарк, но да, я закладывал часть возможностей автоматизации на этапе строительства.


        1. petuhoff Автор
          17.10.2024 04:28

          Да я категорически вот поддерживаю прелыдущего оратора! Зачем делать кодогенератор для дешманского ESP32?

          Неужели директор посадил разраба в повал и не выпускал пока то коддогенератор не написал?


        1. petuhoff Автор
          17.10.2024 04:28

          Самодур директор еще и теплицами заставляет заниматься!

          Фотофакт:

          Доколе!


          1. lumen_xp
            17.10.2024 04:28

            МГТУ уже не торт https://habr.com/ru/articles/851006/

            Если и вы до спирта и теплиц опустились, то что творится у нас в провинции...


        1. timofeevka
          17.10.2024 04:28

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


  1. Listenernow
    17.10.2024 04:28

    интересно, у атомщиков провода в элщите так-же красиво уложены?


    1. xaosxaos2
      17.10.2024 04:28

      нет, их просто кидают как попало, потом после облучения, они мутируют и сами укладываются :)


  1. sergeiiurtaev
    17.10.2024 04:28

    Задумываюсь об автономном, умном доме. По цене - та же квартира в СПб или Мск, но расходы, в годовом выражении ниже и строить можно 2 - 3 года, разбив целевые траты на группы ( создание архитектурного проекта, поиск земельного участка,промер грунта, колодец, укладка труб и прочих коммуникаций, установка автономной канализации и газгольдера, подготовка грунта, укладка фундамента, строительство объекта, установка солнечных панелей, установка котла и насосов, установка датчиков и сенсоров, начало отладки, финализации )


  1. Gryphon88
    17.10.2024 04:28

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


    1. petuhoff Автор
      17.10.2024 04:28

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

      В статье реальный кейс апгрейда


    1. timofeevka
      17.10.2024 04:28

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