exponenta event banner

Контроллер PID на основе оптимизации проектирования для линеаризованной модели Simulink (GUI)

В этом примере показано, как выполнять проектирование управления на основе оптимизации в приложении Control System Designer (Control System Toolbox) при наличии программного обеспечения Control System Toolbox™. Создается ПИД-контроллер для линеаризованной модели Simulink ®.

Выполняются следующие задачи:

  • Укажите величину Бода в частотной области и требования к запасам по фазе.

  • Разработка начального контроллера в соответствии с требованиями частотной области.

  • Уточните начальную конструкцию контроллера, чтобы ограничить выходной сигнал контроллера.

Структура модели

модель Simulink, sldo_model2, содержит Controller блок, который является ПИД-контроллером. Этот блок управляет выходом Plant подсистема.

С помощью программного обеспечения Simulink Control Design™ модель линеаризована в рабочей точке, указанной в модели. sldo_model2.mat содержит предварительно настроенный сеанс приложения Control System Designer, сохраненный после линеаризации модели. Дополнительные сведения о линеаризации моделей Simulink для конструкции управления см. в разделе Проектирование и настройка системы управления (Simulink Control Design).

Plant подсистема моделируется как система второго порядка с задержкой. Он содержит блоки функции передачи и задержки передачи.

Дополнительные сведения о блоках см. на ссылочных страницах блоков Transfer Fcn и Transport Delay.

Требования к конструкции

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

  • Bode нижняя граница амплитуды 0 в диапазоне частот от 1e-3 до 1 рад/с

  • Запас по фазе больше 60 градусов

  • Пределы выхода контроллера в диапазоне [-250 550]

Настройка приложения Control System Designer для проектирования управления на основе оптимизации

Чтобы создать линейный контроллер для модели Simulink, сначала настройте сеанс приложения Control System Designer.

  1. Откройте сеанс приложения Control System Designer для линеаризованной модели Simulink.

    Введите следующую команду в подсказке MATLAB ®:

    controlSystemDesigner('sldo_model2.mat')

    sldo_model2.mat содержит предварительно настроенный сеанс приложения Control System Designer. Этот сеанс был сохранен после линеаризации программного обеспечения Simulink Control Design sldo_model2.

    Откроется приложение Control System Designer со следующими графиками:

    • Ступенчатая реакция системы по замкнутому контуру

    • Выходные данные Controller блок

  2. Для оптимизации отклика в раскрывающемся списке «Методы настройки» выберите Optimization Based Tuning.

    В окне Оптимизация ответа (Response Optimization) можно указать параметры контроллера и требования к конструкции, а также выполнить оптимизацию.

Проектирование начального контроллера МТС в соответствии с требованиями к величине и полям фазы

Укажите параметры контроллера

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

  1. В окне Оптимизация ответа выберите вкладку Компенсаторы.

    На вкладке Компенсаторы (Compensators) отображаются следующие настройки параметров:

    • Значение - текущее значение параметра контроллера

    • Начальное приближение - начальное значение параметра контроллера

    • Минимум и максимум - границы параметров контроллера

    • Типовое значение - коэффициент масштабирования для параметра контроллера

    Примечание

    Элементы или параметры компенсатора не могут иметь неопределенности при использовании с оптимизацией отклика на основе частотной области.

    Параметры контроллера отображаются как полюса и нули в столбце Элементы компенсатора:

    • Коэффициент усиления - общий коэффициент усиления контроллера

    • Реальные нули - нули в результате дифференциатора и интегратора

    • Реальный полюс - полюс, получаемый из фильтра нижних частот дифференциатора

    Совет

    Просмотр структуры Controller блок, щелкните правой кнопкой мыши блок в модели и выберите «Маска» > «Искать под маской».

  2. Измените параметры контроллера PID на формат параметров маски блока Simulink.

    Щелкните правой кнопкой мыши строку sldo_model2/Controller и выберите «Параметризованный формат».

    Параметры контроллера теперь отображаются как параметры маски блока Simulink, P, I, и D. Дополнительные сведения см. в разделе Проектирование линейных контроллеров для моделей Simulink. Дополнительные сведения о параметрах маски см. в разделе Параметры маски.

  3. Выберите параметры контроллера для оптимизации.

    В столбце «Оптимизация» выберите P, I, и D.

Определение требований к расчету величины и запаса по фазе

Укажите нижнее предельное значение величины Бода:

  1. На вкладке Требования к конструкции (Design requirements) щелкните Добавить новое требование к конструкции (Add new design requirement). Откроется диалоговое окно Новое конструкторское требование (New Design Requirement).

  2. В диалоговом окне «Новое требование проекта» в раскрывающемся списке «Тип требования проекта» выберите Bode magnitude lower limit.

  3. В раскрывающемся списке Requirement for response выберите Open Loop 1.

  4. Укажите диапазон частот как 1e-3 кому 1.

  5. Задайте диапазон величин как 0 кому 0.

  6. Нажмите кнопку ОК.

    Нижний предел величины Bode добавляется на вкладку «Требования к конструкции».

    Окно приложения Control System Designer обновляется для отображения графика Боде в Редакторе Модов. Требование к конструкции отображается как сегмент черной линии.

