Курсов проект- Теория на Управлението

61
ТУ-ВАРНА Т.У КУРСОВ ПРОЕКТ Тема: Регулиране на температура в химически реактор.

Upload: cmos-ind

Post on 03-Oct-2015

170 views

Category:

Documents


35 download

DESCRIPTION

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

TRANSCRIPT

-

.

: .

: 3. 4. 3. . . . . 086105

-II

1. , . 3150W. . . . 500W, .

2.:

1-; 2-; 3,4- U-I; 5,6-; 7,8-

3.

1. .

2. .

3.

4. () .

5. () :

- ()

-- ()

4.

1. .

1.1. .1.2. .1.2.1. kpk =s.A -.1.2.2. -.1.2.3. , ( ) .1.3. .1.3.1. - ( ).1.3.2. - (kpk,) .1.3.3. ( ) - ( ) kpk.1.4. .

2. ().2.1. .2.2. MATLAB .2.3. , .

3. .3.1. - -.3.2. .3.3. .3.4. . 3.5. .5.[oC]koTokkTkkpckfTffs[]

6750.87001.96001.580.03758502003

1. .

1.1. .

[oC]koTokkTkkpckfTffs[]

750.87001.96001.580.03758502003

k

Matlab

A=75 % - =75Ko=0.8 % To=700 % Kk=1.9 % Tk=600 % Kpc=1.58 % Kf=0.0375 % Tf=850 % B=200 %-fKb=0.7501 % Tb=149.925 % s=31.2. .

1.2.1. kpk =s.A -.

A = B = f

- Matlab KregP=(100*A-100*B*Kf-s*A)/(s*A*Kb*Ko)

=2.25 - Matlab EstP=(s*A)/1002.25

1.2.2 -.

-

1.2.3 , ( ) .

- ().

Matlab

YustP=(A*KregP*Kb*Ko+B*Kf)/(1+KregP*Kb*Ko)

- ().

.Kff Kf . - T , . T , B .

X F X 0 10 0.0001. F F1=0 F2=200

atlab

KxP=(KregP*Kb*Ko)/(1+KregP*Kb*Ko)KffP=Kf/(1+KregP*Kb*Ko)X=[0:0.0001:10]F1=0 F2=200YstP1=KxP*X+KffP*F1 YstP2=KxP*X+KffP*F2hold onplot(X, YstP1)plot(X, YstP2)

-

- , .

= 0

atlab

KxPI=1KffPI=0X=[0:0.0001:10]F1=0 F2=200YstPI1=KxPI*X+KffPI*F1 YstPI2=KxPI*X+KffPI*F2hold onfigure(2)plot(X, YstPI1)plot(X, YstPI2)

, F1=0 F2=200. - .1.3. .1.3.1. - ( ).

- .

atlab

Hp=[(To*Tb) (To+Tb) (1+KregP*Kb*Ko)]roots(Hp)

-0.0040 + 0.0164i -0.0040 - 0.0164i

. .

1.3.2. - (kpk,) .

*

- , , , - , - .

KrepPI PI .

atlab

KregPI=0:100; for i=1:101 TregPI(i)=(Tb*To*KregPI(i)*Kb*Ko)/((Tb+To)*(1+KregPI(i)*Kb*Ko)); end figure(3)plot(KregPI,TregPI)grid on;

MATLAB KregPI TregPI . - regPI TregPI . 20% . (regPI regPI) . SIMULINK - ( ) 20%, Krepi=10 Trepi=860s 19.69% ( ).

- SIMULINK

( t-, Ypi-)

( t-, Ypi-)1.3.3. ( ) - ( ) kpk.

KregPI=10TregPI=860

atlab

KregPI=10TregPI=860Hpi=[TregPI*Tb*To TregPI*(Tb+To) TregPI*(1+KregPI*Kb*Ko) KregPI *Kb*Ko]roots(Hpi)

-0.0035 + 0.0068i -0.0035 - 0.0068i -0.0011

KregPI=10TregPI=860

.

atlab

NumFyxPI=[KregPI*Kb*Ko*TregPI KregPI*Kb*Ko]DenFyxPI=[TregPI*Tb*To (Tb+To)*TregPI TregPI 0][re,im]=nyquist(NumFyxPI,DenFyxPI)figure(4)plot(re,im)grid on

