exponenta event banner

Настройка PID-контроллера на основе измеренных данных установки с помощью задач Live Editor

В этом примере показано, как использовать задачи Live Editor для настройки PID-контроллера для установки, начиная с измеренной реакции установки на известный входной сигнал. В этом примере для создания кода для оценки параметрической модели установки используется задача Оценка модели состояния-пространства. Затем используется задача Преобразовать скорость модели (Convert Model Rate) для дискретизации идентифицированной модели с непрерывным временем. Наконец, вы используете задачу Tune PID Controller для проектирования PID-контроллера, чтобы получить отклик с замкнутым контуром, соответствующий вашим требованиям к конструкции. (Для использования модели оценки состояния пространства требуется лицензия на Toolbox™ идентификации системы.)

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

Загрузка данных завода

Загрузите измеренные данные ввода-вывода. В этом примере данные состоят из ответа двигателя на входной сигнал частотно-регулируемой частоты. Вход 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. The axes contains 2 objects of type line. These objects represent input u, response y.

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

Для оценки модели "состояние-пространство" на основе этих данных используется задача "Оценить модель" состояние-пространство "(панель инструментов идентификации системы)" Оперативный редактор ". Можно вставить задачу в сценарий с помощью меню «Задача» в интерактивном редакторе. В этом сценарии уже вставлена модель «Оценка состояния пространства». Откройте пример, чтобы поэкспериментировать с задачей.

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

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

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

bode(sys_id)
grid on

Предположим, что необходимо выполнить дискретизацию этой модели перед проектированием для нее PID-контроллера. Для этого используйте задачу Преобразовать модельную скорость (Convert Model Rate). В задании выберите определенную модель. sys_id. Укажите время выборки достаточно быстро, чтобы учесть резонанс в отклике идентифицированной модели, например 0,025 с. Вы также можете выбрать другой метод преобразования, чтобы лучше соответствовать частотному отклику в окрестности резонанса. Например, используйте билинейное (Tustin) приближение с предвоенной частотой 38,4 рад/с, местоположение пиковой характеристики. Во время эксперимента с настройками задачи сравните исходную и преобразованную модели на графике Боде, чтобы убедиться, что вы удовлетворены совпадением. (Дополнительные сведения о параметрах и опциях см. на странице ссылки на задачу «Преобразовать скорость модели».)

Функция «Преобразовать скорость модели» создает код, который создает дискретизированную модель с именем переменной, введенным в строку сводки задачи. Для этого примера используйте sys_d.

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

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

Контроллер настройки для дискретизированной модели установки

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

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

В этом примере предположим, что система с замкнутым контуром должна установиться в течение 15 секунд и что система может выдержать превышение, не превышающее 20%. Для достижения этой цели настройте параметры контроллера, такие как тип контроллера и время отклика. Для получения дополнительной информации о доступных параметрах и параметрах см. справочную страницу задачи Tune PID Controller.

Дальнейший анализ проекта

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

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

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

См. также

Задачи интерактивного редактора

Связанные темы