Русский
Русский
English
Статистика
Реклама

Pid controller

Настройка ПИД-регуляторов так ли страшен чёрт, как его малюют? Часть 1. Одноконтурная система

22.07.2020 12:20:51 | Автор: admin


Эта статья открывает цикл статей, посвященных автоматизированным способам настройки ПИД-регуляторов в среде Simulink. Сегодня разберемся, как работать с приложением PID Tuner.


Введение


Наиболее популярным типом применяемых в промышленности регуляторов в системах управления замкнутыми системами можно считать ПИД-регуляторы. И если структуру и принцип действия контроллера инженеры помнят еще со студенческой скамьи, то его настройка, т.е. расчет коэффициентов регулятора, до сих пор является проблемой. Существует огромное количество литературы, как зарубежной (например, [1, 2]), так и отечественной (например, [3, 4]), где настройка регуляторов объясняется на достаточно непростом языке теории автоматического управления.


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


  • PID Tuner,
  • Response Optimizer,
  • Control System Tuner,
  • Frequency Response Based PID Tuner,
  • Closed-Loop PID Autotuner.

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


  • напряжение питания двигателя, $U_{пит} = 24 \; В$;
  • активное сопротивление обмотки якоря двигателя, $R = 4.8 \; Ом$;
  • индуктивное сопротивление обмотки якоря двигателя, $L = 0.0016 \; Гн$;
  • коэффициент момента двигателя, $c_{e} = 0.066 \; Нм/А$;
  • момент инерции ротора двигателя, $J_{дв} = 2.510^{-5} \; кг \cdot м^{2}$.

Параметры нагрузки и редуктора:


  • момент инерции нагрузки, $J_{н} = 0.01 \; кг \cdot м^{2}$;
  • передаточное число редуктора, $q = 5$.

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


Модель системы


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



В соответствии с приведенной структурой в среде Simulink была построена модель такой системы.



Модели электропривода (подсистема Electric actuator) и инерционной нагрузки (подсистема Load) созданы с помощью блоков библиотеки физического моделирования Simscape:


  • модель электропривода,


  • модель инерционной нагрузки.


Модели электропривода и нагрузки также включают подсистемы датчиков различных физических величин:


  • тока, протекающего в обмотке якоря двигателя (подсистема А),


  • напряжения на его обмотке (подсистема V),


  • угловой скорости объекта управления (подсистема ).


Перед настройкой параметров ПИД-регулятора запустим модель на расчет, приняв передаточную функцию регулятора $W_{р}(s) = 1$. Результаты моделирования при отработке входного сигнала 150 об/мин показаны ниже.





Из анализа приведенных графиков видно, что:


  • Выходная координата системы управления не достигает заданного значения, т.е. в системе присутствует статическая ошибка.
  • Напряжение на обмотках двигателя достигает значения 150 В в начале моделирования, что повлечет за собой выход его из строя вследствие подачи на его обмотку напряжения больше номинального (24 В).

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


  • перерегулирование (Overshoot) не более 10%,
  • время нарастания (Rise time) менее чем 0.8 с,
  • время переходного процесса (Settling time) менее чем 2 с.

Кроме того, регулятор должен ограничивать напряжение, подаваемое на обмотку двигателя, до значения напряжения питания.


Настраиваем контроллер


Настройка параметров регулятора осуществляется с помощью инструмента PID Tuner, который доступен непосредственно в окне параметров блока PID Controller.



Приложение запускается нажатием на кнопку Tune, расположенную на панели Automated tuning. Стоит отметить, что до выполнения этапа настройки параметров контроллера необходимо выбрать его вид (П, ПИ, ПД и др.), а также его тип (аналоговый или дискретный).


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


  1. Переходим во вкладку Output Saturation.
  2. Нажимаем на флаговую кнопку Limit output, в результате чего активируются поля для задания верхней (Upper limit) и нижней (Lower limit) границы диапазона выходной величины.
  3. Устанавливаем границы диапазона.

Корректная работа блока регулятора в составе системы предполагает использования методов, направленных на борьбу с интегральным насыщением. В блоке реализованы два метода: back-calculation и clamping. Подробная информация о данных методах располагается здесь. Выпадающее меню выбора метода расположено на панели Anti-windup.


В рассматриваемом случае запишем значения 24 и -24 в поля Upper limit и Lower limit соответственно, а также используем метод clamping для исключения интегрального насыщения.



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


Далее, приняв все изменения нажатием кнопки Apply, возвращаемся во вкладку Main и нажимаем кнопку Tune, в результате чего откроется новое окно приложения PIDTuner.



