В этом примере показано, как спроектировать компенсатор для модели объекта управления, заданной данными о частотной характеристике (FRD) с помощью Control System Designer.
Непараметрические представления моделей объекта управления, такие как данные о частотной характеристике, часто используются для анализа и системы управления. Эти модели FRD обычно получаются из:
1) Предупредите об оборудовании анализатора, которое выполняет измерения частотного диапазона в системах.
2) Непараметрические методы оценки с помощью системных данных об ответе времени. Можно использовать следующие продукты, чтобы оценить модели FRD.
Simulink® Control Design™:
Функция: frestimate
(Simulink Control Design)
Пример: оценка частотной характеристики Используя основанные на симуляции методы (Simulink Control Design).
Signal Processing Toolbox™:
Функция: tfestimate
(Signal Processing Toolbox).
System Identification Toolbox™:
В этом примере спроектируйте контроллер скорости вращения двигателя, который приводит в движение угол дросселя механизма:
Частотная характеристика механизма уже оценивается. Загрузите и просмотрите данные.
load FRDPlantDemoData.mat
AnalyzerData
AnalyzerData = struct with fields:
Response: [594x1 double]
Frequency: [594x1 double]
FrequencyUnits: 'rad/s'
Создайте объект модели FRD:
FRDPlant = frd(AnalyzerData.Response,AnalyzerData.Frequency,... 'Unit',AnalyzerData.FrequencyUnits);
Конструктивные требования:
Обнулите установившуюся ошибку для изменений задающей скорости шага
Запас по фазе, больше, чем 60 градусов
Запас по амплитуде, больше, чем 20 дБ.
Открытый Control System Designer.
controlSystemDesigner({'bode','nichols'},FRDPlant)
Приложение открывается, и с Предвещайте и с редакторы разомкнутого контура Николса.
Можно спроектировать компенсатор путем формирования частотной характеристики разомкнутого контура или в Предвещать редакторе или в редакторе Николса. В этих редакторах в интерактивном режиме измените усиление, полюса и нули компенсатора.
Чтобы удовлетворить требованию отслеживания нулевой установившейся ошибки, добавьте интегратор в компенсатор. Щелкните правой кнопкой по редактору Bode область построения и выберите Add Pole/Zero> Integrator.
Чтобы удовлетворить требования запаса по амплитуде и фазе, добавьте нуль в компенсатор. Щелкните правой кнопкой по редактору Bode область построения и выберите Add Pole/Zero> Real Zero. Измените местоположение нуля и усиление компенсатора, пока вы не удовлетворите маржинальным требованиям.
Один возможный проект, который удовлетворяет конструктивным требованиям:
Этот проект компенсатора, который является ПИ-контроллером, достигает 20,7 полей усиления дБ и 70,8 запасов по фазе степени.
Экспортируйте спроектированный компенсатор в рабочую область. Нажмите Export.
Подтвердите эффективность контроллера путем симуляции ответа механизма с помощью нелинейной модели в Simulink®. В данном примере результаты симуляции валидации находятся в EngineStepResponse
.
Постройте ответ механизма к изменению задающей скорости от 2 000 до 2 500 об/мин:
plot(EngineStepResponse.Time,EngineStepResponse.Speed) title('Engine Step Response') xlabel('Time (s)') ylabel('Engine Speed (RPM)')
Ответ показывает нулевую установившуюся ошибку и переходные процессы хорошего поведения со следующими метриками.
stepinfo(EngineStepResponse.Speed,EngineStepResponse.Time)
ans = struct with fields:
RiseTime: 0.7136
TransientTime: 1.7194
SettlingTime: 1.3738
SettlingMin: 2.2505e+03
SettlingMax: 2.5078e+03
Overshoot: 0.3127
Undershoot: 0
Peak: 2.5078e+03
PeakTime: 2.3853