.

- .

atlab

NumFyxPI=[KregPI*Kb*Ko*TregPI KregPI*Kb*Ko] DenFyxPI=[TregPI*Tb*To (Tb+To)*TregPI TregPI 0] figure(5) bode(NumFyxPI, DenFyxPI) margin(NumFyxPI,DenFyxPI) [Gm,Pm,Wg,Wp]=margin(NumFyxPI,DenFyxPI)

, W< .

a - - - .

1.3.2 () TregPI a - =860.

atlab KregPIgr=((TregPI*(Tb+To)/(To*Tb*Kb*Ko-((Tb+To)*TregPI*Kb*Ko))))

KregPIgr = -1.9458 - .

1.4. .

-

atlab

peakp=max(yp)

ans= 105.7759

-

Yp= Peak

- - , 5% , .. .

atlab

ypgg=77.25*ones(size(t))dd=72.75*ones(size(t))plot(t,yp,t,gg,t,dd)[t yp-dd][t yp] t Yp-dd 473.8 -0.0034 547.6 0.0063 -

5%.

( t-, Yp-)

, [sec].

.

[%] [%]

m ; - - . - - .

-0.0040 + 0.0164i -0.0040 - 0.0164i

-, - .

-

peakpi=Max(ypi)

ans= 88.6033

-

Yp= Peak

( t-, Yp-)

atlab

ypigg=77.25*ones(size(t))dd=72.75*ones(size(t)) plot(t,ypi,t,gg,t,dd)[t ypi-gg][t ypi] t Ypi-dd 681.8 0.0009 761.8 -0.0030 -

5%.

( t-, Yp-)

, [sec].

.

[%] [%]

m ; - - . - - .

-0.0035 + 0.0068i -0.0035 - 0.0068i -0.0011

-, - .

2. ().2.1. .

-

IN OUT A,B,C,D

- . :

)

+

*+ *

*

+

*

, u f 3 (. -. -.

*

-

IN OUT A,B,C,D

)

*

+

*

*

+

*

+

*

