Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
Глава 1. Способы описания линейных динамических систем 31
то получим передаточную матрицу 5*5, на диагонали которой на­ходятся передаточные функции
2
1/(s
+ 2e(i)s + 1), e(i) = 0.2*i,
а остальные элементы нулевые.
Команда series осуществляет последовательное соединение двух систем. Ее синтаксис
sys = series(sys1, sys2)
èëè
sys = series(sys1, sys2, outputs1, inputs2).
В первом случае эта команда равносильна умножению систем: sys = sys1*sys2, с чем мы уже встречались ранее. Размерности выхода первой системы и входа второй должны быть одинаковы.
Вторая команда реализует более общий случай, когда часть вы­ходов первой системы и часть входов второй могут быть задейство­ваны отдельно (рис. 1.11). Тогда outputs1 вектор номеров (индек­сов) выходов первой системы, которые должны быть подсоедине­ны к номерам (индексам) входов второй системы, указанным в векторе inputs2 (например, outputs1 = [1 2], inputs2 = [1 3], если вы­ходы 1 и 2 первой системы должны быть соединены со входами 1 и 3 второй системы). Размерности обоих векторов должны быть одинаковы.
Ðèñ. 1.11. К команде series
Команда parallel осуществляет параллельное соединение двух систем. Ее синтаксис
sys = parallel(sys1, sys2)
èëè
sys = parallel(sys1, sys2, inp1, inp2, out1, out2).
В первом случае эта команда равносильна сложению систем: sys = sys1 + sys2, входы систем соединяются между собой и на
32 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.12. К команде parallel
них подаются одинаковые сигналы, а выходы суммируются. Во втором случае inp1, inp2 — векторы, содержащие индексы входов первой и второй систем, соединяемых между собой, а out1,out2 — векторы, содержащие индексы выходов, которые суммируются друг с другом (рис. 1.12). Пусть, например, каждая система имеет по три входа и по четыре выхода, и мы хотим, чтобы на вход 1 первой системы и вход 2 второй подавался один и тот же сигнал, и то же самое относительно входов 2 и 3. Далее мы хотим, чтобы первые выходы систем суммировались друг с другом, и то же са­мое относительно вторых входов. Тогда команда запишется так:
sys = parallel(sys1, sys2, [1 2], [2 3], [1 2], [1 2]).
При построении системы важное значение имеет команда
feedback. По команде, общий вид которой
sys = feedback(sys1, sys2, feedin, feedout, sign),
строится система с sys1 в прямой связи и sys2 в обратной, причем знак обратной связи +1 èëè 1 определяется полем sign. Без указа­ния знака система имеет отрицательную обратную связь (рис. 1.13).
Обе системы должны быть либо непрерывные, либо дискрет­ные с одинаковыми периодами квантования. Третье и четвертое поля команды используются в тех случаях, когда на регулятор подается только часть выходов первой системы, и для управле­ния (выход регулятора) также используется только часть входов объекта. Тогда feedout — вектор номеров (индексов) выходов объ­екта и feedin вектор индексов входа объекта, участвующих в организации обратной связи. Размерность этих векторов должна быть равна размерностям входа и выхода регулятора соответст­венно.
Глава 1. Способы описания линейных динамических систем 33
Ðèñ. 1.13. К команде feedback
Рассмотрим пример. Пусть скорость вращения первой инер­ционной массы в системе, описываемой уравнениями (1.3)...(1.5), должна регулироваться интегро-пропорциональным регулятором с передаточной функцией
= (KpTrs + 1)/Trs. (1.43)
W
r
Создадим файл (П. 1.8). Вначале создадим систему 1:
J1 = 21.5; J2 = 7; C = 243; sys1 = tf([J2 0 C], [J1*J2 0 C*(J1+J2) 0]). (Ï. 1.8)
Затем сформируем регулятор:
Tr = 1/350; Kp = 156; sys2 = tf([Kp*Tr 1],[Tr 0]). (Ï. 1.8.1)
Теперь соединим обе системы последовательно:
sys3 = series(sys2, sys1). (Ï. 1.8.2)
Для создания замкнутой системы можно поступить двояким образом: или создать систему в обратной связи с коэффициен­том 1: sysf = tf(1), а затем применить команду
sys4à=feedback(sys3,sysf), (Ï. 1.8.3)
или просто написать
sys4b=feedback(sys3,1). (Ï. 1.8.4)
Результат в обоих случаях будет одинаков: будет получена пе­редаточная функция замкнутой системы в виде:
32
ss s
++ +
3 2 7 1111 243
F
=
0433226791111
..
43 2
ss s s
++ + +
... .
. (1.44)
243
34 Глава 1. Способы описания линейных динамических систем
Реакция системы на единичный толчок, вычисленная коман­дой step(sys4a), приведена на рис. 1.14.
Ðèñ. 1.14. Процесс в системе с эластичной муфтой
и ПИ регулятором
Пусть теперь для уменьшения перерегулирования регулятор выполняется чисто интегральным с подчиненным пропорциональ­ным регулятором (рис. 1.15). Такая система реализуется командами:
sys5 = feedback(sys1, Kp) sys2a = tf([1], [Tr 0]) sys6 = series(sys2a, sys5) sys7 = feedback(sys6,1) step(sys7). (Ï. 1.8.5)
Ðèñ. 1.15. Система с И-регулятором и подчиненным контуром скорости
Глава 1. Способы описания линейных динамических систем 35
Передаточная функция системы sys7 получается в виде
2
s
+
F
=
43 2
... .
ss s s
0433226791111243
++ + +
7 243
, (1.45)
а переходный процесс при толчке задания приведен на рис. 1.16.
Ðèñ. 1.16. Переходный процесс в системе с И-регулятором
и подчиненным контуром скорости
Рассмотрим остальные команды из табл. 1.2. Команда
sys = lft (sys1,sys2,n,m)
образует перекрестное соединение двух моделей как это показано на рис. 1.17. Петля обратной связи соединяет первые n выходов sys2 с последними n входами sys1 и последние m выходов sys1 с первыми m входами sys2. Åñëè æå n, m не указаны, то получается одна из двух систем, приведенных на рис. 1.18, в зависимости от того, какая из систем имеет большее число входов и выходов. Если это первая система, то получается система рис. 1.18 а, а если вторая, то формируется система рис. 1.18 б.
Команда augstate расширяет выход системы, добавляя к y фа­зовые координаты x, т. е. выход становится равным
y
=
y
1
x
(1.46)
36 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.17. К команде lft (простой случай)
Ðèñ. 1.18. К команде lft (сложный случай):
à — размерность второй системы меньше первой,
á — размерность второй системы больше первой
Эта команда может быть применена как предшествующая за­мыканию системы по полному состоянию с матрицей обратной связи K (u =−Kx) с использованием команды feedback. Команда применима только к виду системы SS.
Команда ñonnect имеет формат
sysc = connect(sys, Q, inputs, outputs)
и используется для формирования уравнений состояния сложных систем. Предполагается, что система управления состоит из ряда подсистем, каждая из которых описывается системой уравнений типа (1.1), (1.2), сложным образом связанных между собой. Внача­ле выполняется команда append, которую мы уже рассматривали, с этими подсистемами, в результате чего образуется система sys подсистем, не связанных между собой, а затем уже выполняется
Глава 1. Способы описания линейных динамических систем 37
команда connect. В этой команде inputs è outputs есть векторы, содержащие индексы тех входов и соответственно выходов sys, которые будут назначены как входы и выходы окончательной сис­темы sysc. Матрица Q содержит указания на соединения выходов со входами sys. Она состоит из ряда строк, первый элемент кото­рых указывает на индекс входа, а остальные элементы указывают индексы выходов, с которыми этот вход соединен по схеме сум­мирования, причем, если какой-либо выход вычитается, он указы­вается со знаком минус. Все строки должны иметь одинаковое число элементов, недостающие позиции заполняются нулями. Эта команда не работает при наличии запаздывания.
Рассмотрим пример. Привод вращающейся печи (Kiln) осуще­ствляется от двух двигателей, имеющих равные моменты инерции
J
, через эластичные муфты с коэффициентами жесткости ÑÑ2,
1
создающими на валах двигателей упругие моменты Ì менты двигателей обозначены M
ω
Вращающаяся печь имеет момент инерции J2и скорость вра-
d2
щения ω
(рис. 1.19). Все величины приведены к скорости враще-
m
d1,Md2
, их скорости вращения ωd1,
, Ìó2.Ìî-
ó1
ния валов двигателей. Упругий момент пропорционален разности угловых положений вала двигателя и печи. Регулирование враще­ния осуществляется интегро-пропорциональным регулятором ско­рости, на входе которого сравниваются заданное значение скоро­сти ω
и скорость вращения первого двигателя ωd1. Выход регуля-
ref
тора задает моменты двигателей. Будем пренебрегать динамикой регуляторов момента двигателей, так что фактические моменты двигателей равны заданным. Кроме того, момент второго двигате­ля корректируется в функции разности скоростей вращения двига­телей. Смысл этого будет ясен позже.
Ðèñ. 1.19. Двухдвигательный электропривод вращающейся печи
Всю систему можно представить состоящей из 4-х подсистем (рис. 1.20), где первые две — это двигатели с полумуфтами, тре­тья — вращающаяся печь, четвертая — регулятор скорости. На ос­новании уравнений (1.3), (1.4), (1..5) можно записать:
38 Глава 1. Способы описания линейных динамических систем
Ðèñ. 1.20. Структурная схема системы электропривода
вращающейся печи
sys1:
d
ω
d
1
MMJ
=−(),
dt
dM
y
1
=−(),ωω
C
dt
ref y
11
11
dm
(1.47)
(1.48)
sys2:
sys3:
sys4:
d
ω
d
2
MKpi MJ
=+ −−(()),
dt
ref d d y
dM
y
dt
d
ω
m
dt
dy
=+
dt
=+ ()ωω
MyK
ref p ref d
ωω
12 21
2
=−(),ωω
C
dm
22
MMJ
=+(),
122
yy
()ωω
01*
y
ref d
T
r
. (1.52)
1
(1.49)
(1.50)
(1.51)
Глава 1. Способы описания линейных динамических систем 39
Нетрудно видеть, что уравнения (1.52) дают передаточную функцию регулятора W
, приведенную выше (1.43). Создадим
r
файл (П. 1.9), предполагая, что все состояния измеримы, т. е. мат­рицы с — единичные.
Tr = 1/350; Kp = 160; J1 = 21.5; J2 = 2*7; C2 = 243*0.7; C1=243; Kpi = 120;%Kpi=0; a1 = [0 -1/J1;C1 0]; b1 = [1/J1 0;0 -C1];c1 = [1 0;0 1]; sys1 = ss(a1, b1, c1, 0); set(sys1, 'StateName',{'Wd1';'My1'},'InputName',... {'Md';'Wm'},'OutputName',{'Wd1';'My1'}); a2 = [0 -1/J1; C2 0]; b2 = [1/J1 Kpi/J1 0;0 0 -C2]; sys2 =ss(a2, b2, c1, 0, 'StateName',{'Wd2';'My2'},... 'InputName',{'Md2';'delw';'Wm'}, 'OutputName',{'Wd2';'My2'}); a3 = 0;b3 = [1/J2]; c3 = [1]; sys3=ss(a3, b3, c3, 0, 'StateName', 'Wm',... 'InputName', 'My1+My2', 'OutputName', 'Wm'); b4 = [1/Tr -1/Tr]; d4=[Kp -Kp]; sys4 =ss(a3, b4, c3, d4, 'InputName',{'Uref';'Wd1'},... 'OutputName','Ureg'); sys = append(sys1, sys2, sys3, sys4); Q=[160;250;360;41-3;550;624;810]; Inputs = [7]; outputs = [1 3]; sysc = connect(sys, Q, inputs, outputs) step(sysc, 4) grid (Ï. 1.9)
Вначале создаются описанные выше четыре подсистемы. За­тем они объединяются в одну систему командой append. Система sys имеет матрицы (при K
= 120, C1= C2):
pi
a = Wd1 My1 Wd2 My2 Wm ?
Wd1 0 -0.0465 0 0 0 0 My1 243 0 0 0 0 0 Wd2 0 0 0 -0.0465 0 0 My2 0 0 243 0 0 0 Wm 0 0 0 0 0 0 ?00 0 0 00
b d Wm Md2 delw Wm My1+My2 Uref Wd1
Wd1 0.0465 0 0 0 0 0 0 0 My 0 -243 0 0 0 0 0 0 Wd2 0 0 0.0465 5.58 0 0 0 0 My2 0 0 0 0 -243 0 0 0 Wm 0 0 0 0 0 0.0714 0 0 ? 0 0 0 0 0 0 350 -350
40 Глава 1. Способы описания линейных динамических систем
c = Wd1 My1 Wd2 My2 Wm ?
Wd1 1 0 0 0 0 0 My1 0 1 0 0 0 0 Wd2 0 0 1 0 0 0 My2 0 0 0 1 0 0 Wm 0 0 0 0 1 0 Ureg 0 0 0 0 0 1
d = Md Wm Md2 delw Wm My1+My2 Uref Wd1
Wd100000 0 00 My100000 0 00 Wd200000 0 00 My200000 0 00 Wm00000 0 00 Ureg 0 0 0 0 0 0 160 160
Назначим вход объединенной системы ω
и выходы ωd1è ω
ref
d2
(первый и третий). Соответственно сформированы векторы inputs è outputs. Остальные входы связаны с выходами так, как это сле­дует из приведенных выше уравнений, что и зафиксировано в матрице Q. После выполнения команды connect получаем sysc â âèäå:
a = x1 x2 x3 x4 x5 x6
x1 -7.44 -0.0465 0 0 0 0.0465 x2 243 0 0 0 -243 0 x3 -1.86 0 -5.58 -0.0465 0 0.0465 x4 0 0 243 0 -243 0 x5 0 0.0714 0 0.0714 0 0 x6 -350 0 0 0 0 0
b = Uref c = x1 x2 x3 x4 x5 x6
x1 7.442 Wd1 1 0 0 0 0 0 x2 0 Wd2 0 0 1 0 0 0 x3 7.442 x4 0 x5 0 x6 350 d = 0.
На рис. 1.21 показаны переходные процессы при толчке зада­ния при C
= CKpi= 0. Видно, что скорости обоих двигателей из-
1
меняются одинаково. Причем переходный процесс такой же, как на рис. 1.14, что неудивительно, так как система, процесс в кото­рой показан на рис. 1.14, представляет собой «половину» рассмат-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]