Sunteți pe pagina 1din 21

PROIECTAREA UNUI REGULATOR PENTRU CONTROLUL UNUI PROCES

DATE DE PROIECTARE

- Partea fixată :
1 K 10
H F= T = = =0.33
Ts+1 30 30
1
K=10(num ărul de ordine din tabel) H F=
0,33 s +1

num=[1];
denum=[0.33 1];

1
step(num,denum)

a) Să se proiecteze prin metoda de alocare a polilor H R(a)


K 10
- Performanţe impuse : σ imp=10 [ % ] ; t imp = = =1,43[ s]; e st =0
7 7
1. ω F =1

( √ 1−ζ )
−ξ ⋅ π

(√ )
−ξ ⋅ π
2

2. σ =e ⇒ ln σ= 2
⋅ lne
1−ξ
2 2
( ln σ )2= ξ ⋅π 2 ⋅ ( ln e )2 ⇒ ( ln σ )2−( ln σ )2 ⋅ ξ 2=ξ 2 ⋅ π 2 ⇒
1−ξ
lnσ 2.3
ξ [ ( ln σ ) + π ]=( ln σ ) ξ= = =0.59ξ=0.59
2 2 2 2

√ ( ln σ ) + π
2 2
√15.16
4 4
ω n= = =4.74 ω n=4.74
ξ ⋅t timp 0.59⋅1.43
2
ωn
3. Se verifică pentru H 0 ( s )= 2 2 că avem ω 0=2>ω F =1, e st =0 deoarece
s + 2⋅ ωn ⋅ s ⋅ ξ+ ωn
H 0 ( 0 )=1

ω2n 4.7 4 2 22.46


H 0 ( s )= 2 2
= 2 2
= 2
s + 2⋅ ωn ⋅s ⋅ ξ+ ωn s +2 ⋅ 4.74 ⋅ 0.59 ⋅ s+ 4.7 4 s +5.59 ⋅ s+22.46

2
Număr de zerouri; m=0
Număr de poli; n=2
−5.59 ± √ 5.59 −4 ∙ 22.46 −5.59 ±7.65 j
2
s2 +5.59 ⋅ s +22.46=0s1 /2= = ⇒ n=2
2 2
ω 0=n−m=2 ⇒ω 0=2 ⇒ ω f =1
22.46
H 0 ( 0 )= 2
=1⇒ e st =0
0 +5.59 ⋅0+22.46
22.46

[H 0 ( s)
]
2
1 1 s + 5.59 s+ 22.46
H Ra ( s )= = ⋅ =¿
H F ( s ) 1−H 0 ( s ) 1 22.46
1− 2
0.33 s+1 s +5.59 s+22.46
22.46 7.41 s +22.46 7.41 s+ 22.46
¿ ( 0.33 s +1 ) 2
= 2 H Ra ( s )= 2
s +5.59 s s +5.59 s s +5.59 s

Folosind programul MATLAB se obține răspunsul în timp al sistemului în buclă închisă.


>> HRa=tf({[7.41 22.46]},{[1 5.59 0]});
Hf=tf({[1]},{[0.33 1]});
Htot=(HRa*Hf)/(1+(HRa*Hf));
ft_1=tf(Htot)
step(ft_1)

ft_1 =
2.445 s^4 + 28.49 s^3 + 105.3 s^2 + 125.6 s
--------------------------------------------------------------------
0.1089 s^6 + 1.878 s^5 + 14.23 s^4 + 60.29 s^3 + 136.6 s^2 + 125.6 s

Continuous-time transfer function.

3
Utilizând Simulink/MATLAB, se crează următoarea configurație:

4
b) Se alege pentru proiectare o structură de regulator PI,

( )
1 kR 1 kR
H R (b ) ( s )=k R 1+ =k R + =P+ I ⇒ P=k R și I=
s ∙ Ti s∙Ti s Ti
K 10
- Performanţe impuse : σ imp=10 [ % ] ; t timp = = =1.43[s ]; e st =0
7 7
- Se calculează k R ; T i
Obţinem în acest caz:

'
k R ( s ⋅T i+ 1 )
H 0 ( s )= 2
s ⋅ T i +T i ( 1+k R ) ⋅ s+k R

ω2n s−z
H 0 ( s )= ⋅
2
s + 2⋅ ωn ⋅s ⋅ ξ+ ω 2
n
p−z

5
ω n=
√ kR
Ti
, ξ=
1+ k R T i
2

kR
,z=

