exponenta event banner

Настройка контроллера PID в пользу отслеживания ссылок или отклонения нарушений (командная строка)

В этом примере показано, как использовать параметры настройки PID в командной строке для уменьшения переполнения при отслеживании ссылок или для улучшения устранения нарушения на входе в установку. Использование pidtune В данном примере показан компромисс между эталонным отслеживанием и характеристиками нарушения-отклонения в системах управления PI и PID.

Рассмотрим систему управления, приведенную на следующем рисунке.

Трекинг уставки - это отклик у на сигналы r. Отклонение входного возмущения - подавление при у сигналов при d.

Создайте модель завода, которая для этого примера задается следующим образом:

$$G = \frac{{0.3}}{{{s^2} + 0.1s}}.$$

G = tf(0.3,[1 0.1 0]);

Проектирование PI-контроллера для этой установки с использованием полосы пропускания 0,03 рад/с.

wc = 0.03;
[C1,info] = pidtune(G,'PI',wc);

Проверьте шаговое отслеживание и отклонение шагового возмущения системы управления с помощью контроллера по умолчанию. Реакция возмущения от d до y эквивалентна реакции замкнутого контура, задаваемой feedback(G,C1).

T1 = feedback(G*C1,1);
GS1 = feedback(G,C1);

subplot(2,1,1);
stepplot(T1)
title('Reference Tracking')
subplot(2,1,2);
stepplot(GS1)
title('Disturbance Rejection')

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

В зависимости от приложения может потребоваться изменить баланс между отслеживанием ссылок и отклонением возмущений в пользу одного или другого. Для контроллера PI этот баланс можно изменить путем изменения запаса фазы настроенной системы. Контроллер по умолчанию, возвращенный pidtune дает запас фазы 60 °.

info.PhaseMargin
ans =

   60.0000

Проектируйте контроллеры для полей фаз 45 ° и 70 ° с одинаковой полосой пропускания и сравнивайте результирующее эталонное отслеживание и отклонение возмущений.

opts2 = pidtuneOptions('PhaseMargin',45);
C2 = pidtune(G,'PI',wc,opts2);
T2 = feedback(G*C2,1);
GS2 = feedback(G,C2);

opts3 = pidtuneOptions('PhaseMargin',70);
C3 = pidtune(G,'PI',wc,opts3);
T3 = feedback(G*C3,1);
GS3 = feedback(G,C3);

subplot(2,1,1);
stepplot(T1,T2,T3)
legend('PM = 60','PM = 45','PM = 70')
title('Reference Tracking')
subplot(2,1,2);
stepplot(GS1,GS2,GS3)
title('Disturbance Rejection')

Снижение запаса по фазе до 45 ° ускоряет отклонение возмущений, но также увеличивает перерасход в эталонной реакции отслеживания. Увеличение запаса по фазе до 70 ° полностью устраняет перестрелку, но приводит к крайне вялому отклонению возмущений. До тех пор, пока не будет найдено значение, соответствующее отслеживанию ссылок и отклонению возмущений, можно попробовать использовать различные значения запаса по фазе. Влияние запаса фазы на этот баланс зависит от модели завода. Для некоторых моделей растений эффект не так велик, как показано в этом примере.

Если требуется зафиксировать как полосу пропускания, так и запас по фазе системы управления, можно изменить баланс между отслеживанием ссылок и отклонением возмущений с помощью DesignFocus вариант pidtune. Можно задать DesignFocus к также 'disturbance-rejection' или 'reference-tracking' для настройки контроллера, который предпочитает то одно, то другое.

DesignFocus опция более эффективна для системы управления с более настраиваемыми параметрами. Поэтому он не оказывает большого влияния при использовании с ПИ-контроллером. Чтобы увидеть его эффект, спроектируйте контроллер PIDF для той же полосы пропускания и диапазона фаз по умолчанию (60 °), используя каждый из DesignFocus значения. Сравните результаты.

opts4 = pidtuneOptions('DesignFocus','balanced');   % default focus
C4 = pidtune(G,'PIDF',wc,opts4);
T4 = feedback(G*C4,1);
GS4 = feedback(G,C4);

opts5 = pidtuneOptions('DesignFocus','disturbance-rejection');
C5 = pidtune(G,'PIDF',wc,opts5);
T5 = feedback(G*C5,1);
GS5 = feedback(G,C5);

opts6 = pidtuneOptions('DesignFocus','reference-tracking');
C6 = pidtune(G,'PIDF',wc,opts6);
T6 = feedback(G*C6,1);
GS6 = feedback(G,C6);

subplot(2,1,1);
stepplot(T4,T5,T6)
legend('Balanced','Rejection','Tracking')
title('Reference Tracking')
subplot(2,1,2);
stepplot(GS4,GS5,GS6)
title('Disturbance Rejection')

При использовании DesignFocus для поддержки эталонного отслеживания или отклонения возмущений в настроенной системе управления можно по-прежнему корректировать запас по фазе для дальнейшей точной настройки баланса между этими двумя показателями производительности. Использовать DesignFocus и PhaseMargin вместе для достижения баланса производительности, который наилучшим образом соответствует вашим требованиям к конструкции.

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

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