Спроектируйте компенсатор для систем, представленных данными о частотной характеристике

В этом примере показано, как спроектировать компенсатор для модели объекта управления, заданной данными о частотной характеристике (FRD) с помощью Control System Designer.

Получите модель объекта управления Данных о частотной характеристике (FRD)

Непараметрические представления моделей объекта управления, такие как данные о частотной характеристике, часто используются для анализа и системы управления. Эти модели FRD обычно получаются из:

1) Предупредите об оборудовании анализатора, которое выполняет измерения частотного диапазона в системах.

2) Непараметрические методы оценки с помощью системных данных об ответе времени. Можно использовать следующие продукты, чтобы оценить модели FRD:

Simulink® Control Design™:

Signal Processing Toolbox™:

  • Функция: tfestimate (Signal Processing Toolbox).

System Identification Toolbox™:

  • Функции: etfe (System Identification Toolbox), spa (System Identification Toolbox), spafdr (System Identification Toolbox)

Модель FRD и конструктивные требования

В этом примере спроектируйте контроллер скорости вращения двигателя, который приводит в движение угол дросселя механизма:

Частотная характеристика механизма уже оценивается. Загрузите и просмотрите данные.

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)

Control System Designer открывается, и с Предвещайте и с редакторы разомкнутого контура Николса.

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

Чтобы удовлетворить требованию отслеживания нулевой установившейся ошибки, добавьте интегратор в компенсатор. Щелкните правой кнопкой по редактору Bode область построения и выберите Add Pole/Zero> Integrator.

Чтобы удовлетворить требования запаса по амплитуде и фазе, добавьте нуль в компенсатор. Щелкните правой кнопкой по редактору Bode область построения и выберите Add Pole/Zero> Real Zero. Измените местоположение нуля и усиление компенсатора, пока вы не удовлетворите маржинальным требованиям.

Один возможный проект, который удовлетворяет конструктивным требованиям:

C(s)=0.001(s+4)s.

Этот проект компенсатора, который является ПИ-контроллером, достигает 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)')

Figure contains an axes. The axes with title Engine Step Response contains an object of type line.

Ответ показывает нулевую установившуюся ошибку и переходные процессы хорошего поведения со следующими метриками.

stepinfo(EngineStepResponse.Speed,EngineStepResponse.Time)
ans = struct with fields:
        RiseTime: 1.1048
    SettlingTime: 1.7194
     SettlingMin: 2.4501e+03
     SettlingMax: 2.5078e+03
       Overshoot: 0.3127
      Undershoot: 0
            Peak: 2.5078e+03
        PeakTime: 2.3853

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