Проект ПИД-регулятора в Live Editor

В этом примере показано, как использовать задачу ПИД-регулятора Мелодии в Live Editor сгенерировать код для разработки ПИД-регулятора для линейной модели объекта управления. Задача ПИД-регулятора Мелодии позволяет вам в интерактивном режиме совершенствовать эффективность контроллера, чтобы настроить пропускную способность цикла и запас по фазе, или способствовать отслеживанию заданного значения или воздействию. Задача генерирует график отклика, который позволяет вам контролировать эффективность контроллера, в то время как вы настраиваете настраивающиеся параметры.

Откройте этот пример, чтобы видеть, что предварительно сконфигурированный скрипт содержит задачу ПИД-регулятора Мелодии. Для получения дополнительной информации о задачах Live Editor обычно, смотрите, Добавляют Интерактивные Задачи к Live Script.

В Live Editor создайте модель LTI для своего объекта.

G = zpk(-5,[-1 -2 -3 -4],6);

Чтобы спроектировать ПИД-регулятор для этого объекта, откройте Live Editor ПИД-регулятора Мелодии задача. На вкладке Live Editor выберите Task> Tune PID Controller. Это действие вставляет задачу в ваш скрипт.

Первоначальный проект контроллера

Чтобы сгенерировать первоначальный проект ПИД-регулятора, в меню Plant, выбирают объект, который вы создали, G. Настройтесь ПИД-регулятор автоматически генерирует ПИ-контроллер, который балансирует эффективность и робастность, принимая стандартную настройку модульного управления с обратной связью следующей схемы.

Задача также генерирует переходный процесс, показывающий переходной процесс с обратной связью от r до y использование первоначального проекта контроллера.

Совершенствуйте проектирование контроллера

Выберите характеристики Отклика системы, чтобы отобразить числовые значения некоторых характеристик временного интервала этого ответа.

Первоначальный проект контроллера имеет время нарастания приблизительно 1,5 секунд приблизительно с 8%-м перерегулированием. Экспериментируйте со Временем отклика и Переходными ползунками Поведения, чтобы изменить цели проекта и видеть их эффект на переходном процессе.

С ПИ-контроллером и этим объектом, это затрудняет, чтобы уменьшить время отклика, не вводя нестабильность или в противном случае ухудшающийся отклик системы. Попытайтесь переключиться на ПИД-регулятор, чтобы видеть, можно ли достигнуть лучшего времени отклика. В Типе контроллера выпадающее меню выберите PID.

Можно теперь уменьшать время отклика контроллера. Экспериментируйте с ползунками снова, наблюдая эффект на переходном процессе. Для примера, который показывает более подробно, как Время отклика и Переходные ползунки Поведения влияют на эффективность контроллера, смотрите ПИД-регулятор Мелодии, чтобы Способствовать Отслеживанию уставки или Подавлению помех (PID Tuner). Тот пример использует приложение PID Tuner вместо задачи ПИД-регулятора Мелодии в Live Editor, но поведение и эффект ползунков являются тем же самым в обоих инструментах.

Исследуйте сгенерированный код

Задача автоматически генерирует код к настроить ПИД-регулятор для объекта с заданными целями проекта. Чтобы видеть сгенерированный код, щелкните в нижней части задачи. Задача расширяется, чтобы показать сгенерированный код.

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

Исследуйте эффективность подавления помех

Предположим, что вы интересуетесь откликом системы с обратной связью к воздействию во входе объекта. Сгенерировать график переходного процесса от d1 к y, в Выходном Графике выпадающее меню, выбирают Step Plot: Input disturbance rejection. График обновляется, чтобы показать новый ответ. В зависимости от того, как вы устанавливаете цели эффективности, когда вы изменяете график отклика, вы можете видеть ответ, который похож на следующее.

Можно теперь экспериментировать снова с параметрами контроллера и наблюдать их эффект на подавлении помех. Для примера, который показывает более подробно, как можно использовать ползунки и другие расчетные параметры, чтобы улучшать производительность подавления помех, смотрите ПИД-регулятор Мелодии, чтобы Способствовать Отслеживанию уставки или Подавлению помех (PID Tuner). Тот пример использует приложение PID Tuner вместо задачи ПИД-регулятора Мелодии в Live Editor, но поведение и эффект расчетных параметров являются тем же самым в обоих инструментах.

Сравните два проектирования контроллера

Настройтесь ПИД-регулятор автоматически пишет настроенному контроллеру в рабочую область MATLAB® как pid, pidstd, pid2, или pidstd2 объект модели, какой бы ни подходит для ваших настроек контроллера. Задача хранит контроллер, использующий имя переменной, заданное в линии сводных данных задачи. По умолчанию тем именем переменной является C. Когда вы изменяете настройки контроллера, цели эффективности или другие настраивающие параметры, по умолчанию задача переписывает переменную C.

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

Теперь текущий проект хранится в рабочем пространстве MATLAB как C. Дальнейшие изменения в проекте хранятся как Cnew.

Использовать C как базовая линия для сравнения, в Базовом меню контроллера, выбирают Select from workspace. Затем выберите C в меню, которое появляется.

Теперь когда вы экспериментируете далее с проектированием контроллера, график отображает обоих отклик системы с контроллером C (пунктирная линия) и с контроллером Cnew (сплошная линия).

Используйте контроллер

Поскольку задача ПИД-регулятора Мелодии сохраняет контроллер в рабочее пространство MATLAB, можно использовать контроллер, как вы использовали бы любой другой объект модели ПИДа для системы управления и анализа. Например, исследуйте эффективность контроллера против немного отличающейся модели объекта управления, чтобы получить смысл робастности системы с обратной связью против изменения параметра.

G1 = zpk(-5,[-0.75 -2 -3 -4],8);
CL1 = getPIDLoopResponse(C,G1,'closed-loop');
CL = getPIDLoopResponse(C,G,'closed-loop');
step(CL,CL1)

Смотрите также

Задачи Live Editor

Похожие темы