Sunteți pe pagina 1din 7

Lucrarea 2 Reglarea PID.

Analiza i proiectare n mediul MATLAB


Automatizri industriale ndrumar de laborator 9

LUCRARE DE LABORATOR
2
REGLAREA PID.
ANALIZA SI PROIECTARE IN MEDIUL MATLAB
1. Obiectivele lucrrii
Lucrarea urmrete urmtoarele obiective:
- cunoaterea principiului reglrii PID numeric;
- cunoaterea performanelor reglrii PID numeric;
- nsuirea tehnicii de proiectare a algoritmilor de reglare standard PID
numeric.
2. Consideraii privind algoritmul numeric PID
Mai nti vom determina ecuaia regulatorului numeric PID printr-o metod direct de
discretizare a algoritmului de reglare continu PID, cu forma idealizat cunoscut
c = K
p
[e + t t d e
T
t
0
) (
1
)
i
+ T
d
dt
de
] + c
0
,
Pentru t=kT si si t=(k1)T, keN,, avem
c
k
= K
p
[e
k
+ t t d e
T
kT
0
) (
1
)
i
+ T
d

e
k
] + c
0
,
c
k1
= K
p
[e
k1
+ t t d e
T
T k
0
) (
1
1) (
)

i
dt + T
d
1 k
e

] + c
0
,,
unde c
i
=c(iT), e
i
=e(iT), ) ( T e e i
i

= , ieN. Din cele dou relaii rezult
c
k
= c
k1
+ K
p
[e
k
e
k1
+ dt t e
T
kT
T k
) (
1
) 1 (
)

i
+ T
d
(
1

k k
e e

)] . (1)
Presupunnd dt t e
kT
T k
) (
1) (
)

~Te
k
, =
k
e

(e
k
e
k1
)/T si
1 k
e

