Привет всем маленьким любителям больших технических систем! В данной статье расскажем, как технологии создания систем управления ядерным реактором могут применяться в быту. Рассмотрим реальный пример практического применения модельно-ориентированного подхода и структурного моделирования для бытовой и очень актуальной осенней задаче обогрева жилого помещения. А также на практике покажем, что такое цифровой двойник, с чем его едят и как его правильно приготовить. Мы уже публиковали статьи на данную тему: Технология создания динамических моделей на примере обогрева помещения и Девушка и электронагреватель. Моделирование экономики бытового потребления воды.
Но если предыдущие статьи — это высокая теория, то теперь обратимся к низкой практике - пойдем в подвал и займемся бойлером. Мы покажем, как в быту можно применять знания, полученные после изучения теории автоматического управления, а так же технологи российского ядренного промышленного комплекса. Применять эти технологии будем на копеечном чипе с Алиекспресса. Будет, как всегда, интересно и познавательно.
Разработка системы автоматического управления отоплением с применением модельно-ориентированного подхода
Введение
В задачах управления технологическим оборудованием часто встречаются ситуации, когда требуется обеспечить регулирование параметров технологического процесса, имея ограниченные возможности по управлению оборудованием. К таким ситуациям можно, например, отнести случаи, когда оборудование обеспечивает только дискретное управление – то есть оно может быть только включено или выключено. Сложность обеспечения точных технологических параметров в таких ситуациях объясняется тем, что моменты включения и выключения такого оборудования имеют некоторую неопределённость, объясняемую инерционными характеристиками оборудования. Кроме этого, в общем виде данный класс систем относится к гибридным системам. К классическим примерам подобных систем можно отнести отопительные системы на базе электрических и газовых котлов. Особенностями таких систем является то, что в случае старого оборудования регулирование котла горелкой осуществляется только её включением или выключением (в самом дешёвом варианте реализации). Учёт инерционности отапливаемого помещения в таком случае позволяет обеспечить более точное регулирование температуры без необходимости модернизации оборудования, при этом надо, естественно, учитывать, что котёл не может включаться мгновенно, и количество его включений и выключений должно быть лимитировано.
Другими словами, температура у нас в помещении меняется плавно, медленно и печально, а нагрев мы можем либо включить, либо выключить. Можно, конечно, поменять оборудование на современное с плавным регулированием мощности, но это не спортивно. Мы пойдем другим путем – поставим на старое железо новые мозги.
Интересный исторический факт: такая же задача (по обновлению мозгов старого железа) решалась в 2000х для реакторов РБМК (того же типа, что взорвался в Чернобыле). Тогда встала задача поменять советскую систему управления на новую, цифровую. В той ситуации инженеры-программисты начали использовать модельно-ориентированное проектирование: математическое моделирование процессов АЭС вместе с алгоритмами управления и автоматическую генерацию кода из среды структурного моделирования прямо в контроллер управления АЭС. Если мы можем такое проделывать с ядерным реактором, то с газовым котлом мы точно справимся. Покажем, как технологии мирного атома применяются в быту.
Прочитав эту статью, вы узнаете, как можно использовать теорию автоматического управления для экономии газа и электричества, а также создания комфортных условий для жизни в нашем суровом климате.
Постановка задачи
В наиболее упрощённом виде общее поведение системы отопления может быть описано при помощи следующего дифференциального уравнения:
где: - теплоёмкость системы, - управляющее воздействие (0 – выключено, 1 – включено), – мощность котла, – коэффициент тепловых потерь, - температура в помещении.
Данное дифференциальное уравнение может быть переформулировано в типовом виде:
где: - постоянная времени системы, - коэффициент усиления системы.
Подробнее описание такого звена и его свойства можно найти здесь: Апериодическое звено 1–го порядка (там же есть ссылка на курс лекций по теории автоматического управления)
Как правило, для управления подобными системами используются регуляторы релейного типа, имеющие определённую зону гистерезиса. Простейший случай такого регулятора приведён на рисунке 1.
Чтобы обеспечить коррекцию инерционности для такого типа систем, целесообразно использовать метод частичной компенсации с условием само-подобности замещающей передаточной функции разомкнутой системы. Данное требование необходимо для корректной работы релейного звена, задающего температуры включения и выключения системы , чтобы в нём не пересчитывать заданные температурные параметры, и заключается в том, что эквивалентная передаточная функция должна иметь тот же вид, что и передаточная функция исходной системы. Схема регулятора температуры с корректирующим звеном приведена на рисунке 2.
Для коррекции мы исключаем из схемы релейное звено, заменяем его на усилительное звено и должны получить эквивалентную передаточную функцию вида:
Где: -целевая (ненулевая) инерционность системы после коррекции. Она задаётся из условия требуемой постоянной времени канала измерения (как правило, не ниже постоянной времени термопар). Сигнал от датчиков, как правило, зашумлённый, и требуется выбирать минимальную инерционность системы так, чтобы случайные возмущения не оказывали существенного влияния на поведение системы.
Подставляя в выражение для последовательно соединённых звеньев их значения:
поскольку в дальнешем будем использовать выражение для зависмсоит температуры от времени T(t) обзначим постоянну времени систем как получаем выражение для корректирующего звена:
Чтобы определить параметры корректирующего звена, необходимо знать параметр – постоянная времени системы отопления. Для определения постоянной времени системы отопления необходимо идентифицировать систему, то есть по экспериментальным или расчётным данным вычислить коэффициенты её передаточной функции. Идентификацию системы в случае отопительного котла удобнее всего делать при помощи оценки реакции системы на константное управляющее воздействие (в случае котла – на единичное – включен).
Аналитическое решение дифференциального уравнения будет иметь вид:
где – начальная температура перед включением котла, – единичное управляющее воздействие.
Продифференцировав данное выражение, можно получить аналитическое значение производной температуры:
Для вычисления постоянной времени системы необходимо провести измерения производной её температуры, как минимум, в двух точках переходного процесса и , как изображено на рисунке 3. Точки измерения выбираются из условия, где t_0 - начальное время переходного процесса, соответствующее моменту подачи управляющего воздействия на тестируемую систему. Конкретные значения данных точек могут выбираться из условий измеренной температуры динамически, так, чтобы . В данных точках мы можем вычислить производную функции T , используя её численную аппроксимацию
где: – физическое время на n -м шаге вычисления, физическое время на n-1 шаге вычисления. Шаг интегрирования на n -1-м шаге будет равен:
Вычисляя значение производной и поделив на получим следующее выражение:
после преобразований получаем:
откуда определяем постоянную времени системы:
Также из этих измерений мы можем определить коэффициент усиления системы и время, через которое будет достигнута заданная температура. Коэффициент усиления можно вычислить по формуле:
предполагаемое время завершения процесса при постоянной времени можно рассчитать на основании аналитического решения системы. Задавая заданным значением температуры , получаем:
откуда получаем точное выражение для значения момента времени, при котором температура достигнет заданного значения:
Максимальный шаг интегрирования, соответствующий времени переходного процесса, может быть вычислен из этого выражения:
Как упоминалось выше, идентификация системы может быть выполнена как непосредственно на регуляторе на основании данных от реальной системы, так и в процессе моделирования.
Мы можем произвести измерение температуры, включив газовый котел, измерять температуру в помещениях, а можем создать математическую модель объекта и провести исследования на ней. Если мы говорим о помещениях, то мы вполне можем, проведя измерения температуры, настроить модель так, чтобы она полностью повторяла поведение объекта. Как нас учит западный стандарт цифровых двойников, у нас получится конвергентная информационная связь между нашим коттеджем-перваком и его моделью – цифровым двойником. Новейшие технологии – в быт!
Структурная схема алгоритма идентификации параметров инерционной системы приведена на рисунке 4.
Программа расчёта коэффициентов идентификатора на встроенном языке программирования SimInTech приведена на рисунке 5:
Константа Tdetect является вектором, в котором задаются времена точек измерения (относительно момента начала измерений). В данной модели он равен Tdetect = [0, 3 ,4]. Моделирование показало, что данный алгоритм точно идентифицирует параметры апериодического звена 1-го порядка при константном входном воздействии.
Моделирование
Для отработки алгоритма управления котлом SimInTech была построена комплексная компьютерная модель системы отопления коттеджа с одноконтурным котлом и бойлером косвенного нагрева, содержащая модели двух систем: теплогидравлическую модель отопительного контура и помещений и модель регулятора системы отопления. В данной комплексной модели системы максимальный шаг интегрирования для модели теплогидравлики и системы управления составляет 0.2 сек. Если применить упрощенную балансную модель отопительного контура и помещений и задействовать детекцию событий для релейных звеньев, то можно сделать шаг сильно больше при примерно той же точности.
Теплогидравлическая модель была разработана при помощи подсистемы теплогидравлики HS программного комплекса SimInTech. Она базируется на математической модели течения сжимаемой двухфазной жидкости, а также позволяет выполнять моделирование уравнений теплопроводности для цилиндрических и плоских стенок.
Для справки: именно этот теплогидравлический код используется для моделирования первого и второго контура в одном из проектов в Прорыве. Но прорывы возможны не только в Росатоме, прорыв, в хорошем смысле этого слова, можно устроить и в отдельно стоящем коттедже.
Структурная схема модели системы управления показана на рисунке 9. Структурная схема субмодели регулятора показана на рисунке 10.
В модель регулятора был встроен блок идентификации постоянной времени системы. Структурная схема этой субмодели приведена на рисунке 11.
Основные результаты численного моделирования системы приведены на рисунках 13-14.
В общем виде динамика теплогидравлического контура может быть более сложной, чем у апериодического звена 1-го порядка. Это накладывает ограничения на места процесса, где постоянная времени помещения может быть идентифицирована надежно. Т.е. идентификация постоянной времени включается при условии, что производная температуры по времени положительная и является убывающей (то есть вычисленная постоянная больше нуля). На рисунке 15 приведён график постоянной времени системы отопления в зависимости от времени. При этом надо отметить, что получение хорошо пригодного для идентификации системы переходного процесса на физическом оборудовании не всегда возможно по технологическим причинам. Например, оборудование может из-за таких экспериментов выйти из строя. Поэтому для таких ситуаций более целесообразна идентификация и настройка регулятора с применением теплогидравлической модели.
С учётом ограниченного диапазона времени переходного процесса, пригодного для идентификации, целесообразно выбирать значения постоянной времени по локальным максимумам графика постоянной времени. При этом система отопления в общем не является линейной, и постоянная времени в ней зависит от текущей температуры теплоносителя в контуре – при прогреве теплоносителя постоянная времени уменьшается (что логично, т.к. при этом для догрева помещения на ту же температуру времени нужно меньше). Это можно также использовать при расчёте коэффициентов компенсации инерционности в корректирующем звене, т.е. можно задать как функцию от температуры обратки контура отопления. В результате численного моделирования при помощи модели идентификации системы была получена постоянная времени системы для самой динамичной части переходного процесса, равная 4403.6 сек, которая была принята в качестве коэффициента корректирующего звена. Для более точной коррекции регулятора принципиально возможно использовать и более сложный метод коррекции с применением звеньев большего порядка (описанный в работе Буй Ван Тама), но при этом система может и стать неустойчивой.
Точность поддержания температуры при выходе на стационарный режим при регулировании по температуре помещения с компенсацией тепловой инерционности составляет [-0.5, 0.5] градусов. Обычный релейный регулятор в таком режиме будет иметь точность поддержания температуры [-1.5, 3] градусов, при этом точность поддержания температуры для регулятора без компенсирующего звена сильно хуже при переходных процессах, вызванных возмущением системы (включением подогрева бойлера ГВС).
Графики температур в системе и циклограммы работы оборудования для модели регулятора без компенсации приведены на рисунках 16 и 17.
Как видно из результатов моделирования, наличие компенсации тепловой инерции значительно улучшает точность поддержания температуры, особенно в переходных режимах. А значит теория автоматического управления реально работает и помогает не только управлять АЭС, но и экономить газ и электричество в домах простых россиян.
Сквозная технология от модели к железу
Для разработанного и настроенного на модели алгоритма управления при помощи кодогенератора SimInTech был сгенерирован код для управляющего контроллера, построенного на базе процессорного модуля ESP32 devkit v.4, релейной платы ES23A08 и модуля сбора данных для термопар типа PT100 PTA8D08. Для обеспечения автоматизации генерации кода был разработан шаблон генерации кода для ESP32, а также блоки привязки к оборудованию. На рисунке 18 приведена модель регулятора, подготовленная для генерации кода, в которой входы и выходы алгоритма управления привязаны к соответствующим аппаратным сигналам.
Если внимательно посмотреть на рисунок 18, то можно увидеть на нем систему управления АЭС. В самом деле типовой алгоритм управления ядерным реактором выглядит так:
.Все очень похоже структурно. Более того, сам технологический алгоритм (выделен кирпичным цветом) не зависит от аппаратуры управления, на которой он реализован. Данный алгоритм или группу алгоритмов можно спокойно отлаживать на модели объекта на ранних стадиях проектирования. Аппаратная привязка осуществляется на уровне ввода данных и вывода команд (выделены синим цветом). Именно про это мы рассказывали в статье «Как соединить модель с контроллером»
Таким образом, на уровне структурной схемы происходит разделение работы программистов и технологов. Выполнив работу программиста по привязке ввода-вывода контроллера один раз, можно использовать данную привязку во всех других проектах с данным контроллером. Для этого необходимый исходный код помещается в советующую секцию блока (рисунок 21), а пользователь-технолог создает алгоритм в виде функциональной схемы, используя готовые и отлаженные блоки.
В итоге в среде для различных контроллеров и блоков ввода-вывода создается библиотека, значительно упрощающая создание алгоритмов управления, предназначенных для работы на конкретные контроллерах. рисунок 22
Генерация кода из струкутурной схемы
Математическая модель системы управления переходит в контроллер управления с использование готовго шаблона кода, который создается по для каждого контроллера программистами, в данном проекте использоваля шаблон ESP32_devboard_v1
В тоге по нажатию одной кнопки получаются весь набор исходных кодов и соопуствующих файлов для загрузки в контроллер. В нашем случае готовый набор файлов открывается в среде Visual Studio Code, для которой есть специальный пакет ESP IDF (рисунок 24). Дале была скомпилирована прошивка, залитая потом в процессорный модуль ESP32.
При этом в коде сохраняется прозрачная связь между исходным кодом и диаграммой алгоритма, для каждого блока можно найти по уникальному номеру соответвующих участьк исходного кода:
Переходим к железу
На рисунке 26 приведена электрическая схема соединений оборудования. При этом для обеспечения надёжности системы при отключении электричества было применено обратное включение насосов и котла управления. Т.е. насосы и цепь термопары котла подключены на нормально замкнутые контакты блока управления, что гарантирует возможность управления котлом при помощи встроенного механического термостата при отключении электрической энергии с переводом системы на естественную циркуляцию. Был сгенерирован код для контроллера ESP32 devkit v.4 и при помощи пакета ESP IDF (рисунок 27) была скомпилирована прошивка, залитая потом в процессорный модуль. На рисунке 28 фотография шкафа управления.
На фото 25 сверху вниз: защитные автоматы, плата опроса термопар PTA8D08, блок питания 12В 3.5 А, релейная плата ES32A08 с установленной процессорной платой ESP32 devkit v.4 (38 pin).
Результаты
Главный результат: атомные технология реально работают и упрощают создание управляющего как ПО для систем управления важных для безопасности АЭС, так и для систем управления тепловым котлом на базе копеечных контроллеров с Алиэкспресса.
Результаты эксплуатации в режиме нагрева котла показали, что точность поддержания температуры в бойлере косвенного нагрева составляет [-2; + 4] градусов и соответствуют заданной в алгоритме (температура в бойлере должна быть в среднем больше 55 градусов, чтобы не размножались вредные бактерии). По результатам эксплуатации было замечено, что даже при заблаговременном выключении газового котла в режиме нагрева бойлера по уставке перегрева равной 60 градусов ещё до достижения в бойлере косвенного нагрева заданной температуры отключения 56 градусов, котёл за счёт циркуляции теплоносителя и своей собственной теплоёмкости догревает воду в бойлере до 58 градусов и при этом не наблюдается локальных подкипаний теплоносителя. Это говорит о том, что даже при относительно небольшой тепловой инерции её грамотный учёт может быть полезен для облегчения эксплуатационного режима оборудования.
Выводы
Предварительное моделирование отопительной системы может быть полезно при выборе настроечных коэффициентов регуляторов, без необходимости проведения динамических экспериментов на реальном оборудовании.
Учёт тепловой инерции и её компенсация при выборе структуры и коэффициентов регулятора значительно улучшают точность поддержания технологических параметров.
С ядерными технологиям в быту можно экономить газ, электричество и деньги.
P.S. Весь проект, вместе с шаблоном генерации кода под ESP32 можно вззять в дистрибутиве по этой ссылке... После установки см. папку Demo:
Комментарии (14)
Listenernow
17.10.2024 04:28интересно, у атомщиков провода в элщите так-же красиво уложены?
xaosxaos2
17.10.2024 04:28нет, их просто кидают как попало, потом после облучения, они мутируют и сами укладываются :)
sergeiiurtaev
17.10.2024 04:28Задумываюсь об автономном, умном доме. По цене - та же квартира в СПб или Мск, но расходы, в годовом выражении ниже и строить можно 2 - 3 года, разбив целевые траты на группы ( создание архитектурного проекта, поиск земельного участка,промер грунта, колодец, укладка труб и прочих коммуникаций, установка автономной канализации и газгольдера, подготовка грунта, укладка фундамента, строительство объекта, установка солнечных панелей, установка котла и насосов, установка датчиков и сенсоров, начало отладки, финализации )
Gryphon88
17.10.2024 04:28Интересный подход, вот только как и почти любой умный дом должна закладываться на этапе строительства. Датчики температуры провесить легко, а вот комнатные байпассы и грамотный термораспределительный узел на котле добавить уже сильно сложнее. Собственно, примерно так всегда и ломается мечта о повышении надежности и комфорта с помощью IT.
petuhoff Автор
17.10.2024 04:28Да не ладно вам сейчас на рынке решений вагон и маленькая тележка. Разберту соберут и подключат.
В статье реальный кейс апгрейда
timofeevka
17.10.2024 04:28Используемый подход обусловлен, тем что менять все трубы и котел по дому было дорого и неохота, а обеспечить себя стабильным отоплением и горячей водой нужно. В принципе да самое сложное было это сантехнические работы и как раз смысл был в том, чтобы их было минимальное количество: на месте старого циркуляционника был собран насосно смесительный узел и был выполнен отвод от выхода котла. Все обошлось без сварочных работ по металлу. Моделирование было нужно для оценки будет ли система после модернизации работать как надо. Нестандартный контроллер - опять же потому что система нестандартная. Главное что оно работает сейчас как надо: топит с заданной точностью и воду греет до нужной температуры. В данном конкретном случае задача повышения комфорта была решена.
lumen_xp
Вячеслав купил дачу на продаже софта для вертолетчиков?
Рынок автоматизации жилых помещение не такой доходный как АЭС, если питаете надежды какие-то.
Генерация кода для ESP32 штука отличная я считаю, наверное господам из @Dmitrii43 WirenBoard стоит присмотреться, не одной мастер-скадой живем.
petuhoff Автор
Можно модель взять из Demo примеров:
timofeevka
Это моя дача в г. Раменское. Таки да купленная на зарплату полученную с продажи софта. Дом не новый, котел в нем - старая thermona pb 25 и регистры из труб вместо батарей. Задача была не меняя весь контур и котел обеспечить горячую воду и автоматическое управление котлом и желательно подешевле, но с возможностью модернизации. Соответственно был добавлен трехходовой клапан с приводом и косвенник + соответствующая арматура. Под это все я нагородил блок управления и для того, чтобы посмотреть как оно вообще работать будет сначала провел моделирование, потом сделал шаблон для esp и туда залил код. На самом деле тяжелее всего было арматуру поставить. А дольше всего было ждать запчасти с Алика - у нас были перебои с почтой из-за увольнения сотрудников на почтамте.
lumen_xp
Я ни в коем случае Ваши деньги не считаю. Слишком сильный контраст в статьях после вертолетов с переходом на моделирование перегонки спирта и отопление домов.
По мне дак самое сложное было заставить сотрудников написать генератор кода для ESP32 потому что директор вкорячил этот контроллер у себя дома и ему надо на нем регулятор поднять. Не проще ли было интегратор с обратной связью написать в 2 строки на VSCode? Как будто микроскопом гвозди забиваем...
У меня дом тоже на ESP32+промышленные контроллеры, оставшиеся после ПНР+Zigbee+HomeAssistant. В общем зоопарк, но да, я закладывал часть возможностей автоматизации на этапе строительства.
petuhoff Автор
Да я категорически вот поддерживаю прелыдущего оратора! Зачем делать кодогенератор для дешманского ESP32?
Неужели директор посадил разраба в повал и не выпускал пока то коддогенератор не написал?
petuhoff Автор
Самодур директор еще и теплицами заставляет заниматься!
Фотофакт:
Доколе!
lumen_xp
МГТУ уже не торт https://habr.com/ru/articles/851006/
Если и вы до спирта и теплиц опустились, то что творится у нас в провинции...
timofeevka
Ну учитывая, что я являюсь основным автором графической оболочки, ядра автоматики и кодогенератора мне для самого себя по своей же нужде в отпуске написать за час шаблон кода проблемой не является. Да и вообще в Simintech написать новый шаблон кода проблем никаких нет. В модели регулятора там не один интегратор и проще было естественно все посчитать имеющимся под рукой обкатанным инструментом. К слову: моделирование спирто-водяной смеси с неконденсирующимися газами и примесями - это прямой путь к нефтехимии, где есть большая потребность импортозаместить некоторые западные программы.