−1
Ti
pentru ξ=0.59 şi ω n=4.74 obţinem
2 ⋅ ξ ⋅ω n=1+ k R ⇒ k R =2⋅ 0.59⋅ 4.74−1=5.59−1=4.59k R =4.6

2 kR kR 4.6
ω n= ⇒ T i= 2 = =0.2T i=0.2
Ti ωn 22.46
P=k R =4.6
k R 4.6
I= = =23
T i 0.2

(
H R (b ) ( s )=k R ∙ 1+
1
s ∙T i ) (
=4.6 1+
1
)
0.2 ∙ s
=
0.92∙ s +4.6
0.2∙ s
0.92 ∙ s+ 4.6
H R ( b ) ( s )=
0.2 ∙ s

6
Am folosit TUNE din masca PI pentru a afla valorile recomandate:

7
G 1
c) Se alege pentru proiectare o structură de regulator I, H R (I )= , G= rezultând
s Ti
G
H d= ; Se verifică dacă acest regulator poate îndeplinii cerinţele de
s ⋅ ( s+K )
proiectare: e V ≤5 % , M ϕ ≥ 3 50.

1 1 lim s ⋅ G
k V= = =20k =lim s ⋅ H ( s )= s→ 0 G
εV 5 % v d = G=20 ⋅ 10=200
s→0 s ( s+10 ) 10

G 200 200
Hd= = ⇒ H d ( jω )= A ( ω ) =20 lg |H d ( jω )|
s ⋅ ( s+10 ) s ⋅ ( s +10 ) jω ⋅ ( jω+10 ) d dB

200 200 200 200


|H d ( jω )|= = Ad ( ω )= =
ω ⋅ √ ( ω +10 ) ω ⋅ √ ω + 100 ω ⋅ω ω2
2 2 2

200
Ad ( ωc )=1⇒ 2
=1 ⇒ ω c =√ 200=14.14 ω c =14.14
ωc

Pentru comparaţie calculăm ω c şi din caracteristica de amplitudine reală (neaproximată


asimptotic):

200
=1 ⇒ 40000=ω c ( ωc +100 ) ⇒
2 2
Ad ( ωc )=1⇒
ω √ ω +100
2

8
2
notăm ω c =x

2 −100 ± √10000+ 4 ⋅40000 −100 ± 412.31


40000=x ( x +100 ) ⇒ x + 100⋅ x−40000=0 x 1,2= =
2 2
x 1=−256.15 x 2=156.15 ⇒ ω 2c =x 2=156.15ω c =√ 156.15=13.12ω c =13.12(analitic)

Caracteristica de fază este:

0 ω 0 14.14
ϕ d ( ω )=−9 0 −arctg =−9 0 −arctg
10 10

Calculăm marginea de fază a sistemului necompensat:

0 0 0 0 0 0
ϕ d ( ω )=arg H d ( j ωc )=−9 0 −arctg 1.41=−9 0 −56.6 5 =−9 0 −5 7 =−14 7
0 0 0 0 0 0
ϕ d ( ω )=−14 7 M ϕ ( d )=18 0 + arg H d ( jω )=18 0 −14 7 =33 <3 5

Rezultă că este necesar o reţea de corecţie cu avans de fază.

c=tf([200],[1 10 0]);
bode(c)

d) Se proiectează un compensator cu avans de fază, HC (în serie cu HR, rezultând

HR(d)= HC HR) pentru a îndeplini performanţele impuse : e V ≤5 % , M ϕ ≥ 3 50

9
0 k c −1
0 0 0 0
ϕ M >35 −33 =2 ϕ M =5 sin 5 = =0.1⇒ ( k c −1 )=0.1 ( k c +1 )k c −1=0.1 ⋅k c +0.1
kc+ 1
1.1
k c ( 1−0.1 ) =1.1k c = =1.2k c =1.2
0.9

¿
Alegând ω c =ω M pentru sistemul compensat serie avem
1 200 1
20 lg √ k c +20 lg| H d ( j ω ¿c )|=0 ⇒ A d ( ω ¿c ) = = ¿2 = ω =200 √1.44=240
¿2
√ k c ωc √ 1.44 c
¿
ω c =√ 240=15.29ω c =15.29
¿

obţinut pe caracteristica asimptotică.

Pe caracteristica reală:

200 1 40000 1
= =
√1.44 ωc ( ω c +100 ) 1.44 57600=ωc ( ω c +100 ) ⇒
¿2 ¿2
ω
¿
c (√ ω ¿2
c +100 )
¿2 ¿2

notăm ω ¿2
c =x şi obţinem:

2 −100 ± √10000+57600 −100 ± √240400 −100 ± 490


