exponenta event banner

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

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

Модель установки получения данных частотного отклика (FRD)

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

1) Аппаратные средства анализатора сигналов, выполняющие измерения частотной области в системах.

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

Design™ управления Simulink ®:

Toolbox™ обработки сигналов:

  • Функция: tfestimate(Панель инструментов обработки сигналов).

Toolbox™ идентификации системы:

  • Функции: etfe(Панель инструментов идентификации системы), spa(Панель инструментов идентификации системы), spafdr(Панель инструментов идентификации системы)

Требования к модели и конструкции 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 дБ.

Расчетный компенсатор

Откройте конструктор системы управления.

controlSystemDesigner({'bode','nichols'},FRDPlant)

Конструктор системы управления открывается с редакторами Bode и Nichols с разомкнутым контуром.

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

Чтобы удовлетворить требование отслеживания нулевой стационарной ошибки, добавьте интегратор в компенсатор. Щелкните правой кнопкой мыши в области печати редактора модели и выберите «Добавить полюс/нуль» > «Интегратор».

Для удовлетворения требований к коэффициенту усиления и запасу по фазе добавьте ноль к компенсатору. Щелкните правой кнопкой мыши в области печати редактора модели и выберите «Добавить столб/нуль» > «Реальный ноль». Измените расположение нуля и коэффициент усиления компенсатора до тех пор, пока не будут удовлетворены требования к запасам.

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

C (s) = 0,001 (s + 4) с.

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

Экспорт разработанного компенсатора в рабочую область. Щелкните Экспорт (Export).

Проверка конструкции

Проверьте производительность контроллера путем моделирования отклика двигателя с использованием нелинейной модели в 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

См. также