Documente Academic
Documente Profesional
Documente Cultură
2. Consideraţii teoretice
real.
Ti constanta de integrare
1
HR s
Ti s
1
HR s
Ti s 1 s 1
daca se considera întârzierea proprie a regulatorului real.
1
H R ( s) K R 1
sTi
ISA Laborator nr. 4
1
K R 1
sTi
H R _ real ( s )
s 1 unde reprezintă constanta de timp a regulatorului (întârzierea proprie a
regulatorului real.
Efectul I determina asigurarea preciziei răspunsului (eroare staţionară zero) iar efectul P duce la
creşterea vitezei de răspuns a SRA.
H R ( s ) K R 1 sTd
K R 1 sTd
H R _ real s
1 s 1 daca se considera întârzierea proprie a regulatorului real.
1
t
d (t )
u (t ) K R (t ) (t )dt Td
Ti 0 dt
1
H R ( s) K R 1 Td s
Ti s
K R Ti Td s 2 Ti s 1
H R (s)
Ti s s 1
daca se considera întârzierea proprie a regulatorului real.
Partea de regulator proporţional, prin Kp, are efectul de a reduce timpul de creştere şi
eroarea staţionară fără ca acesta din urmă să poată fi complet eliminată.
Partea de regulator integral, prin Ki, are efectul de a elimina eroarea staţionară însă
alterează răspunsul tranzitoriu, lungindu-l.
Partea de regulator derivativ, prin Kd, măreşte stabilitatea sistemului condus,
micşorează supracreşterea şi scurtează răspunsul tranzitoriu.
Efectul celor trei timpi de câştig este sintetizat în tabelul de mai jos:
Tipul de Timpul de Supracreşterea Timpul de Eroarea
câştig creştere stabilire staţionară
Kp descreşte creşte Puţin modificat descreşte
Ki descreşte creşte creşte elimină
Kd puţin modificat descreşte descreşte puţin modificat
Regulatorul proporţional – integral – derivativ (PID) a fost folosit pentru prima oară
de către N.Minorsky în anul 1922 pentru comanda cârmei la vapoare.
În automatica analogică este extrem de folosit şi este utilizat şi în comenzile digitale
chiar dacă în acest domeniu pot fi generaţi algoritmi mai avantajoşi.
u ( s) 1
H PID ( s) K p Ki Kd s
(s) s
1
H PID ( s ) K R 1 sTd
sTi
3. Desfăşurarea lucrării
1. Proiectaţi un regulator PID pentru un oscilator liniar armonic cu amortizare, astfel încât răspunsul la
treaptă să aibă:
Sistemul condus este reprezentat în figura alǎturatǎ pentru care se dau urmǎtoarele date: M=1kg;
b=1Ns/m; k=20N/m.
Rezolvare
Ecuaţia de mişcare este: M x b x kx F şi luând transformata Laplace (condiţiile iniţiale sunt 0,
x(0) x(0) 0 ) obţinem Ms X ( s ) bsX ( s) kX ( s) F ( s) iar funcţia de transfer X ( s) 1
2
.
F ( s) Ms 2 bs k
3. Proiectaţi regulatorul PID pentru controlul vitezei unui motor de c.c., astfel încât pentru treapta 1 rad/s
să obţineţi răspunsul având:
Timpul de stabilire mai mic de 2 sec;
Supracreşterea mai mică de 5%;
Eroarea stţionară mai mică de 1%.
Rezolvare:
k
Funcţia de transfer a motorului, care leagă viteza unghiulară de tensiunea de alimentare V este .
V ( Js b)( Ls R) k 2
Programul Matlab:
%Regulator PID pentru vit,ungh. a unui motor de cc
%Parametrii motorului in SI Răspunsul la treaptă pentru KP = 100, KI = KD = 0
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
%se introduc interactiv cele trei constante
Kp=input('Castigul proportional?.........');
Ki=input('Castigul integral ?.........');
Kd=input('Castigul derivativ ?.........');
numpid=[Kd Kp Ki];
denpid=[1 0];
Răspunsul la treaptă pentru KP = 100, KI = 10, KD = 1.
t=0:0.01:5;
numprod=conv(num,numpid);
denprod=conv(den,denpid);
%Inchid bucla cu reactie unitara
[numc,denc]=cloop(numprod,denprod,-1);
%Si vad raspunsul la treapta de 1rad/s
figure
step(1*numc,denc,t)
title('Raspuns la treapta de 1 rad/s')
4. Să se proiecteze un regulator PID pentru comanda unui sistem de poziţionare cu motor de curent
continuu. Răspunsul la treaptă de 1 rad trebuie să îndeplinească condiţiile:
Timpul de stabilire mai mic de 0,04s;
Supracreşterea mai mică de 16%;
Eroarea staţionară: 0;
Eroarea staţionară la perturbaţie: 0.
Rezolvare:
Sistemul de poziţionare este reprezentat în figura de mai jos:
p
r + + y
numcf num
H PID HM
- dencf den
vom scrie succesiv: yH PID p H M y deci, y H M H PID 1 . Însă, y numc H M H PID . Deci
p 1 H M H PID H PID r denc 1 H M H PID
y numc dencf
.
p denc numcf
Programul Matlab:
%Regulator PID pentru sistem de pozitionare cu motor de cc
J=3.2284E-6; Răspunsul la treaptă pentru KP = 1.7, KI = KD = 0.
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;%Parametrii motorului
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
%se introduc interactiv cele trei constante
Kp=input('Castigul proportional?.........');
Ki=input('Castigul integral ?.........');
Kd=input('Castigul derivativ ?.........');
numcf=[Kd Kp Ki];
dencf=[1 0];
numf=conv(numcf,num); Răspunsul la treaptă pentru KP = 1.7, KI =20 KD = 0.
denf=conv(dencf,den);
[numc,denc]=cloop(numf,denf,-1);
t=0:0.001:0.4;
figure
step(numc,denc,t)
title('Raspunsul la treapta de 1 rad.')
figure
numdcl=conv(numc,dencf);
dendcl=conv(denc,numcf);
step(numdcl,dendcl,t);
title('Raspunsul la treapta de perturbatie de 1v')
ISA Laborator nr. 4
Observăm că timpul de stabilire este încă lung însă am reuşit să ducem la zero eroarea staţionară.
Încercăm să micşorăm timpul de stabilire şi vom mări cu un ordin de mărime cele două câştiguri. Deci KP = 17,
KI = 200, KD = 0 şi reprezentarea celor două răspunsuri este:
Am obţinut o scurtare a timpilor de creştere însă şi oscilaţii. Vom adăuga acum şi regulatorul derivativ
(luând KD = 0,15) pentru a anula oscilaţiile. Reprezentaţi răspunsul obţinut. Îl veţi putea îmbunătăţi luând de
exemplu KP=20, KI = 500, KD = 0,5.
În acest moment condiţiile impuse prin temă sunt satisfăcute. În cazul în care răspunsul negativ la
perturbaţie deranjează veţi putea să încercaţi KI cu 1020% mai mare iar KD cu 20 40% mai mic.
ISA Laborator nr. 4
4. Temǎ
5. Veţi considera în continuare sistemul automat ce l-aţi proiectat în problema precedentă şi veţi
aplica o referinţă sub forma unei rampe de poziţionare având viteza 0,01rad/s, 1rad/s şi 10rad/s. Urmăriţi
răspunsul pentru cazul regulatorului “prost” cu KP=20, KI = KD = 0 şi al celui final cu KP=20, KI = 500,
KD = 0,5.
Rezolvare:
Programul Matlab:
%Regulator PID pentru sistem de pozitionare cu motor de cc
%Efectul parametrilor asupra raspunsului la rampa.
%Rampa se introduce cu "lsim" in 3 variante (vezi textul)
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6; %Parametrii motorului
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
%se introduc interactiv cele trei constante
Kp=input('Castigul proportional?.........');
Ki=input('Castigul integral ?.........');
Kd=input('Castigul derivativ ?.........');
numcf=[Kd Kp Ki];
dencf=[1 0];
numf=conv(numcf,num);
denf=conv(dencf,den);
[numc,denc]=cloop(numf,denf,-1);
t=0:0.001:0.4;
figure
step(numc,denc,t)
title('Raspunsul la treapta de 1 rad.')
figure
numdcl=conv(numc,dencf);
dendcl=conv(denc,numcf);
step(numdcl,dendcl,t);
title('Raspunsul la treapta de perturbatie de 1v')
figure
t=0:0.0001:0.5;
u=1*t;
title('raspunsul la rampa')
lsim(numc,denc,u,t)
Indicaţie !Veţi modifica în mod succesiv u=0,01*t, u=1*t, u=100*t. Încercaţi să obţineţi o imagine intuitivă
asupra relaţiei dintre parametrii răspunsului la treaptă şi liniaritatea răspunsului la rampă.
Ar trebui să observaţi că apar neliniarităţi în răspuns pe durata regimului tranzitoriu şi că eroarea
staţionară modifică panta răspunsului indiferent de viteza rampei. În acest fel toţi parametrii impuşi prin tema de
proiectare din problema precedentă se dovedesc relevanţi pentru răspunsul la rampă.
ISA Laborator nr. 4
6. Proiectaţi regulatorul PID pentru comanda piotului automat astfel încât să realizaţi un răspuns la
treaptă care să aibă:
Supracreşterea mai mică de 10%;
Timpul de creştere mai mic de 2 sec;
Timpul de stabilire mai mic de 10 sec;
Eroarea staţionară mai mică de 2%.
Treapta este de 0,2 rad.
Rezolvare:
Funcţia de transfer ce leagă cele două unghiuri – de cabraj (s) şi de comandă (s) este:
(s) 1,151s 0,1774
3
(s) s 0,739s 2 0,921s . Efectul regulatorului proporţional KP = 2
Programul Matlab:
%Regulator PID pentru pilotul automat
%Functia de transfer este data in text
num=[1.151 0.1774];
den=[1 0.739 0.921 0];
%se introduc interactiv cele trei constante
Kp=input('Castigul proportional?.........');
Ki=input('Castigul integral ?.........');
Kd=input('Castigul derivativ ?.........');
numcf=[Kd Kp Ki];
dencf=[1 0]; %Functia de transfer a regulatorului PID Răspunsul folosind un regulator PD cu KP=9, KI = 0, KD = 4.
numf=conv(numcf,num);
denf=conv(dencf,den);
[numc,denc]=cloop(numf,denf,-1);
t=0:0.01:10;
figure
amp=0.2; %Amplitudinea treptei in rad.
step(amp*numc,denc,t)
title('Raspunsul la treapta de 0.2 rad.')
Prin experimentări vă veţi convinge că de obicei trebuie să schimbaţi câte doi parametrii
(datorită interdependenţei lor). Încercaţi să obţineţi o soluţie mai bună decât cea găsită de noi
pentru: (KP=7, KI = 4, KD = 6).