Укажите требования к запасам по фазе:

  1. Для открытия диалогового окна «Новое проектное требование» щелкните правой кнопкой мыши в пределах пробела на графике «Модель» и выберите «Проектные требования» > «Создать».

  2. В диалоговом окне «Новое требование проекта» в раскрывающемся списке «Тип требования проекта» выберите Gain & phase margins.

  3. Установите флажок Поле фазы (Phase margin) и укажите поле фазы как 60.

  4. Нажмите кнопку ОК.

    В окне Оптимизация ответа (Response Optimization) обновится вкладка Требования к конструкции (Design requirements), чтобы отобразить требования к границе фазы.

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

Проектирование контроллера

Для проектирования контроллера с заданными проектными требованиями:

  1. В окне Оптимизация отклика на вкладке Оптимизация щелкните Начать оптимизацию.

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

    После завершения оптимизации на вкладке Оптимизация (Optimization) отображаются итерации и статус оптимизации.

    Сообщение о состоянии, Successful termination, указывает на то, что методом оптимизации было найдено решение, удовлетворяющее проектным требованиям. Дополнительные сведения о выводах, отображаемых в таблице Ход оптимизации (Optimization progress), см. в разделе Итеративное отображение (Iterative Display).

  2. Проверьте параметры контроллера и ответ системы:

    1. На вкладке Компенсатор (Compensator) просмотрите оптимизированные значения параметров в столбце Значение (Value).

    2. Проверьте реакцию системы на следующих графиках:

      • График Боде:

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

        • На графике фазы отображается значение запаса фазы (PM), равное 86,1 градуса. Это указывает на то, что система выполнила требование по проектированию запаса по фазе более 60 градусов.

      • Ступенчатая реакция системы по замкнутому контуру:

        График показывает, что отклик системы по замкнутому контуру стабилен. Таким образом, система с спроектированным контроллером удовлетворяет требованиям как к величине, так и к запасам по фазе.

      • Выходные данные Controller блок:

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

Уточнение конструкции контроллера для соответствия выходным границам контроллера

Чтобы настроить параметры компенсатора на соответствие границам на выходе контроллера:

  1. Добавьте верхнюю границу на выходе контроллера:

    1. На графике выходных данных контроллера щелкните правой кнопкой мыши на белой области и выберите «Design requirement > New».

    2. В диалоговом окне «Новое требование проекта» в раскрывающемся списке «Тип требования проекта» выберите Upper time response bound.

    3. Укажите временной диапазон как 0 кому Inf.

    4. Задайте диапазон амплитуд как 550 кому 550.

    5. Нажмите кнопку ОК.

  2. Добавьте нижнюю границу на выходе контроллера:

    1. На графике выходных данных контроллера щелкните правой кнопкой мыши белую область и выберите «Design requirement > New».

    2. В диалоговом окне «Новое требование проекта» в раскрывающемся списке «Тип требования проекта» выберите Lower time response bound.

    3. Укажите временной диапазон как 0 кому Inf.

    4. Задайте диапазон амплитуд как -250 кому -250.

    5. Нажмите кнопку ОК.

    В окне Оптимизация ответа (Response Optimization) вкладка Требования к конструкции (Design requirements) обновляется для отображения границ на выходе контроллера.

    График вывода Controller отображает новые проектные требования.

  3. Оптимизируйте параметры в соответствии с проектными требованиями на выходе контроллера:

    1. В окне Оптимизация ответа на вкладке Компенсаторы выберите строки, содержащие P, I, и Dи нажмите кнопку «Использовать значение как начальное предположение».

      Значения в столбце «Начальное приближение» обновляются. При повторном запуске оптимизации метод оптимизации использует обновленные значения параметров в качестве начальной точки для уточнения значений.

    2. На вкладке Оптимизация (Optimization) щелкните Начать оптимизацию (Start Optimization). При каждой итерации оптимизации способ оптимизации уменьшает расстояние между откликом тока и верхней и нижней границами сигнала. После завершения оптимизации на вкладке Оптимизация (Optimization) отображаются итерации и статус оптимизации.

      Сообщение о состоянии, Successful termination, указывает на то, что методом оптимизации было найдено решение, удовлетворяющее проектным требованиям.

  4. Изучите графики ответов.

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

    Убедитесь, что реакция системы по замкнутому контуру остается стабильной после уточнения конструкции контроллера.

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

  5. Проверьте значения параметров оптимизированного контроллера.

    В окне Оптимизация ответа (Response Optimization) на вкладке Компенсаторы (Compensators) просмотрите значения параметров оптимизированного контроллера в столбце Значение (Value).

  6. Запишите значения параметров оптимизированного контроллера в Controller блок в модели Simulink.

    В приложении Control System Designer щелкните Обновить блоки.

  7. Сохраните сеанс с оптимизированными параметрами контроллера.

    В приложении Control System Designer выберите Сохранить сеанс и укажите имя сеанса.

Связанные темы