Настройте ПИД-регулятор из измеренных данных об объекте Используя задачи Live Editor

В этом примере показано, как использовать задачи Live Editor настроить ПИД-регулятор для объекта, запускающегося от измеренного ответа объекта до известного входного сигнала. В этом примере вы используете Оценочную задачу Модели в пространстве состояний сгенерировать код для оценки параметрической модели объекта управления. Затем вы используете задачу Уровня Модели Преобразования дискретизировать непрерывное время идентифицированная модель. Наконец, вы используете задачу ПИД-регулятора Мелодии спроектировать ПИД-регулятор, чтобы достигнуть ответа с обратной связью, который соответствует вашим конструктивным требованиям. (Используя Оценку Модель в пространстве состояний требует лицензии System Identification Toolbox™.)

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

Загрузите данные об объекте

Загрузите измеренные данные ввода - вывода. В этом примере данные состоят из ответа механизма к входу щебета. Вход u вектор, содержащий входной сигнал, производимый каждые 0.04 секунды. Выходной вектор y содержит соответствующий измеренный отклик.

load icEngine.mat u y
t = 0.04*(0:length(u)-1);
plot(t,u,t,y)
legend("input u","response y")

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent input u, response y.

Оцените модель в пространстве состояний

Чтобы оценить модель в пространстве состояний из этих данных, используйте Оценочную Модель в пространстве состояний (System Identification Toolbox) задача Live Editor. Можно вставить задачу в скрипт с помощью Меню задач в Live Editor. В этом скрипте уже вставляется Оценочная Модель в пространстве состояний. Откройте пример, чтобы экспериментировать с задачей.

Чтобы выполнить оценку, в задаче, указывают, что ввод и вывод сигнализирует, что вы загрузили, u и y, и шаг расчета, 0,04 секунды. (В данном примере у вас нет данных о валидации.) Также необходимо задать порядок объекта. Как правило, можно предположить порядок объекта, основанный на знании системы. В общем случае вы хотите использовать самый низкий порядок объекта, который дает довольно хорошую подгонку оценки. В Оценочной задаче Модели в пространстве состояний экспериментируйте с различными стоимостями заказов объекта и наблюдайте результат подгонки, отображенный в выходном графике. Для получения дополнительной информации о доступных параметрах и параметрах, смотрите Оценочную Модель в пространстве состояний (System Identification Toolbox) страница с описанием задачи.

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

В данном примере в порядке 4 объекта, подгонка оценки составляет приблизительно 72%. Увеличение порядка объекта не улучшает подгонку очень. Поэтому используйте объект четвертого порядка. Код производит идентифицированную модель в пространстве состояний с именем переменной, которое вы вводите в итоговую линию Оценочной задачи Модели в пространстве состояний. В данном примере используйте sys_id. После того, как вы закончили экспериментировать с задачей, идентифицированная модель в пространстве состояний sys_id находится в рабочей области MATLAB®, и можно использовать ее для дополнительного проекта и анализа таким же образом, вы используете любой другой объект модели LTI. Например, исследуйте частотную характеристику идентифицированной модели в пространстве состояний sys_id.

bode(sys_id)
grid on

Предположим, что вы хотите дискретизировать эту модель, прежде чем вы спроектируете ПИД-регулятор для нее. Для этого используйте задачу Уровня Модели Преобразования. В задаче выберите идентифицированную модель sys_id. Задайте шаг расчета достаточно быстро, чтобы вместить резонанс в идентифицированном ответе модели, таком как 0,025 с. Можно также выбрать различный метод преобразования, чтобы лучше совпадать с частотной характеристикой около резонанса. Например, используйте Билинейный (Тастин) приближение с частотой перед деформацией 38,4 рад/с, местоположением максимальной чувствительности. Когда вы экспериментируете с настройками в задаче, сравниваете исходные и конвертированные модели в Диаграмме Боде убедиться, что вы удовлетворены соответствием. (Для получения дополнительной информации о параметрах и опциях, смотрите страницу с описанием задачи Уровня Модели Преобразования.)

Преобразуйте Уровень Модели, генерирует код, который производит дискретизированную модель с именем переменной, которое вы вводите в итоговую линию задачи. В данном примере используйте sys_d.

Чтобы подтвердить, что дискретизированная модель получает переходный процесс из-за резонанса, сравните первые несколько секунд переходных процессов исходной идентифицированной модели sys_id и дискретизированная модель sys_d.

step(sys_id,sys_d,3)
legend('identified model sys_id','discretized model sys_d')

Настройте контроллер для дискретизированной модели объекта управления

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

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

В данном примере предположите, что вы хотите, чтобы система с обратной связью обосновалась в течение 15 секунд, и что система может терпеть перерегулирование не больше, чем 20%. Настройте настройки контроллера, такие как Тип контроллера и Время отклика, чтобы достигнуть той цели. Для получения дополнительной информации о доступных параметрах и опциях, смотрите страницу с описанием задачи ПИД-регулятора Мелодии.

Последующий анализ проекта

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

CLdist = getPIDLoopResponse(C,sys_d,"output-disturbance");
step(CLdist)
grid on

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

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

Задачи Live Editor

Похожие темы