32
Технически университет – Варна К У Р С О В П Р О Е К Т Дисциплина: Теория на управлението II част Задание: Регулиране на температура в химически реактор

TU II - Kursov Proekt

  • Upload
    -

  • View
    117

  • Download
    1

Embed Size (px)

Citation preview

Page 1: TU II - Kursov Proekt

Технически университет – Варна

К У Р С О В П Р О Е К ТДисциплина: Теория на управлението II част

Задание: Регулиране на температура в химически реактор

Изготвили:Христо Антонов Панайотов - 066109 Радомир Николов Лонев - 066118Специалност: Проверил:...........................АИУТ, III курс, IV поток, 3 група /гл. ас. Атанасов/

Page 2: TU II - Kursov Proekt

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 [%]

Page 3: TU II - Kursov Proekt

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За системата с различни входове и изходи

Page 4: TU II - Kursov Proekt

- предавателната фунцкия на П или ПИ регулатора

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

Page 5: TU II - Kursov Proekt

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.

Page 6: TU II - Kursov Proekt

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

Page 7: TU II - Kursov Proekt

С цикъла който зададохме в MATLAB ние зададохме при какви произволни стойности на Kreg_pi, Treg_pi да се изменя така че системата да се намира на границата на устойчивостта. Kривата на графиката по горе ни показва точно това при какви стойностти на Кreg_pi и Treg_pi системата е на границата. За да определим при кои точно параметри на регулатора той има до 20% пререгулиране ние трябва да взимаме точки близо до кривата и да използваме техните координати (Кreg_pi и Тreg_pi) за неговата настройка.

Структурна схема на системата с ПИ регулатор в SIMULINK

Графика на преходният процес

Page 8: TU II - Kursov Proekt

След извършените операции в 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

Page 9: TU II - Kursov Proekt

Според критерия на Найкуйст системата е устойчива (не обхваща -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 с ПИ регулатор ще определим от уравнението на затворената система:

Page 10: TU II - Kursov Proekt

С помощта на критерия на Вишнеградски за устойчивост (гранична) при който намерихме отношенито на 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

За определяне на времето на регулиране ще използваме графиката на преходният процес като се стремим да определим най-точно при кой най-последен момент стойността на кривата пресича

Page 11: TU II - Kursov Proekt

границата ±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

Графика на преходният процес

Page 12: TU II - Kursov Proekt

Той достига своя пик 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

Page 13: TU II - Kursov Proekt

2. Изследване на непрекъсната система в пространство на състоянията (ПС)

2.1 Да се направи преход от структурна схема на системата към описание в ПС

2.1.1 За П- регулатор

Структурна схема в Simulink - представяне на схемата с блокове IN и OUT от библиoтеката Commonly Used Blocks за намиране на матриците A, B, C, D

Page 14: TU II - Kursov Proekt

П-регулаторът не се явява динамично звено то ние го взимаме впредвид в с следващото Лапласово изображение. Буквенно представен преходът има следният вид:

Y=

Матриците добиват вида:

Page 15: TU II - Kursov Proekt

Матрица на състоянието А_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

Page 16: TU II - Kursov Proekt
Page 17: TU II - Kursov Proekt

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

Page 18: TU II - Kursov Proekt

-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

Page 19: TU II - Kursov Proekt

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

Page 20: TU II - Kursov Proekt

-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)

Page 21: TU II - Kursov Proekt

За ПИ-регулатор

В 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)

Page 22: TU II - Kursov Proekt

2.3 Да се изследва системата на устойчивост, управляемост и наблюдаемост

УСТОЙЧИВОСТУсловието за устойчивост е всички собствени стойности на матрицата на състоянието А да са с отрицателни реални части.УПРАВЛЯЕМОСТНеобходимото условие е двойката матрици на управляемост (А,В) да имат пълен рангНАБЛЮДАЕМОСТСъщо както при управляемостта тук матриците на наблюдаемостта (А,C) трябва да имат пълен ранг

За П-регултатор

УСТОЙЧИВОСТ

eig(A_p)

ans =

-0.0029 + 0.0122i -0.0029 - 0.0122i -0.0013

От получените стойности следва, че е устойчива.

УПРАВЛЯЕМОСТ

Page 23: TU II - Kursov Proekt

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 => системата е наблюдаема.

Page 24: TU II - Kursov Proekt

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об

Page 25: TU II - Kursov Proekt

Нека к=К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

Page 26: TU II - Kursov Proekt

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.

Page 27: TU II - Kursov Proekt

В 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

Page 28: TU II - Kursov Proekt

0.0004 0.0003 0.0141

ans =3

Ранга на матрицата е пълен следователно тя е наблюдаема