Upload
-
View
117
Download
1
Embed Size (px)
Citation preview
Технически университет – Варна
К У Р С О В П Р О Е К ТДисциплина: Теория на управлението II част
Задание: Регулиране на температура в химически реактор
Изготвили:Христо Антонов Панайотов - 066109 Радомир Николов Лонев - 066118Специалност: Проверил:...........................АИУТ, III курс, IV поток, 3 група /гл. ас. Атанасов/
I. Изследване на непрекъсната система.
1.1.Структурната схема има следния вид:
след като преобразуваме и опростим получаваме:
В MATLAB въвеждаме известните ни по условие данни:θзад=A=70 [°С] – задание по температураKo=0.9 – коефицент на обектаTo=1200 – времеконстанта на обектаKk=2 – коефицент на кожухаTk=800 – времеконстанта на кожухаKpc=1.5 – коефицент на вътрешния регулаторKf=0.04 – коефицент на цмущениетоTf=800 – времеконстанта на смущениетоB=f=500 - смущениеs=2 [%]
Wk – кожух
Wрс – вътрешен П регулатор
Wb – вътрешен контур
Kb – коефицент на предаване на Wb
Tb – времеконстанта на предаване на Wb
В MATLAB:Kb=(Kpc*Kk)/(1+Kpc*Kk) Kb = 0.7500Tb=Tk/(1+Kpc*Kk) Tb = 200
От условието
1.2.1
εп(Est_p) – статичната грешка при П регулатор
Kreg_p – коефицент на регулиране при П регулатор
В MATLAB: Est_p=s*A/100 Est_p = 1.6000Kreg_p=(100*(A-Kf*B)-s*A)/(s*A*Kb*Ko) Kreg_p = 54.0741
1.2.2При използване в системата на ПИ регулатор системата става астатична т.е. това води до премахване на статичната грешка и системата работи само с динамична.
εпи(Еst_pi) – статична грешка при ПИ регулатор εпи=0
В MATLAB: Est_pi=0
1.2.3За системата с различни входове и изходи
- предавателната фунцкия на П или ПИ регулатора
Yust_p - установената изходна величина на системата при П регулатор (статична)
В MATLAB: Yust_p=A*((Kreg_p*Kb*Ko)/(1+Kreg_p*Kb*Ko))+B*(Kf/(1+Kreg_p*Kb*Ko))
Yust_pi - установената изходна величина на системата при ПИ регулатор (астатична)
Тъй като системата е астатична и работи без статична грешка εпи=0 и знаем че при П регулатор
тогава следва че и Yust_pi=A - εП Yust_p=A – 0=80
За определяне на статичните характеристики на системата ни е нужен следният израз:
Y=Kx.X+Kff.F
X - входно въздействиеЗа X задаваме произолни стойности от 0 до 10 със стъпка 0.0001
F - смущениеЗа F имаме два случая F1=0 – без смущение F2=f=500 със смущение
За П регулаторY=Kx_p.X+Kff_p.FKx_p - това е полинома с който се умножава А от уравнението Yust_p
Kff_p - това е полинома с който се умножава B от уравнението Yust_p
В MATLAB: Kx_p=(Kreg_p*Kb*Ko)/(1+Kreg_p*Kb*Ko)Kff_p=Kf/(1+Kreg_p*Kb*Ko)X=[0:0.0001:10]F1=0 F2=500
Yst_h_p1=Kx_p*X+Kff_p*F1 Yst_h_p2=Kx_p*X+Kff_p*F2 plot(X,Yst_h_p1)hold onplot(X,Yst_h_p2)
За ПИ регулатор При ПИ регулатора нещата са аналогични с промяна само при:Y=Kx_pi.X+Kff_pi.FKx_pi= 1Kff_pi=0
В MATLAB: Kx_pi=1 Kff_pi=0X=[0:0.0001:10]F1=0 F2=500Yst_h_pi1=Kx_pi*X+Kff_pi*F1 Yst_h_pi2=Kx_pi*X+Kff_pi*F2plot(X,Yst_h_pi1)hold onplot(X,Yst_h_pi2)
От графиката се вижда че статчните характеристики при F1=0 и F2=500 съвпадат, защото зависят от Kx_pi.
1.3.1
В MATLAB: Hp=[(To*Tb) (To+Tb) (1+Kreg_p*Kb*Ko)]Hp =
1.0e+005 *
2.4000 0.0140 0.0004
roots(Hp)ans =
-0.0027 + 0.0095i -0.0027 - 0.0095i
Двата корена са отрицателни и комплексно спрегнати, което означава че системата е устойчива.
1.3.2
Предавателната фунцкия (затворената) на ПИ-регулатора има следния вид:
след това изпoлзваме критерият на Вишнеградски (за гранична устойчивост):
Така ние можем да разберем при какви стойности на Kreg_pi и Тreg_pi системата се намира на границата на устойчивост.Това ще ни помогне малко по-късно за намиране на същите параметри в границите на пререгулиране до 20%.
В MATLAB: Kreg_pi=1:100for k=1:100 Treg_pi(k)=(To*Tb*Ko*Kb*Kreg_pi(k))/(To+Tb+(To+Tb)*Ko*Kb*Kreg_pi(k));endplot(Kreg_pi,Treg_pi)grid on
С цикъла който зададохме в MATLAB ние зададохме при какви произволни стойности на Kreg_pi, Treg_pi да се изменя така че системата да се намира на границата на устойчивостта. Kривата на графиката по горе ни показва точно това при какви стойностти на Кreg_pi и Treg_pi системата е на границата. За да определим при кои точно параметри на регулатора той има до 20% пререгулиране ние трябва да взимаме точки близо до кривата и да използваме техните координати (Кreg_pi и Тreg_pi) за неговата настройка.
Структурна схема на системата с ПИ регулатор в SIMULINK
Графика на преходният процес
След извършените операции в SIMULINK за намирането на параметрите на ПИрегулатора от условието за устойчивост(гранична устойчивост) назатворената система и преходен процес с пререгулиране до 20%, се установиче системата със стойности Kreg_pi=10 Treg_pi=2000s системата достига
пререгулиране 15,35% (макс 92,28 ).
1.3.3Алгебричен критерийKreg_pi=10Treg_pi=2000
H_pi=[Treg_pi*Tb*To Treg_pi*(Tb+To) Treg_pi*(1+Ko*Kb*Kreg_pi) Ko*Kb*Kreg_pi]H_pi =
1.0e+008 *
4.8000 0.0280 0.0002 0.0000
roots(H_pi)ans =
-0.0027 + 0.0048i -0.0027 - 0.0048i -0.0005
Корените са отрицателни следователно системата е устойчива.
Честотен критерийKreg_pi=10Treg_pi=2000
За да намерим устойчивостта на затворената система по честотен критерий ни е нужна предавателната фунцкия на отворената система.
В MATLAB: Num_Fyx_pi_os=[Treg_pi*Kreg_pi*Kb*Ko Kreg_pi*Kb*Ko]Den_Fyx_pi_os=[Treg_pi*Tb*To (Tb+To)*Treg_pi Treg_pi 0][re,im]=nyquist(Num_Fyx_pi_os,Den_Fyx_pi_os)plot(re,im)grid on
Според критерия на Найкуйст системата е устойчива (не обхваща -1).Показва ни действителната част.
В MATLAB: Num_Fyx_pi_os=[Treg_pi*Kreg_pi*Kb*Ko Kreg_pi*Kb*Ko]Den_Fyx_pi_os=[Treg_pi*Tb*To (Tb+To)*Treg_pi Treg_pi 0]bode(Num_Fyx_pi_os,Den_Fyx_pi_os)margin(Num_Fyx_pi_os,Den_Fyx_pi_os)%[Gm,Pm,Wg,Wp]=margin(Num_Fyx_pi_os,Den_Fyx_pi_os)
Wср=0,00424 [rad/sec] [rad/sec]
Запаса по модул(Gm)= Запаса по фаза(Pm)=54,1 [deg]
От диаграмите се вижда че Wср<< което е и достатъчно условие за устойчивост.
Граничнaта стойност на коефициента на усилване – Kreg_pi_gr с ПИ регулатор ще определим от уравнението на затворената система:
С помощта на критерия на Вишнеградски за устойчивост (гранична) при който намерихме отношенито на Treg_pi ще намерим и граничнaта стойност на коефициента на усилване – Kreg_pi_gr при Treg_pi=2000.
В MATLAB: Kreg_pi_gr=((Tb+To)*Treg_pi)/(To*Tb*Kb*Ko-((Tb+To)*Treg_pi*Kb*Ko))Kreg_pi_gr = -1.6204
В този случай стойността на граничният коефициент на регулиране на ПИ регулатора има отрицателна стойност което води до безкрайна степен на устойчивост.
1.4.Структурна схема на системата с П регулатор в SIMULINK
Графика на преходният процес
Той достига своя пик Y_pmax=115,4
За определяне на времето на регулиране ще използваме графиката на преходният процес като се стремим да определим най-точно при кой най-последен момент стойността на кривата пресича
границата ±5% от стойността на заданената температура, т.е. кога за последно температурата е
достигнала 76 или 84
От графиката виждаме че времето на преходният процес е tПП=1107,4 [sec]
Пререгулирането – се изчислява по следната формула:
Колебателност – m се изчислява чрез корените по следната формула:
- модула на реалната част от комплексно спрегнатият корен най-близък до ординатната ос - модула на имагинерната част от комплексно спрегнатият корен най-близък до ординатната ос
Вземаме корените на характеристичният полином на затворената система:
P1= -0.0027 + 0.0095i P2= -0.0027 - 0.0095iИ двата корена са еднакво отдалечени от ординатната ос. α=|-0.0027|=0.0027 β=|-0.0095|=0.0095
3,5185
Степен на устойчивост - η Това е разтоянието от най-близкият корен на системата до ординатната ос.η =|α|=|-0.0027|=0.0027
Структурна схема на системата с ПИ регулатор в SIMULINK
Графика на преходният процес
Той достига своя пик Y_pimax=92,28
За определяне на времето на регулиране ще използваме графиката на преходният процес като се стремим да определим най-точно при кой най-последен момент стойността на кривата пресича границата ±5% от стойността на заданената температура, т.е. кога за последно температурата е
достигнала 76 или 84
От графиката виждаме че времето на преходният процес е tПП=1432,7 [sec]
Пререгулирането – се изчислява по следната формула:
Колебателност – m се изчислява чрез корените по следната формула:
- модула на реалната част от комплексно спрегнатият корен най-близък до ординатната ос - модула на имагинерната част от комплексно спрегнатият корен най-близък до ординатната ос
Вземаме корените на характеристичният полином на затворената система:
P1= -0.0027 + 0.0048iP2= -0.0027 - 0.0048iP3= -0.0005
В този случай P1 или P2 като най-близък до ординатната ос комплесно спрегнат корен.α=|-0.0027|=0.0027 β=|-0.0048|=0.0048m=1,777Степен на устойчивост - η Това е разтоянието от най-близкият корен на системата до ординатната ос.η =|α|=|-0.0005|=0.0005
2. Изследване на непрекъсната система в пространство на състоянията (ПС)
2.1 Да се направи преход от структурна схема на системата към описание в ПС
2.1.1 За П- регулатор
Структурна схема в Simulink - представяне на схемата с блокове IN и OUT от библиoтеката Commonly Used Blocks за намиране на матриците A, B, C, D
П-регулаторът не се явява динамично звено то ние го взимаме впредвид в с следващото Лапласово изображение. Буквенно представен преходът има следният вид:
Y=
Матриците добиват вида:
Матрица на състоянието А_p =
B_p= C_p= D_p=0
В този случай матрицата на входа B_p има две колони това се обяснява поради наличието на две
входни въздействия “u” и “f” и 3 реда поради броя на Лапласово изображения ( .
Матрицата на изхода C_p. Матрицата на пряката връзка D_p
След заместване във формулите получаваме следните стойности за матриците:
A_p= B_p= C_p= D_p=0
2.1.2 За ПИ- регулатор
Структурна схема в Simulink - представяне на схемата с блокове IN и OUT от библиoтеката Commonly Used Blocks за намиране на матриците A, B, C, D
Y=
Матрица на състоянието А_pi=
B_pi= C_pi= D_pi=0
В този случай матрицата на входа B_pi има две колони това се обяснява поради наличието на две
входни въздействия “u” и “f” и 3 реда поради броя на Лапласово изображения ( .
Матрицата на изхода C_pi. Матрицата на пряката връзка D_piСлед заместване във формулите получаваме следните стойности за матриците:
А_pi=
B_pi= C_pi= D_pi=0
2.2 Да се направи преход към описание в ПС в MATLAB и се сравнят резултатите с получените в преходната точка.
За П-регулатор[A_p1,B_p1,C_p1,D_p1]=linmod('sh2_1')
A_p1 = -0.0013 0 0 0 -0.0008 0.0037
-0.0027 -0.0406 -0.0050
B_p1 = 0 1.0000 0 0 54.0741 0
C_p1 = 1.0e-003 *
0.0500 0.7500 0
D_p1 =0 0
За ПИ-регулатор[A_pi1,B_pi1,C_pi1,D_pi1]=linmod('sh2_1_1')
A_pi1 = -0.0013 0 0 0 0 -0.0008 0.0037 0 -0.0005 -0.0075 -0.0050 0.0050 -0.0001 -0.0008 0 0
B_pi1 = 0 1 0 0 10 0 1 0
C_pi1 = 1.0e-003 *
0.0500 0.7500 0 0
D_pi1 =0 0
Проверката се извършва, като намерим собствените стойности на матриците А при П и ПИ регулатор
За П-регулатор
A_p=
В Matlab :A_p=[-1/800 0 0;0 -1/1200 0.9/1200;-40.5556/200 -40.5556/200 -1/200]
A_p = -0.0013 0 0
0 -0.0008 0.0008 -0.2028 -0.2028 -0.0050
eig(A_p)
ans = -0.0029 + 0.0122i -0.0029 - 0.0122i -0.0013 eig(A_p1)
ans = -0.0029 + 0.0122i -0.0029 - 0.0122i -0.0013
Собствените стойности съвпадат!
За ПИ-регулатор
А_pi=
В Matlab :A_pi=[-1/800 0 0 0;0 -1/1200 0.9/1200 0;-7.5/200 -7.5/200 -1/200 0.75/200;-10/2000 -10/2000 0 0]
A_pi =
-0.0013 0 0 0 0 -0.0008 0.0008 0 -0.0375 -0.0375 -0.0050 0.0037 -0.0050 -0.0050 0 0
eig(A_pi)ans =
-0.0005 -0.0027 + 0.0048i -0.0027 - 0.0048i -0.0013
eig(A_pi1)
ans =
-0.0005 -0.0027 + 0.0048i -0.0027 - 0.0048i
-0.0013
Собствените стойности съвпадат!
Изследване на импулсните характеристики (чрез командата impulse(A,B,C,D)) с матриците пресметнати на ръка (A_p,B_p,C_p,D_p за П-регулатор и A_pi,B_pi,C_pi,D_pi за ПИ-регулатор) и тези пресметнати чрез с командата linmod в Matlab (A_p1,B_p1,C_p1,D_p1 за П регулатор и A_pi1,B_pi1,C_pi1,D_pi1 за ПИ регулатор). Не би трябвало да има разлика в характеристиките.
За П-регулатор
В Matlab въвеждаме:
A_p=[-1/Tf 0 0;0 -1/To Ko/To;(-Kb*Kreg_p)/Tb (-Kb*Kreg_p)/Tb -1/Tb]B_p=[0 Kf/Tf;0 0;(Kb*Kreg_p)/Tb 0]C_p=[1 1 0]D_p=0impulse(A_p,B_p,C_p,D_p)
[A_p1,B_p1,C_p1,D_p1]=linmod('sh2_1')impulse(A_p1,B_p1,C_p1,D_p1)
За ПИ-регулатор
В Matlab въвеждаме:
A_pi=[-1/Tf 0 0 0;0 -1/To Ko/To 0;(-Kb*Kreg_pi)/Tb (-Kb*Kreg_pi)/Tb -1/Tb Kb/Tb;-Kreg_pi/Treg_pi -Kreg_pi/Treg_pi 0 0]B_pi=[0 Kf/Tf;0 0;(Kb*Kreg_pi)/Tb 0;Kreg_pi/Treg_pi 0]C_pi=[1 1 0 0]D_pi=0impulse(A_pi,B_pi,C_pi,D_pi)
[A_pi1,B_pi1,C_pi1,D_pi1]=linmod('sh2_1_1')impulse(A_pi1,B_pi1,C_pi1,D_pi1)
2.3 Да се изследва системата на устойчивост, управляемост и наблюдаемост
УСТОЙЧИВОСТУсловието за устойчивост е всички собствени стойности на матрицата на състоянието А да са с отрицателни реални части.УПРАВЛЯЕМОСТНеобходимото условие е двойката матрици на управляемост (А,В) да имат пълен рангНАБЛЮДАЕМОСТСъщо както при управляемостта тук матриците на наблюдаемостта (А,C) трябва да имат пълен ранг
За П-регултатор
УСТОЙЧИВОСТ
eig(A_p)
ans =
-0.0029 + 0.0122i -0.0029 - 0.0122i -0.0013
От получените стойности следва, че е устойчива.
УПРАВЛЯЕМОСТ
UPRV_p=ctrb(A_p,B_p)rank(UPRV_p)
ans =
3
n=3 => системата е управляема.
НАБЛЮДАЕМОСТ
NABL_p=obsv(A_p,C_p)rank(NABL_p)
ans = 3
n=3 => системата е наблюдаема.
За ПИ-регултатор
УСТОЙЧИВОСТ
eig(A_pi)
ans =
-0.0005 -0.0027 + 0.0048i -0.0027 - 0.0048i -0.0013
От получените стойности следва, че е устойчива.
УПРАВЛЯЕМОСТ
UPRV_pi=ctrb(A_pi,B_pi)rank(UPRV_pi)
ans =
4
n=4 => системата е управляема.
НАБЛЮДАЕМОСТ
NABL_pi=obsv(A_pi,C_pi)rank(NABL_pi)
ans = 4
n=4 => системата е наблюдаема.
3. Изследване на линейна дискретна система3.1. Да се построи структурна схема на системата при замяна на аналоговия ПИ-регулатор с цифров ПИ-регулатор
Аналогов ПИ-регулатор (Непрекъснатата система с ПИ-регулатор)
Цифров ПИ-регулатор (Дискретната система с ПИ-регулатор)
В MATLAB:tpp=1432.7Td=(1/16)*tpp
Td =
89.5438
Времето на дискретизация е Тд=89.5438 [sec]
3.2. Да се определи дискретната предавателна функция на системата
Wпнч(p) - предавателна функция на непрекъснатата част
Wпнч(z)=Wφ.Wb.Wоб(z)=
z=
Wφ(p) - екстраполатор
Wo(p)=Wоб(p) - обект Ko=Kоб To=Tоб
Нека к=Кb.Kоб T1=Tb T2=Tоб
d1= d2=
D=
F=
Wрег(z)-дискретна предавателна функция(ДПФ) на ПИ-регулатора
Wрег(z)= като за А=Kreg_pi B=-Kreg_pi.(1 )
Woc(z)-дискретна предавателна фунцкия на отворената система
Woc(z)=Wпнч(z).Wreg(z)= =
Wзс(z)- дискретна предавателна фунцкия на затворената система
Wзс(z)= =
В MATLAB:k=Ko*KbT1=TbT2=Tod1=exp(-Td/T1)d2=exp(-Td/T2)A=Kreg_piB=-Kreg_pi*(1-Td/Treg_pi)D=((k*T2/(T1-T2))*d2)-(k*T1/(T1-T2))*d1+kF=((k*T2/(T1-T2))*d1)-(k*T1/(T1-T2))*d2+k*d1*d2Num_dzs=[A*D (A*F+B*D) B*F]Den_dzs=[1 -(d1+d2+1-A*D) (A*F+B*D+d1*d2+d1+d2) (B*F-d1*d2)]roots(Den_dzs)
k = 0.6750T1 = 200T2 =1200d1 =0.6391d2 =0.9281A =10B =-9.5523D = 0.0095F =0.0080
z1= 0.9576 z2= 0.7572 + 0.3547i z3= 0.7572 - 0.3547i
3.2.
3.3За да бъде една дискретна система устойчива е необходимо корените на характеристичното уравнение на затворената система да бъдат по модул <1z1= 0.9576 z2= 0.7572 + 0.3547i z3= 0.7572 - 0.3547i|z1|<1 |z2|<1 |z3|<1Системата е устойчива.При дискретните система се наблюдава изменения на устойчивостта в зависимост от периода на дискретизация. При избор на твъреде голяма стойност на периода на дискретизация системата става неустойчива.
3.4.
В блоковоте Zero-Order Hold и Discrete Tranfer Fcn въвеждаме Тд=89.5438 сек
3.5.
В MATLAB:[Ad,Bd,Cd,Dd]=dlinmod('sh3_5')
Ad = 0.8329 0.2601 5.6819 -0.5414 0.6391 32.3164 -0.0008 -0.0000 1.0000
Bd =126.9123 721.8319 1.0000
Cd =1.0e-003 * 0.7500 0 0
Dd = 0
Проверка на извършената до момента робота можем да извършим чрез командата “ss2tf” която ще ни даде числителят и знаменателят на системата
[Numd,Dend]=ss2tf(Ad,Bd,Cd,Dd)Numd = 0 0.0952 -0.0109 -0.0764
Dend = 1.0000 -2.4720 2.1494 -0.6695
eig(Ad)ans = 0.7572 + 0.3547i 0.7572 - 0.3547i 0.9576
rank(Ad)ans =3
UPRVd=ctrb(Ad,Bd)rank(UPRVd)UPRVd = 126.9123 299.1450 364.8290 721.8319 424.9206 138.8511 1.0000 0.9048 0.6805
ans = 3
Ранга на матрицата е пълен следователно тя е управляема.
NABLd=obsv(Ad,Cd)rank(NABLd)NABLd = 0.0007 0 0 0.0006 0.0002 0.0043
0.0004 0.0003 0.0141
ans =3
Ранга на матрицата е пълен следователно тя е наблюдаема