Оптимизируйте систему 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);

Похожие темы