Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!
Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:
1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.3, 2.3 — 2.8, 2.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ.
3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья.
3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора.
3.4. Апериодическое звено 2-го порядка.
3.5. Колебательное звено.
3.6. Инерционно-дифференцирующее звено.
3.7. Форсирующее звено.
3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением).
Данное звено относится к разряду интегрирующих (или интегро-дифференцирующих звеньев). Название происходит от древнегреческого слова «равный, подобный». Данное звено обеспечиваюет гибкую обратную связь.
Уравнение звена имеет вид:
в данном уравнении коэффициент безразмерный:
Второй вид уравнения вид уравнения:
в данном уравнении: размерность
Используя преобразование Лапласа, перейдем к уравнению в изображениях:
Из 3.9.2 получаем выражение для передаточной функции:
Данное звено можно представить в виде одного звена, либо в виде двух параллельных звеньев, идеально усилительного звена и идеально интегрирующего звена:
АФЧХ звена получается путем подстановки в уравнении 3.9.3
Для построения годографа запишем мнимую и действительную часть АФЧХ
Модуль АФЧХ
Построим соответствующие графики:
Фазовый сдвиг определяется по обычной формуле:
из формулы 3.9.7 следует что:
Логарифмическая амплитудная характеристика (ЛАХ):
Если , то данное звено приблизительно соответствует идеальному интегрирующему звену - .
Если , то данное звено приблизительно соответствует идеальному усилительному звену -
Найдем переходную h(t) и весовую w(t) функции звена (подробнее см. здесь).
Переходная функция:
Дифференцируюя по времени получим весовую функцию:
Множетель в формуле 3.9.12 нужен для обеспечения
Примерами изодромного звена в первую очередь надо считать ПИ-регулятор, который обеспечивает пропорционально-интегрирующий закон управления, т.е. замкнутая САР (или САУ) управляется не только по рассогласованию (по ошибке), но и по интегралу от рассогласования:
Такое регулирование повышает точность.
Кроме того, к изодромным звеньям можно отнести:
1. Операционный усилитель с обратной связью в виде RC-цепочки.
2. Комбинированный демпфер (с упругой пружиной и вязким трением).
Пример
В качестве примера использования изодромного звена рассмотрим регулирование уровня и температуры в электрическом нагревателе. А это практически то же самое, что и система управления в атомном реакторе. Таким образом, второй раз в лекциях мы переходим от теории к практике и посмотрим, как работает управление в технических системах.
А еще на этом примере мы покажем, что такое астатизм, и почему это не лечится!
Модель
Создадим комплексный в проект, в котором будут модель технического объекта (файл проекта heater.prt) и модель системы управления (файл heater-control.prt), объединенные в пакет (файл PI-HEATER.pak) с общей базой данных сигналов, аналогично тому, как мы делали для модели камеры смешения.
Нагреватель представляет собой бак объемом 1.5 м3, который подключен через клапан К1 к магистральному трубопроводу, где поддерживается постоянное давление 2.5 атм, и температура воды 20 °С град.
Нагреватель моделируется блоком «Бак со свободным уровнем» (Tank_2) в котором задано давление 1 атм. В баке установлен нагреватель (электрический), в котором задается тепловая мощность.
Потребители подключены к баку через клапан K2 и представлены граничным условием с давлением 1 атм. Для обеспечения расхода используется нивелирный перепад давления. Считается, что бак находится выше потребителей, и в блоке «Канал» задается приращение высоты.
Для моделирования нагревательных элементов используется блок «Цилиндрическая толстая стенка», внешняя сторона которой подключена к баку, а на внутренней задается мощность теплового потока с помощью блока «Тепловое граничное условие» (ThermalBound_4).
Такой же элемент «Цилиндрическая толстая стенка» используется для моделирования охлаждения нагретого бака в результате теплообмена с внешней средой. В качестве граничного условия в этом случае используется температура внешней среды – 20 °С.
Для подключения регулятора используются два блока «Датчик универсальный»: Sensor_L – для уровня в баке, Sensor_T – для температуры в баке.
Датчики забирают значения рассчитываемых параметров из блока Тank_2 и передают их в базу данных. Например, на рисунке 3.9.9. изображено окно свойств блока Sensor_T, который обеспечивает связь между температурой в баке Тank_2._T и базой данных сигналов.
В модель из базы данных передается «Степень открытия, %» клапана K1. Это позволяет изменять расход в баке с целью получения требуемого уровня. На рисунке 3.9.10 показано окно редактирования свойства клапана K1 и связь с базой данных сигналов.
Для регулирования температуры в модели изменяется величина теплового потока из базы данных, передается «Плотность теплового потока, Вт/м2» в граничном условии ThermalBound_4.
На рисунке 3.9.11, показано окно свойств блока ThermalBound_4. В данном блоке задается разбиение на участки по длине 10 («Количество элементов по длине»), что позволяет формировать профиль температуры в зависимости от уровня воды в баке. В данной модели принимается равномерное распределение теплового потока по участкам.
Для демонстрации работы регулятора выполним моделирование следующей последовательности процессов:
1) В начальный момент времени уровень в баке 0.5 м. Клапан K2 закрыт и расход на потребителей равен 0. Выполнятся наполнение бака до заданного уровня.
2) На 500 секунде происходит открытие клапана K2 на 50% и устанавливается поток воды из бака для потребителей.
3) На 1000 секунде происходит открытие клапана К2 на 100% и поток воды из бака для потребителей увеличивается до максимального.
Данный сценарий реализуется с помощью скрипта в главном окне программы (см. рис. 3.9.12)
Система управления
Задача системы управления – поддерживать уровень 0.9 м и температуру 80 °С при любых возможных расходах потребления.
В начальный момент времени: уровень 0.5 метра и температура 20 °С.
Система регулирования состоит из двух регуляторов, каждый из которых может работать в двух режимах:
1) Пропорциональное управление.
2) Пропорционально интегрирующее управление.
Схема системы управления представлена на рисунке 3.9.12. Коэффициенты заданы «на глаз» (в принципе их можно оптимизировать для улучшения качества управления, но это тема отдельной статьи). Пример настройки подобного регулятора есть в тексте: “Простой регулятор на базе нечеткой логики. Создание и настройка”
Для переключения режимов служит блок «Ключ ручной управляемый». Если ключ разомкнут, то на выходе из блока выходит 0, и блок «Интегратор с ограничением» не участвует в формировании выходного сигнала в теплогидравлическую модель и режим управления – пропорциональный.
Если ключ замкнут, то через него проходит значение от блока интегратора и режим управления – пропорционально интегрирующий. (См. рис. 3.9.13.)
Нужно заметить, что такая модель не учитывает скорость закрытия и открытия клапана. Принимается, что скорость изменения уровня и температуры значительно меньше скорости перемещения регулирующего клапана, и клапан мгновенно занимает положение, заданное регулятором.
Сравнение вариантов расчета
Для сравнения двух вариантов расчёта, выполненных последовательно на одном графике, добавим еще один проект в пакет (файл data.prt).
В данном файле расчетная схема содержит графики, на которые выводятся текущие значения уровня и температуры (из базы данных сигналов) и значения из файлов с предыдущим расчётом (temp_old.dat и level_old.dat)
Во время расчёта мы сохраняем текущее значение в файлы (temp_cur.dat и level_old.dat). По завершению расчёта (секция finalization скрипта) мы копируем данные из текущего файла в сохраненный ранее с помощью глобального скрипта программы. (см. рис. 3.9.14)
Регулятор уровня
Первый вариант регулирования уровня – пропорциональный, когда степень открытия клапана K1 пропорциональна отклонению уровня в баке от заданного. Чем ниже уровень, тем больше открыт клапан K1 и тем больше расход в бак из магистрали. Если отклонение равно 0, то клапан закрыт полностью и уровень остается постоянным.
Коэффициент пропорциональности подбирается «на глаз» таким образом, чтобы скорость изменения была достаточной для выравнивания уровня за 100 – 200 секунд моделирования.
Первый вариант моделирования выполняем с разомкнутыми ключами, которые исключают из расчёта блок интегрирования и регулятор уровня пропорциональный (на графике зеленая линия “old”) (см. рис. 3.10.15).
Из графика рис. 3.9.15 видно, что регулятор достаточно быстро и точно обеспечивает наполнение бака до заданного уровня, однако в момент открытия клапана K2 и появления расхода на потребителей данный регулятор не может поддерживать заданный уровень, поскольку клапан устанавливается в такое положение, чтобы обеспечить равенство расхода входящего и исходящего расхода. Естественно, этот уровень ниже, чем уровень 0.9, при котором клапан закрыт полностью.
Второй вариант моделирования – с замкнутым ключом. В формировании положения клапана участвует интегратор, регулятор уровня - пропорционально интегрирующий (на графике красная линия «new») (см. рис. 3.9.15).
Участие интегрирующего звена на этапе наполнения выражается в превышении заданного уровня. Интегратор накапливает разницу между заданным и целевым уровнем и продолжает держать клапан открытым. После того, как значение уровня достигло заданного, пропорциональная часть регулятора выдает 0, а интегратор выдает накопленное значение. (см. рис. 3.9.13). В дальнейшем пропорциональная часть будет выдавать постоянное отрицательное значение, а интегратор продолжит накапливать разницу.
Именно поэтому мы используем «Интегратор с ограничением», иначе потенциально, при длительном времени выдержки в этом состоянии, значение на интеграторе будет огромным.
Для полного закрытия клапана необходимо, чтобы положительное значение после интегратора компенсировалось отрицательным значением пропорционально части. При этом полное закрытие клапана K1 (наполнения из магистрали) при закрытом клапане слива K2 не позволяет снизить уровень до требуемого значения.
При возникновении расхода из бака к потребителям мы видим, что интегратор в регуляторе позволяет вернуть уровень в баке к заданному значению (красная линия на см. рис. 3.9.15).
Как это работает можно понять из рисунков 3.9.16, 3.9.17, где на схему регулятора выведены значения на линиях связи в момент времени, когда переходные процессы завершены, и система находится в стационарном состоянии, клапан К2 открыт полностью.
При отсутствии интегратора в контуре управления уровень в баке устанавливается 0.8657 (см. рис. 3.9.16), разница между текущим и заданным уровнем обеспечивает на выходе из регулятора положение 3.42% для клапана K1. При таком положении входящий и исходящий расходы равны, и уровень держится постоянным, но не равным заданному.
Когда интегратор включен в контур управления, уровень в баке устанавливается точно равным заданному значению 0.9 (см. рис. 3.9.16). Пропорциональная линия в регуляторе выдает -1.18E-11, что практически равно 0, поскольку разница между текущим и заданным уровнем отсутствует. Однако значение, накопленное в интеграторе, обеспечивает на выходе из регулятора положение 3.468% для клапана K1. При таком положении входящий и исходящий расходы равны, и уровень держится постоянным и равным заданному.
Такое свойство регулятора, держать заданный уровень, при различных воздействиях на систему (разных расходах потребителя) называется астатизм.
Определение: АСТАТИЗМ (от греч. astatos - неустойчивый) - свойство системы регулирования, состоящее в том, что установившаяся погрешность не зависит от величины или характера изменения внешнего воздействия.
В динамике это можно посмотреть на видео здесь:
Регулятор температуры
Процесс регулирования температуры приведён на рисунке 3.9.18
Первый вариант моделирования с разомкнутым ключом – регулятор пропорциональный (зеленая линия “old” на рис, 3.9.18) – видим что, наличие утечки тепла (охлаждение через стенку бака) не позволяет пропорциональному регулятору довести температуру до заданного значения. Пропорциональный регулятор удерживает разность температур между текущей и заданной такой, чтобы компенсировать утечку тепла через стенку. При подключении потребителей поток холодной воды из магистрали вызывает увеличение необходимой энергии для подогрева и, соответственно, разница между заданной температурой и фактической опять увеличивается.
Второй вариант с замкнутым ключом и участием интегратора в работе пропорционально итерирующего регулятора (красная линия «new» на графике 3.9.15). Видно, что на стадии нагрева интегратор также вызывает перегрев, аналогично превышению в регуляторе уровня. В дальнейшем наличие постоянной утечки тепла через стенку позволяет пропорционально интегрирующему регулятору снизить температуру до заданного уровня и поддерживать ее при отсутствии подключений потребителей.
При подключении потребителей пропорционально интегрирующий регулятор температуры также обеспечивает возврат температуры к заданному в алгоритме значению.
Вывод:
Интегратор в контуре управления увеличивает точность регулирования, пример это подтверждает.
Астатизм регулятора это хорошо! Но не всегда! как утверждает уважемый пользователь хабра FGV:
"..За все надо платить, и плата за стремящуюся в статике к 0 ошибку заключается в том что у такой САУ появляется дополнительные повороты фазы на ФЧХ. Для отдельной САУ это малозначащий фактор, но если САУ входит в другие САУ то такое искажение ФЧХ может ухудшить динамические характеристики системы. Как пример - рулевые машинки БПЛА самолетного типа (все что видел) - на пропорциональном регуляторе."
Модель для самостоятельно изучения можно взять здесь.
Предыдущая часть лекций: 3.8 Инерционно-интегрирующее звено (интегрирующее звено с замедлением)
Комментарии (32)
FGV
22.09.2021 06:52+1Интегратор в контуре управления увеличивает точность регулирования, пример это подтверждает.
И все? А где про астатизм?
petuhoff Автор
22.09.2021 09:29Астатизьм рассмотрен в примере, когда PI регулятор приводит систему (температуру и уровень в баке) к нужному значению при любых воздействиях.
FGV
22.09.2021 10:06+1Это в каком месте? Пока что поиск по странице слово "астатизм" находит только в комментариях.
petuhoff Автор
22.09.2021 12:50Спасибо! Добавил в текст. Я то раньше думал что астатизьм это болезнь! Век живи век учись!
FGV
22.09.2021 13:47+1Уже лучше. Осталось рассказать про порядок астатизма и привести для иллюстрации графики ошибок, т.к. тут как раз выходят системы с астатизмом 0 и 1 порядков.
И почему с мягким знаком то?
FGV
22.09.2021 16:18+1Еще одна поправка, слова:
Астатизьм регулятора это хорошо!
лучше убрать. Т.к. за все надо платить, и плата за стремящуюся в статике к 0 ошибку заключается в том что у такой САУ появляется дополнительные повороты фазы на ФЧХ. Для отдельной САУ это малозначащий фактор, но если САУ входит в другие САУ то такое искажение ФЧХ может ухудшить динамические характеристики системы. Как пример - рулевые машинки БПЛА самолетного типа (все что видел) - на пропорциональном регуляторе.
Arastas
22.09.2021 23:05+1Астатизм по заданию можно повысить и за счет комбинированного управления, не вводя интеграторы. Все же, качество следящих систем часто определяется их реакцией на шумы и возмущения, а не теоретической реакцией на задание. А вот для возмущений надо вводить интеграторы.
А что такое поворот фазы? То же, что и сдвиг?
FGV
23.09.2021 16:40+1А что такое поворот фазы? То же, что и сдвиг?
Да, просто нежелательное изменение фазо-частотной характеристики.
checkpoint
22.09.2021 12:21+1Никогда не мог подумать, что лекции по ТАУ могут быть столь увлекательными. ;-)))
ole325
22.09.2021 12:21+1Бак на 1,5 куба и давление на выходе 1 атм? Вы бы хоть что то более реальное подобрали, и кому нужны эти постоянные 80С.
Вот бак на 30-50 литров с Tmax 90C, с ТЭНом на 3,7 кВт и семья из 4х человек с регулярными привычками, и что бы вода была не холоднее 45С, а целевой показатель расход электроэнергии.
petuhoff Автор
22.09.2021 12:40Я к сожалению только теоретик, но в статье есть ссылка на модель и ее можно переделать.
petuhoff Автор
22.09.2021 12:53А можно реальны параметры? 45 держится в баке или на смесители, в принципе достаточно легко переделать модель
ole325
22.09.2021 16:48+1вводные для честного ГВС такие при накопительной системе
объем бака и его теплоизоляция (пользователь хочет как можно меньше бак, за теплоизоляцию платить не сильно хочет;
температура ГВС не ниже 38С (тогда еще можно мыться с термостатическим смесителем), не ниже 45С (можно мыть посуду), или перепад не более 2С уже смешанной для обычного смесителя (там холодная условно 10С, а горячая 60-70С).
подстройка под пробуждение, запоминаем когда был расход воды по неравномерной потери t воды.
двух/трех тарифное электричество
макс темп 90С
чем ниже температура тем меньше теплопотери, и меньше расход энергии, но может не хватить запаса нагретой воды
расход на душ есть типовой, на раковину тоже, ванну можно не рассматривать
Раз в неделю нужно прогревать до 70С, что бы фауна не развивалась
Мощность обычно 2 кВт
Первые 2 дня вкл при темп. ниже 60С, выкл при темп 85С, в разные интервалы времени, собираем статистику по расходу, постепенно приближаясь, что бы темп. горячей была не ниже 45С, дальше добавляем учет тарифов, что дешевле перегреть ночью, и чуть потерять на теплопотерях, или нагреть до начала использования.
Что то подобное есть у циркуляционных насосов ГВС grundfos, но в результате вышли новые модели просто с таймером, а так тоже собирал статистику и заранее прогонял воду, что бы из крана сразу горячая шла.petuhoff Автор
26.09.2021 12:36Еще вопрос, давление на потребителе за смесителем будет атмосфера, а давление в баке какое должно быть?
INSTE
26.09.2021 12:51+1Такое же, статическое давление в водопроводе можно считать везде равным.
petuhoff Автор
26.09.2021 12:58не получится система рассчета динаимческая, что бы смоделировать течение нужно задать перепад давления в линии. Я задал произвольно и получилось что клап к потребителяи ходит 0 - 100% а клапан нагнетания 0 - 4% Явно не реальная система
INSTE
26.09.2021 15:42В этой задаче учет давления вообще не нужен по большому счету, достаточно считать через расход на входе и выходе. Иначе нужно учитывать все, включая вязкость воды, сечение труб и клапанов и прочей мути. Оно точно стоит того?
petuhoff Автор
26.09.2021 22:26Так в программу SimInTech все это уже и "зашито" по умолчанию, и вязкость и расширение при нагреве и все сечения с гибами и местными сопротивлениями уже учитываются, нужно просто задать геометрию и расход воды будет рассчитан. В тестовом примере я просто задал перепад высот и расход получил от нивелирного напора.
ole325
26.09.2021 14:34при открытии крана давление всегда понижается
INSTE
26.09.2021 15:42— была речь про статику
— учет давления здесь избыточенpetuhoff Автор
26.09.2021 16:53Так программа которой пользуюсь SimInTech изначально динамическая. Та в уравнениях зашиты производные по времени и считает сохранение энергии сохранение массы и сохранение импульса в трубопроводах.
Ну и процесс нагрева, а потом потери тепла он во времени происходит и поток снижает при остывание, тут динамический рассчет нужен.
INSTE
27.09.2021 18:50Я бы тогда вообще ничего не считал, потому что «недостаточно входных данных». Серьезно, водопроводы я неоднократно делал сам, и видел совершенно разные зависимости падения давления от расхода, сечения труб, гидроаккумуляторов, насосов… Если программа обязывает учтывать все это, то нужно взять реалистичные н.у.
petuhoff Автор
27.09.2021 18:55не обязывает ничего учитывать программа. Они там уже есть и учитываются, нужно просто задать длинну и диаметр. И все посчитается само. Нужно дваление в котле, что бы был препад и расход. В примере я просто задал длинну учатсков и получил невилирные перпад адваления и расход из за перепада высоты.
ole325
26.09.2021 14:32+1вы давление не правильно задаете, действительно если на входе 2,5 атм, то на выходе не получится и расход и такое же давление, но это не атмосферное давление, а гидравлическое - оно относительное, а если было бы абсолютное 1 атм, то вода бы не текла, т.к. снаружи давит 1 Атм и внутри тоже самое.
Считайте на входе гидравлическое давление 3 атм, а на выходе 2 атм, при расходе 15 литров/мин (это душ). Вообще нужно Kvs крана смотреть и всей системы тоже, но этим можно пренебречь, если у нас "толстые трубы", а не МП 16 мм длиной 100 метров.По бойлеру, за ним должен стоять расширительный бак в нем герметичная камера, накачивается на 2-2,5 атм, там воздух, при подаче воды сжимается и внутри камеры давление становится равное давлению воды. Если не поставить, то через аварийный кран может спускать воду, при превышении давления (3,5 атм, если память не изменяет). Бойлер всегда герметичный. Перепад уровня воды от горизонта не учитывают, если водопровод ценрализованный.
petuhoff Автор
26.09.2021 16:58В задаче я задавал атмрсферу над уровнем и атмосферу на потребителе в граничном условии, а расход считплся за счет высоты столба, в трубе 10 участков у каждого есть высота. И нивилерный напор обеспечивал течении к потребителю.
AlexGluck
Какое отношение девушка на кдпв имеет к материалу? Это грязный приём.
petuhoff Автор
Теплая вода из обогревателя. Хорошо настроенный обогреватель осень. Пошла жара. Логично. И прчему грязный когда она чистая? ;)
ole325
Ну посмотрели бы на рекламу душевых систем, например grohe, там и девушки и даже в душе.
А нагрев и обогрев это одно и тоже? Может про бойлер это все таки нагрев, а обогрев это про отопление?
petuhoff Автор
Проблема использования девушек из рекламы в том, что может прилететь иск от автора фотографии. Например, у меня на хабре была статья в которой использовалась фото девушки на фоне авиадвигателя. Автор испанец нашел меня в фейсбуке и потребовал сменить. Так что фото должны быть легальны, с разрешением от собственника. Поэтому маемо шо маемо.