x + 100⋅ x−57600=0 x 1,2= = =
2 2 2
x 1=−295x 2=195

ω c =195⇒ ωc = √ 195=14.36ω c =14.36=ω M


¿2 ¿ ¿

Rezultă parametrii reţelei de compensare:

}{
T1 1
¿ =k =1.2 ¿ =√ 1.2⋅14.36=15.8
T2 c ⇒ T 2
1 1 15.8
¿ ωM = =14.36 ¿ = =13.16
√ k c ⋅T 2 T 1 1.2

1
s+
T1 s+13.16 1.2 s+15.8
H R(d ) ( s )=k c ⋅ =1.2 ⋅ H R(d ) ( s )=
1 s+15.8 s+15.8
s+
T2

¿
Pentru ω≫ω c =ω M avem corecţia de amplitudine:

¿ ¿ ¿
Adc ( ωc ) −A d ( ωc )= A c ( ωc )=20 lg k c =20 lg1.2=20 ⋅0.08=1.6 dB

10
¿
iar la ω c =ω M avem corecţiile

Adc ( ωc ) −A d ( ωc )= A c ( ωc )=20 lg √ k c =20 lg1.1=0.80 dB


¿ ¿ ¿

¿ ¿
ω ω 14.36 14.36
ϕ dc ( ω ) −ϕ d ( ω )=−arctg c +arctg c =−arctg
¿
c
¿
c + arctg ¿−41.98+ 47.48=5. 5
0
3.98 0.99 15.8 13.16

Caracteristicile obţinute prin simulare sunt reprezentate în figura de mai jos şi sunt
însoţite de programul sursă:

ft1=tf(([1.2 15.8]),([1 15.8]));


bode(ft1)

11
Reprezentarea regulatorului cu compensator este:

ft1=tf(([1.2 15.8]),([1 15.8]));


g=tf([200],[1 10 0]);
bode(ft1,g)

Răspunsul sistemului cu compensator reprezentat cu Simulink este:

12
e) Diagrame de simulare

În parcurgerea pașilor anteriori de proiectare s-au reprezentat toate diagramele cu


simulările corespunzătoare.

Conform diagramei bloc creată în simulink:

13
După cum se poate observa răspunsul regulatorului cu compensator de avans pe fază este
un răspuns bun comparativ cu celălalte.

f) Determinarea variantei de discretizare pentru regulatorul:

0.92 ∙ s+ 4.6
H R ( b ) ( s )=
0.2 ∙ s

cu perioada de esantionare T=0,01 s

H R ( b) ( s ) 1 0.92∙ s +4.6 0.92 ∙ s 4.6 0.92 4.6 1 1


= ∙ = + = + =4.6 ∙ +23 ∙ 2
s s 0.2∙ s 2
0.2 ∙ s 0.2 ∙ s2
0.2∙ s 0.2∙ s 2
s s

Folosind transformata Z se obtine:

H R ( b) ( s ) z T ∙z
=4.6 ∙ +23 ∙ 2
s z−1 ( z −1)

Pentru T=0.01 avem:

H R ( b) ( s ) z 0.01∙ z z z z 0.23
=4.6 +23 =4.6 ∙ +0.23 = (4.6 + )
s z−1 ( z−1 ) 2
z −1 ( z−1 ) 2
z−1 z−1

( 1z )⋅ z−1z (4.6+ 0.23


H R (b ) ( z )=( 1−z−1 ) ⋅ z ( H R (b ) ( s ) ) = 1−
z−1 ) =¿
z −1 z

z z−1 ( 4.6+
0.23
z−1 )=4.6+
0.23 4.6 ⋅ z−4.6
z−1
=
z−1

4.6 ⋅ z−4.57
H R ( b ) ( z )=
z−1

Cu programul MATLAB se obtine acelasi rezultat:

14
R=tf({[0.92 4.6]},{[0.2 0]})
num=[0.92 4.6];
t=0.01;
den=[0.2 0];
[n,d]=c2dm(num, den,t)
rdis=c2d(R,t)

R=
0.92 s + 4.6
------------
0.2 s
Continuous-time transfer function.
n=
4.6000 -4.3700
d=
1 -1
rdis =
4.6 z - 4.37
------------
z-1
Sample time: 0.01 seconds
Discrete-time transfer function.

Determinarea variantei de discretizare pentru regulatorul:

7.41𝑠 + 22.46
𝐻𝑅𝑎 ሺ𝑠ሻ =
𝑠 2 + 5.59𝑠

cu perioada de esantionare T=0,01 s