В графической области окна отображаются два переходных процесса: при текущих параметрах регулятора, т.е. для ненастроенного регулятора, и при значениях, подобранных автоматически. Новые значения параметров можно посмотреть, нажав на кнопку Show Parameters, расположенную на панели инструментов. При нажатии на кнопку появятся две таблицы: подобранные параметры регулятора (Controller Parameters) и произведенные оценки характеристик переходного процесса при подобранных параметрах (Performance and Robustness).


Как видно из значений второй таблицы, автоматически рассчитанные коэффициенты регулятора удовлетворяют всем требованиям.



Настройка регулятора завершается нажатием на кнопку с зеленым треугольником, расположенной справа от кнопки Show Parameters, после чего новые значения параметров автоматически изменятся в соответствующих полях в окне настройки параметров блока PID Controller.


Результаты моделирования системы с настроенным регулятором для нескольких входных сигналов показаны ниже. При больших уровнях входных сигналов (голубая линия) система будет работать в режиме с насыщением по напряжению.





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


Литература


  1. Handbook of PI and PID Controller Tuning Rules. Aidan O'Dwyer
  2. PID Control System Design and Automatic Tuning using MATLAB, Simulink. Wang L.
  3. ПИД-управление в нестрогом изложении. Карпов В.Э.
  4. ПИД-регуляторы. Вопросы реализации. Части 1, 2. Денисенко В.
Подробнее..

Настройка ПИД-регуляторов так ли страшен чёрт, как его малюют? Часть 2. Двухконтурная система. Control System Tuner

28.07.2020 12:21:05 | Автор: admin


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


Модель системы


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



Параметры электропривода и нагрузки указаны в первой части серии.


Отличие моделей Electric actuator и Load от заключается в добавлении новых датчиков: датчик угловой скорости измеряет скорость ротора исполнительного двигателя привода и датчик положения измеряет положение объекта управления.


В качестве регуляторов положения и скорости будем использовать П и ПИ регуляторы соответственно, причем последний имеет ограничение по выходному сигналу 24 В, и в нем реализован метод clamping для борьбы с интегральным насыщением.


Входным сигналом для системы является требуемый угол поворота нагрузки, который должен изменяться в диапазоне 60.


Без регуляторов, т.е. предположив $W_{p_{i}}(s) = 1$, переходный процесс апериодический с временем переходного процесса, равным 2.5 с.



Предъявим следующие требования к переходному процессу системы:


  • Перерегулирование (Overshoot) не более 5%;
  • Время переходного процесса (Settling time) менее чем 1 с.

Настраиваем контроллеры


Приложение Control System Tuner располагается во вкладке APPS окна модели Simulink, в разделе CONTROL SYSTEMS.


Настройка регуляторов осуществляется в соответствии со следующим алгоритмом:


  1. После открытия окна приложения переходим во вкладку TUNING и нажимаем кнопку Select Block.


  2. В открывшемся диалоговом окне нажимаем на кнопку Add Blocks для добавления блоков регуляторов.


  3. Устанавливаем флажок рядом с требуемыми блоками подтверждаем выбор нажатием кнопки OK. В результате выбранные блоки отобразятся в разделе Tuned Blocks панели Data Browser.


  4. Создаем новую задачу для настройки. Для этого нажимаем кнопку New Goal и в выпадающем меню выбираем опцию Tracking of step commands в разделе TIME-DOMAIN REQUIREMENTS. В результате откроется диалоговое окно Step Tracking Goal.


  5. Необходимо указать входной и выходной сигналы системы. Для этого в полях
    Specify step-response inputs и Specify step-response inputs нажимаем на кнопку
    Add signal to list Select signal from model.

    Переходим в окно модели и выбираем соответствующие сигналы, в нашем случае Reference и Position. Возвращается в окно приложения. В диалоговом окне Select Signals должен отобразиться выбранный сигнал. Нажимаем на кнопку Add Signal(s).


  6. Задаем желаемый вид переходного процесса на панели Desired Response и соответственно вид передаточной функции процесса. Можно выбрать апериодический процесс (First-order characteristics), колебательный процесс (Second-order characteristics) или иной вид процесса (Custom reference model). Для нашего случая выбираем колебательный процесс.


  7. В поле Time constant указывается постоянная времени ($\,T\,$) передаточной функции процесса в секундах. В поле Overshoot (%) величина перерегулирования ($\, \sigma \,$). Соотношения между постоянной времени колебательного звена и временем переходного процесса ($\, t_{п.п.} \,$) и коэффициентом демпфирования ($\, \zeta \,$) и перерегулированием выражаются зависимостями [1]:


    $T = \frac{4 t_{п.п.}}{\zeta},$


    $\zeta = -\frac{ln \, \sigma}{\sqrt{\pi^2 + ln^{2}\, \sigma}}$


    Таким образом, максимальное значение постоянной времени, удовлетворяющее требованию, составляет 0.1725 с. Укажем постоянную времени, равную 0.1 с. Также вводим требуемой значение перерегулирования во второе поле. Подтверждаем изменения.


  8. В появившемся графическом окне приложения можно видеть два переходных процесса: текущий, т.е. переходный процесс системы до настройки регуляторов, и желаемый, по заданной передаточной функции. Нажимаем на кнопку Tune для настройки регуляторов. Выбирая настраиваемые блоки на панели Data Browser в разделе Data Preview можно просмотреть вид передаточной функции контроллера и подобранные параметры. При выборе текущей задачи настройки в разделе Tuning Goals отображаются входные и выходные сигналы системы, а также передаточная функция процесса. Ниже показаны характеристики переходного процесса. Видно, что эти значения соответствуют требуемым.


  9. Для автоматического обновления параметров регуляторов переходим во вкладку CONTROL SYSTEM и нажимаем кнопку Update Blocks.



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





