В этом примере показано, как использовать задачи Live Editor настроить ПИД-регулятор для объекта, запускающегося от измеренного ответа объекта до известного входного сигнала. В этом примере вы используете Оценочную задачу Модели в пространстве состояний сгенерировать код для оценки параметрической модели объекта управления. Затем вы используете задачу Уровня Модели Преобразования дискретизировать непрерывное время идентифицированная модель. Наконец, вы используете задачу ПИД-регулятора Мелодии спроектировать ПИД-регулятор, чтобы достигнуть ответа с обратной связью, который соответствует вашим конструктивным требованиям. (Используя Оценку Модель в пространстве состояний требует лицензии System Identification Toolbox™.)
Задачи Live Editor позволяют вам в интерактивном режиме выполнить итерации на параметрах и настройках при наблюдении их эффектов на результате расчета. Задачи затем автоматически генерируют код MATLAB®, который достигает отображенных результатов. Чтобы экспериментировать с задачами Live Editor в этом скрипте, откройте этот пример. Для получения дополнительной информации о Live Editor Тэсксе обычно, смотрите, Добавляет Интерактивный Тэскс к Live Script (MATLAB).
Загрузите измеренные данные ввода - вывода. В этом примере данные состоят из ответа механизма к входу щебета. Вход 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")
Чтобы оценить модель в пространстве состояний из этих данных, используйте Оценочный Live Editor Модели в пространстве состояний задача. Можно вставить задачу в скрипт с помощью Меню задач в Live Editor. В этом скрипте уже вставляется Оценочная Модель в пространстве состояний. Откройте пример, чтобы экспериментировать с задачей.
Чтобы выполнить оценку, в задаче, указывают, что ввод и вывод сигнализирует, что вы загрузили, u
и y
, и шаг расчета, 0,04 секунды. (В данном примере у вас нет данных о валидации.) Также необходимо задать порядок объекта. Как правило, можно предположить порядок объекта, основанный на знании системы. В общем случае вы хотите использовать самый низкий порядок объекта, который дает довольно хорошую подгонку оценки. В Оценочной задаче Модели в пространстве состояний экспериментируйте с различными стоимостями заказов объекта и наблюдайте результат подгонки, отображенный в выходном графике. Для получения дополнительной информации о доступных параметрах и параметрах, смотрите Оценочную страницу с описанием задачи Модели в пространстве состояний.
Когда вы варьируетесь параметры по задаче, она автоматически обновляет сгенерированный код для выполнения оценки и создания графика. (Чтобы видеть сгенерированный код, щелкните в нижней части задачи.)
В данном примере в порядке 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
для любой другой системы управления или аналитических задач.