P=tf({[7.41 22.46]},{[1 5.59 0]})


num=[7.41 22.46];
den=[1 5.59 0];
t=0.01;
[n,d]=c2dm(num, den,t)
pdis=c2d(P,t)

Transfer function:
P=
7.41 s + 22.46
--------------
s^2 + 5.59 s
Continuous-time transfer function.
n=

15
0 0.0732 -0.0710
d=
1.0000 -1.9456 0.9456
pdis =
0.07317 z - 0.07098
----------------------
z^2 - 1.946 z + 0.9456
Sample time: 0.01 seconds
Discrete-time transfer function.

Determinarea variantei de discretizare pentru regulatorul:

1.2 s+15.8
H R(d ) ( s )=
s+15.8

cu perioada de esantionare T=0,01 s

U=tf({[1.2 15.8]},{[1 15.8]})


num=[1.2 15.8];
den=[1 15.8];
[n,d]=c2dm(num, den,t)
udis=c2d(U,t)

Transfer function:
U=
1.2 s + 15.8
------------
s + 15.8
Continuous-time transfer function.
n=
1.2000 -1.0538
d=
1.0000 -0.8538
udis =
1.2 z - 1.054
-------------
z - 0.8538
Sample time: 0.01 seconds
Discrete-time transfer function.

16
Determinarea variantei de discretizare pentru functia de proces:

1
H F=
0,33 s +1

cu perioada de esantionare T=0,01 s

H=tf({[0 1]},{[0.33 1]})


num=[0 1];
den=[0.33 1];
t=0.01;
[n,d]=c2dm(num, den,t)
hdis=c2d(H,t)

Transfer function:
H=
1
----------
0.33 s + 1
Continuous-time transfer function.
n=
0 0.0298
d=
1.0000 -0.9702
hdis =
0.02985
----------
z - 0.9702
Sample time: 0.01 seconds
Discrete-time transfer function.

g) Determinarea variantei de discretizare pentru regulatorul:

0.92 ∙ s+ 4.6
H R ( b ) ( s )=
0.2 ∙ s

cu perioada de esantionare T=0,05 s

H R ( b) ( s ) 1 0.92∙ s +4.6 0.92 ∙ s 4.6 0.92 4.6 1 1


= ∙ = + = + =4.6 ∙ +23 ∙ 2
s s 0.2∙ s 0.2 ∙ s 0.2 ∙ s 0.2∙ s 0.2∙ s
2 2 2
s s

17
Folosind transformata Z se obtine:

H R ( b) ( s ) z T ∙z
=4.6 ∙ +23 ∙ 2
s z−1 ( z −1)

Pentru T=0.05 avem:

H R ( b) ( s ) z 0.05 ∙ z z z z 1.15
=4.6 +23 =4.6∙ +1.15 = (4.6 + )
s z−1 ( z −1 ) 2
z−1 ( z−1 ) 2
z−1 z−1

( 1z )⋅ z−1z (4.6+ 1.15


H R (b ) ( z )=( 1−z ) ⋅ z ( H R (b ) ( s ) ) = 1−
−1
z−1 ) =¿
z −1 z

z z−1 ( 4.6+
1.15
z−1 )=4.6+
1.15 4.6 ⋅ z−4.6
z−1
=
z−1

4.6 ⋅ z−3.45
H R ( b ) ( z )=
z −1

Cu programul MATLAB se obtine acelasi rezultat:

R=tf({[0.92 4.6]},{[0.2 0]})


num=[0.92 4.6];
t=0.05;
den=[0.2 0];
[n,d]=c2dm(num, den,t)
rdis=c2d(R,t)

R=
0.92 s + 4.6
------------
0.2 s
Continuous-time transfer function.
n=
4.6000 -3.4500
d=
1 -1
rdis =
4.6 z - 3.45
------------
z-1
Sample time: 0.05 seconds
Discrete-time transfer function.

Determinarea variantei de discretizare pentru functia de proces:


18
1
H F=
0,33 s +1
cu perioada de esantionare T=0,05 s

H=tf({[0 1]},{[0.33 1]})


num=[0 1];
den=[0.33 1];
t=0.05;
[n,d]=c2dm(num, den,t)
hdis=c2d(H,t)
H=
1
----------
0.33 s + 1
Continuous-time transfer function.
n=
0 0.1406
d=
1.0000 -0.8594
hdis =
0.1406
----------
z - 0.8594
Sample time: 0.05 seconds

h) Simularea comparativa a controlului continuu si discret proiectat

19
20
21

S-ar putea să vă placă și