Литература


  1. Modern Control Engineering (5th Edition). Katsuhiko Ogata
Подробнее..

Настройка ПИД-регуляторов так ли страшен черт, как его малюют? Часть 3. Response Optimizer

05.08.2020 12:20:05 | Автор: admin


В данной статье рассмотрим процесс настройки регулятора нелинейной модели электропривода с помощью инструмента Response Optimizer.


До сих пор мы рассматривали только линейные системы (часть 1 и часть 2). Они нужны для понимания принципа работы настоящей (нелинейной) системы и грубого определения ее характеристик. Однако на практике приходится иметь дело именно с нелинейной моделью.


В современных системах управления применяются цифровые вычислители (микроконтроллеры, ПЛИС), в которых реализуются алгоритмы управления, корректирующие устройства и производится обработка данных с датчиков. И работу таких вычислителей (или их отдельных функций) также требуется моделировать.


Сегодня рассмотрим систему, где вместо идеального датчика скорости используется инкрементальный энкодер. Он формирует три цифровых сигнала A, B и Z, на основе которых определяются угловое положение и скорость объекта управления.


Настройка регулятора системы, включающей как цифровую, так и непрерывную часть, не может осуществляться с помощью инструментов, работающих с линеаризуемыми моделями (PID Tuner). В таком случае на помощь приходят численные методы.


Модель системы


Ниже показана модель рассматриваемой системы.



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


  • датчик скорости (подсистема Sensor),



  • функцию обработки сигналов от энкодера, реализуемая в цифровом вычислителе (подсистема Incremental shaft decoder)




Все параметры системы приведены в первой части. Разрешение энкодера составляет 256 имп/об.


Результаты моделирования до настройки регулятора ($W_{р}(s) = 1$) приведены ниже.





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


  • перерегулирование (Overshoot) не более 8%,
  • время нарастания (Rise time) менее чем 0.3 с,
  • время переходного процесса (Settling time) менее чем 0.85 с.

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


Настраиваем контроллер


Приложение Response Optimizer располагается во вкладке APPS окна модели Simulink, в разделе CONTROL SYSTEMS.


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


