Professional Documents
Culture Documents
БАЊА ЛУКА
+ R L Go (
s)
+
r kont -
u оптер-
r ol er M ећење
- - w
+ тахоге-
a) нератор
-
r u y =w
C(
s) Go (
s)
+ -
b)
kt
1
2. пројектовати контролер C s тако да затворен систем испуњава сљедеће захтјеве:
вријеме смирења ts 0.09sec. , прескок pr 1% и позициона грешка e p 1%. Код
пројектовања контролера користити a) ГМК методу, б) фреквентну методу и в) методу
простора стања.
3. ако се као контролер користи индустријски ПИД контролер одабрати конфигурацију и
одредити параметре контролера.
4. користећи Simulink симулацијом провјери да ли затворени систем са контролерима
из тачака 2 и 3 испуњава постављене захтјеве.
5. за сваки контролер из тачака 2 и 3 одреди дискретни модел и симулацијом провјери да
ли систем са тим контролерима испуњава тражене захтјеве.
У Бањалуци 12.11.2012.
Михајло Ј. Стојчић
2
1. Индетификација система ( Помоћу Матлаба )
aa =
0 1.0000 0
3.1200 1.0000 0.1000
5.3500 1.0000 0.2000
6.9500 1.0000 0.3000
8.1000 1.0000 0.4000
8.9200 1.0000 0.5000
9.5100 1.0000 0.6000
9.9300 1.0000 0.7000
10.2400 1.0000 0.8000
10.4500 1.0000 0.9000
10.6100 1.0000 1.0000
10.7200 1.0000 1.1000
10.8000 1.0000 1.2000
10.8600 1.0000 1.3000
10.9000 1.0000 1.4000
10.9300 1.0000 1.5000
10.9500 1.0000 1.6000
10.9600 1.0000 1.7000
10.9700 1.0000 1.8000
10.9800 1.0000 1.9000
10.9900 1.0000 2.0000
Из тог низа одређујемо податке експеримента као: yeks=aa(:,1), ueks=aa(:,2),
teks=aa(:,3). Вријеме семпловања Ts се рачуна као Ts=teks(end)-teks(end-1).
Ts =0.1000
3
Сада се на основу ових података формира модел система:
>> model=iddata(yeks,ueks,Ts)
y1
u1
1+Tp1*s
Tp1 = 0.30023
Estimated using PEM using SearchMethod = Auto from data set data
Loss function 5.64837e-006 and FPE 6.72425e-006 % грешка процјене је веома мала
4
На основу горе извршене идентификације система и вриједности параметара
процијењене функције преноса могу се усвојити сљедеће вриједности параметара Kp и Tp1
s=tf('s')
Transfer function:
>> Kp = 11.002 ;
>> Tp1 = 0.30039 ;
>> Go=minreal(Kp/(1+Tp1*s)) %команда за минимизацију форме ф-је преноса
Transfer function:
36.63
Go(s)= --------------- %ф-ја преноса објекта
s + 3.329
5
2.
a) СИНТЕЗА КОМПЕНЗАТОРА ГМК МЕТОДОМ
36.63
Go s
s + 3.329
Први корак код овог поступка синтезе јесте задавање функције преноса објекта и цртање
ГМК затвореног система помоћу алата rltool. При томе се подразумјева да је изабрана
конфигурација система са слике 2.1, тј. конфигурација са појачалом K и јединичном
повратном везом.
6
>> s=tf('s');
>> Go=minreal(11.002/(1+0.30039*s)) %ф-ја преноса објекта факторизованом
oоблику
Transfer function:
36.63
Go(s)= --------------- %ф-ја преноса објекта
s + 3.329
ГМК некомпензованог система који се на овај начин добије приказан је на слици 2.2.
Задавање захтјева које затворени сиcтем треба испунити у прелазном стању приказано је
на слици 2.3 а дозвољено подручје положаја полова (подручје C) некомпензованог система
на слици 2.4.
7
Слика 2.3: Задавање захтјева прелазног стања
8
Са слике 2.4 се види да не постоји такво K да би систем задовољио тражене захтјеве.
Зато је нужно мијењати структуру система.
Сљедећи корак је увођење диференцијалног компензатора, који треба да унесе
компензацију у прелазном стању. Његова преносна функција је:
s+a
Cd s , 1, a 0
s + a
са нулом у zc - a и полом pc - a . Систем сада има сљедећу структуру:
s + 3.329
C s K Cd s 2.545 ,
s
Cd=(2.545*(s+3.329))/(s)
Transfer function:
2.545 s + 8.472
Cd=------------------
9
>> Gok=Cd*Go % ф-ја преноса отвореног кола
Transfer function:
93.21 s + 310.3
Gok=-------------------
s^2 + 3.329 s
Transfer function:
93.21 s + 310.3
Gz=---------------------
93.21s + 310.3
Gyr s ,
s + 96.54s + 310.3
2
10
б) СИНТЕЗА КОМПЕНЗАТОРА У ФРЕКВЕНТНОМ ДОМЕНУ
j
1+
Kd a , 1.
Cd ( j)
1 + j
a
Појачање диференцијалног компензатора, у dB, у подручју малих фреквенција ( 0 ) је
20log Cd ( j 0) 20log Kd - 20log .Пожељно је да комензатори не уносе никакво додатно
појачање у стационарном стању, јер су жељене особине стационарног стања већ
постигнуте избором одговарајућег појачања. Дакле, то је постигнуто ако је појачање
K d , тако да фреквентна функција преноса сада постаје:
j
1+
Cd ( j) a .
j
1+
a
Затворени систем из задатка треба да задовољи захтјеве из услова [1]:
36.63
Go s
s + 3.329
1
ep K p 99, K p lim KGo (s) K 9
1+ K p s 0
>> s=tf('s');
>> Go=minreal(11.002/(1+0.30039*s))
36.63
Go(s)= --------------- %ф-ја преноса објекта
s + 3.329
11
>> K=9; % појачање K
Након тога, цртају се Бодеови дијаграми система KGo ( j ) , који испуњава захтјеве
стационарног стања, а затим се са тог дијаграма очитају пресјечне фреквенције појачања
10 и фазе 0 и измјери претек фазе pf0 и претек појачања d0dB .
10
pf0
12
m + 24.4 + 30 54.4 .
На основу израчунатог фазног доприноса у претходном кораку, користећи:
1 + sin m 1 + sin 24.4
2.4078
1 - sin m 1 - sin 24.4
налазимо коефицијент , тј. однос пола и нуле диференцијалног компензатора.
Амплитудну карактеристику компензатора лоцирамо тако да се ново добијена
пресјечна фреквенција појачања 11 поклапа са фреквенцијом m . Међутим, овај
компензатор у систем уноси додатно појачања које је за ту фреквенцију 10log , што значи
да компензатор осим што помјера фреквенцију 10 удесно на нову фреквенцију 11 он и
издиже дијаграм појачања KGo ( j ) у околини 11 за додатних 10log . Да би одредили
пресјечну фреквенцију 11 на дијаграму појачања функције KGo ( j ) повучемо
хоризонталну линију -10log -3.816 . Фреквенција за коју се ове двије линије сијеку је
нова фреквенција 11 . Измјерена фаза за ту фреквенцију је, рецимо 1pf . Ако је разлика
pf0 - 1pf онда се враћамо назад и додатно коригујемо фазни допринос m .
-10log dB
11
1pf
Са дијаграма се очита:
11 512
1pf 90.6
13
Сљедећи корак је - поставити дијаграм појачања компензатора тако да је m 11 и из
једначине m a израчунати нулу компензатора a 1 / 512 / 2.4078 329.959 .
Након тога је познат и пол компензатора a , тако да је компензатор у цјелини познат.
>> a=329.959
a =
329.9590
>> alfa=2.4078
alfa =
2.4078
Transfer function:
2.408 s + 794.5
Cd=-------------------
s + 794.5
Transfer function:
793.7 s + 261900
Gok=--------------------
793.7 s + 261900
Gz=------------------------
14
20log
Слика 2.9: Бодеови дијаграми система KGo ( j) и Gz ( j) и диференцијалног компензатора Cd
15
c) СИНТЕЗА КОМПЕНЗАТОРА У ПРОСТОРУ СТАЊА
36630
Go s
s + 1003s + 3329
2
Први корак поступка синтезе система у простору стања у овом случају јесте конверзија
система из комплексног домена у простор стања помоћу функције tf2zp у MATLAB -у:
>> s=tf('s');
>> Go=minreal(11.002/((1+0.30039*s)*(1+0.001*s)))
36630
16
>> nn=[36630] % вектор који садржи коефицијенте
полинома у бројнику
nn =
36630
полинома у називнику
dd =
1 1003 3329
A =
-1003 -3329
1 0
b = 1
c =
0 36630
d =
1 -1003
0 1
17
rang(Qc) = 2 = n, дакле систем је управљив.
-914.1000 -594.1950
a = b =
x1 x2 u1
x1 -88.9 -2735 x1 1
x2 1 0 x2 0
c = d =
x1 x2 u1
y1 0 36630 y1 0
Continuous-time model.
18
Појачање референце hr , преко којег се обезбијеђује нулта позициона грешка, одређујемо
преко функције rscale, која рачуна hr из
-1
hr [1]
A - bh
T -1
c b
>> hr=rscale(A,b,c,d,h) % предпојачање
hr =
0.0747
19
3 СИНТЕЗА ПИД КОМПЕНЗАТОРА
3.1 Подешавање у отвореној спрези
Ову методу су оригинално разрадили Зиглер и Николс, а базирана је на одскочном
одзиву стабилног објекта. Примјењује се углавном за објекте чији одскочни одзив је
апериодског карактера, као и на објекте са транспортним кашњењем. Објекат се на улазу
побуђује одскочним сигналом и снима његов одзив, слика 3.1.а. На тако снимљеном
одзиву повуче се тангента у превојној тачки (тачка инфлексије, тј. тачка гдје кривина од
конкавне постаје конвексна или обрнуто), тачка М на слици. Пресјек ове тангенте са
апсцисом и ординатом даје редом одсјечке и а. На основу тих вриједности, а помоћу
табеле 1, рачунају се параметри П, ПИ и ПИД контролера.
табела 1
20
K
1+Tp1*s
Tp1 = 0.30023
11.002
1+0.30023*s
Kp*s+Ki
Cpi= Kp + Ki*s = ---------- % преносне функције ПИ контролера
s
kps + ki
Go (s)
C (s)Go (s)
GZ s PI s
1 + CPI (s)Go (s) 1 + kps + ki G (s)
o
s
Након сређивања имамо :
36.64(Kp s + Ki)
GZ s
(1 + 11.002 Kp)
s2 + s + 36.64 Ki
0.30023
гдје је :
(1 + 11.002Kp)
f( s ) s 2 + s + 36.64Ki
0.30023
1 + 11.002Kp
200 Kp 5.4
0.30023
36.64 Ki 9975 Ki 272.25
21
Овако добијен контролер се назива ПДФ контролер ( Pseudo Derivative Feddback).
Његова функција преноса затвореног система је :
CPI (s)Go (s) ki P( s) P
GZ pdf s , Go s ( s)
1 + CPI (s)Go (s) s Q s + kp s P( s) + ki P( s) Q( s)
36.64ki
GZ s
1 + 11.002kp
s2 + s + 36.64ki
0.30023
>> kp=5.4
kp =
5.4000
>> ki=272.25
ki =
272.2500
>> Gz=36.64*ki/(s^2+((1+11.002*kp)*s/0.30023)+36.64*ki)
Transfer function:
9975
Gz=--------------------
s^2 + 201.2 s + 9975
>> Gzz=feedback(Gz,0) ali je dobro!!!
Transfer function:
9975
Gzz=--------------------
s^2 + 201.2 s + 9975
22
>> step(Gz)
23
4 СИМУЛАЦИЈА СИСТЕМА СА УСВОЈЕНИМ
КОМПЕНЗАТОРИМА
У оквиру ове тачке извршена је симулација система добијених у тачкама 2 и 3
помоћу алата simulink.
24
4.2 Фреквентни домен
25
Upravljanje u(t)
26
Слика 4.3б:Одзив система са компензатором добијеним синтезом у простору стања
27
Odziv y (t)
Upravljanje u(t)
28
5. ДИСКРЕТИЗАЦИЈА
Код синтезе ових система постоје два основна приступа. Код првог, укупан систем
се посматра као континуалан. Затим се кориштењем метода (раније споменутих)
пројектује континуалан контролер који заједно са објектом и у усвојеној конфигурацији
дају систем који испуњава постављене захтјеве. Након тога се тражи дискретни модел тог
контролера (дискретизација), који се преко посебних склопова - интерфејса (A/D i D/A
претварача) повезује у укупан систем. Код овог приступа укупан поступак пројектовања је
у континуалном домену, али је техничка реализација (остварење) и имплементација
(извршење) контролера у дискретном домену. Код другог приступа, континуални објекат
се одмах на почетку трансформише у одговарајући дискретни модел (дискретизује), тако
да се на тај начин укупан поступак синтезе „сели“ у дискретни домен. У овом домену су
разрађене методе синтезе које су сличне већ раније споменутим континуалним, али
постоје и неке потпуно нове, које немају свог "двојника" међу континуалним методама.
29
вријеме одабирања (семпловања) и ' zoh ' означава да је на улазу коло задршке нултог реда
(Zero Order Hold).
s 2o .
Међутим, није код свих сигнала увијек могуће одредити највећу фреквенцију o (или она
може бити бесконачна), па се поменута теорема не може примијенити. У тим случајевима,
један од начина одређивања периоде одабирања заснива се на бази процјењеног времена
смирења при чему је периода одабирања десети дио тог времена. Дакле
ts
T
10
Ако је при том најмања временска константа у систему мања од тако одабране периоде,
онда се усваја периода одабирања која је двоструко мања од најмање временске константе.
Transfer function:
s
Cd=------------------
s
Усвајам периоду одабирања :
ts 0.09
T 0.009
10 10
30
>> Cdd=c2d(Cd,0.009,'zoh') % дискретизација компензатора,са периодом
одабирања Ts=0.009
Transfer function:
2.545 z - 2.469
Cdd=---------------
z - 1
б)
31
5.3 Дискретизација контролера добијеног синтезом у
фреквентном домену
1 t
s
794.5 10
ts
Пошто је најмања временска константа у систему мања од усваја се периода
10
одабирања која је двоструко мања од најмање временске константе .
1
T 794.5 0.00065s
2
Transfer function:
Transfer function:
21.67 s + 7151
Cf=------------------
s + 794.5
Transfer function:
21.67 z - 18.04
Cdd=---------------
z - 0.5966
32
а)
б)
33
5.4 Дискретизација контролера добијеног синтезом у
простору стања
>> s=tf('s');
>> nn=[36630]
nn =
36630
dd =
1 1003 3329
A =
-1003 -3329
1 0
b =
c =
0 36630
d =
0.5206 -1.5894
0.0005 0.9994
bd =
34
0.0004774
0.0000002
c =
0 36630
d =
h =
-885.5465 288.0335
1 0
0 1
0.0987
Ако се тражи кретање дискретног система онда се користи функција dlsim као
dlsim(A,b,c',d,u) или као dlsim(num,den,u).
35
>> yd=dlsim(Ad-bd*h,hr*bd,c,d,rd)
0
0.0006
0.0023
0.0051
.
.
.
1.0000
1.0000
>> plot(t,yd)
>> grid on
36
5.5 Дискретизација ПИД контролера
Дигитални ПИД контролер се може добити тако што се интегрални дио аналогног
2 z -1
контролера дискретизује трапезном апроксимацијом s а деривацијски дио
T z +1
z -1
апроксимацијом уназад s . Овај поступак дискретизације се на крају своди на
zT
увођење смјене s 1 - z -1
, и замјеном појачања k p , ki и kd са k pd , kid и kdd , гдје су:
k pT
k pd k p - ,
2Ti
k pT
kid и
Ti
k pTd
kdd
T
>> s=tf('s')
Transfer function:
s
>> T=1/1000; % периода одабирања
>> z=tf('z',T)
Transfer function:
z
Sampling time: 0.001
>> kd=0
% деривацијско појачање
kd =
0
>> kp=5.4 % пропорционално појачање
kp =
5.4000
ki =
272.2500
>> Ti=kp/ki % интегрално вријеме
Ti = 0.0198
37
>> Td=kd/kp % деривацијско вријеме
Td =
kpd =
5.1278
kid =
0.2722
kdd =
Cpd =
5.1278
Transfer function:
0.2722 z
Cid=----------
z - 1
38
а)
б)
39
Литература
40