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

В этом примере показано, как спроектировать компенсатор для модели объекта управления, заданной данными частотной характеристики (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 и Nichols разомкнутого контура.

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

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

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

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

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

Этот компенсатор проекта, который является ПИ-контроллером, достигает запаса по усилению 20,7 дБ и запаса по фазе 70,8 степеней.

Экспортируйте разработанный компенсатор в рабочую область. Нажмите Экспорт.

Валидация проекта

Проверьте эффективность контроллера путем симуляции отклика двигателя с помощью нелинейной модели в Simulink ®. В данном примере результаты симуляции валидации заключаются в EngineStepResponse.

Постройте график отклика двигателя на изменение задающей скорости с 2000 до 2500 об/мин:

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

См. также