СОВРЕМЕННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
Анализ качества систем управления с помощью MATLAB и Simulink
В этом разделе предметом нашего интереса будут показатели качества, характеризующие реакцию системы на входной сигнал, а также установившаяся ошибка, с которой система отслеживает этот сигнал. Мы завершим дискуссию об упрощении линейных систем. Будет введена в рассмотрение функция MATLAB impulse. Мы еще раз вернемся к функции Isim (введенной в гл. 3) и покажем, как эти две функции используются при имитационном моде - лировании линейных систем. Для той же цели мы воспользуемся и пакетом Simu - f' link. Основы Simulink рассматриваются в Приложении Б, а более подробную информацию о нем с рядом примеров можно найти на Web-сайте MCS.
Качество систем во временной области. Качество системы обычно характеризуется ее реакцией на входной сигнал заданного вида. Но поскольку входные сигналы, которые могут реально действовать на систему, заранее неизвестны, то о ее качестве судят по реакции на типовой тестовый входной сигнал. Рассмотрим систему второго порядка, изображенную на рис. 5.35 выходной сигнал в замкнутой системе определяется выражением (в виде изображения по Лапласу):
(5.72)
Рис. 5.35
Одноконтурная система второго порядка
Мы уже знакомы с применением функции step, с помощью которой вычисляется реакция системы на ступенчатый входной сигнал. Теперь мы рассмотрим еще один важный тестовый сигнал — импульс. Реакция системы на импульсный сигнал является производной по времени от ее реакции на ступеньку. Мы будем вычислять эту реакцию с помощью функции impulse, схематически изображенной на рис. 5.36.
С помощью функции step мы можем построить графики, подобные рис 5.5 (а); они приведены на рис. 5.37. Функция impulse позволит нам получить графики, подобные рис. 5.6. Реакция системы второго порядка на импульсный входной сигнал приведена на рис. 5.38. В скрипте принято со„ = 1, что эквивалентно вычислению реакции системы в функции от со„ I. Этот прием позволяет в общем случае получать графики для любых
u(t) |
Рис. 5.36 Функция impulse |
- Выход |
Импульсный ВХОД |
Система |
G(s)= |
=sys |
y(t) - реакция в момент t Т — время моделирования |
t=T: предлагаемый вектор времени или t=rT final - КОНЄЧНОЄ время моделирования (по выбору) |
П
[у, Т]—impulse (sys, t)
С=0.1.0.2.0.4.0.7,1.0,2 О |
Рис. 5.37
(а) Реакция системы второго порядка
на ступенчатый входной сигнал.
(б) Скрипт MATLAB
stepresp. m
|
Рис. 5.38 (а) Реакция системы второго порядка на импульсный входной сигнал. (б) Скрипт MATLAB |
C-0.1.0.2S.0.S.1.0 |
a) |
б) impresp. m |
Часто возникает необходимость определения реакции системы на произвольный входной сигнал известного вида. В этих случаях используется функция Isim, способ применения которой проиллюстрирован на рис. 5.39. С данной функцией мы имели дело в гл. 3, где она применялась к моделям систем в переменных состояния; теперь мы воспользуемся функцией Isim в случае, когда система задана своей передаточной функцией. Пример 5.10 демонстрирует применение функции Isim.
Рис. 5.39 Функция Isim |
u(t) |
y(t) |
Выход |
Л-N |
t |
Произвольный Система |
ВХОДНОЙ сигнал t |
и = входной сигнал |
y(t) - реакция в момент t Т — вектор времени моделирования t - моменты времени, в которые вычисляется реакция на входной сигнал
G(s)=sys
Ти
[y, T]=lsim (sys, u, t)
Пример 5.10. Управление рулевым механизмом подвижного робота
На рис. 5.19 изображена структурная схема системы управления рулевым механизмом подвижного робота. Допустим, что регулятор имеет передаточную функцию
G,(s) = Kl + £l.
s
Если входной сигнал является линейным, то установившаяся ошибка
где Kv = К2К. Влияние коэффициента усиления регулятора К2 на установившуюся ошибку очевидно из (5.73): чем больше К2, тем меньше установившаяся ошибка.
Реакцию замкнутой системы на линейный входной сигнал можно вычислить с помощью функции Isim. В скрипте MATLAB можно предусмотреть ввод различных значений коэффициентов Кь К2 и К и тем самым исследоаать их влияние на реакцию системы. На рис. 5.40 приведены результаты, полученные при = I, К2 = 2 и т = 0,1.
Упрощение линейных систем. Для системы высокого порядка всегда возможно разработать аппроксимирующую модель пониженного порядка, у которой связь между входным и выходным сигналами будет очень близка к аналогичной зависимости для исходной системы. Процедура подобной аппроксимации рассмотрена в разделе 5.10. В следующем примере показано, как с помощью MATLAB можно сравнить реакции исходной системы и аппроксимирующей ее модели.
Пример 5.11. Упрощенная модель
Аппроксимация второго порядка (см. пример 5.9) имеет вид: |
На рис. 5.41 для сравнения приведены переходные характеристики этих моделей. |
Рассмотрим систему третьего порядка:
Рис. 5.40 а)
0123456789 Время 1C» |
(а) Реакция системы управления рулевым механизмом подвижного робота на линейный входной сигнал.
б) mobilerobot. m |
(б) Скрипт MATLAB
Пример 5.12. Анализ системы управления креном самолета с помощью Simulink
Каждый раз, когда вы летите на самолете, вы на личном опыте можете оценить все достоинства систем автоматического управления, помогающих пилотам вести машину. Точная математическая модель, описывающая поведение самолета в воздухе, представляет собой систему нелинейных дифференциальных уравнений с переменными параметрами. В нашем примере при синтезе автопилота мы воспользуемся упрощенной моделью динамики самолета в виде передаточной функции, связывающей отклонение элеронов и угол крена самолета, как это схематически показано на рис. 5.42 (а). На рис. 5.42 (б) изображена замкнутая система управления положением самолета в воздухе, цель которой состоит в поддержании угла крена, близкого к нулю градусов, т. е. <р(, = 0, в условиях непредвиденных внешних возмущений.
На рис. 5.43 показано, как использовать Simulink для анализа системы управления. Вы можете двойным щелчком кнопки мыши на соответствующем блоке (коэффициент усиления регулятора, привод элеронов, динамика самолета, гироскопический датчик крена) открыть всплывающее окно и задать в нем нужные вам параметры. Например, на рис. 5.44 показано, какие действия надо совершить, чтобы задать коэффициент усиления регулятора. Чтобы всплывающее окно не заслоняло структурную схему, вы можете щелкнуть мышью в любом месте строки заголовка главного окна, а затем щелкнуть на всплывающем окне и перетащить его в нужное положение на рабочем столе.
(б) |
Врем» (cjt |
Рис - 5.41 {а) Сравнение переходных характеристик исходной системы третьего порядка и ее аппроксимации моделью второго порядка. (б) Скрипт MATLAB |
stepcomp. m
% Сравнительная оуенка переходных характеристик
% His)-
ї3 + bs2 + 1 Is + 6
num1=[6]; den1=[1 6 116]; sys1=tf(num1,den1); num2=[1.6J; den2=[1 2.584 16]; sys2=tf(num2,den2); t=[0:0.1:8];
L6 |
L(s) = |
[y1,T1]=step(sys1,t);
s" + 2.584s + 1.6 |
Рис. 5.42 (а) Управление углом крена самолета с помощью элеронов. (б) Автопилот, управляющий углом крена |
[y2,T2]=step(sys2,t); plot(T 1 ,у1 ,Т2,у2,‘—'),grid хІаЬеІ(‘Время (с)‘),уІаЬеІ(‘Переходная характеристика1)
Плоскость
симметрии
Угол крена, ф |
б)
<P(S) Угол крена |
Панель заголовка I |
І Панель инструментов | / _______________ |
V £<$ У** : Трої* |
ТЛГ' |
о і & вй 11 *.* it: й і,,*» ть |
Рис. 5.43 Рабочее окно Simulink с заданием динамики самолета, регулятора и привода элеронов |
Aiiouft dynamic# |
Сел troll «і «яш Aileron actuate»
11.4 *2*1 Л |
Ш—9—Е>
О
Рис. 5.44 Всплывающее окно, используемое для изменения коэффициента усиления регулятора |
гшдґ |
Двойным щелчком мыши выделите блок, чтобы получить доступ к списку параметров |
Введите сюда желаемое значение коэффициента усиления |
Завершите процедуру щелчком на ОК |
Как только вы измените параметры во всплывающих окнах, они сразу же появятся и на структурной схеме. На рис. 5.45 и 5.46 показаны открытые окна для задания динамики привода элеронов и самолета. Основными элементами системы управления являются регулятор, Gc(s) = К, привод элеронов.
г / 10
G„(s) = -
j+10
и самолет,
11.4
2 1 s + 1,4s
Перед началом решения задачи необходимо установить время окончания моделирования. Для этого в меню Simulation выберите опцию Parameters, как показано на рис. 5.47. Всплывающее окно Simulation Parameters дает доступ к различным программам численного интегрирования и позволяет задать время начала и окончания моделирования.
Произведя необходимые изменения, нажмите кнопку ОК. Для начала моделирования выберите опцию Start из меню Simulation, как показано на рис. 5.48. в результате программа присту-
рto X<**k OcSHS * |
АіЮжП dynimlo» |
Ш—*Q— |
Рис. 5.45 Всплывающее окно, используемое для изменения передаточной функции привода элеронов |
block Pdiameter-. Aileton dcluatur
j* " •*—
- : Wjttwwpcwtmic* denombsWf.
10 s+10 |
лСМріДЙ^вдоіЬІЬегшІ^.^іоміпімгммикх. Coef&atritBr ;Кх<Ы59п*врсж(*»<**, '-n;V<
-P«fne*e»:
*h№Mtct
Щщ —
Denonfoala.,
________ |
g:i |
ІйвдГ
•і ''***'<*■'“ ___
]м*о
—г^"“......
^|£ЖРІ с««* Ґ а* І ьф І
Завершите процедуру щелчком на ОК |
Введите сюда коэффициенты полиномов в числителе и знаменателе
0» J£6w і gfrnJaton ffgaA JbcU Ueto Q іЙВв * - ft И, U-.:a' Ш a «. *i ► «- |
Рис. 5.46
Всплывающее окно, используемое для изменения передаточной функции самолета
L14 |
G(s) = |
■?(s + 14) |
TundWFcn
|
J
Завершите процедуру щелчком на OK |
Введите сюда коэффициенты полиномов в числителе и знаменателе
пит к решению задачи и будет делать это пока не наступит заданный момент окончания моделирования. Вы также можете начать и прервать моделирование с помощью кнопки панели инструментов, как показано на рис. 5.48.
Вывод на экран графика решения задачи производится при помощи опции Scope (см. Приложение Б). На рис. 5.49 приведен результат моделирования для случая, когда задан коэффициент усиления регулятора К = 0,16. Вы можете изменить любую передаточную функцию или любой параметр и оперативно наблюдать, как это отразится на решении задачи.
► О |
Ailtion actuatot |
Aircuft dynamics |
Рис. 5.47 Выбор в меню Simulation опции Parameters |
Ш—*9—
J Simulation Parameters. aircraft ScJve* I Wafcspecel/oj Diagnostics | Advanced] Step time: ] 25.0 Завершите процедуру щелчком на OK Установите здесь время окончания моделирования |
Рис. 5.48 Начало моделирования |
Ф] > я |
Для начала моделирования щелкните на Start
/
Моделирование можно также начать нажатием этой кнопки
Controller (jam Ailtion actuator Aircraft dynamic*
Ш **>->£>
-o-
Start the fimulatiofi