=(e
k1
e
k2
)/T, obinem
urmtoarea form recursiv a algoritmului numeric PID:
Lucrarea 2 Reglarea PID. Analiza i proiectare n mediul MATLAB
Automatizri industriale ndrumar de laborator 10
c
k
= c
k1
+ K
p
(b
0
e
k
+ b
1
e
k1
+b
2
e
k2
) (2)
unde
b
0
= 1+
T
T
i
+
T
T
d
, b
1
= (1 +
T
T
d
2
) , b
2
=
T
T
d
. (3)
Din (2) rezult c regulatorul numeric cu algoritmul de reglare obinut prin
discretizarea algoritmului continuu de reglare PID are funcia de transfer
H
PID
(z) =
1
2
1
1 0
1
) (

+ +
z
z b z b b
2
p
K
. (4)
In continuare vom determina funcia de transfer H
PID
(z) a regulatorului numeric,
considernd c acesta este discretizatul regulatorului continuu cu funcia de transfer n s
H
PID
(s) =K
p
(
1
1
1
1
+
+ +
s T
s T
s T
d
i
) , (5)
unde T
d
reprezint constanta de timp derivativ, iar T
1
constanta de timp de ntrziere a
componentei derivative (de circa 3 ... 8 ori mai mic dect T
d
). Avem
H
PID
(z) = K
p
(1+
1
1
1

z
k
i
+
1
1
1
1

z p
z
k
d
d
) , (6)
unde k
i
=
i
T
T
, k
d
=
1
T
T
d
, p
d
=
1
T
T
e

. Funcia de transfer a regulatorului numeric poate fi


adus sub forma
H
PID
(z) =
2
2
1
1
2 1
1 0
1
) (


+ +
+ +
z a z a
z b z b b
2 p
K
, (7)
unde
a
1
=1 p
d
, a
2
=p
d
, b
0
=1+k
i
+k
d
, b
1
=1(k
i
+1)p
d
2k
d
, b
2
=k
d
+p
d
. (8)
In conformitate cu (6), modelul temporal al regulatorului poate fi scris astfel:

+ =
+ =
+ + =


k k k
k k d p k d k
k k k p k k
D P c
e e k K D p D
e k e e K P P
) (
] ) ( [
1 1
1 1 i
, (9)
In continuare, vom determina funcia de transfer n z a regulatorului numeric n
ipoteza c acesta este discretizatul regulatorului continuu cu funcia de transfer
H
PID
(s) =
1
1 1
1
+
+

s T
s T
s T
s T
K
d
p
i
i
. (10)
Lucrarea 2 Reglarea PID. Analiza i proiectare n mediul MATLAB
Automatizri industriale ndrumar de laborator 11
Scriind funcia de transfer sub forma
H
PID
(s) = )
1
(
1
1
+
+
|
+ o
s T
s T
Ts
K
p
,
unde
) 1)(1 ( 1
1
1
1
i i i
T
T
T
T
T
T
T
T T
d d
= = |

+ = o , , , (11)
rezult
H
o
PID
(z) = )
1
1
1
1
(
1
1
1

| + o
z p
z
z
K
d
p 2
2
1
1
2 1
1 0
1
) (


+ +
+ +
=
z a z a
z b z b b
2 p
K
, (12)
unde: : p
d
=
1
T
T
e

, a
1
=1 p
d
, a
2
=p
d
, b
0
=o

+| + , b
1
=o(1+p
d
)

|p
d
2, b
2
=o p
d
+ .
Din (12) rezult pentru regulator urmtorul model temporal:

+ =
+ =
| + o + =


k k k
k k k d k
k k k k k
D P c
e e K D p D
e e e K P P
p
p
) (
) (
1 1
1 1
] [
3. Funcii MATLAB pentru sistemele discrete
In MATLAB, pentru calculul si reprezentarea grafic a rspunsului unui sistem discret
respectiv la intrrile U=[1 1 ... 1] , U=[1 0 0 ... 0] si U=[U
0
U
1
... U
N1
], exist
funciile:
- function [Y,X] = dstep (num,den,N) ;
- function [Y,X] = dimpulse (num,den,N) ;
- function [Y,X] = dlsim(num,den,U) .
Argumentul de intrare N (optional) reprezint numrul de puncte luate n
consideraie, iar argumentul de intrare U al funciei dlsim este vectorul linie al unei
secvene de valori de intrare alese. Argumentele de intrare num si den sunt vectori linie
avnd ca elemente coeficienii de la numrtorul si numitorul funciei de transfer n z.
In cazul funciei de transfer (54), cu r s n, avem num=[b
0
b
1
... b
r
] si den=[a
0
a
1
... a
n
].
In cazul r>n, vectorul den se scrie sub forma den=[a
0
a
1
... a
n
0 ... 0], astfel nct s
aib aceeai dimensiune ( r ) ca num.
Argumentele Y si X exprim secvenele de valori ale ieirii i, respectiv, strii
sistemului. Vectorul Y are N elemente, iar matricea X are N linii si n coloane, unde n
este numrul variabilelor de stare.
Funcia dimpulse calculeaz funcia pondere a sistemului, adic transformata
invers a funciei de transfer H(z).
Remarc. Funciile dstep, dimpulse si dlsim permit, de asemenea, calculul rspunsului
unui sistem eantionat E cu mrimea de intrare de tip analogic, respectiv la intrare tip treapt
unitar, tip impuls unitar si tip scar. In acest caz, argumentele de intrare num si den trebuie s
conin coeficienii de la numrtorul si numitorul funciei de transfer H
0
(z) a discretizatului
Lucrarea 2 Reglarea PID. Analiza i proiectare n mediul MATLAB
Automatizri industriale ndrumar de laborator 12
sistemului E. Modelul discretizatului de ordinul zero (zoh) al unui sistem cu timp continuu
E se obine cu funcia
- [numd,dend]=c2dm(num,den,T,zoh) ,
unde num si den sunt vectorii linie ai coeficienilor polinoamelor de la numrtorul si numitorul
funciei de transfer n s a sistemului E, T este perioada de eantionare, iar numd si dend sunt
vectorii linie ai coeficienilor polinoamelor de la numrtorul si numitorul funciei de transfer n
z a sistemului discretizat.
Rspunsul indicial al sistemului E poate fi calculat si cu funcia dimpulse, dac
argumentele de intrare num si den sunt asociate ieirii Y(z)= ) (z HU corespunztoare intrrii
U(s)=1/s.
In cele ce urmeaz este prezentat n MATLAB un program pentru calculul si
reprezentarea grafic a rspunsului unui sistem de reglare numeric la referin treapt si
perturbaie treapt.
% function[] = stepsran(Kp,Ti,Td,T1,T,N)
% Reprezentarea grafic a funciilor indiciale ale unui SRA cu regulator numeric PID,
% format din regulator, proces (p), element de execuie (e) si traductor (t)
% T - perioada de eantionare, N numrul perioadelor de eantionare
% Kp - factorul de proporionalitate al regulatorului, Ti - constanta de timp integral a
regulatorului
% Td - constanta de timp derivativ, T1 constanta de timp de ntrziere a
componentei derivative
% Regulatorul are funcia de transfer H
r
(z)=K
p
(1+
1
z 1
k
i

+
1
d
1
d
z p 1
z 1
k

), cu k
i
=
T
T
i
,
1
d
d
T
T
k = ,
p
d
=
1
T
T
e

;
% este discretizatul regulatorului analogic cu funcia de transfer H
PID
(s)=K
p
(
1
1
1
1
+
+ +
s T
s T
s T
d
i
).
function[]=stepsran(Kp,Ti,Td,T1,T,N)
t=0:1:N-1;
% Regulator
ki=T/Ti;
if T1==0, kd=10; pd=0;
else kd=Td/T1; pd=exp(-T/T1);
end
a1=-1-pd; a2=pd; b0=1+ki+kd; b1=-1-(ki+1)*pd-2*kd; b2=kd+pd;
nr=Kp*[b0 b1 b2]; dr=[1 a1 a2];
% Parametrii procesului: K, t1, t2 si tm (tm - timp mort)
K=1; t1=50; t2=20; tm=30;
np=K; dp=[t1*t2 t1+t2 1];
% Parametrii elementului de executie: Ke, Te
Ke=1; te=5;
ne=Ke; de=[te 1];
Lucrarea 2 Reglarea PID. Analiza i proiectare n mediul MATLAB
Automatizri industriale ndrumar de laborator 13
% Parametrii traductorului: Kt, Tt
Kt=1; tt=10;
nt=Kt; dt=[tt 1];
% Hp*He(s)
[ns,ds]=series(np,dp,ne,de);
% HpHeHo(z), inclusiv timpul mort
[n,d]=c2dm(ns,ds,T,'zoh');
zmort=zeros(1,tm/T);
n=[zmort n];
while length(d)< length(n), d=[d 0];
end;
% Ht*Hp*He(s)
[ns1,ds1]=series(nt,dt,ns,ds);
% HtHpHeHo(z), inclusiv timpul mort
[n1,d1]=c2dm(ns1,ds1,T,'zoh');
n1=[zmort n1];
while length(d1)< length(n1), d1=[d1 0];
end;
% Hr(z)*HtHpHeHo(z)
[n0,d0]=series(nr,dr,n1,d1);
% eroarea pentru referinta treapta unitara
[neror,deror]= feedback(1,1,n0,d0,-1);
[neror,deror]=minreal(neror,deror);
clf; hold on;
e=dstep(neror,deror,N); plot(t,e,'r');
% comanda pentru referinta treapta unitara
[ncom,dcom]= series(nr,dr,neror,deror);
[ncom,dcom]=minreal(ncom,dcom);
dstep(ncom,dcom,N);
% iesirea pentru referinta treapta unitara
[nies,dies]=series(n,d,ncom,dcom);
[nies,dies]=minreal(nies,dies);
m=dstep(nies,dies,N); plot(t,m,'g');
title('EROAREA-W, IESIREA-C, COMANDA-Y pentru I=1(t)');
grid; figure;
% HtHo(z)
[n2,d2]=c2dm(-nt,dt,T,'zoh');
% eroarea pentru perturbatie treapta unitara
[neror1,deror1]= series(n2,d2,neror,deror);
[neror1,deror1]=minreal(neror1,deror1);
clf; hold on;
e=dstep(neror1,deror1,N); plot(t,e,'r');
% comanda pentru perturbatie treapta unitara
[ncom1,dcom1]= series(nr,dr,neror1,deror1);
[ncom1,dcom1]=minreal(ncom1,dcom1);
dstep(ncom1,dcom1,N);
Lucrarea 2 Reglarea PID. Analiza i proiectare n mediul MATLAB
Automatizri industriale ndrumar de laborator 14
% iesirea pentru perturbatie treapta unitara
[nies1,dies1]=series(n,d,ncom1,dcom1);
[nies1,dies1]=parallel(1,1,nies1,dies1);
[nies1,dies1]=minreal(nies1,dies1);
m=dstep(nies1,dies1,N); plot(t,m,'g');
title('EROAREA-W, IESIREA-C, COMANDA-Y pentru V=1(t)');
grid; hold off;
Fig. 1. Rspunsul la referin treapt al unui SRA cu timp mort, obinut
prin apelarea funciei stepsran(1,80,16,8,5,81)
Fig. 2. Rspunsul la perturbaie treapt al unui SRA cu timp mort, obinut
prin apelarea funciei stepsran(1,80,16,8,5,81)
Lucrarea 2 Reglarea PID. Analiza i proiectare n mediul MATLAB
Automatizri industriale ndrumar de laborator 15
4. Coninutul si desfurarea lucrrii
Lucrarea conine urmtoarele puncte:
a) Analiza algoritmului PID pentru reglarea procesului cu funcia de transfer

) 1 16 49 )( 1 6 )( 1 4 (
8 , 0
) (
2
4
+ + + +
=

s s s s
e
s H
s
,
considernd, pe rnd, perioada de eantionare 1 = T , 2 = T i 5 = T ;
b) Analiza algoritmului PID pentru reglarea procesului cu funcia de transfer

) 1 8 )( 1 6 )( 1 4 (
) 1 5 ( 8 , 0
) (
12
+ + +
+
=

s s s
e s
s H
s
,
considernd perioada de eantionare 2 = T ;
c) Analiza algoritmului PID pentru reglarea procesului cu funcia de transfer

) 1 8 )( 1 6 )( 1 4 (
) 1 5 ( 8 , 0
) (
6
+ + +
+
=

s s s
e s
s H
s
,
considernd perioada de eantionare 1 = T ;
d) Analiza algoritmului PID pentru reglarea procesului cu funcia de transfer

4
10
) 1 6 (
2 , 1
) (
+
=

s
e
s H
s
,
considernd perioada de eantionare 1 = T ;
e) Analiza algoritmului PID pentru reglarea procesului cu funcia de transfer

) 1 8 )( 1 6 )( 1 4 (
) 1 15 ( 8 , 0
) (
6
+ + +
+
=

s s s
e s
s H
s
,
considernd perioada de eantionare 1 = T .
f) ) Analiza algoritmului PID pentru reglarea procesului cu funcia de transfer

) 1 8 )( 1 6 (
8 , 0
) (
+ +
=
s s s
s H ,
considernd perioada de eantionare 1 = T .
g) In toate cazurile, analiza algoritmului PID se va efectua dup modelul prezentat
n paragraful anterior. Valorile de pornire pentru parametrii de acordare ai regulatorului
R
2
la valorile
2
120
p
K BP = ,
3
2 t
i
T
T = ,
6
i
d
T
T = .

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