Настройка регуляторов осуществляется в соответствии со следующим алгоритмом:


  1. Создаем MATLAB переменные, соответствующие параметрам регулятора, в окне Model Explorer и присваиваем их значениям начальные приближения.


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



  2. Записываем переменные в соответствующие поля в окне параметров блока PID Controller.



  3. Открываем инструмент Response Optimizer. Слева в разделе Model Workspace на панели Data Browser показаны созданные ранее переменные.


  4. Определяем список оптимизируемых параметров. Для этого нажимаем на кнопку None редактируемого поля Design Variables Set.



    В выпадающем меню нажимаем New.... В правом списке открывшегося окна Create Design Variables Set расположены переменные модели, а в левом параметры для оптимизации. Выделяем переменные и нажимаем на кнопку со стрелкой, расположенной между двумя списками, для переноса их в левый список.


    Опционально можно указать границы диапазоны оптимизируемых параметров в столбцах Minimum и Maximum.



  5. Выбираем задачу оптимизации. В блоке REQUIREMENTS нажимаем на кнопку New и в выпадающем меню в разделе TIME-DOMAIN REQUIREMENTS выбираем опцию Step Response Envelope.



  6. Задаем характеристики требуемого переходного процесса в появившемся окне в разделе Specify Step Response Characteristics.



  7. Задаем сигнал, к которому предъявляются требования по переходному процессу. В разделе Select Signals to Bound нажимаем на кнопку с плюсом рядом со списком. Переходим в модель и выбираем необходимый сигнал. В нашем случае сигнал Speed. Возвращаемся в окно инструмента. В левом списке открывшегося окна Create Signal Set выбираем сигнал и нажимаем на кнопку со стрелкой. Завершаем выбор сигналов нажатием ОК.



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


    В разделе Data на панели Data Browser расположены три переменные: DesignVars содержит информацию о списке оптимизированных параметров, Sig свойства выбранного сигнала и StepRespEnvelope информацию о требованиях к переходному процессу.


    Построим переходный процесс до настройки регулятора. Для этого выбираем переменную Sig и нажимаем на кнопку Plot Model Response, расположенную в блоке PLOTS.



    Видно, что переходный процесс не удовлетворяет поставленным требованиях.


  8. Оптимизируем параметры регулятора. Выбираем переменную DesignVars и нажимаем на кнопку с зеленым треугольником в блоке OPTIMIZE.


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



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




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




Подробнее..

Настройка ПИД-регуляторов так ли страшен черт, как его малюют? Часть 4. Frequency Response Based PID Tuner

12.08.2020 12:22:47 | Автор: admin


Среда Simulink предоставляет возможность исследования нелинеаризуемых систем и настройки их регуляторов с помощью метода гармонического анализа. Одним из инструментов, использующих данный метод, является Frequency Response Based PID Tuner.


В предыдущей статье мы рассматривали систему с инкрементальным энкодером. Сегодня добавим в линейную модель драйвер управления электродвигателем, реализующий импульсное управление.


Модель системы


Рассматриваемая система приведена ниже.



Драйвер управления двигателем:



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



и электропривода



Результаты моделирования при отработке входного сигнала 150 об/мин без регулятора показаны ниже. Из их анализа видно, что:


  • Выходная координата системы управления не достигает заданного значения, т.е. в системе присутствует статическая ошибка;
  • Напряжение на обмотках двигателя достигает максимального значения (напряжения питания) при малых входных сигналах.




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


  • Перерегулирование (Overshoot) не более 10%;
  • Время нарастания (Rise time) менее чем 0.8 с;

При попытке настроить регулятор описанным в первом части способом в окне приложения PID Tuner появится предупреждение о невозможности линеаризации системы.



Настраиваем контроллер


Приложение Frequency Response Based PID Tuner располагается в окне параметров блока PID Controller в выпадающем меню Select tuning method. Для его запуска необходимо нажать кнопку Tune.



В открывшемся окне представлено краткое описание работы метода, а также параметры настройки эксперимента.



Алгоритм задания цели эксперимента:


  1. Указать количество расчетов моделей (Number of simulations): 2 расчета для систем с возмущающими воздействиями, 1 расчет для систем без возмущающих воздействий. Поскольку в данной системе их нет, то выбираем 1 расчет.
  2. Указать тип системы (Plant information): асимптотически устойчивая система, либо система с астатизмом первого порядка (система имеет один интеграл). В данном случае система асимптотически устойчива.
  3. Задание времени начала моделирования $t_{0}$ и продолжительности моделирования $t_{span}$. Эксперимент рекомендуется начинать, когда система вышла на установившейся режим, т.е. когда закончился переходный процесс. Установим начало эксперимента в 0.2 с. Продолжительность моделирования определяется требуемым временем нарастания согласно формуле $t_{span} = 50 t_{r}$.
  4. Задать амплитуды тестовых сигналов. Амплитуды сигналов рекомендуется брать такими, чтобы значения превышали амплитуды шумов в системе, но не выходили за ее ограничения. В данном случае указываем амплитуды сигналов, равными 1.
  5. Указать требования к переходному процессу (Design Specifications). Значение требуемой полосы пропускания определяется формулой $\omega_{b} = 2/t_{r}$. В нашем случае оно равно 4.83 рад/с. Величина перерегулирования 10% примерно соответствует запасу по фазе 60, поэтому оставляем это значение без изменения.

Далее, нажимаем кнопку Tune для запуска эксперимента. После завершения эксперимента настроенные параметры регулятора появятся на панели Tuning Results.



Нажимая кнопку Update PID Block, новые параметры автоматически изменятся в соответствующих полях окна параметров блока регулятора.


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





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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru