Оптимизируйте систему LTI, чтобы удовлетворить требования частотного диапазона

Этот пример показывает, как использовать конструктивные требования частотного диапазона, чтобы оптимизировать ответ системы LTI в приложении Control System Designer.

Когда используется с программным обеспечением Control System Toolbox™, можно поместить конструктивные требования Simulink® Design Optimization™ или ограничения на графики в приложении Control System Designer. Можно включать конструктивные требования для оптимизации ответа в частотном диапазоне и временном интервале.

Можно задать конструктивные требования частотного диапазона, чтобы оптимизировать сигналы ответа для любой модели, что вы разрабатываете в приложении Control System Designer, таком как:

  • Модели LTI командной строки создаются с командами Control System Toolbox

  • Модели Simulink, которые линеаризовались с помощью программного обеспечения Simulink Control Design™

Конструктивные требования

В этом примере вы используете линеаризовавшую версию модели Simulink, srotut1.

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

  • Максимальное 30-секундное время установления

  • Максимальное 10%-е перерегулирование

  • Максимальное 10-секундное время нарастания

  • Предел ±0.7 на сигнале привода

Создайте модель объекта управления LTI

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

Разработайте компенсатор для передаточной функции разомкнутого цикла линеаризовавшей модели srotut1. Линеаризовавшая модель объекта управления srotut1 состоит из усиления, неограниченного интегратора, передаточной функции и приближения Padé к транспортной задержке.

Чтобы создать передаточную функцию разомкнутого цикла на основе линеаризовавшей модели srotut1, введите следующие команды.

w0 = 1;
zeta = 1;
Kint = 0.5;
Tdelay = 1;
[delayNum,delayDen] = pade(Tdelay,1);
integrator = tf(Kint,[1 0]);
transfer_fcn = tf(w0^2,[1 2*w0*zeta w0^2]);
delay_block = tf(delayNum,delayDen);
open_loopTF = integrator*transfer_fcn*delay_block;

Если модель объекта управления является массивом моделей (Control System Toolbox), контроллер разработан для номинальной модели только. Можно также анализировать систему управления для остающихся моделей в массиве. Для получения дополнительной информации смотрите Мультиобразцовую Систему управления (Control System Toolbox).

Совет

Можно непосредственно линеаризовать модель Simulink с помощью программного обеспечения Simulink Control Design.

Откройте приложение Control System Designer

Этот пример использует схему корневого годографа, чтобы разработать ответ передаточной функции разомкнутого цикла, open_loopTF. Чтобы создать сеанс приложения Control System Designer с графиком корневого годографа для передаточной функции разомкнутого цикла, используйте следующую команду:

controlSystemDesigner('rlocus',open_loopTF)

Приложение Control System Designer открывается, и Root Locus Editor отображен. Приложение позволяет вам разработать контроллеры для одно входа, одно вывод (SISO) системы в MATLAB® и Simulink. Для получения дополнительной информации смотрите Классическую Систему управления (Control System Toolbox) категория.

Приложение также отображает переходный процесс системы. График показывает ответ системы с обратной связью от r (вход к предварительному фильтру, F) к y (вывод модели объекта управления, G).

Чтобы выбрать архитектуру для системы управления, вы разрабатываете, в приложении нажимают Edit Architecture. Этот пример использует архитектуру по умолчанию. В этой системе модель объекта управления, G, является передаточной функцией разомкнутого цикла open_loopTF. Предварительный фильтр, F, и датчик, H, установлен в 1, и компенсатор, C, является компенсатором, который разработан с помощью методов оптимизации ответа.

Откройте основанный на оптимизации настраивающий метод

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

Чтобы создать задачу оптимизации ответа, в Tuning Methods выпадающий список, выбирают Optimization Based Tuning.

Окно Response Optimization имеет четыре вкладки. За исключением первой вкладки, каждая вкладка соответствует шагу в процессе оптимизации ответа:

Примечание

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

Выберите Tunable Compensator Elements

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

Указывать элементы компенсатора, чтобы настроиться:

  1. В окне Response Optimization выберите вкладку Compensators.

  2. Во вкладке Compensators установите флажки в столбце Optimize, которые соответствуют элементам компенсатора, чтобы настроиться.

    В этом примере выберите Gain в компенсаторе C.

Добавьте конструктивные требования

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

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

После того, как вы добавляете конструктивные требования, можно выбрать подмножество требований для проектирования контроллера, как описано в Выбирают Design Requirements to Use During Response Optimization. Во вкладке Design requirements окна Response Optimization можно создать конструктивные требования и выбрать требования, которые вы хотите использовать для оптимизации.

Конструктивные требования времени установления

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

Добавить конструктивные требования времени установления:

  1. Во вкладке Design requirements нажмите Add new design requirement. Диалоговое окно New Design Requirement открывается.

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

  2. Добавьте конструктивные требования в существующую схему корневого годографа.

    1. В Design requirement type выпадающий список выберите Settling time.

    2. В Requirement for response выпадающий список выберите LoopTransfer_C.

    3. Задайте Settling time как секунды 30.

    4. Нажмите OK.

    Конструктивные требования времени установления перечислены во вкладке Design Requirements окна Response Optimization.

    В приложении конструктивные требования появляются на графике корневого годографа как вертикальная строка.

Промахнитесь по конструктивным требованиям

Вторые конструктивные требования должны иметь перерегулирование процента 10% или меньше. Это требование связано с отношением затухания на схеме корневого годографа. В дополнение к добавлению конструктивных требований с кнопкой Add new design requirement можно также щелкнуть правой кнопкой непосредственно по графикам добавить требование.

Добавить эти конструктивные требования:

  1. В приложении Control System Designer щелкните правой кнопкой в пробеле схемы корневого годографа. Выберите Design Requirements> New, чтобы открыть диалоговое окно New Design Requirement.

  2. В Design requirement type выпадающий список выберите Percent overshoot.

  3. Задайте Percent overshoot как 10.

  4. Нажмите OK.

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

Конструктивные требования времени нарастания

Третьи конструктивные требования должны иметь время нарастания 10 секунд или меньше. Это требование соответствует нижнему пределу на Предвещать схеме Значения.

Добавить эти конструктивные требования:

  1. В приложении, в Tuning Methods выпадающий список, выбирают Bode Editor.

  2. В диалоговом окне Select Response to Edit задайте Select Response to Edit как LoopTransfer_C и нажмите Plot.

    Диаграмма Боде отображена в Bode Editor.

  3. Щелкните правой кнопкой в пробеле Диаграммы Боде разомкнутого цикла и выберите Design Requirements> New, чтобы открыть диалоговое окно New Design Requirement.

  4. Задайте конструктивные требования, чтобы представлять время нарастания и добавить его в новую Диаграмму Боде.

    1. В Design requirement type выпадающий список выберите Lower gain limit.

    2. Задайте область значений Frequency как 1e-2 к 0.17.

    3. Задайте область значений Magnitude как 0 к 0.

    4. Нажмите OK.

    Конструктивные требования появляются на графике как горизонтальная строка.

Предельные конструктивные требования привода

Четвертые конструктивные требования должны ограничить сигнал привода в ±0.7.

Добавить эти конструктивные требования:

  1. В окне Response Optimization, в Design requirements, нажимают Add new design requirement. Диалоговое окно New Design Requirement открывается.

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

    1. В Design requirement type выпадающий список выберите Step response upper amplitude limit.

    2. В Requirement for response выпадающий список выберите IOTransfer_r2u.

    3. Задайте область значений Time как 0 к 10.

    4. Задайте область значений Amplitude как 0.7 к 0.7.

    5. Нажмите OK. Второй переходный процесс для ответа с обратной связью от r до u сгенерирован в приложении. График содержит горизонтальную строку, представляющую верхний предел сигнала привода.

    6. Чтобы расширить этот предел навсегда (к t = ∞), щелкните правой кнопкой по желтой заштрихованной области и выберите Extend to inf.

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

  1. В окне Response Optimization, в Design requirements, нажимают Add new design requirement. Диалоговое окно New Design Requirement открывается.

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

    1. В Design requirement type выпадающий список выберите Step response lower amplitude limit.

    2. В Requirement for response выпадающий список выберите IOTransfer_r2u.

    3. Задайте область значений Time как 0 к 10.

    4. Задайте область значений Amplitude как -0.7 к -0.7.

    5. Нажмите OK. Переходный процесс теперь содержит вторую горизонтальную строку, представляющую нижний предел на сигнале привода.

    6. Чтобы расширить этот предел навсегда (к t = ∞), щелкните правой кнопкой по желтой заштрихованной области конструктивных требований и выберите Extend to inf.

Выберите конструктивные требования, чтобы использовать во время оптимизации ответа

Таблица во вкладке Design requirements приводит все заданные конструктивные требования. Выберите конструктивные требования, которые вы хотите использовать в оптимизации ответа. Этот пример использует все текущие конструктивные требования.

Оптимизируйте отклик системы

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

Чтобы оптимизировать ответ системы, во вкладке Optimization окна Response Optimization, нажимают Start Optimization.

Вкладка Optimization отображает прогресс оптимизации.

Сообщение о состоянии указывает, что решатель оптимизации нашел решение, которое соответствует конструктивным требованиям в допусках. Проверьте, что конструктивные требования удовлетворены.

Создайте и отобразите систему с обратной связью

После разработки компенсатора можно экспортировать его в рабочее пространство MATLAB и создать модель полной системы с обратной связью. Экспортировать настроенный компенсатор:

  1. В приложении выберите Export.

  2. В диалоговом окне Export Model выберите C, компенсатор вы разработали, и нажмите Export.

В командной строке введите следующую команду, чтобы создать систему с обратной связью, CL, от передаточной функции разомкнутого цикла, open_loopTF, и компенсатора, C:

CL = feedback(C*open_loopTF,1)

Следующая модель возвращена:

CL =
 
                  -0.19414 (s-2)
  ----------------------------------------------
  (s^2 + 0.409s + 0.1136) (s^2 + 3.591s + 3.418)
 
Continuous-time zero/pole/gain model.

Чтобы создать переходный процесс системы с обратной связью, введите следующую команду.

step(CL);

Похожие темы