, u f 4 (. -. -

*

2.2. MATLAB .

MATLAB

-

[Apm,Bpm,Cpm,Dpm]=linmod('dveednop')

Apm = -0.0012 0 0 0 -0.0014 0.0050 -0.0021 -0.0552 -0.0067Bpm = 0 1.0000 0 0 48.3269 0Cpm =

0.0000 0.0011 0Dpm =

0 0

-

[Apim,Bpim,Cpim,Dpim]=linmod('dveednopi')

Apim =

-0.0012 0 0 0 0 -0.0014 0.0050 0 -0.0004 -0.0114 -0.0067 0.0116 -0.0000 -0.0011 0 0Bpim =

0 1 0 0 10 0 1 0

Cpim = 0.0000 0.0011 0 0Dpim =

0 0

. -

Matlab

Ap=[-1/850 0 0;0 -1/700 0.8/700;(-(0.7501*48.3269)/149.925) (-(0.7501*48.3269)/149.925) -1/149.925]

eig(Ap)

ans =

-0.0040 + 0.0164i -0.0040 - 0.0164i -0.0012

eig(Apm)

ans =

-0.0040 + 0.0164i -0.0040 - 0.0164i -0.0012 = -

Api=[-1/850 0 0 0;0 -1/700 0.8/700 0; (-(0.7501*10)/149.925) (-(0.7501*10)/149.925) -1/149.925 0.7501/119.925; -10/860 -10/860 0 0]eig(Api)

ans =

-0.0011 -0.0035 + 0.0068i -0.0035 - 0.0068i -0.0012eig(Apim)

ans =

-0.0011 -0.0035 + 0.0068i -0.0035 - 0.0068i -0.0012 ( impulse(A,B,C,D) ) -(Ap,Bp,Cp,Dp - - Api,Bpi,Cpi,Dpi- -) linmod Matlab - (Apm,Bpm,Cpm,Dpm- - Apim,Bpim,Cpim,Dpim - -). .

Matlab

Ap=[-1/Tf 0 0; 0 -1/To Ko/To; (-Kb*KregP)/Tb (-Kb*KregP)/Tb -1/Tb]Bp=[0 Kf/Tf; 0 0; (Kb*KregP)/Tb 0]Cp=[1 1 0]Dp=[0]Api=[-1/Tf 0 0 0; 0 -1/To Ko/To 0; (-Kb*KregPI)/Tb (-Kb*KregPI)/Tb -1/Tb Kb/Tb; -KregPI/TregPI -KregPI/TregPI 0 0]Bpi=[0 Kf/Tf; 0 0; (Kb*KregPI)/Tb 0; KregPI/TregPI 0]Cpi=[1 1 0 0]Dpi=[0][Apm,Bpm,Cpm,Dpm]=linmod('dveednop')[Apim,Bpim,Cpim,Dpim]=linmod('dveednopi')

-

impulse(Ap,Bp,Cp,Dp)

impulse(Apm,Bpm,Cpm,Dpm)

-

impulse(Api,Bpi,Cpi,Dpi)

impulse(Apim,Bpim,Cpim,Dpim)

, .2.3. , .

-

. - , . eig(Ap) ans=

-0.0040 + 0.0164i -0.0040 - 0.0164i , - -0.0012

(,) .n-

rank[B A.B

Matlab

UprP=ctrb(Ap,Bp)rank(UprP)

UprP =

0 0.0000 0 -0.0000 0 0.0000 0 0 0.0003 0 -0.0000 -0.0000 0.2418 0 -0.0016 -0.0000 -0.0001 0.0000ans =

3 .

.n-

rank[ .

Matlab

NablP=obsv(Ap,Cp)rank(NablP)

NablP =

1.0000 1.0000 0 -0.0012 -0.0014 0.0011 -0.0003 -0.0003 -0.0000

ans =

3

.

-

. - , . eig(Api) ans=

-0.0011 -0.0035 + 0.0068i , - -0.0035 - 0.0068i-0.0012

(,) .n- rank[B A.B

Matlab

UprPi=ctrb(Api,Bpi)rank(UprPi)

UprPi =

0 0.0000 0 -0.0000 0 0.0000 0 -0.0000 0 0 0.0001 0 -0.0000 -0.0000 -0.0000 0.0000 0.0500 0 -0.0003 -0.0000 -0.0000 0.0000 0.0000 0.0000 0.0116 0 0 -0.0000 -0.0000 0.0000 0.0000 0.0000ans =

4 .

.n-

rank[ .

Matlab

NablPI=obsv(Api,Cpi)rank(NablPI)

NablPI =

1.0000 1.0000 0 0 -0.0012 -0.0014 0.0011 0 -0.0001 -0.0001 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000ans =

4

.

3. .3.1. - -.

-

-

3.2. .

==

Matlab

Td=76.1K=Ko*KbT1=TbT2=Tod1=exp(-Td/T1)d2=exp(-Td/T2)A=KregPIB=-KregPI*(1-Td/TregPI)D=((K*T2/(T1-T2))*d2)-(K*T1/(T1-T2))*d1+KF=((K*T2/(T1-T2))*d1)-(K*T1/(T1-T2))*d2+K*d1*d2NumOs=[A*D (A*F+B*D) B*F]DenOs=[1 -(d1+d2+1) (d1*d2+d1+d2) -d1*d2]printsys(NumOs,DenOs)NumZs=[A*D (A*F+B*D) B*F]DenZs=[1 -(d1+d2+1-A*D) (A*F+B*D+d1*d2+d1+d2) (B*F-d1*d2)]printsys(NumZs,DenZs)roots(DenZs)

Td = 76.1K = 0.6001T1 = 149.9250T2 = 700d1 = 0.6257d2 = 0.9044A = 10B = -9.1826D = 0.0117F = 0.0097

NumOs = 0.1175 -0.0107 -0.0892

DenOs = 1.0000 -2.5301 2.0960 -0.5659 0.11745 s^2 - 0.010686 s - 0.089224num/den = ------------------------------------------- s^3 - 2.5301 s^2 + 2.096 s - 0.5659NumZs = 0.1175 -0.0107 -0.0892

DenZs =1.0000 -2.4127 2.0854 -0.6551

0.11745 s^2 - 0.010686 s - 0.089224num/den = ------------------------------------------- s^3 - 2.4127 s^2 + 2.0854 s - 0.65513

3.3. .