Sunteți pe pagina 1din 110

1

ANEXE.
O anexǎ la cursul de “Acţionǎri electomecanice” se referǎ în primul rând la
exerciţiile de simulare în SPS a diverselor scheme (relative simple) din
cadrul cursului, care sǎ fie folosite şi ca exerciţii-aplicaţii în timpul predǎrii
cursului. Ele sunt toate “funcţionale” la nivelul MATLAB-ului versiunii 7.0,
astfel încât atunci când sunt necesare sǎ poatǎ fi puse în funcţie (în prezenţa
mediului de programare MATLAB !), realizându-se eventual comentariile
respective. Setul iniţial de exerciţii se referǎ în primul rând la SPStutor
secţiunea IV (Maşini şi acţionǎri electromecanice) din care sunt extrase
exerciţiile specifice acţionǎrilor (dar şi altele similare), la care se adaugǎ şi
unele tematici extrase din proiectele de diplomǎ, conduse de autorul
cursului. Setul de titluri (el poate fi extins ca numǎr, respective ca tematicǎ)
este:
1.- Pornirea unui motor de c.c. în 3 trepte de rezistenţe – ex4.mdl-SPStutor.
2.- Alimentarea choppatǎ unui motor de c.c. – ex5.mdl-SPStutor.
3.- Pornirea în gol/sarcinǎ (treaptǎ/rampǎ) a unui motor asincron ex6.mdl-
SPStutor.
4.- Comanda unui motor cu ajutorul unui PWM format din blocuri Simulink
– ex7.mdl-SPStutor.
5.- Simularea pornirii unui motor asincron cu impedanţe înseriate în circuitul
statoric – ex8.mdl-SPStutor.
6.- Simularea pornirii Y/D a unui motor asincron cu rotorul în colivie –
ex9.mdl + ex9sub + ex9subAlim-SPStutor.
7.- Comportarea motorului asincron la nesimetrii – ex10.mdl + ex10subAlim
+ ex10SubMas-SPStutor.
8.- Pornirea motorului de c.c. în trepte de rezistenţe, în functie de current –
Prodipl. Cristea Jean. (grupa 1517 – 2009).
9.- Formarea (reconstituirea) unui PWM din blocuri Simulink – ex11.mdl-
Sec.III-SPStutor.
10.- Controlul vectorial al acţionǎrii cu un motor de inducţie – ex14.mdl-
Sec.III-SPStutor.

Chiar şi Capitolul 6 (care este un capitol mai special) poate fi privit ca o


anexǎ la cursul de „Acţionari electromecanice”.
2

SUPLIMENT
la cursul de „Acţionǎri electromecanice”.

Acest „supliment” este încadrat tot la ANEXE pentru cǎ este de fapt tot
„anexǎ suplimentarǎ”, care are rolul de a stimula exersarea mai multor
elemente prezentate teoretic în cadrul cursului propriu-zis. Ele pot fi privite
şi ca exemple-exerciţii, care aratǎ cum anumite elemente de acţionare pot fi
tratate din punctul de vedere al analizelor folosite în automaticǎ şi deci pot
constitui o bunǎ „legǎturǎ” dintre cele douǎ discipline, care au nevoie una de
alta şi a cǎror graniţǎ de separare este uneori greu de precizat. În acest fel,
acest supliment poate fi folositor unui acţionarist, care va avea nevoie de
unele elemente de analizǎ efectuate de regulǎ de un automatist, dar poate fi
folositor şi unui automatist, care are nevoie de o privire spre elementele din
domeniul acţionaristului.
Rândurile urmǎtoare ale acestui supliment sunt doar o prelucrare, o simplǎ
prelucrare, a unui material mai vast extras de pe internet :

Din cele anterioare se constatǎ imediat cǎ este necesarǎ „o cunoaştere”


oarecare a mediului de programare MATLAB, într-o versiune nu prea
avansatǎ.
În principiu, se vor lua în considerare 2 elemente de tip electric, respectiv
unul de tip mecanic ce pot face parte, la un moment dat, dintr-un sistem de
acţionare mai complex; fiecare din aceste elemente vor fi analizate prin mai
multe metode (fiecare cu avantajele şi deficienţele sale) din care se vor putea
trage unele concluzii. Metodele prin care vor fi „cernute” elementele
respective ar fi :
--- modelarea propriu-zisǎ;
--- controlul de tip PID;
--- locul geometric al rǎdǎcinilor (root locus);
--- rǎspunsul în frecvenţǎ (frequency respons) ;
--- spaţiul stǎrilor (state-space);
--- control digital.
3

Prin specificul secţiei de Electromecanică, vor fi prezentate doar 2 elemente


de tip electric:
--- motorul de c.c. – modelarea vitezei;
--- motorul de c.c. – modelarea poziţiei.
şi unul de tip mecanic :
--- un sistem de deplasare.
În afară de “exerciţiul” aplicativ în sine, legat de folosirea MATLB-ului în
cadrul unei problematici mai deosebite, însăşi subiectele şi modalităţile de
rezolvare a problemelor puse, sunt foarte înteresante pentru studenţii secţiei
de Electromecanică ce parcurg cursurile de “Convertoare electromecanice”
(anul III), respective mai ales “Acţionări electromecanice” (anul IV), care
vor regăsi multe tangenţe cu cele din cursul de „acţionări”, dar tratate la alt
nivel.
INCERCAŢI si veţi constata ca merită efortul ! . . .

A.- MODELAREA UNOR ELEMENTE CONCRETE.


(Modeling tutorial)

MATLAB-ul poate fi folosit pentru reprezentarea unui sistem fizic


oarecare prin modelul sǎu. Pentru a începe, trebuie să vedem deci cum se
reprezintă sistemul fizic respectiv, cu ajutorul unui sistem de ecuaţii
diferenţiale.

A.1.- Motorul de c.c. – modelarea vitezei.


A.1.1.- Elemente introductive.

În cadrul sistemelor de control, o acţionare


realizată cu un motor de c.c. este întâlnită
destul de des. În mod obişnuit el produce
direct o mişcare de rotaţie, dar asociat şi cu
alte elemente mecanice poate produce şi o
mişcare de translaţie. Circuitul electric al
motorului ca şi reprezentarea sa geometric-
spaţială este dată în figura 1 :
4

Pentru acest exemplu, se propun


următoarele valori pentru
parametric fizici :
--- momentul de inerţie al rotorului
J = 0.01 [kg.m^2/s^2];
--- raportul de amortizare al
sistemului mecanic b = 0.1
[Nms];
Figura 1.- Explicativǎ privind motorul
de c.c. în legǎturǎ cu modelarea vitezei. --- constanta forţei electromotoare
K = Ke = Kt = 0.01 [Nm/A];
--- rezistenţa electrică R = 1 [ohm];
--- inductanţa electrică L = 0.5 [H];
--- sursa de alimentare (input) [V];
--- unghiul de poziţie teta (output) al arborelui;
--- rotorul şi arbore se consideră a fi rigide.
Momentul de rotaţie T al motorului este o funcţie de curentul de sarcină i
printr-un factor constant Kt, iar tensiune (contra)electromotoare e este în
relaţia cu viteza, prin următoarele relaţii :

(1)
În sistemul SI, folosit în acest caz, constantele Kt şi Ke sunt egale (deci, Kt =
Ke = K).
Conform cu figura anterioară, se pot scrie următoarele ecuaţii bazate pe
teorema lui Newton şi a lui Kirchhoff :

(2)
A.1.2.- Funcţia de transfer.
Folosind transformata Laplace (cu condiţii iniţiale nule !), ecuaţiile
precedente pot fi notate în funcţie de variabila s (în care, s = d/dt) astfel :

;
. (3)

Eliminând pe I(s) din cele 2 ecuaţii se poate obţine funcţia de transfer pentru
bucla deschisă, notatǎ în forma următoare, în care viteza de rotaţie reprezintă
semnalul de ieşire, iar tensiunea de alimentare apare ca semnal de intrare.
5

. (4)
A.1.3.- Mulţimea stărilor (State-Space).
Ecuaţiile precedente, în forma state-space-ului se pot prezenta ca cele
următoare, în care viteza de rotaţie şi curentul de sarcină sunt alese ca
variabile de stare, iar tensiunea sursei ca semnal de intrare (input-ul).
Semnalul de ieşire (output-ul) poate fi considerată viteza de rotaţie şi atunci
se poate nota :

. (5)

De fapt, acest set de ecuaţii reprezintă altă formă de exprimare (compact-


matricială) a setului de ecuaţii de la punctul A.1.1, respectiv A.1.2. Încercaţi
să verificaţi acest lucru !
A.1.4.- Exigenţe de respectat.
În primul rând, motorul dat este necompensat şi se poate roti numai cu 0.1
[rad/s] la un input de tensiune de 1 [V] (aceasta se va putea demonstra mai
târziu când este simulată bucla deschisă). Apoi exigenţa cea mai principală a
motorului este aceea că el ar trebui să se rotească cu viteza necesară, astfel
încât eroarea pentru viteza stabilizatǎ a motorului să fie mai mică de 1%. O
altă exigenţă pentru motor ar fi aceea ca el să se accelereze până la viteza sa
stabilă (staţionarǎ) în 2 [s]. Apoi, depăşirea vitezei (suprareglarea) să nu fie
mai mare de 5% faţă de cea de referinţă.
În acest fel, dacă se simulează cu o referinţă de intrare (r) sub forma unui
impuls tip treaptă unitară (an unit step input), atunci viteza motorului ca
output trebuie să realizeze :
--- timpul de răspuns mai mic de 2 [s];
--- o suprareglare de 5%;
--- o eroare a stării stabile (staţionare) mai mică de 1%.
Important. Din cele anterioare rezultǎ faptul cǎ pentru rezolvarea problemei
impuse, în afarǎ de modelarea sa matematicǎ cu ajutorul ecuaţiilor
diferenţiale corespunzǎtoare, mai trebuie precizate unele condiţii
suplimentare, specifice problemei respective.
6

A.1.5.- Reprezentarea problemei în mediul MATLAB şi răspunsul


buclei deschise.
A.1.5.1.- Funcţia de transfer.
În cadrul MATLAB-ului o funcţie de transfer se poate reprezenta definind
numărătorul (numerator) şi numitorul (denominator) matricii
corespunzătoare (vezi relaţia (4)), în felul următor :

;
. (6)

Se formează deci un fişier.m cu următoare declaraţii – atribuiri :


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

Pentru a putea executa modelarea în varianta de bucla deschisă originală, se


adaugă următoarele comenzi la sfârşitul m-fişier-ului, respectiv execuţia
(run-ul) în fereastra de comandă a MATLAB-ului
step(num,den,0:0.1:3)
title('Step Response for the Open Loop System')

Prima dintre aceste comenzi se referǎ, de fapt, la obţinerea mai multor


puncte de rǎspuns în domeniul 0 – 3, cu pasul de 0.1, iar cea de a 2-a
comandǎ se referǎ la tilul pe care îl va purta plot-ul respectiv (figura).
Se va obţine următoarea plotare :
7

Figura 2.- Rǎspunsul la inputul tip treaptǎ al buclei deschise a sistemului.

Din figura anterioară se poate observa că la un input de 1 [volt] tensiune,


aplicată sistemului, motorul poate realiza o viteză de maximum 0.1 [rad/s],
adicǎ de 10 ori mai mică decât viteza necesară. De asemenea, motorul are
nevoie de 3 [s] pentru a atinge viteza stabilă (staţionarǎ), ceea ce nu satisface
nici cel de al doilea criteriu impus.
A.1.5.2.- Varianta State-Space.
Sistemul poate fi reprezentat, de asemenea, folosind ecuaţiile de tip state-
space. Într-un nou fişier-m se realizează următoarele comenzi :
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
A=[-b/J K/J
-K/L -R/L];
B=[0
1/L];
C=[1 0];
D=0;

step(A, B, C, D)
8

Se execută (run-ul) acest fişier într-o fereastră de comandă a MATLAB-ului


şi se obţine un grafic identic cu cel precedent.

A.2.- Motorul de c.c. – modelarea poziţiei.


A.2.1.- Elemente introductive.
Elementele introductive sunt identice cu
cele de la punctul A.1.1., numai că
datele motorului, în acest caz, sunt
următoarele :
--- momentul de inerţie al rotorului
motorului J = 3.2284e-6 [kg.m^2/s^2];
--- raportul de amortizare al sistemului
mecanic b = 3.5077e-6 [Nms];
--- constanta forţei electromotoare K = Ke = Kt = 0.0274 [Nm/A];
--- rezistenţa electrică a motorului R = 4 [Ω];
--- inductanţa electrică a motorului L = 2.75e-6 [H];
--- sursa de tensiune V (input);
--- poziţia arborelui, unghiul teta, outpt-ul sistemului;
--- rotorul şi arborele motorului se consideră rigide.

Ecuaţiile sistemului sunt identice cu cele de la punctul A.1.2


A.2.2.- Funcţia de transfer.
Expresiile iniţiale ale funcţiilor de transfer sunt identice cu cele de la punctul
A.1.2, inclusiv forma ce se obţine prin eliminarea variabilei I(s) din ecuaţiile
iniţiale.
Numai că în acest caz se urmăreşte poziţia arborelui ca semnal de ieşire,
ceea ce se poate obţine prin integrarea funcţiei :

, (7)

adică divizarea acestei funcţii (în spaţiul Laplace !) cu s, respectiv se obţine


funcţia :

. (8)
9

A.2.3.- Varianta State-Space.


Ecuaţia anterioară poate fi notată, de asemenea, în varianta state-space-ului.
Dacă se convine că poziţia arborelui motorului, viteza motorului, respectiv
curentul de sarcină se consideră ca fiind variabile de stare, atunci ecuaţiile
pot fi notate (în forma compact-matricială) astfel :

. (9)
A.2.4.- Exigenţe de respectat.
Se doreşte o plasare foarte exactă a motorului în ceea ce priveşte poziţia
arborelui său şi deci eroarea stării sale stabilizate a poziţiei trebuie să fie
nulă. Se doreşte, de asemenea, ca eroarea stării stabile la o perturbaţiei
oarecare să fie, e asemenea, nulă. O altă cerinţă a performanţei motorului,
este aceea ca ultima sa poziţie atinsă să se realizeze în 40 [ms]. Se doreşte,
de asemenea, ca suprareglarea să fie sub 16%. Dacă se ia în considerare un
semnal de referinţă (de intrare) r, atunci output-ul vitezei motorului, pentru
un pas tip treaptă unitar de input, trebuie să realizeze :
--- timpul mai mic de 40 [ms];
--- o suprareglare mai mică de 16 %;
--- nici o eroare pentru starea stabilă;
--- eroare nulă în starea stabilă pentru o perturbaţie.
A.2.5.- Reprezentarea în MATLAB şi răspunsul buclei deschise.
A.2.5.1.- Funcţia de transfer.
Funcţia de transfer se stabileşte în cadrul MATLAB-ului prin definirea ca
vectori ai număratorului şi numitorului funcţiei. În acest fel mai întâi se
formează fişier-m cu următoarele comenzi-atribuire :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];

Apoi se adaugă următoarea declaraţie la finalul fişierului pentru plotarea


rezultatului într-o fereastră de comandă a MATLAB-ului :
10

step(num,den,0:0.001:0.2)

Se obţine următoarea figură :

Figura 3.- Rǎspunsul la input-ul tip treaptǎ a buclei deschise a motorului


de c.c. cu controlul poziţionǎrii.

Din figură anterioarǎ se constată că la un volt aplicat sistemului, determină


motorul să realizeze 6 [rad], adică de 6 ori mai mult decât poziţia necesară.
Ori, pentru un pas de 1 [volt] tensiunea de intrare, motorul ar trebui să
realizeze o deplasare de 1 [rad]. În acest fel deci, motorul nu atinge o stare
stabilă, care să satisfacă criteriile de design (proiectare) impuse.
A.2.5.2.- Varianta State-Space.
Varianta State-Space poate fi folosită în cadrul MATLAB-ului prin
definirea matricilor corespunzătoare – avem :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;

A=[0 1 0
0 -b/J K/J
0 -K/L -R/L];
B=[0 ; 0 ; 1/L];
C=[1 0 0];
D=[0];
11

Răspunsul se obţine prin folosirea declaraţiei finale a fişierului-m :


step(A,B,C,D)

Din nefericire MATLAB-ul răspunde prin :


Warning: Divide by zero
??? Index exceeds matrix dimensions.

Error in ==> /usr/local/lib/matlab/toolbox/control/step.m


On line 84 ==> dt = t(2)-t(1);

Aici sunt unele probleme legate de scalarea numerică a acestei reprezentări


prin ecuaţiile dinamice ale sistemului. Pentru aranjarea problemei, se
stabileşte scalarea timpului prin stabilirea tscale = 1000.
Acum timpul output-urilor este dat în milisecunde şi nu în secunde.
Ecuaţiile se scriu acum astfel :
tscale = 1000;
J=3.2284E-6*tscale^2;
b=3.5077E-6*tscale;
K=0.0274*tscale;
R=4*tscale;
L=2.75E-6*tscale^2;

A=[0 1 0
0 -b/J K/J
0 -K/L -R/L];
B=[0 ; 0 ; 1/L];
C=[1 0 0];
D=[0];

Output-urile par să fie acum identice cu cele obţinute cu ajutorul variantei


funcţiei de transfer, dar vectorul timpului trebuie împărţit cu tscale,
respectiv plotarea acum se realizează prin completarea cu declaraţiile :
.
[y,x,t]=step(A,B,C,D);
plot(t/tscale,y)
ylabel('Amplitude')
xlabel('Time (sec)')

A.3. Un sistem mecanic de deplasare.


A.3.1.- Ecuaţiile sistemului.
Modelul sistemului de deplasare este relativ simplu. Dacǎ inerţia roţilor este
neglijabilǎ şi se admite cǎ frecarea (care este proporţionalǎ cu viteza de
12

deplasare a sistemului) este cea care se opune deplasǎrii sistemului, atunci


toatǎ problema se reduce la masa sistemului şi sistemul de amortizare ilustrat
în figura 4.
Folosind legile lui Newton,
ecuaţiile de modelare ale
acestui sistem sunt cele
urmǎtoare :

(10)
Figura 4.- Explicativa privind sistemul de deplasare
luat în considerare ca exemplu de studiu.
în care u este forţa motoare.
În cadrul acestui exemplu se
admit urmǎtoarele valori pentru parametri sistemului : m = 1000 [kg]; b =
50 [Ns/m]; u = 500 [N].
A.3.2.- Alte elemente necesare.
Pasul urmǎtor pentru modelarea acestui sistem este acela de a stabili câteva
criterii ale acestei modelǎri. Astfel, când motorul atinge o forţa de 500 [N],
sistemul atinge o vitezǎ de 10 [m/s]. Un auto trebuie sǎ fie capabil sǎ se
accelereze pânǎ la aceastǎ vitezǎ în mai puţin de 5 [s]. Un sistem de control
al deplasǎrii trebuie sǎ ia în considerare, pentru evitarea defecţiunilor, sǎ nu
se producǎ depǎşirea vtezei cu 10%. Din aceleaşi motive o eroare de 2%
pentru regimul stabilizat al sistemului de deplasare este, de asemenea,
acceptabilǎ.
Rǎmânând la aceste elemente, se propun urmǎtoarele criterii, pentru
rezolvarea acestei probleme :
--- timpul de accelerare (rise time) < 5 [s];
--- suprareglarea (overshhot) < 10%;
--- eroarea regimului stabilizat (steady state error) <2%.
A.3.3.- Reprezentarea în MATLAB.
A.3.3.1.- Funcţia de transfer.
Pentru a gǎsi funcţia de transfer pentru sistemul anterior, este necesarǎ
tranformarea Laplace pentru ecuţiile de modelare din (1). Când se cautǎ
funcţiile de transfer se asumǎ condiţiile iniţiale nule, adicǎ se realizeazǎ
tranformarea Laplace cu condiţii inţiale nule.
Astfel, transformatele Laplace pentru cele 2 ecuaţii sunt date în continuare :

(11)
Având în vedere cǎ output-ul nostru este viteza, se va substitui V(s), cu Y(s):
13

, (12)
atunci funcţia de transfer pentru sistemul dat apare sub forma :

(13)
Pentru rezolvarea acestei probleme în mediul de programare MATLAB, se
formeazǎ un fişier.m în care se introduc urmǎtoarele comenzi :
m=1000;
b=50;
u=500;
num=[1];
den=[m b];

Aceste comenzi vor fi folosite mai târziu pentru a gǎsi rǎspunsul buclei
deschise (open-loop) a sistemului la un input tip treaptǎ. Dar înainte de a
intra în aceste aspecte, se va arunca oprivire asupra unui alt tip de
reprezentare : spaţiul stǎrilor (state-space).
A.3.3.2.- Varianta State-Space.
Ecuaţiile de modelare din (1) se pot rescrie pentru modelarea în spaţiul
stǎrilor astfel :

(14)
Pentru a folosi MATLAB-ul la rezolvarea acestei probleme, se formeazǎ un
nou fişier.m, în cadrul cǎruia se copiazǎ comenzile :
m = 1000;
b = 50;
u = 500;
A = [-b/m];
B = [1/m];
C = [1];
D = 0;

NOTĂ. Este posibilǎ convertirea reprezentǎrii sistemului din varianta state-


space, în varianta funcţiilor de transfer şi invers. Pentru o informare
suplimentarǎ se poate consulta Conversion.
A.3.3.3.- Rǎspunsul buclei deschise.
Acum sǎ vedem cum rǎspunde bucla deschisǎ a sistemului la un input de tip
treaptǎ. Pentru aceasta se adaugǎ comanda urmǎtoare la sfârşitul fişierului-m
pentru funcţia de transfer (fişierul-m cu matricile pentru num şi den) şi se
realizeazǎ execuţia (run-ul) în fereastra de lucru a MATLAB-ului :
step (u*num,den)
14

În acest fel se obţine plotarea conform cu figura 5. Pentru a folosi un fişier.m


în care sǎ se înscrie
regimul stabilizat
(adicǎ, un fişier.m cu
matricile A, B, C, D),
se adaugǎ comanda
urmǎtoare înainte de
end-ul fişierului.m şi
se executǎ în fereastra
de lucru a MATLAB-
ului :
step(A,u*B,C,D)
Se obţine un grafic
identic cu cel din
figura 5. Din acest
Figura 5.- Rǎspunsul buclei deschise în cazul
Controlului la un system de deplasare.
grafic se observǎ cǎ
vehicolul are nevoie
mai mult de 100 [s] pentru a atinge viteza stabilizatǎ de 10 [m/s]; iar aceasta
nu satisface criteriul timpului de accelerare, care trebuie sǎ fie mai mic de 5
[s].
A.3.3.4.- Funcţia de transfer a buclei închise.
Pentru îmbunǎtǎţirea performanţelor sistemului se admite un regulator
(controller) şi un circuit de reacţie inversǎ unitarǎ, iar diagrama tipicǎ pentru
un astfel de caz este datǎ în figura 6.

Figura 6.- Explicativǎ privind bucla închisǎ cu o reacţie inversǎ unitarǎ, pentru
sistemul de deplasare.
Funcţia de transfer a sistemului este cea stabilitǎ anterior prin relaţia (13) :
{Y(s)/U(s)=1/ms+b}. Regulatorul (controller) trebuie proiectat astfel încât
sǎ fie satisfǎcute criteriile ce se impun. De regulǎ, se pot specifica mai multe
metode pentru a face ca regulatorul sǎ satisfacǎ toate criteriile necesare, iar
printre acestea se vor folosi în continuare : varianta PID, locul geometric al
rǎdǎcinilor, rǎspunsul în frecvenţǎ şi spaţiul stǎrilor.
15

B.- PID TUTORIAL.


Cheia de comandă a MATLAB-ului în cadrul acestui tutorial este : step
cloop
B.1.- INTRODUCERE.
Acest tutorial ilustrează caracteristicile reglajelor de tip proporţional (P),
integrativ (I), respectiv de tip derivativ (D) şi cum anume un utilizator poate
obţine un răspuns necesar. Elemente ale acestor tipuri de reglaje le obţin
studenţi anului IV, secţia Electromecanică, în cadrul cursului de “Acţionări
electromecanice” – B.Siro capitolul 5 (vezi : www.ee.upg-ploieşti.ro).
În cadrul acestui tutorial se consideră următoarea unitate de sistem cu
legătură inversă (feed-back) :
Plant (mecanism) : un sis-
tem ce trebuie controlat;
Controler (regulator) :
furnizează excitaţii pentru
mecanism (plant); în prin-
cipiu se consideră pentru
controler un comportament
Figura 7.- Explicativǎ privind unitatea de sis- de sistem total.
tem cu feedback, din cadrul PID tutorial. B.1.2.- Cei trei termeni ai
unui controler.
Funcţia de transfer pentru un regulator (controler) de tip PID apare sub
forma următoare :

(15)
în care :
---KP, este multiplicatorul (constanta) pentru elementul proporţional al
regulatorului;
---KI, este multiplicatoru (constanta) pentru elementul integrator al
regulatorului;
---KD, este multiplicatorul (constanta) pentru elementul derivativ al
regulatorului;
--- s, este operatorul Laplace.
În primul rând, să aruncăm o privire asupra faptului cum un controler PID
lucrează în cadrul unui sistem cu buclă închisă, ca în cazul schemei din
figura 7. Variabila e reprezintă eroarea dintre valoarea impusă (necesară) R
şi output-ul real Y (semnalul de ieşire). Acest semnal de eroare se aplică
16

controler-ului PID, iar regulatorul calculeaza derivata şi integrala acestui


semnal de eroare. Semnalul u emis de controler este acum proporţional cu
Kp – constanta de timp de proportionalitate pentru amplitudinea erorii, plus
multiplicatorul Ki –constanta de timp integrativă pentru eroare, plus
multiplicatorul Kd – constanta de timp derivativă pentru eroare, adică :

(16)
Acest semnal u se aplică plant-ului şi un nou semnal de output Y se obţine.
Acest semnal de ieşire nou Y, se aplică din nou sumatorului pentru a calcula
un nou semnal de eroare e, astfel încât procesul dat se continuă fără oprire.
B.1.3.- Caracteristicile controlerelor P, I şi D.
Un controller (regulator) de tip proporţional (Kp) va avea efectul reducerii,
fără însă a elimina, eroarea staţionară (steady-state error). Un controler de
tip integrativ (Ki) are efectul eliminării erorii staţionare, dar o face într-un
timp tranzitoriu prelungit. Un controler de tip derivativ (Kd) are efectul
creşterii stabilităţii sistemului şi ameliorează procesul tranzitoriu. Efectele
fiecărui tip de controler Kp, Kd şi Ki, în cadrul unui sistem cu buclă închisă,
sunt rezumate în cadrul tabelului următor :

RISE TIME
CL OVERSHOOT SETTLING TIME
(timp S-S ERROR
RESPONSE (abaterea) (timpul de stabilire)
tranzitoriu)
Small Change
Decrease Increase
Kp (modificare Decrease
(descreşte) (creşte)
neînsemnată)
Ki Decrease Increase Increase Eliminate
Small
Kd Small Change Decrease Decrease
Change
Trebuie să fie remarcat faptul că corelaţiile menţionate în tabelul anterior nu
sunt foarte exacte pentru că “constantele” regulatoarelor Kp, Ki şi Kd
depind una de alta. În fapt, prin modificarea uneia se poate obţine un efect
asupra celorlalte două. Din aceste motive, tabelul anterior trebuie folosit
doar ca o referinţă, când se determină valorile pentru Ki, Kp şi Kd.
B.1.4.- Un exemplu.
Să presupunem că avem o masă simplă, un arc şi un amortizor, aşa cum se
prezintă în figura 8.Ecuaţia de modelare a acestui sistem este :

(17)
17

Realizând transformata Laplace (cu condiţii iniţiale nule) pentru ecuaţia


(17), se obţine :
(18)
Atunci funcţia de transfer pentru deplasarea X(s) (semnalul de ieşire) şi forţa
aplicată F(s) (semnalul de intrare), apare sub forma :

. (19)
Se considerǎ datele :

 M = 1kg ;
 b = 10 N.s/m ;
 k = 20 N/m;
 F(s) = 1.

Introducând aceste valori în


ecuaţia precedentă, se obţine
expresia :

Figura 8.- Explicativǎ privind un exemplu ilustrativ


cu masǎ, arc şi un amortizor.,
(20) .
Scopul acestei probleme-exemplu este acela de a ilustra cum fiecare dintre
constantele Kp, Ki şi Kd
contribuie la obţinerea :
--- unui timp al procesului
tranzitoriu cât mai scurt;
--- unei abateri minime;
--- eroare staţionară nulă.
B.1.5.- Răspunsul buclei
deschise.
În primul rând să vedem
răspunsul buclei deschise (deci
acesta este primul pas). În
acest scop se formează un
fişier.m cu următoarele
declaraţii :
Figura 9.- Rǎspunsul buclei deschise pentru num=1;
exemplul din figura 8. den=[1 10 20];
step(num,den)
18

Prin execuţia acestui fişier.m într-o fereastră de comandă a MATLAB-ului,


se obţine figura 9.
Multiplicatorul (constanta) DC (a elementului de proporţionalitate) a
mecanismului este 1/20, deci 0.05 este valoarea finală a output-ului pentru
un pas de input. Aceasta însă corespunde unei erori stabilizate de 0.95, care
este foarte mare. Din alt punct de vedere, timpul procesului tranzitoriu este
aproximativ 1 [s], iar timpul de stabilizare este şi el aproximativ de 1.5 [s].
Rezultă că este necesar un controller, care reduce timpul procesului
tranzitoriu şi elimină eroarea stabilizată.
B.1.6.- O reglare proporţională.
Din tabelul anterior, a rezultat că o reglare proporţională (Kp) reduce timpul
procesului tranzitoriu, creşte abaterea şi se reduce eroarea stabilizată.
Funcţia de transfer a sistemului în buclă închisă, cu un controler de tip
proporţional (P), ar trebui să apară sub forma (vezi relaţia (20)) :

. (21)
Se consideră mai întâi constanta Kp = 300 şi se modifică fişierul-m astfel :
Kp=300;
num=[Kp];
den=[1 10 20+Kp];

t=0:0.01:2;
step(num,den,t)

Prin execuţia fişierului-m


într-o fereastră de comandă
a MATLAB-ului, se obţine
figura 10.
NOTĂ. Funcţia MATLAB
denumită cloop poate fi
folosită pentru obţinerea
directă a funcţiei de transfer
a buclei deschise pentru o
buclă închisă dată.
Fişierul.m următor foloseşte
comanda cloop, cu ajutorul
căreia se obţine o figură
identică cu cea precedentă :
Figura 10.- Rǎspunsul la reglarea proporţionalǎ cu con- num=1;
stanta K=300 în cadrul exemplului din figura 8.
19

den=[1 10 20];
Kp=300;

[numCL,denCL]=cloop(Kp*num,den);
t=0:0.01:2;
step(numCL, denCL,t)
Figura precedentă ilustrează faptul că controller-ul proporţional (P) reduce
timpul procesului tranzitoriu şi eroarea stabilizată, dar creşte abaterea şi
descreşte timpul de stabilizare într-o mică măsură.
B.1.7.- O reglare proporţional-derivativă.
Acum vom arunca o privire asupra unui regulator (controler) de tip PD.
Tabelul prezentat anterior, ne arată că o reglare de tip derivativă (Kd) reduce
abaterea şi timpul de stabilizare, atunci funcţia de transfer pentru un sistem
în buclă închisă cu un controller de tip PD, apare sub forma (vezi relaţia
iniţialǎ din (20)) :

. (22)
Se consideră Kp egal cu 300 ca şi în cazul precedent, iar pentru Kd se ia
valoarea 10, atunci prin introducerea acestor valori în fişierul.m, avem :
Kp=300;
Kd=10;
num=[Kd Kp];
den=[1 10+Kd 20+Kp];

t=0:0.01:2;
step(num,den,t)

iar prin execuţia sa se obţine


figura 11.

Acest plot arată că o reglare


de tip derivativ reduce
abaterea şi timpul de
stabilizare, dar are un efect
relativ minor asupra
timpului procesului
tranzitoriu şi asupra erorii
stabilizate.
B.1.8.- Reglarea propor-
Figura 11.- Rǎspunsul la reglarea proporţional-derivativǎ
cu constantele KP=300 şi KD=10 în cadrul exemplului din ţional-integrativă.
figura 8. Înainte de a trece la un
regulator de tip PID, să
20

aruncăm o privire asupra unui regulator (controler) de tip PI. Din tabelul
sintetizator anterior, se poate remarca că un regulator de tip integrator (Ki)
micşorează timpul procesului tranzitoriu, creşte abaterea şi timpul de
stabilire, dar elimină eroarea stabilizată. Pentru sistemul dat, funcţia de
transfer a buclei închise cu un regulator (controller) PI, are forma (vezi
relaţia de bazǎ din (20) :

. (23)
Acum se va încercaurmǎtoarea variantǎ de constante : se reduce Kp la 30 şi
se ia Ki = 70. În cadrul fişieruli-m se consideră instrucţiunile :
Kp=30;
Ki=70;
num=[Kp Ki];
den=[1 10 20+Kp Ki];

t=0:0.01:2;
step(num,den,t)

Prin execuţia acestui fişier-m în cadrul unei ferestre de comandă MATLAB,


se obţine figura 12.
Gai-nul (adicǎ, constanta de multiplicare) proporţional Kp a fost redus
pentru că regulatorul de tip
proporţional reduce timpul
procesului tranzitoriu, dar
măreşte abaterea ca orice
regulator de tip proporţional
(dublu efect). Răspunsul
anterior însǎ ilustrează că
eroarea stabilizată a fost
eliminată datoritǎ componentei
integrative a regulatorului.
B.1.9.- O reglare de tip
proportional-integrativ-deri-
vativă.
Acum putem arunca o privire
asupra unui regulator
Figura 12.- Rǎspunsul la o reglare de tip PI cu cons-
tantele KP=30 şi KI=70 în cadrul exemplului din
(controller) de tip PID. Funcţia
figura 8. de transfer pentru o buclă
închisă cu un regulator tip PID
21

a sistemului dat, apare sub forma (vezi şi relaţia de bazǎ din (20)) :

(24)

După efectuarea mai multor execuţii cu erori, în final multiplicatorii : Kp =


350, Ki = 300, Kd = 50, pot oferi un răspuns necesar. Pentru a confirma
acest lucru se introduc următoarele instrucţiuni într-un fişier-m :
Kp=350;
Ki=300;
Kd=50;

num=[Kd Kp Ki];
den=[1 10+Kd 20+Kp Ki];

t=0:0.01:2;
step(num,den,t)
iar prin execuţia acestuia se obţine figura 13.
În acest fel, se obţine un sistem
fără abatere, cu un timp rapid al
procesului tranzitoriu şi fără o
eroare stabilizată.
B.1.10.- Punctele generale
pentru obţinerea unui
regulator PID.
Când se caută obţinerea unui
regulator PID pentru un sistem
dat, în general se execută
următorii paşi, în vederea
obţinerii răspunsului dorit :
--- se caută un răspuns al buclei
deschise şi se stabileşte ceea ce
trebuie ameliorat;
Figura 13.- Rǎspunsul cu reglarea de tip PID, cu gai-
urile menţionate în titlul figurii, referitor la exemplul
--- se adaugă un regulator
din figura 8. proporţional pentru a ameliora
timpul procesului tranzitoriu;
--- se adaugă un regulator derivativ pentru a ameliora abaterea;
--- se adaugă un regulator integrator pentru eliminarea erorii staţionare;
--- se ajustează fiecare constantă Kp, Ki şi Kd până ce se obţine un răspuns
final necesar. Ne putem referi eventual la tabelul dat anterior, în vederea
aprecierii ajustărilor caracteristicilor obţinute până la forma acceptată.
22

În final însǎ trebuie arătat că este posibil să nu fie necesară implementarea a


tuturor celor 3 regulatoare (proporţional, derivativ şi intgrativ) în cadrul unui
sistem dat. De exemplu, dacă un regulator de tip PI conduce la acelaşi
răspuns ca şi cel precedent, atunci, pur şi simplu, nu este necesar şi un
regulator de tip derivativ în cadrul sistemului. În general, se urmăreşte
obţinerea unui regulator cât mai simplu posibil.

NOTĂ. În cadrul cursului de “Acţionari electromecanice” – B.Siro


(www.ee.upg-ploieşti.ro) pentru anul IV al secţiei de Electromecanică, se
discută şi se prezintă unele criterii pentru ajustarea regulatoarelor.

B.2.- Exemplul motorului de c.c – controlul vitezei.


B.2.1.- Introducere.
Pentru problema principală a motorului de c.c., ecuaţiile dinamicii şi funcţia
de transfer pentru bucla deschisă sunt :

(25)

iar schema buclei închise a


sistemului este datǎ în figura
14.

Pentru problema originală şi


derivaţiile sale ne putem adresa
la paginile privind modelarea
unui motor de c.c.
Pentru un pas de input de 1
Figura 14.- Shema buclei închise reeditatǎ pentru [rad/s], criteriile de proiectare
motorul de c.c. –controlul turaţiei.
sunt :
--- un timp de stabilizare sub 2 secunde;
--- suprareglarea sub 5%;
--- eroarea stabilizată mai mică de 1 %.
Acum se poate adăuga direct un regulator de tip PID la sistemul dat. În
primul rând însă se formează un fişier-m şi se tipăresc următoarele
declaraţii:
23

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 procedeazǎ astfel, încât funcţia de transfer pentru regulatorul de tip PID


să fie consideratǎ sub una din formele :

(26)
B.2.2.- Reglarea proporţională.
În primul rând vom încerca să folosim un regulator proporţional cu o
constantă de 100. Se face deci adăugare de declaraţii corespunzătoare la
fişierul-m :
Kp=100;
numa=Kp*num;
dena=den;

Pentru determinarea funcţiei de transfer a buclei închise, se foloseşte


comanda cloop. Se adaugă deci următoarea linie la fişierul-m :
[numac,denac]=cloop(numa,dena);

A se remarca că numac şi denac reprezintă numărătorul şi numitorul


funcţiei de transfer a buclei închise.
Acum vom putea observa răspunsul sistemului, adăugând la sfârşitul
fişierului-m instrucţiunile
precedente şi executând-ul într-o
fereastră de comandă a
MATLAB-ului :
t=0:0.01:5;
step(numac,denac,t)
title('Step response with
Proportion Control')

Se obţine figura 15.


B.2.3.- Reglarea de tip PID.
Din figura 15 se poate observa că
Figura 15.- Rǎspunsul motorului de c.c. la controlul eroarea staţionară şi suprare-
de tip P al turaţiei.
glarea sunt prea mari. Se revăd
24

eventual paginile din PID tutorial, pentru a adăuga un termen intergral, care
să permită eliminarea erorii staţionare, respectiv un termen derivativ, care să
reducă suprareglarea. Să dotăm deci regulatorul cu nişte constante Ki şi Kd
relativ mici, adăugând declaraţii corespun-zătoare la fişierul-m şi realizând
execuţia sa; în acest fel se va obţine figură 16 :
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)];

Kp=100;
Ki=1;
Kd=1;
numc=[Kd, Kp, Ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,
dena);
step(numac,denac)
title('PID Control with
small Ki and Kd')
Figura 16.- Rǎspunsul sistemului cu motor de c.c. pri-
vind reglarea turaţiei cu regulator PID cu constante mici.

B.2.4.- Ajustarea constantelor.


Acum se constatǎ cǎ timpul de stabilizare este prea mare. Atunci se va creşte
Ki pentru reducerea timpului de stabilizare. Se revine în fişierul-m şi se
modifică Ki, la 200. Se reexecută fişierul-m şi se obţine o figură ca cea
următoare :
25

Figura 17.- Rǎspunsul sistemului cu motor de c.c. privind reglarea turaţiei,


cu un regulator PID, cu Ki stabilit la valoarea de 200.

Acum se observă că răspunsul este este mult mai rapid decât cel în cazul
precedent, dar valoarea mare a constantei Ki imprimă o mare suprareglare.
Atunci se va creşte Kd pentru reducerea suprareglării. Se revine la fişierul-m
şi se modifică Kd, la 10, apoi se reexecută fişierul şi se obţine figura :

Figura 19.- Rǎspunsul sistemului cu motor de c.c. privind reglarea turaţiei,


cu un regulator PID, cu Kd stabilit la valoarea de 10 şi care reprezitǎ
varianta finalǎ.
26

Dacă acum regulatorul PID are ajustate constantele la valorile :


Kp = 100; Ki = 200; Kd = 10,
atunci se va obţine un răspuns al sistemului în cadrul condiţiilor impuse.

B.3.- Exemplul motorului de c.c. – reglarea poziţiei.


B.3.1.- Introducere.
În cadrul problemei de bazǎ, funcţia de transfer a ecuaţiei dinamice are
următorul aspect :

, (27)
iar schema sistemului apare astfel (similarǎ cu cea din figura 14):

Pentru problema originală ne vom referi la paginile privind modelarea


motorului de c.c. – reglarea poziţiei.
Pentru un pas dereferintă de 1 [rad/s], trebuie îndeplinite criteriile :
--- timpul de stabilizare sub 0.04 secunde;
--- suprareglarea sub 16 %;
--- eroarea stabilizată nulă;
--- eroare stabilizată nulă pentru orice perturbare.
Se consideră utilă folosirii unui regulator tip PID, ce se va adaugă
sistemului. În primul rând se formează un fişier-m, în cadrul căruia se
tipăresc instrucţiunile (referitoare la detaliile problemei principale) :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];

Se recheamă funcţia de transfer pentru un regulator tip PID :


27

(28)
B.3.2.- Reglarea proporţională.
În primul rând ne propunem să folosim reglare proporţională cu o constantă
de 1.7. Această declaraţie şi altele se adaugă la finalul fişierului-m în
formatul urmǎtor :
Kp=1.7;
numcf=[Kp];
dencf=[1];
numf=conv(numcf,num);
denf=conv(dencf,den);

Pentru a determina funcţia de transfer a buclei închise, se foloseşte comanda


cloop. Se adaugă această linie la acelaşi fişier-m :
[numc,denc]=cloop(numf,denf);

A se observa că numc şi denc reprezintă numărătorul şi numitorul funcţiei


de transfer a buclei închise.
Acum se poate observa ilustrarea răspunsului buclei. Se adaugă cele
următoare la finalul fişierului-m şi se execută acesta într-o fereastră de
comandă a MATLAB-ului :
t=0:0.001:0.2;
step(numc,denc,t)

Se obţine următoarea figura 20 :

Figura 20.- Rǎspunsul la o reglare de tip proporţional, cu constanta Kp=1.7, pentru motorul
de c.c. – varianta reglarea poziţiei.
28

Acum să considerăm această figură ca un răspuns la o perturbaţie. Se adaugă


următoarele instrucţiuni la sfârşitul fişierului-m şi se execută din nou :
numdcl=conv(numc,1);
dendcl=conv(denc,Kp);
step(numdcl,dendcl,t);

Se obţine figură 21 :

B.3.3.- O reglare de tip PID.


Din figura precedentǎ se vede
că eroarea stabilizată apare pe
întregul timp stabilizant, care
este destul de mare, ca şi
suprareglarea. Se poate
observa, de asemenea, ca
eroarea stabilizată la o
perturbaţie, este mare. Atunci
se revăd paginile PID tutorial şi
Figura 21.- Rǎspunsul sistemului motor de c.c.- reg- se adaugă un termen intergral,
area poziţiei, la o perturbaţie. pentru eliminarea erorii
stabilizate şi un termen
derivativ, pentru a reduce suprareglarea. În primul rând vom încerca un
regulator de tip PI pentru a ne debarasa de eroarea stabilizată. Modificarea
fişierului-m trebuie să fie deci de forma :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
Kp=1.7;
Ki=20;
numcf=[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;
step(numc,denc,t)
29

Se obţine figură 22 :

Să considerăm această figură


socotind-o ca un răspuns la o
perturbaţie şi se adaugă următoarele
declaraţii la fişierul-m :
figure
numdcl=conv(numc,dencf);
dendcl=conv(denc,numcf);
step(numdcl,dendcl,t);

Figura 22.- Rǎspunsul la o încercare de regla-


Se obţine următoare plotare – figura
re de tip PI, consideratǎ ca o perturbaţie. 23 :

B.3.4.- Ajustarea constantelor.


Timpul de stabilizare este încă prea
lung. Se vor creşte constantele în
vederea accelerării vitezei de
răspuns. Ne întoarcem la fişierul-m
şi se modifică Ki, la 200, respectiv
Kp, la 17. Se reexecută fişierul-m şi
se obţine următoarele plotări- figura
24 cu 2încercǎri :

Figura 23.- Rǎspunsul la o altǎ încercare de


reglare PI consideratǎ cao perturbaţie.

Figura 24.- Rǎspunsurile în cazul unor încercǎri de ajustare a constantelor.


30

Acum dorim ca răspunsul să fie mai rapid de cât cel în cazul precedent, dar
mărimea lui Ki impune un proces tranzitoriu prelungit (cu o mare depăşire a
suprareglajului), atunci vom realiza un regulator PID cu care să se reducă
suprareglarea. Se revine deci, la fişierul-m şi se fac următoarele modificări
pentru a obţine răspunsul necesar :
Kp=17;
Ki=200;
Kd=0.15;
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.1;
step(numc,denc,t)

Prin reexecutarea fişierului-m se obţin ploturile din figura 25 :

Figura 25. Rǎspunsurile la o nouǎ încercare de ajustare a constantelor de reglare.

Acum se poate observa că, în general răspunsul este bun : suprareglarea este
sub 16 % şi timpul de stabilizare, în mare, este de circa 40 [ms]; eroarea
stabilizată este nulă. Dar răspunsul la o perturbaţie este acum încă destul de
lent. De aceea se mai admite o creştere a lui Ki pentru a accelera răspunsul
la o perturbaţie. Se modifică Ki la 600 în cadrul fişierului-m şi se reexecută
fişierul. Se obţin plotari ca în cadru figurii 26 :
31

Figura 26.- Rǎspunsurile la încǎ o încercare de ajustare a constantelor de reglare.

Se poate observa acum că răspunsul posedă un timp de stabilizare de


aproximativ de 40 [ms], suprareglarea este mai mică de 16% şi nu există
nici o eroare stabilizată. Răspunsul la o perturbaţie nu are, de asemenea, nici
o eroare. Deci dacă vom folosi un regulator tip PID cu parametri :
Kp = 17; Ki = 600; Kd = .15,
se pot obţine performanţele impuse pentru un asfel de mecanism de
poziţionare.

C.- ROOT LOCUS TUTORIAL.


(root locus = locul geometric al rădăcinilor).

Comenzile MATLAB folosite n cadrul acestui tutorial sunt : cloop, rlocfind,


rlocus, sgrid, step.
C.1.- Polii unei bucle închise.
Locul geometric al rădăcinilor unei funcţii de transfer H(s) (pentru o buclă
deschisă) este o figură locul geometric al tuturor polilor posibili ai buclei
închise cu o constantă de proporţionalitate k şi reacţie inversă unitară, aşa
cum apare în schema următaoare (similarǎ cu figura 14) :
32

Funcţia de transfer pentru bucla închisă este dată de relaţia :

(29)
şi deci polii buclei închise a sistemului, sunt daţi de ecuaţia 1 + KH(s) = 0.
Dacă se notează H(s) = b(s)/a(s), atunci ecuaţia precedentă se poate nota sub
forma :

. (30)
Fie n = ordinul lui a(s) şi m = ordinul lui b(s) (ordinul polinimului este dat
de puterea cea mai mare a lui s la care apare acesta în cadrul polinomului).
Se consideră toate valorile pozitive ale lui k. La limită când k → 0 ( → ≡
tinde), polii buclei închise a sistemului, sunt daţi de a(s) = 0, respectiv de
polii lui H(s). La limita când k → ∞, polii buclei închise a sistemului, sunt
daţi de b(s) = 0 sau de zerourile lui H(s).
Este puţin important cum se alege k pentru că, bucla închisă a sistemului
trebuie să aibă totdeauna n poli, în care n este numărul polilor lui H(s).
Locul geometric al rădăcinilor trebuie să aibă n ramificaţii, iar fiecare
ramificaţie este începutul unui pol al lui H(s), respectiv al unui zerou al lui
H(s). Dacă H(s) are mai mulţi poli decât zerouri (cum se întâmplă cel mai
adesea), adicǎ m < n, atunci se spune că H(s) are zerourile la infinit. În acest
caz, limita lui H(s), pentru s → ∞, este zero. Numărul zerourilor la infinit
este (n-m), adică numărul polilor minus numărul zerourilor, respectiv
numărul ramurilor locului geometric, care tind spre infinit (adică sunt
asimptote).
Deoarece locul geometric al rădăcinilor, este locaţia reală a tuturor polilor
buclei închise, atunci locul geometric al rădăcinilor poate să producă un
avantaj, anume ca, sistemul dat în buclă închisă, să producă o variantă
dorită. Dacă toţi polii selectaţi sunt în partea dreaptă ai semiplanului, atunci
sistemul în buclă închisă se va comporta instabil. Polii care sunt foarte
aproape de axa imaginară au cea mai mare influienţă asupra răspunsului
buclei închise, cu atât mai mult cu cât sistemul poate avea 3 sau 4 poli, adică
el se poate manifesta pregnant în funcţie de locaţia în s, a polilor dominanţi
(s).
33

C.2.- Plotarea locului geometric al funcţiei de transfer.


Se consideră un sistem cu buclă deschisă ce are următoare funcţie de
transfer:

(31)
Cum se poate proiecta un regulator pentru un sistem cu reacţie inversă,
folosind metoda root locus (locului geometric al rădăcinilor) ?
Să presupunem că se admite o suprareglare de 5% şi un timp de stabilizare
de 1 [s]. Se realizează un fişier-m denumit rl.m. Se introduce funcţia de
transfer şi comanda pentru plotarea locului geometric al rădăcinilor rlocus :
num=[1 7];
den=conv(conv([1 0],[1 5]),conv([1 15],[1 20]));
rlocus(num,den)
axis([-22 3 -15 15])

Se obţine figura 27 :

Figura 27.- Trasarea locului geometric pentru funcţia de transfer din (31).

C.3.- Alegerea unei valori pentru K a locului geometric.


Figura anterioară ilustrează toate locaţiile posibile ale polilor buclei închise
pentru un regulator pur proporţional. Evident că toţi aceşti poli ai buclei
închise satisfac criteriile de proiectare. Pentru a determina care anume parte
a locului geometric este acceptabilă, se poate folosi comanda sgrid(Zeta,
34

Wn), pentru plotarea liniilor de amortizare constantă şi frecvenţă naturală.


De aceea sunt prevǎzute 2 argumente în cadrul funcţiei sgrid : Zeta pentru
amortisment şi Wn pentru frecvenţă naturală [aceştia pot fi vectori, dacă se
doreşte observarea unei game întregi de valori acceptabile]. În problema
dată, este necesară o suprareglare de mai mic de 5% (ceea ce presupune
pentru amortismentul Zeta o valoare mai mare de 0.7), respectiv un timp de
stabilizare de 1 [s] (ceea ce presupune o frecventă naturală Wn mai mare de
1.8). Se introduc aceste elemente în fereastra de comandă a MATLAB-ului :
zeta=0.7;
Wn=1.8;
sgrid(zeta, Wn)

respectiv se obţine figura 28 :


În figura anterioară 2
linii punctuate, rea-
lizate la 45 grade,
indică locaţiile posibile
ale polilor când Zeta =
0.7, iar polii între linii,
când Zeta > 0,
respectiv polii dispuşi
dincolo de linii, când
Zeta < 0.7. Semicercul
(punctat) indică loca-
lizarea polilor cu
frecvenţa naturală Wn
= 1.8, în interiorul
cercului, când Wn <
Figura 28.- Explicativǎ pentru folosirea funcţiei sgrid din 1.8, respectiv în afara
MATLAB în vederea precizǎrii localizǎrii polilor unei funcţii de
transfer în planul locului geometric. cercului, când Wn >
1.8.
Revenind la problema dată, pentru a realiza o suprareglare mai mică de 5%,
atunci polii trebuie să fie dispuşi între cele 2 linii punctate, iar pentru a
obţine un timp de stabilizare mai mic decât 1 [s], atunci polii trebuie să fie
dispuşi în afara semicercului. Dacă acum se ştie cum se pot dispune poli în
planul locului geometric, şi anume în mod convenabil în afara semicercului
şi între liniile punctate, atunci înseamnǎ cǎ toţi polii trebuie să fie dispuşi în
semiplanul stâng, pentru ca varianta în buclă închisă a sistemului, să rămână
stabilǎ.
35

Dar din figura anterioară se observă şi ce anume trebuie fǎcut pentru ca polii
sǎ ajungǎ în partea necesară a locului geometric. Deci în acest caz, este
necesar numai un regulator proporţional pentru a deplasa polii în zona
necesară. Se poate folosi comanda rlocfind din MATLAB pentru a obţine
polii necesari din locul geometric:
[kd,poles] = rlocfind(num,den)

Se aplică un click în punctul din figură unde se doreşte ca polul buclei


închise să fie amplasat. În acest fel, se pot alege punctele, ca în figura
următoare, pentru a satisface
criteriile necesare – figura 29.

Se poate observa că, locul


geometric al rădăcinilor poate
avea mai mult decât o ramură,
când se selectează un pol, se
poate alege deci încă un pol
(poli), dar să reţinem că ele vor
afecta, de asemenea, răspunsul
sistemului.
Din figura anterioară se observă
că toţi polii selectaţi (ei sunt
marcaţi prin “+” în cadrul
Figura 29.- Explicativǎ privind modalitatea de o
alegere convenabilǎ a poziţiei polilor cu ajutorul figurii) au nişte poziţii
funcţiei rlocfind din MATLAB. rezonabile, deci acum se poate
alege constanta kd pentru
regulatorul proporţional.

C.4.- Răspunsul buclei închise.


Pentru a obţine răspunsul buclei închise, este necesar să se cunoască funcţia
de transfer a buclei închise. Aceasta se poate stabili ţinând seama de regulile
schemelor funcţionale, sau să fie lăsat MATLAB-ul să facă acest lucru prin
declaraţia (folosind funcţia cloop) :
[numCL, denCL] = cloop((kd)*num, den)

Cele 2 argumente ale funcţiei cloop se referă la numărătorul şi numitorul


sistemului buclei deschise. Este nevoie de a include o constantă de
proporţionalitate (kd), ce urmează să fie stabilită; se asumă, bineînţeles,
reacţia unitară :
36

--- dacă este cazul unei reacţii neunitare (diferită de 1), se poate folosi help-
ul MATLAB-ului pentru feedback, care poate găsi funcţia de transfer pentru
bucla închisă cu o constantă pentru o buclă cu reacţie.
Se verifică apoi răspunsul buclei închise a sistemului :
step(numCL,denCL)

obţinându-se figura 30 :
Aşa cum ne aşteptam, acest răspuns
are o suprareglare sub 5% şi un timp
de stabilizare de aproximativ 1.5 [s].
C.2.- Metoda root locus pentru
un motor de c.c. – reglarea
vitezei.
C.2.1.- Introducere.
Pentru problema principală, ecuaţiile
dinamice şi funcţia de transfer a
buclei deschise, pentru un motor de
Figura 30.- Rǎspunsul buclei închise a sistes-
mului obţinut cu ajutorul funcţiei cloop din
c.c. – reglarea vitezei, sunt :
MATLAB.

(32)

iar schema sistemului este (similarǎ cu cea din figura 14) :

Pentru setup-ul problemei originale şi ecuaţiile anterioare, se poate face


referirea la paginile de la A.1. ale acestor exemple.
Pentru un pas de referinţă de 1 [rad/s], criteriile de proiectare sunt;
--- timpul de stabilizare mai mic decât 2 [s];
37

--- suprareglarea mai mică de 5%;


--- eroarea stabilizată mai mică de 1%.
Pentru proiectarea regulatorului, care sǎ îndeplineascǎ aceste condiţii, se va
folosi, în acest caz, metoda root locus.
Se formează un fişier-m şi se tipăresc în cadrul său următoarele comenzi
(referitoare la problema principală, detaliile se pot extrage tot de la A.1) :
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)];

C.2.2.- Trasarea locului geometric pentru bucla deschisă.


Ideea principală, la folosirea locului geometric, se găseşte în figura
răspunsului buclei închise, a locului geometric a buclei deschise. Atunci prin
studierea planului locului geometric, respectiv prin adăugarea zerourilor
şi/sau polilor, la cele ale mecanismului original, răspunsul buclei închise
poate fi modificat în mod convenabil.
În primul rând deci, trebuie să observăm planul locului geometric al
mecanismului şi deci se vor adăuga, la fişierul-m, următoarele declaraţii :
rlocus(num,den)
sgrid(.8,0)
sigrid(2.3)
title('Root Locus without a controller')

Comanda sigrid este o funcţie ce se defineşte de către utilizator. Pentru


aceasta este nevoie să se copieze fişierul sigrid.m în directorul dat, înainte
de a fi folosită. Pentru informaţii suplimentare privind folosirea acestei
funcţii, se poate face referirea la functions din MATLAB.
Cele două argumente ale funcţiei sgrid sunt : termenul amortismentului
(zeta) (0.8 corespunde unei suprareglări de 5%) şi termenului frecvenţei
naturale (Wn) (= 0, corespunde criteriului fără timp tranzitoriu). Singurul
argument din comanda sigrid este termenul sigma (adicǎ, 4.6/2 secunde =
2.3). Abia după ce se va salva fişierul sigma.m în cadrul directorului dat, se
poate executa acest fişier în fereastra de comandă. Trebuie să se obţină, în
acest fel, figura locului geometric ca cea următoare :
38

C.2.3.- Găsirea constantei


cu ajutor comenzii rlocfind.
Trebuie observat că, este
nevoie de un timp de
stabilizare şi o suprareglare
cu valori cât mai mici
posibil. Un amortisment
mare corespunde unor puncte
din locul geometric apropiate
de axa reală. Dar un răspuns
fast corespunde unor puncte
din locul geometric dispuse
Figura 31.- Locul geometric trasat pentru bucla cât mai departe de axa
deschisǎ pentru motorul de c.c.-controlul vitezei.
imaginară. Pentru a găsi o
constantă, care corespunde
unui astfel de punct din locul geometric, se poate folosi comanda rlocfind.
Se poate găsi constanta amintită şi prin plotarea răspunsului, folosind mai
multe valori ale constantei şi urmărind obţinerea unui rezultat cât mai
convenabil. Pentru a realiza aceasta, se introduc instrucţiunile următoare la
finalul fişierului-m şi apoi se realizează reexecuţia :
[k,poles] = rlocfind(num,den)
[numc,denc]=cloop(k*num,den,-1);
t=0:0.01:3;
step(numc,denc,t)
title('Step response with gain')

Se merge apoi în figură şi se selectează un punct din locul geometric dispus


între axa reală şi cea a amortismentului necesar, să zicem în -6 + 2.5i.
MATLAB-ul produce un output similar cu cel următor :
selected_point =
-5.9596 + 2.0513i

k =
10.0934

poles =
-6.0000 + 2.0511i
-6.0000 - 2.0511i

Trebuie observat că valorile returnate în cadrul ferestrei de comandă a


39

MATLAB-ului nu pot fi exact aceleaşi cu cele stabilite, dar dacă se menţin


acelaşi ordin de mărime, atunci trebuie să se obţină figura următoare :
Aşa cum se poate observa, sistemul
este supraamortizat şi timpul de
stabilizare este de cca. 1 [s], deci
suprareglarea şi timpul de
stabilizare satisfac condiţiilor
impuse. Singura problemă ce se
poate remarca în cadrul acestei
figuri este aceea că eroarea
stabilizată este aproximativ de
50%. Dacă se măreşte constanta
pentru a reduce eroarea stabilizată,
Figura 32.- Rǎspunsul abţinut dupǎ selectarea
suprareglarea devine prea mare
Constantei cu ajutorul funcţiei rlocfind. (Încercaţi această variantă !), de
aceea este nevoie de a adăuga un
element de întârziere, pentru a reduce eroarea stabilizată.
C.2.4.- Adăugarea unui elemrnt de întârziere.
Din figură se observă că locul geometric dat este foarte simplu. Amortizarea
şi timpul de stabilizare sunt realizate cu ajutorul unui regulator
proporţional. Numai eroarea stabilizată este singurul criteriu nerealizat de
către regulatorul proporţional. Un compensator de întârziere poate reduce
eroarea staţionară, dar făcând aceasta se poate ajunge la creşterea timpului
de stabilizare. Să încercăm, în primul rând, următorul element de întârziere :

(33)
ceea ce se poate realiza făcând modificări corespunzătoare în cadrul
fişierului-m :
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)];

z1=1;
p1=0.01;
numa = [1 z1];
dena = [1 p1];
numb=conv(num,numa);
40

denb=conv(den,dena);

rlocus(numb,denb)
sgrid(.8,0)
sigrid(2.3)
title('Root Locus with a lag controller')

în care numa şi dena reprezintă numărătorul şi numitorul regulatorului, iar


numb şi denb reprezintă numărătorul şi numitorul funcţiei de transfer al
buclei deschise generale (globale). În acest caz trebuie să se obţină
următorul loc geometric, care seamănă foarte bine cu cel original :

C.2.5.- Plotarea răspunsului


buclei închise.
Acum vom închide bucla şi să
vedem răspunsul buclei închise.
Se introduc următoarele instruc-
ţiuni la finalul fişierului-m :
[k,poles]=rlocfind(numb,denb
)
[numc,denc]=cloop(k*numb,den
b,-1);
t=0:0.01:3;
step(numc,denc,t)
Figura 33.- Locul geometric obţinut dupǎ introdu- title('Step response with a
cerea elementului de întârziere. lag controller')

Se reexecută acest fişier-m într-o fereastră de comandă a MATLAB-ului.


Când se ajunge la selectarea unui punct, se alege unul care este aproape de
limita condiţiei amortismen-
tului (linia punctată diago-
nală). În acest fel, se obţine o
figură similară cu cea
alǎturatǎ (figura 34).
Constanta trbuie să fie
aproximativ 20. Aşa cum se
poate observa, răspunsul nu
este prea satisfăcător. Se
poate nota, de asemenea, ca
Figura 34.- Rǎspunsul buclei închise.
constsnta a fost selectată într-
o zonă apropiată de criteriul amortismentului, suprareglarea nu este egală cu
5%. Aceasta corespunde efectului regulatorului cu elementul de întârziere,
41

care intră în acţiune prea târziu în raport cu mecanismul dat (polul său este
mai “lent”). Aceasta arată, în fond, că se poate merge mai departe de liniile
punctate, care reprezintă limitele admise, pentru a obţine astfel o constantă
mai mare, fără a împieta prea mult suprareglarea. Se reexecută fişierul-m,
plasând constanta corect, sub linia punctată. Se continuă încercările până
când se obţine un răspuns satisfăcător. El trebuie să fie similar cu cel
următor (s-a folosit o constantă egală aproximativ cu 50) din figura 35 :
Eroarea staţionară este mai mică
de 1%, respectiv timpul de
stabilizare şi suprareglarea sunt,
de asemenea, satisfăcătoare. Aşa
cum se poate observa, procesul
de proiectare cu metoda locul
geometric este mai mult un
proces de încercări, observând
evoluţia parametrilor de la
criteriile impuse. Aceasta pentru
că este necesară plotarea locului
Figura 35.- Rǎspunsul final obţinut dupǎ mai geometric, căutarea constantei şi
multe încercǎri.
plotarea răspunsului la fiecare
pas. Dacă nu se poate obţine un
răspuns satisfăcător pentru alegerea constantelor, se poate alege un regulator
cu întârziere, oarecare sau chiar a se adăuga un regulator cu rol anticipativ
(derivativ).
C.3.- Metoda root locus pentru un motor de c.c. – reglarea
poziţiei.
C.3.1.- Introducere.
Pentru problema principală, ecuaţiile dinamice şi funcţia de transfer sunt
următoarele :

(34)

iar schema sistemului este (cea similarǎ cu figura 14) :


42

Pentru setarea problemei originale şi a ecuaţiilor diferenţiale, ne putem referi


la paginile de la punctul A.2.
Pentru un pas de referinţă de 1 [rad/s], criteriile de proiectare sunt :
--- timpul de stabilizare mai mic de 0.04 [s];
--- suprareglarea mai mică de 16%;
--- eroarea stabilizată nulă;
--- eroarea stabilizată nulă la o perturbaţie.
Pentru proiectarea unui regulator se va folosi metoda root locus.
Se formează un fişier-m în cadrul căruia se tipăresc comenzile (referinţele
asupra acestora se găsesc tot în paginile de la punctul A.2) :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0].

C.3.2.- Trasarea uni loc geometric pentru o buclă deschisă.


Ideea principală, la proiectarea locului geometric, se găseşte în figura
răspunsului buclei închise, a locului geometric a buclei deschise. Atunci prin
adăugarea zerourilor şi/sau polilor la cele ale mecanismului original,
răspunsul buclei închise poate fi modificat. Deci în primul rând trebuie însă
să “vedem” locul geometric al mecanismului, iar pentru aceasta se vor
adăuga, la fişierul-m, următoarele declaraţii :
rlocus(num,den)
sgrid(.5,0)
sigrid(100)

Comenzile sgrid şi sigrid sunt funcţii. Sgrid este o funcţie din toolbox-ul
MATLAB-ului, pe când sigrid nu este, deci este necesar să se copieze
fişierul sigrid.m în directorul dat. Click here pentru a afla felul cum se
copiază sigrid.m într-un fişier-m. Variabilele din funcţiei sgrid sunt :
termenul zeta (= 0.5, corespunzător unei suprareglări de 16%) şi termenul
43

wn (= 0, pentru criteriul fără timp de stabilizare). Variabila din comanda


sigrid este termenul sigma (4/0.04 = 100). Se execută fişierul-m anterior şi
se obţine figură 36 :
Dacă se observă scala axelor din
această figură, un pol al buclei deschise
este dispus foarte departe spre stânga
(mai departe de -1x10^6). Acest pol nu
afectează dinamica buclei închise, chiar
dacă ar fi folosită o constantă foarte
mare şi la care sistemul devine instabil.
Vom ignora deci modificarea axelor în
vederea zoom-ării zonei inferioare a
locului geometric. Ca urmare se adaugă
Figura 36.- Prima variantǎ de loc geometric
comanda următoare la fişierul-m şi se
pentru motorul de c.c. – reglarea poziţiei. reexecută.
axis([-400 100 -200 200])

Se obţine plotul următor – figura 37 - din care se poate se poate constata că


bucla închisă a sistemului va fi stabilă pentru o constantă cu o valoare relativ
mică.
Din această figură se poate observa că
polii buclei închise nu sunt deloc “prea
rapizi” în sensul de a satisface timpul
de stabilizare impus (ei sunt deplasaţi la
stânga liniei verticale pentru sigma =
100, valoare impusă !). De asemenea,
necesitatea unui rgulator integrator (ne-
justificat în acest sistem) ar modifica
eroarea stabilizată la o perturbaţie.
C.3.3.- Reglarea integrativă.
Figura 37.- A doua variantǎ de loc geo- Acum vom încerca o reglare integrativǎ
metric, dupǎ modificarea scalei axelor. pentru a modifica eroarea stabilizată în
cazul unei perturbaţie. Deci se modifică
fişierul-m astfel :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
44

numcf=[1];
dencf=[1 0];
numf=conv(numcf,num);
denf=conv(dencf,den);
rlocus(numf,denf)
sgrid(.5,0)
sigrid(100)
axis([-400 100 -200 200])

A se observa că se adaugă un termen 1/s în raport cu bucla precedentă. În


cadrul acestui fişier-m se ignoră polul “rapid” şi se realizează o zoom-are
într-o porţiune corespunzătoare a locului geometric. Se execută acest fişier şi
se obţine figura 38 :
Din această figură a locului
geometric, se poate observa că bucla
închisă a sistemului nu se comportă
deloc stabil şi se impune un nou tip de
regulator.
C.3.4.- Reglarea proporţional –
integrativă.
Acum se modifică regulatorul integral
printr-un regulator de tip PI. Folosind
un PI în locul lui I, se adaugă un
zerou la bucla deschisă a sistemului.
Figura 38.- O nouǎ variantǎ de loc geometric. Vom plasa acest zerou în s = -20.
Acest zero, în principiu, trebuie să fie
dispus între polii buclei închise a
sistemului, în acest caz spre finalul
zonei pentru, care bucla închisă se
comportă stabil. Se modifică deci
linia din fişierul-m ce defineşte
regulatorul (numcf şi dencf), astfel :
numcf=[1 20];
dencf=[1 0];

Se reexecută fişierul-m şi se obţine


figura 39.
Figura 39.- Locul geometric în cazul Acum s-a reuşit stabilizarea
regulatorului de tip PI. sistemului cu o eroare stabilizată
nulă pentru perturbaţie, dar sistemul
rămâne încă prea puţin rapid.
45

C.3.5.- Reglarea proporţional-intgrativ-derivativă.


Pentru a putea „trage” locul geometric, în mod convenabil, spre stânga, este
necesară plasarea unui zerou secund al buclei închise, ceea ce s-ar putea
obţine cu ajutorul unui regulator de tip PID. După câteva tatonări, se ajuge
la concluzia că cele 2 zerouri ale PID-ului pot fi : s = 60, respectiv s = 70. Se
modifică deci linia de definiţie pentru regulator (numcf şi denfc) din cadrul
fişierului-m, astfel :
numcf=conv([1 60],[1 70]);
dencf=[1 0];

Se reexecută fişierul-m şi se obţine figura 40.

Acum se poate observa că doi poli ai


buclei închise formează o buclă în
jurul timpului de stabilizare şi a
suprareglării procentuale. Cel de al
treilea pol al buclei închise
deplasează polul buclei deschise la s
= 59.2, cǎtre zeroul buclei deschise s
= 60. Acest pol al buclei închise se
anulează cu zeroul dat (care rămâne
în cadrul funcţiei de transfer al
Figura 40.- Locul geometric dupǎ formarea buclei închise), pentru că sunt atât
regulatorului de tip PID. de apropiate. În consecinţă, se poate
ignora acest efect. Totuşi, un alt
zerou al buclei deschise rămâne în cadrul buclei închise şi va efectua un
răspuns mai încetinit, suplimentând suprareglarea. În consecinţă, trebuie să
se menţină starea dată dacă se doreşte ca polii buclei închise să se rgăsească
în cadrul locului geometric dat.
C.3.6.- Cautarea constantei cu ajutorul comenzii rlocfind.
Trebuie sǎ ne reamintim, cǎ avem nevoie de un timp de stabilizare şi de
suprareglare cât mai mici posibile, în particular ca efect al zeroului
suplimentar. O suprareglare mare corespunde punctelor din locul geometric
apropiate de axa reală. Un răspuns rapid corespunde unor puncte dispuse
departe, spre stânga, de axa imaginară. Pentru căutarea unei constante ce
corespunde unui punct al locului geometric, se poate folosi comanda
rlocfind. Se poate găsi constanta, respectiv se poate plota răspunsul folosind
constanta respectivă de mai multe ori. Pentru a realiza acest lucru, se adaugă
următoarele declaraţii la sfârşitul fişierului-m şi se reexecută acesta :
46

[k,poles] = rlocfind(numf,denf)
[numc,denc]=cloop(k*numf,denf,-1);
t=0:0.001:.1;
step(numc,denc,t)

Se face plotarea şi se alege un punct din locul geometric la stânga buclei,


aproape de axa reală, aşa cum se ilustrează în continuare printr-un “+”
negru. Se presupune că acesta va asigura un răspuns cât mai rapid şi o
suprareglare cât mică posibil. Această amplasare aduce o îmbunătăţire
oarecare.

După realizarea lucrării an-


terioare, apare şi următoarea
output-are în cadrul ferestrei
de comandă a MATLAB-
ului:
selected_point =

-1.3943e+02+ 1.8502e+01i

k =

0.1309

poles =

Figura 41.- Locul geometric cu controller PID 1.0e+06 *


pentru alegerea constantei cu funcţia rlocfind.
-1.4542
-0.0001 + 0.0000i
-0.0001 - 0.0000i
-0.0001

care se referă deci la punctul selectat,


constanta k şi polii corespunzători.
A se nota că valorile redate în cadrul
ferestrei de comandă a MATLAB-ului
nu pot fi chiar exacte, dar dacă se vor
păstra ordinele de mărime, atunci se
poate obţine figură 42.
Aşa cum se poate observa acum,
sistemul are o suprareglare de
Figura 42.- Rǎspunsul cu regulatorul PID aproximativ 15%, un timp de
şi cinstanta K=0.13. stabilizare de aproximativ 0,04 [s] şi o
eroare staţionară nulă, dar să observăm
47

răspunsul funcţiei de transfer a buclei închise la o perturbaţie, prin plotarea


răspunsului respectiv. Se adaugă următoarele linii la fişierul-m respectiv :
numdcl=conv(numc,dencf);
dendcl=conv(denc,numcf);
step(numdcl,dendcl,t);

Se reexecută fişierul-m, selectând acelaşi punct în cadrul locului geometric


dat, caz în care se obţine următorul plot :

Se poate observa că perturbaţia atinge o


valoare nulă în starea stabilizată,
respectiv în fapt atinge valoarea de 0.02
(adică 2%), după 0.04 [s]. În
consecinţă deci sunt satisfăcute toate
condiţiile impuse.

În acest exemplu, zerourile au fost


plasate în cadrul locului geometric,
Figura 43.- Rǎspunsul sistemului cu controller
PID şi K=0.13, la o perturbaţie. pentru “fasonarea drumului” pe care îl
doream. În timpul unor astfel de
procese, eroarea este necesară la plasarea zerourilor şi chiar utilă, pentru a
înţelege cum este ajustat locul geometric şi cum trebuie folosit MATLAB-ul
pentru verificarea şi rafinarea plasamentelor respective.

D.- TUTORIALUL pentru RĂSPUNSUL ÎN


FRECVENŢĂ.
Comenzile MATLAB folosite în cadrul acestui tutorial sunt : bode, nyquist,
nyquist1, lnyquist1, margin, lsim, step, şi cloop.

D.1.- Introducere.
Metoda răspunsului în frecvenţă poate fi mai puţin intuitivă faţă de metodele
prezentate anterior. Cu toate acestea, ea are o serie de avantaje în situaţia
modelării funcţiilor de transfer ale datelor fizice.
Răspunsul în frecvenţă al unui sistem poate fi obţinut în două variante :
diagrama (plot-ul) Bode sau diagrama Nyquist. Cele două metode afişează
aceeaşi informaţie, iar diferenţa constă în calea prin care este prezentată
informaţia. În cadrul acestor tutoriale vor fi prezentate ambele metode.
48

Răspunsul în frecvenţă este o reprezentare a răspunsului sistemului la un


input sinusoidal cu frecvenţă variabilă. Output-ul unui sistem liniar la un
input sinusoidal este o sinusoidă de aceeaşi frecvenţă, dar cu o amplitudine
şi fază diferită. Răspunsul în frecvenţă este definit ca diferenaţa de
amplitudine şi fază dintre sinusoida de input şi de output. În cadrul
acestui tutorial se va urmări cum se poate folosi răspunsul în frecvenţă al
buclei deschise a unui sistem, pentru a prezice comportarea sa, în cazul
buclei închise.
Pentru a plota răspunsul în frecvenţă, se va forma un vector de frecvenţe (ce
variază între zero sau “DC”(c.c.) şi infinit) şi calculând valorile funcţiei de
transfer a mecanismului pentru acele frecvenţe. Dacă G(s) este funcţia de
transfer a buclei deschise a unui sistem şi w este vectorul frecvenţelor, atunci
se poate plota G(j*w) în funcţie de w. Deoarece G(j*w) este un număr
complex, se pot plota amplitudinea şi faza (diagrama Bode) sau poziţia sa
într-un plan complex (diagrama Nyquist). O informaţie suplimentară este
accesibilă prin ploting the frequency response.
NOTĂ. O serie de elemente introductive privind aceste aspecte pot fi găsite
în cadrul cursului “Acţionări electromecanica” – B.Siro, capitolul 5 –
www.ee.upg.-ploieşti.ro

D.2.- DIAGRAMELE BODE.


D.2.1- Diagramele Bode (Bode plots).
Aşa cum s-a menţionat anterior, o diagramă Bode este o reprezentare a
amplitudinii şi fazei, funcţiei G(j*w) (în care vectorul de frecvenţă w
conţine numai frecvenţe pozitive). Pentru a „vedea” o diagramă Bode
pentru o funcţie de transfer, se poate folosi comanda MATLAB bode. De
exemplu :
bode(50,[1 9 30 40])

care afişează o diagramă Bode pentru următoarea funcţie de transfer :

50
, (35)
s  9s  30 s  40
3 2

iar acesta apare ca în figura 44.


49

Observaţie privind axele


figurilor: frecvenţa se dă în scara
logaritmică, faza este dată în
grade, iar amplitudinea este dată
în decibeli.

Notă: un decibel este definit ca


20*log10 ( |G(j*w| )

D.2.2.- Marja constantei (gain)


şi a fazei.
Să admitem că avem următorul
Figura 44.- Diagramele Bode pentru funcţia din (35). sistem, ca în figura 45,

Figura 45.- Exemplu de sistem tratat în rǎspunsul în frecvenţǎ.

în care K este o variabilă (constantă) gain (multiplicator), iar G(s) este


mecanismul (plant-ul) ce se ia în considerare. Marja gain-ului (the gain
margin) este definită ca fiind marja de modificare a constantei pentru a
determina ca sistemul să devină instabil. Un sistem cu marje mai mari
pentru gain, poate suporta modificări mai mari ale parametrilor
sistemului înainte de a deveni instabil prin bucla sa închisă.

A reţine că un gain unuitar în amplitudine, este egală cu un gain cu


valoarea zero în dB.

Marja fazei (the phase margin) este definită ca fiind marja de modificare a
fazei buclei deschise, astfel încât sistemul, cu bucla închisă corespunzătoare,
să devină instabil.
Marja fazei, măsoară de asemenea, toleranţa sistemului pentru timpul de
întârziere. Dacă există un timp de întârziere mai mare decât 180/Wpc în
50

cadrul buclei (în care


Wpc este frecvenţa
pentru care decalajul
de fază este de 180 de
grade), atunci
sistemul, cu bucla
închisa dată, devine
instabil. Timpul de
întârziere poate fi
privit ca un “extra
bloc” din diagrama de
blocuri, care adaugă
(măreşte) faza sistem-
ului, dar fără efect
asupra gain-ului.
Timpul de întârziere
Figura 46.- Evidenţierea unor mǎrimi specifice pentru o
diagramǎ Bode.
poate fi reprezentat ca
un bloc cu ampli-
tudinea de 1 şi faza de w*delay_time (w*timp_întârziere) (în rad/s).

Pentru moment, ne vom concentra asupra marjelor gain-ului şi fazei din


cadrul unui plot Bode.
Marja fazei este diferenţa dintre fază curbei şi -180 deg din punctul ce
corespunde unei frecvenţe, care ne dă un gain de 0 dB (gain-ul de intersecţie
– adică, gain cross-ul la frecvenţa Wgc). În mod egal, marja gain-ului este
acea diferenţă între amplitudinea curbei şi 0 dB a punctului ce corespunde
frecvenţei, care ne dă o fază de -180 deg (adică, phase cross-ul la frecvenţa
Wpc), iar acestea se evidenţiază foarte bine în figura 46.
Un lucru mai plăcut ar putea fi acela legat de marja fazei, că nu este necesară
replotarea unui Bode, pentru căutarea unei marje de fază, când se modifică
gain-ul. Dacă se face reche-marea plot-ului respectiv, se constată că gain-ul
adiţional modifică nu-mai amplitudinea plot-ului de sus. Aceasta este
echivalent cu modificarea axei y din figura amplitudinii. Găsirea marjei fazei
este este relativ mai simplă şi constă în găsirea unei frecvenţe noi de
“trecere” (secţionare) (new cross-over frequency) şi citirea rapidă a marjei
respective a fazei. De exemplu, se introduce comanda bode(50,[19 30 40]).
Se obţine următorul bode-plot – figura 47 :
51

Trebuie observat că
marja fazei este
aproximativ 100 deg.
Acum, să admitem că se
adaugă un gain de 100,
atunci prin introducerea
comenzii bode(100*50,
[19 30 40]) se obţine
plotul următor (a se nota
că s-a modificat axa, dar
scala a rămas aceeaşi ca
mai înainte, iar bode-
plot-ul nu poate avea
exact aceeaşi formă, ci
Figura 47.- Un Bode plot pentru evidenţierea unor elemente în funcţie de scara
specifice.
folosită) – figura 48 :

Aşa cum se poate


observa din figura 48,
plot-ul fazei este exact
acelaşi cu cel ante-
rioar, iar plot-ul
amplitudinii este
modificat “în sus” la
40 dB (pentru gain =
100 !). Marja fazei este
acum aproximativ -60
grade. Acest rezultat ar
putea fi obţinut dacă
axa y a figurii
amplitudinii s-ar
Figura 48.- Bode-plotul modificat prin modificarea gain-
“deplasa în sus” cu 40
ului. dB. Încercaţi acest
52

lucru cu primul bode-plot, găsind locul unde curba intersectează linia de -40
dB şi citind imediat marja fazei. Aceasta este aproximativ -60 de grade,
adică aceeaşi ca în cazul celui de al doilea bode-plot.
Determinarea directǎ a gain-ului şi marjelor fazei pentru un sistem, se poate
realiza folosind MATLAB-ul. Se introduce comanda margin. Această
comandă returnează gain-ul şi marja fazei, gain-ul şi frecvenţa de
intersecţie pentru fază, respectiv graficul de reprezentare ale acestora într-
un bode-plot. Încercaţi acest lucru cu comanda :
margin(50,[1 9 30 40])

şi se obţine bode-plot-ul următor – figura 49 :

D.2.3.- Lătimea bandei


de frecvenţă (Band-
width Frequency).
Lăţimea bandei de
frecvenţă este definită ca
fiind frecvenţa la care
răspunsul amplitudinii
buclei închise, cores-
punde la -3dB. Deşi,
când se “merge” pe
varianta răspunsului în
frecvenţă, ne înteresează
în primul rând să putem
prezice comportarea în
buclă închisă, prin
răspunsul obţinut în
cazul buclei deschise. În
Figura 49.- Bode-plot-ul cu determinarea gain-ului şi
concluzie, se foloseşte
marjei fazei. un sistem de ordinul doi
de aproximare şi spunem
că bandwidth frequency este egală cu frecvenţa răspunsului amplitudinii
buclei deschise, ce este cuprinsă între -6 şi -7.5 dB, înţelegând că răspunsul
fazei buclei deschie, este între -135 deg şi -225 deg. Pentru o prezentare
completă a acestor aproximări, se poate consulta un manual de specialitate.
53

Dacă se doreşte felul cum se poate determina matematic o bandwidth, cum


ar fi ecuaţiile pertinente, ca şi codul MATLAB, se pot consulta paginile
pentru Bandwidth Frequency.
Pentru a ilustra importanţa bandwidth frequency-i, se va prezenta în
continuare cum se modifică output-ul, pentru diferite frecvenţe de input.
Input-urile sinusoidale, cu frecvenţa mai mică decât Wbw (adică,
bandwidth frequency) este destul de bine “delimitată” de sitem.
Sinusoidele de intrare cu frecvenţa mai mare decât Wbw sunt atenuate sau
mărite (în amplitudine) printr-un factor de 0.707 (totodatǎ, realizându-se şi o
modificare de fază).
Să admitem că funcţia de transfer a unui sistem în buclă închisă, este :
1
. (36)
s  0.5s  1
2

În primul rând, să găsim bandwidth frequency, observând bode-plot-ul


respectiv, ceea ce se poate obţine cu ajutorul instrucţiunii, respectiv figura
50 :
bode (1, [1 0.5 1 ])

Conform cu funcţia de transfer a


buclei închise, bandwidth
frecquency ar fi frecvenţa ce
corespunde unui gain de -3 dB.
Analizând bode-plot-ul obţinut,
se poate constata că acesta este
aproximativ de 1.4 [rad/s]. Se
poate citi imediat, în cadrul bode-
plot-ului respectiv, că pentru o
frecvenţa de intrare de 0.3
[rad/s], output-ul sinusoidal are o
amplitudine aproximativ unu, iar
faza se modifică cu câteva grade.
Pentru o frecvenţă de input de 3
Figura 50.- Bode-plot-ul pentru funcţia din (36).
[rad/s], amplitudinea output-ului
este deja aproximativ de -20 [dB]
(cu 1/10 ori mai mare decât input-ul), iar faza a devenit aproape -180
[grade].
Se poate folosi comanda lsim pentru simularea răspunsului sistemului la
input-uri sinusoidale.
54

În primul rând se consideră un input sinusoidal cu o frecvenţa infrioară lui


Wbw. Se are în vedere faptul că lucrurile acestea se analizează în spiritul
obţinerii unui răspuns de regim stabilizat. În consecinţă, se vor modifica
axele, astfel încât să se obţină un răspuns clar stabilizat (adică, se ignoră
regimul tranzitoriu !). Avem declaraţiile :
w= 0.3;
num = 1;
den = [1 0.5 1 ];
t=0:0.1:100;
u = sin(w*t);
[y,x] = lsim(num,den,u,t);
plot(t,y,t,u)
axis([50,100,-2,2])

respectiv figura 51:


Se observa că output-ul
(bleu) urmăreşte input-ul
(purpuriu) foarte bine; cum ne
aşteptam practic nu apare o
defazare.

Acum, vom admite o


frecvenţă de input mai mare
decât bandwidth frecquency
Figura 51.- Rǎspunsul la un input sinusoidal cu pentru sistemul dat, ceea ce
frecvenţa inferioarǎ lui Wbw. va conduce la un răspuns
foarte distorsionat (în raport
cu input-ul). Avem instrucţiunile :
w = 3;
num = 1;
den = [1 0.5 1 ];
t=0:0.1:100;
u = sin(w*t);
[y,x] = lsim(num,den,u,t);
plot(t,y,t,u)
axis([90, 100, -1, 1])

respectiv figura 52:


55

Încă odată trebuie observat că


amplitudinea este aproximativ 1/10
în raport cu cea de input, aşa cum
s-a prevăzut, dar defazajul este
aproape exact de -180 de grade.
Se recomandă să experimentaţi şi
alte frecvenţe w, observând
răspunsurile respective, ca şi cazul
Figura 52.- Rǎspunsuldistorsionat când frecvenţa
când w este în zona bandwidth
semnalului de input este mai mare decât bandwidth frecquency.
frecquency.

D.2.4.- Performanţa buclei închise.


Pentru a prezice performanţele unei bucle închise prin răspunsul în frecvenţă
al buclei deschise corespunzătoare, este nevoie să fie clarificate mai multe
concepte :

Sistemul trebuie să fie stabil în buclă deschisă dacă s-a adoptat


varianta Bode-plot-ului.

Dacă gain cross-ul în frecvenţă este mai mic decât phase cross-ul în
frecvenţă (adică, Wgc < Wpc), atunci sistemul în buclă închisă va fi stabil.

Pentru sisteme de ordinul doi, amortiszarea buclei închise este


aproximativ egal cu marja fazei divizată cu 100, dacă marja fazei este
cuprinsă între 0 şi 60 grade. Această ideie trebuie folosită cu prudenţă dacă
marja fazei este mai mare de cât 60 de grade.

Pentru sisteme de ordinul doi, o relaţie între amortizarea, lăţimea


benzii de frecvenţă şi timpul de stabilizare este prezentată în paginile pentru
bandwidth.

Tot ca o relaţie aproximativă, se poate considera că bandwidth-ul


este egal cu frecvenţa naturală.
56

Să folosim aceste concepte pentru proiectarea unui regulator corespunzător


următorului sistem (similar cu cel din figura 45):

în care Gc(s) este controller-ul (regulatorul) necesar, iar G(s) este:

1
. (37)
1.25s  1
Aplicaţia trebuie să realizeze următoarele specificaţii:

 Eroarea stabilizată nulă.


 Suprareglarea trebuie să fie mai mică de 40%.
 Timpul de stabilizare trebuie să fie mai mic de 2 [s].

Există 2 modalităţi de a rezola această problemă : unul este cel graphic iar
altul este cel numeric. Din punctul de vedere al MATLAB-ului, varianta
grafică este mai convenabilă fiind mai apropiată de metoda folosită. În
primul rând să analizăm un bode-plot-ul. Pentru aceasta se formează un
fişier-m cu următorul cod (adică, set de declaraţii) :
num = 10;
den = [1.25,1];
bode(num, den)

datorită căruia rezultă figura 53 :


Sunt mai mulţi parametri ai
sistemului, ce pot fi citiţi direct din
acest bode-plot. În primul rând se
poate constata că bandwidth
frcquency este aproximativ de 10
[rad/s]. Apoi, că bandwidth
frecquency în mare, este ca
frecvenţa naturală (pentru sisteme de
ordinul 2 de acest tip), timpul
tranzitoriu este 1.8/BW = 1.8/10 =
1.8 [s]. Acesta este un calcul
Figura 53.- Bode-plot-ul pentru (37).
aproximativ, pentru că s-a specificat
57

că timpul de stabilizare trebuie să fie sub 2 [s].


Marja fazei pentru acest system este aproximativ 95 de grade. Acestea
corespund unei amortizǎri de PM/100 = 95/100 = 0.95. Relativ la aceste
valori, din ecuaţia legată de suprareglarea şi amortizarea (sau prin
consultarea unui plot pentru această ecuaţie), rezultă că amortizarea,
corespunzătoare acestei suprareglări, este aproximativ 1%. Deci sistemul
este aproape supraamortizat.
Ultimul detaliu major ce se poate remarca, este eroarea stabilizată. Eroarea
stabilizată poate fi citită direct, de asemenea, din bode-plot. Constanta (Kp,
Kv sau Ka) este localizată la intersecţia dintre asimptota frcvenţei cu linia w
= 1. De fapt, se extinde linia frecvenţei până la linia w = 1.Amplitudinea
acestui punct este constanta respectivă.
Apoi bode-plot-ul acestui sistem este o
linie orizontală (panta = 0), ceea ce
înseamnă ca sistemul este de tip zero.
În consecinţă, intersecţia este uşor de
găsit. Gain-ul este de 20 dB
(amplitudinea 10), ceea ce înseamnă că
constanta funcţiei de eroare este 10.
Deci eroarea stabilizată este 1/(1+Kp)
= 1/(1+10) = 0.091. Dacă sistemul dat
Figura 54.- Graficul unei variante de
este de tip unu, în loc de zero, atunci
ordinul 1. constanta pentru eroarea stabilizată se
găseşte similar cu modul următor :

Să verificăm predicţiile admise, prin observarea unui plot al răspunsului.


Aceasta se poate face prin adăugarea următoarelor linii în fereastra de
comandă a MATLAB-ului :

[numc,denc] = cloop(num,den,-1);
step(numc,denc)

care produc plot-ul următor- figura 55 :


Aşa cum se poate observa, predicţiile
anterioare au fost foarte bune. Sistemul are
un timp al procesului tranzitoriu de
aproximativ 2 secunde, amortizarea se
realizează la o eroare stabilizată de
aproximativ 9%. Acum, este nevoie de un
Figura 55.- Plotul rǎspunsului cerut.
regulator, care să ne asigure criteriile
58

impuse. Se propune un regulator PI în ideea unei erori stabilizate nule pentru


un pas de răspuns. De asemenea, un regulator PI posedă un zerou, ce se
poate plasa într-un punct anume, ceea ce ne poate conduce la o flexibilitate
suplimentară în legătură cu criteriile impuse. Definirea unui regulator PI se
poate realize prin funcţia :

K * s  a 
Gcs   . (38)
s
Primul element de care avem nevoie este amortizarea corespunzătoare
suprareglării de 40%. Folosind această valoare în relaţia dintre suprareglare
şi amortizare (sau se consultă un plot pentru această relaţie), se găseşte că
această amortizare, corespunzătoare suprareglării impuse, este de
aproximativ 0.28. În consecinţă, marja de fază trebuie să fie aproximativ 30
de grade. Din relaţia Ts*Wbw, rezultă ~ 21. Deci bandwidth frequency
trebuie să fie mai mare sau egală cu 12, dacă se doreste ca timpul de
stabilizare să fie mai mic de 1.75 [s], care asigură caracteristica tehnică
impusă.
Acum se cunoaşte deci marja fazei şi bandwidth frequency, respective se
poate aborda design-ul. Să ne reamintim că se urmăreşte bode-plot-ul buclei
închise şi deci bandwith frequency-ei trebue să corespundă unei frecvenţe
cu gain aproximativ de -7 dB.
Să observăm cum afectează regulatorul PI răspunsul sistemului. Pentru
aceasta se modifică fişierul-m prin adăugarea unui termen integrator, dar nici
un termen proporţional :
num = [10];
den = [1.25, 1];
numPI = [1];
denPI = [1 0];
newnum = conv(num,numPI);
newden = conv(den,denPI);
bode(newnum, newden,
logspace(0,2))

ceea ce produce următoarul plot -


figură 56.
Se poate observa că marja de fază şi
bandwidth frequency sunt prea mici.
Din aceste motive se va adăuga un
gain şi un zerou pentru fază. Se va
Figura 56.- Bode-plot-ul în cazul unui încerca amplasarea zero-ului în 1 şi să
regulator PI. vedem ce se întâmplă. Deci se
59

modifică, din nou, fişierul-m astfel :


den = [1.25, 1];
numPI = [1 1];
denPI = [1 0];
newnum = conv(num,numPI);
newden = conv(den,denPI);
bode(newnum, newden, logspace(0,2))

prin care se obţine figura 57 :

Se observă că un zerou în 1, cu un
gain unitar, produce un răspuns
satisfăcător. Marja fazei este mai
mare de 60 de grade, iar bandwidth
frequency este aproximativ de 11
[rad/s], ceea ce conduce la un răspuns
satisfăcător. Deşi satisfăcător, el nu
este totuşi cel mai bun. În consecinţă,
se va căuta o bandwidth frequency
mai ridicată, fără însă de a schimba
prea mult marja fazei. În această idee,
se va modifica gain-ul la 5 şi să
vedem ce se întâmplă. Deci se
Figura 57.- Bode-plot-ul modificat.
modifică gain-ul, iar faza rămâne
aceeaşi :
num = [10];
den = [1.25, 1];
numPI = 5*[1 1];
denPI = [1 0];
newnum = conv(num,numPI);
newden = conv(den,denPI);
bode(newnum, newden,
logspace(0,2))

respectiv se produce următoarul plot –


figura 58 :
La prima vedere s-ar părea că este bine.
Să observăm cu atenţie răspunsul şi să
verificăm rezultatetele sale. Se adaugă
încă 2 linii la fişierul-m :
Figura 58.- Noul Bode-plot cu gain-ul
modificat.
60

[clnum,clden] =cloop(newnum,newden,-1);
step(clnum,clden)

astfel încât se realizează plot-ul – figura 59 :

Aşa cum se poate observa,


răspunsul este chiar mai bun decât
am fi putut spera. În final deci este
vorba de jocul plasării polilor
şi/sau a zero-urilor, astfel încât să
se realizeze condiţiile impuse.
Dar acest tutorial continuă cu
pagini privind metoda Nyquist.

Figura 59.- Forma finalǎ a rǎspunsului.

D.3.- DIAGRAMELE NYQUIST.

D.3.1.- Diagramele Nyquist (Nyquist diagram).


Plot-ul Nyquist permite predicţia stabilităţii şi performanţa buclei închise a
sistemului prin observarea comportării buclei deschise corespunzătoare.
Criteriul Nyquist poate fi folosit pentru design-ul, indiferent de efectul
stabilităţii buclei deschise (să ne reamintim că metoda Bode, admite că bucla
închisă a sistemului este stabilă). În concluzie, acest criteriu se foloseşte
pentru determinarea stabilităţii în buclă închisă când un Bode-plot afişează
informaţii confuze. Următorul film poate ajuta la stabilirea raportului dintre
un Bode plot şi o diagramă Nyquist.

NOTĂ. Comanda nyquist a MATLAB-ului ne permite o reprezentare


adecvată a unui sistem ce posedă polii buclei deschise în sistemul de axe jw.
În concluzie, se sugerează să se copieze fişierul nyquist.m ca un nou fişier
„m”. Acest fişier formează un plot Nyquist de mare acurateţe, când sunt
daţi polii şi zero-urile în sistemul de axe jw.

O diagramă Nyquist este în mod fundamental o plotare a G(j*w), unde G(s)


este funcţia de transfer a buclei deschise, iar w este un vector al frecvenţelor
din întregul plan dreapta. La trasarea unei diagrame Nyquist se iau în
considerare frecvenţele positive şi negative (de la 0, la infinit). Frecvenţele
positive se reprezintă în roşu, iar frecvenţele negaţive în verde. Vectorul
61

frecvenţei folosit în plotarea unei diagrame Nyquist o înfăţişează complet


(dacă putem să ne imaginăm un plot extins de la “început”, la infinit) –
figura 60 :
Pentru a observa cum contribuie vectorul
frecvenţei la realizarea diagramei
Nyquist, se poate urmări filmul respectiv.
În principiu deci, dacă există poli sau
zerouri ale ale buclei închise plasaţi pe
axele jw, atunci G(s)-ul nu este definit în
Figura 60.- O prezentare de
diagramǎ Nyquist.
aceste puncte, respectiv trebuie realizată
o mică buclă în jurul lor când se
realizează plotarea conturului. Un astfel de contur se prezintă în plot-ul din
figura 61 :
De observat că contour loops (o buclă
de contur) formează o buclă mică ce
înconjoară un pol dispus pe axa jw. Aşa
cum s-a menţionat deja comanda
nyqust.m a MATLAB-ului nu ia în
considerare polii sau zero-urile dispuşi
Figura 61.- O altǎ prezentare a unei
diagrame Nyquist. pe axa jw, pentru a nu produce un plot
incorect. Pentru a corecta aceasta se
poate realize download-ul şi folosirea comenzii nyquist1.m. Dacă există un
pol în axa jw, atunci trebuie folosit nyquist1.m. Dacă nu există poli sau
zerouri în axa jw, sau dacă există pol-zero de anulare (pole-zero
cancellation) se poate folosi fie comanda nyquist.m sau comanda
nyquist1.m.
D.3.2.- Criteriul lui Cauchy.
Criteriul Cauchy (de analiză complexă - a funcţiilor complexe) declară că,
atunci când întâlneşte un contur închis într-un plan complex şi trebuie să
parcurgă o funcţie complexă G(s), numărul “încercuirilor” este egal cu
numărul zerourilor lui G(s) minus numărul polilor lui G(s). Încercuirile se
consideră pozitive dacă au acelaşi sens ca şi conturul închis original,
respectiv negative dacă sensurile sunt opuse. Când se studiază o reacţie
reglată, nu suntem interesati decât de G(s) ca funcţie de transfer a buclei
închise unitare :

G s 
. (39)
1  G s 
Dacă 1+ G(s) încercuieşte originea, atunci G(s) cuprinde punctul -1. Pentru
că suntem interesaţi de stabilitatea buclei închise, vrem să ştim dacă există
62

poli (adică, zerouri ale lui 1+G(s)) în semiplanul drept. Deci,


comportamentul diagramei Nyquist în jurul punctului -1 de pe axa reală
este foarte important, oricum însă axa diagramei nyquist standard poate să
arate cu exactitate ce se petrece în jurul acestui punct. Pentru a adăuga
eventual ceva în plus, se poate ataşa (şi folosi la nevoie) funcţia nyquist1.m
printre fişierele avute la dispoziţie. Comanda nyquist1.m plotează diagrame
Nyquist cu folosirea scalei logaritmice şi cu conservarea caracteristicilor
punctului -1.
Pentru a observa un plot Nyquist simplu, realizat prin folosirea MATLAB-
ului, se defineşte următoarea funcţie de transfer

0.5
, (40)
s  0.5

pentru care se foloseşte următoarea declaraţie :


nyquist (0.5,[1 -0.5])

respectiv se obţine plotul din figura 62 :


Acum să observăm diagrama Nyquist
pentru următoarea funcţie de transfer :

s2
. (41)
s2
A se nota că această funcţie de transfer
are un pol în origine (adicǎ, când s→0,
Figura 62.- Diagrama Nyquist pentru (40). f→∞). Se poate observa diferenţa în
ceea ce priveşte folosirea comenzilor : nyquist, nyquist1, respectiv
lnyquist1, pentru această funcţie particulară. Avem pe rând :
nyquist([1 2], [1 0 0])

Figura 63.- Folsirea comenzii nyquist


pentru reprzentarea diagramei Nyquist.
63

nyquist1([1 2], [1 0 0])

Figura 64.- Folosirea comenzii nyquist1 la


reprezentarea diagramei Nyquist.

lnyquist1([1 2], [1 0 0])

Figura 65.- Folosirea comenzii lnyquist1 la


Reprezentarea diagramei Nyquist.

Se observă că plotul realizat cu nyquist (figura 63) este incorect, plotul


realizat cu nyqust1 (figura 64) este corect, dar este greu de observat ceea ce
se petrece în jurul punctului -1, iar plotul realizat de lnuquist (figura 65)
este corect şi are o scalare convenabilă.
D.3.3.- Stabilitatea buclei închise.
Se consideră un sistem cu reacţia inversă negativă – figura 66:
Să ne reamintim din criteriul lui
Cauchy că numărul N al încercuirilor
lui -1 pentru G(s)H(s), este egal cu
numărul zero-urilor Z pentru
1+G(s)H(s), minus numărul polilor P
lui 1+G(s)H(s), (N = Z – P).
Figura 66.- Sistem cu reacţia inversǎ Pe de altǎ parte, luând în considerare,
neunitarǎ. cu atenţie, funcţiile de transfer ale
buclei închise şi deschise, de
asemenea, numărătoarele şi numitoarele lor, se pot remarca următoarele :

Zerourile pentru 1+G(s)H(s) sunt polii funcţiei de transfer ale buclei


închise;
64

Polii expresiei 1+G(s)H(s) sunt polii funcţiei de transfer a buclei


deschise.
Criteriul Nyquist stabileşte deci următoarele:

P = este numărul polilor buclei închise (instabile) ale expresiei


G(s)H(s);
N = este numărul tacturilor de diagrame Nyquist de încercuire ale lui -
1;
încercuirea lui -1 în sensul acelor de ceasornic, se consideră ca fiind o
încercuire pozitivă;
o încercuire în sens invers (antiorară) a lui -1, se consideră ca o
încercuire negativă;
Z = este numărul de semiplane dreapta (positive, reale) pentru polii
buclei închise a sistemului.
O ecuaţie foarte importantă, care leagă cei trei parametri, este :

Z = P + N. (42)

NOTĂ. Aceasta este numai o convenţie pentru criteriul Nyquist. O altă


convenţie o reprezintă felul cum un N pozitiv, este considerat în sensul
orar sau antiorar la încercuirea lui -1. Variabilele P şi Z rămân aceleaşi.
În acest caz ecuaţia devine Z = P – N. În cadrul acestui tutorial, se
consideră sens pozitiv, la încercuirea în sensul orar.

Este foarte important să se stabilească cum se calculează numărul N cu care


se înconjoară -1.
Ne putem imagina o altă variantă de precizare pentru “înconjurarea”
punctului -1. De exemplu, ne putem întreba : cum pot înconjura capul meu
cu un cerc complet de 360 de grade ?
Astfel, dacă mişcarea se realizează în sensul acelor ceasornicului, atunci N
se consideră pozitiv, dacă mişcarea se realizează antiorar, atunci N se
consideră negativ.
Cunoscând numărul polilor (P) pentru bucla deschisă, respectiv numărul de
încercuiri (N) ale lui -1, din cadrul diagramei Nyquist, se poate determina
stabilitate buclei închise a sistemului. Dacă Z = P + N este pozitiv, un număr
diferit de zero, atunci bucla închisă a sistemului este instabilă.
Se poate folosi, de asemenea, diagrama Nyquist pentru a determina gama
de gain-uri pentru ca bucla închisă cu reacţia unitară a sistemului să se
comporte stabil. Sistemul ce urmează să fie testat seamănă cu cel următor
(similar cu cel din figura 14) :
65

în care G(s) este :

s 2  10s  24
. (43)
s 2  8s  15

Acest sistem are un gain K ce poate varia pentru modificarea răspunsului


buclei închise a sistemului. Totuşi, se admite că acest gain poate fi modificat
în anumite limite pentru care dorim să fim siguri că bucla închisă a
sistemului se comportă stabil. Deci ceea ce se caută este : o gamă de gain-
uri, care face ca bucla închisă a sistemului să fie stabilă.
În primul rând este necesar să se găsească numerele positive ale polilor din
cadrul funcţiei de transfer a buclei deschise (adicǎ, se cautǎ rǎdǎcinile
numitorului expresiei din (43)), folosind comanda :
roots([1 -8 15])

ans =
5
3

Polii funcţiei de transfer ai buclei deschise sunt 2 numere pozitive. Deci,


sunt necesare 2 anti-orare (N = 2) încercuiri în diagrama Nyquist pentru a
avea o buclă inchisă a sistemului stabil (Z = P + N). Dacă numărul de
încercuiri este mai mic decât 2 sau încercuirile nu sunt anti-orare, atunci
sistemul va fi instabil.
Să observăm diagrama Nyquist pentru un gain = 1, folosind comanda :
nyquist(1*[ 1 10 24], [ 1 -8 15])

prin care se obţine plotul din figura 67:


66

Sunt 2 încercuiri anti-orare


pentru -1. Deci, sistemul este
stabil pentru un gain = 1. Acum
să vedem cum se comportă
sistemul pentru cazul unui gain
= 20 ; folosind comanda :
nyquist(20*[ 1 10 24], [
Figura 67.- Diagrama Nyquist cu gain-ul =1. 1 -8 15])

se obţine plotul din figura 68 :


Diagrama se lărgeşte. Deci,
acum se ştie că sistemul va fi
stabil la creşterea gain-ului. Şi
totusi, dacă gain-ul descreşte,
diagrama se restrânge, iar
sistemul poate deveni instabil.
Să observăm ceea ce se petrece
pentru un gain de 0.5 ; folosind
Figura 68.- Diagrama Nyquist cu gain-ul -20. comanda :
nyquist(0.5*[ 1 10 24], [ 1 -8 15])

se obţine plotul din figura 69 :


Sistemul este acum instabil. Se
constată că acest sistem devine
instabil pentru gain-uri mai mici
de 0.80. Se pot verifica
răspunsurile, făcând zoom-area
diagramei Nyquist al buclei
închise, pentru gain-uri de : 0.79,
Figura 69.- Reluarea diagramei Nyquist cu
0.80, respectiv 0.81.
gain-ul de 0.5. D.3.4.- Marja Gain-ului.
Marja gain-ului a fost definită
67

anterior şi aceasta nu va fi reluată acum. Acum se va încerca determinarea


sa. Înainte de toate, se spune că un sistem este stabil dacă el nu are încercuiri
Nyquist pentru -1, cum ar fi :

50
. (44)
s  9s  30s  40
3 2

Analizând rădăcinile, se observă că nu există poili ai buclei închise în


semiplanul drept şi deci nici un pol al buclei închise nu se va găsi în
semiplanul drept dacă nu se realizează încercuirea Nyquist pentru -1. Acum,
se pune problema : cât poate varia gain-ul înainte ca bucla închisă a
sistemului să devină instabilă ? Să observăm figura următoare :
Bucla deschisă a sis-
temului reprezentată
prin acest plot va deveni
instabilă în bucla
închisă dacă gin-ul va
depăşi o anumită limită.
Zona negativă a axei
reale între -1/a (definit
de punctual unde se
Figura 70.- Explicativǎ privind stabilirea limitelor gain-ului pen- produce defazajul de
tru stabilitatea sistemului.
180 de grade al fazei,
adică locul în care este
traversată axa reală) şi -1 reprezintă amonte-ul pentru care creşterea poate fi
tolerată înainte de a se produce instabilitatea buclei închise.
Dacă ne gândim puţin, atunci rezultă că gain-ul este egal cu a, acolo unde
diagrama atinge punctual -1, respectiv se poate nota :
G(jw) = -1/a = a*G(jw) = a* -1/a => a*G(jw) = -1

Deci, se poate spune că marja gain-ului reprezintă “a” unităţi. Totuşi,


anterior s-a menţionat că marja gain-ului se măsoară, în mod obişnuit, în
decibeli. De aici rezultă că marja gain-ului este :
GM = 20*log10(a) [dB]

Acum deci s-a găsit marja gain-ului pentru funcţia de transfer a buclei
deschise stabile prezentate anterior. Să rechemăm deci funcţia :
50
, (45)
s  9s  30 s  40
3 2

iar diagrama Nyquist poate fi realizatǎ prin tipărirea comenzii :


68

nyquist (50, [1 9 30 40 ])

Aşa cum s-a precizat


anterior, tot ceea ce est
nevoie pentru a găsi
marja gain-ului, este de
a găsi “a” care a fost
definit în cadrul figurii
precedente. Pentru a
realize aceasta, este
nevoie de a găsi punctul
Figura 71.- Diagrama Nyquist a buclei deschise stabile a în care apare exact
funcţiei din (45). decalajul de fază de 180
de grade. Se poate spune
că în acest punct funcţia de transfer este reală (nu are nici o componentă
imaginară). Numărătorul este deja real, deci este necesar să cercetăm
numitorul. Când se ia s = j*w, atunci singurii termeni ai numitorului ce ar
putea fi imaginari sunt cei ai puterilor impare ale lui s. Deci, pentru ca
G(j*w) să fie real, trebuie să avem:
-j w^3 + 30 j w = 0

pentru care w = 0 este mijlocul (acesta este punctul cel mai la dreapta din
diagrama Nyquist) pentru care w = sqrt(30). Deci se poate găsi valoarea lui
G(j*w) în acest punct folosind comanda polyval :
polyval(50,j*w)/polyval([1 9 30 40],j*w).

Răspunsul este : -0.2174 + 0i, adică partea imaginară este nulă, respectiv
răspunsul dat este correct, ceea ce se poate verifica observând încă odată
diagrama Nyquist. Acum se poate proceda la găsirea marjei gain-ului. Astfel
se găseşte că decalajul de 180 de grade se produce la -0.2174 + 0i. Acest
punct a fost definit anterior ca fiind -1/a. Deci acum îl avem pe “a”, care
este marja lui gain. În final, trebuie exprimată marja în decibeli, respective
avem :
-1/a = -0.2174 => a = 4.6 => GM = 20*log10( 4.6) = 13.26 dB

Acum există marja gain-ului şi se poate observa exact cum se poate folosi
gain-ul. Pentru un a = 4.6, plotul Nyquist se realizează cu comanda :
69

nyquist(a*50,[1 9 30 40])

iar figura apare astfel :


Plotul se pare că
traversează corect
punctul -1. Se poate
verifica corectitudinea
rezultatelor obţinute
prin vizionarea diagra-
melor Nyquist pentru
gain-urile : 4.5, 4.6,
respective 4.7.
D.3.5.- Marja fazei.
Figura 72.- Forma finalǎ a diagramei Nyquist.
Despre importanţa mar-
jei fazei s-a discutat deja în cel anterioare.
Marja de fapt s-a definit ca fiind modificare a decalajului de fază pentru
bucla deschisă, necesară ca bucla închisă a sistemului să devină instasbilă.
Să observăm deci definirea grafică a acestui concept.

Din exemplul anterior


se ştie că bucla închisă
a sistemului devenea
instabilă dacă diagrama
Nyquist înconjura
punctul -1. Deci trebuie
să se ţină seama că
dacă diagrama se
Figura 73.- Explicativǎ privind stabiirea marjei fazei.
modifică prin gradele
lui teta, atunci ea
trebuie să se „atingă”
(apropie) de punctual -1 al axei reale negative, făcând ca bucla închisă a
sistemului să fie la limită (marginal) stabilă. În consecinţă, unghiul necesar
pentru această situaţie se denumeşte marja de fază (măsurată în grade).
Pentru a găsi acest punct, se măsoară unghiul când se trasează un cerc de
raza 1, adică în cadrul diagramei Nyquist cu amplitudinea 1 (adică, un gain
de 0 dB) şi măsurând modificare de fază de care mai este nevoie, pentru a se
obţine un unghi de 180 de grade.
70

D.4.- Motorul de c.c. – reglarea vitezei.


D.4.1.- Introducere.
Pentru problema principală, ecuaţiile diferenţiale şi funcţia de transfer pentru
bucla închisă a motorului de c.c. – reglare de viteză, sunt :

(46)

iar schema sistemului apare astfel (similar cu figura 14) :

În legătură cu setup-ul acestei probleme şi alte aspecte privind ecuaţiile


anterioare, se poate apela la paginile legate de Modelarea unui motor de c.c.
Pentru un pas de input de 1 [rad/s], criteriile pentru această problemă sunt:
Timpul de stabilizare mai mic de 2 secunde;
Suprareglarea mai mică de 5 %;
Eroarea stabilizată mai mică de 1 %.
Se formează acum un fişier-m tipărind în el următoarele comenzi (preluate
pentru problema principală) :

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

D.4.2.- Trasarea Bode plot-ului original.


Ideea principală a design-ului bazat pe răspunsul în frecvenţă este folosirea
Bode-plot-ului funcţiei de transfer al buclei deschise pentru estimarea
71

răspunsului buclei închise. Prin adăugarea unui regulator la sistem se


produce modificarea Bode-plot-ului pentru bucla deschisă, ceea ce aduce
modificarea răspunsului buclei închise. Deci în primul rând vom trasa Bode-
plot-ul pentru funcţia de transfer al buclei deschise originale. Pentru aceasta
se adaugă la sfârşitul fşierului-m următorul cod şi apoi se realizează execuţia
fişierului într-o fereastră de comandă a MATLAB-ului :
bode(num,den)

Astfel apare următoarea diagramă Bode :

Figura 74.- Bode-plot-ul buclei deschise originale ale motorului de c.c.- reglarea
vitezei.

D.4.3.- Adăugarea unui gain proporţional.


Din bode-plot-ul anterior se observă că marja fazei poate fi mai mare decât
aproximativ 60 de grade, respecti w mai mic de 10 [rad/s]. Se adaugă atunci
un gain la sistem a cărei bandwidth să devină 10 [rad/s], care va conduce la
o marjă de fază de 60 de grade. Pentru a găsi un gain corespunzător, se pot
face observările corespunzătoare în Bode-plot-ul (el trebuie să fie mai mare
decât -40 dB sau 0.01 amplitudine). O comandă bode poate fi folosită pentru
a da valoarea exactă a amplitudini, aşa cum apare în cele următoare :
[mag,phase,w] = bode(num,den,10)
mag =
72

0.0139

Pentru a obţine un gain de la 1, la 10 [rad/s], se multiplică numărătorul cu


1/0.0139, adică aproximativ 72, respective se ia în considerare declaraţia :
.
num = 70*num

după care se reexecută fişierul, obţinându-se bode-plot-ul următor :

Figura 75.- Bode-plot-ul reexecutat.

D.4.4.- Plot-ul răspunsului buclei închise.


Din figura anterioară se vede că marja fazei este acum mare. Să vedem la ce
răspuns se ajunge al buclei închise. Se adaugă un % în rândul în care este
dispusă comanda bode (pentru a fi trecută în rândul comentariilor) şi se
adaugă următorul cod la sfârşitul fişierului-m :
[numc,denc]=cloop(num, den, -1);
t=0:0.01:10;
step(numc,denc,t)

Se obţine următorul plot :


73

Timpul de stabilizare este relative mic, dar suprareglarea şi eroarea


stabilizată sunt încă prea mari.
Suprareglarea poate fi redusă prin
reducerea gain-ului în vederea
obţinerii unei marje da fază
crescute, dar aceasta va cauza
creşterea erorii stabilizate. Atunci,
probabil că este necesar un
element de întârziere.
D.4.5.- Adăugarea unui regu-
lator de întârziere (decalaj).
Se poate adăuga un regulator de
Figura 76.- Un plot de rǎspuns intermediar. întârziere (de decalaj) pentru a
reduce eroarea stabilizată. În
acelaşi timp, trebuie redusă şi suprareglarea prin reducerea gain-ului. Se va
încerca reducerea gain-ului la 50, respective folosirea unui regulator de
decalaj, astfel :

, (47)

care ar urma să reducă eroarea stabilizată cu un factor de 1/0.01 = 100 (fapt


care însă poate duce la creşterea timpului de stabilizare !). Se revine deci la
fişierul-m, care se modifică astfel :
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
num=50*K;

z=1;
p=0.1;
numa=[1 z];
dena=[1 p];
numb=conv(num,numa);
denb=conv(den,dena);

bode(numb,denb)

Se reexecută fişierul şi se obţine plot-ul următor :


74

respectiv se adaugă declaraţiile următoare pentru obţinerea răspunsului cu un


regulator de decalaj :
[numc,denc]=cloop(numb, denb, -
1);
t=0:0.01:10;
step(numc,denc,t)

Figura 77.- Bode-plot-ul final.

Răspunsul apare astfel :

Figura 78.- Rǎspunsul final în frecvenţa al sistemului motor –reglare de vitezǎ.


75

Acum avem un răspuns, care satisface condiţiile impuse. Eroarea stabilizată


este mai mică de 1 %, suprareglarea este aproximativ de 5 %, iar timpul de
stabilizare este aproximativ de 2 secunde.

D.5.- Motorul de c.c. – reglarea poziţiei.


D.5.1.- Introducere.
Pemtru problema principală, ecuaţiile dinamicii şi funcţiile de transfer
respective sunt următoarele :

(48)

iar schema bloc a sistemului este (similarǎ cu cea din figura 14):

Pentru problema originală setup-ul, respectiv aspectele ce se derivă din


acestea, pot fi regăsite în paginile Modelării unui motor de c.c.
Pentru un pas de referinţă de 1 [rad/s], criteriile impuse sunt următoare :
Timpul de stabilizare mai mic de 40 milisecunde;
Suprareglarea mai mică de 16 %;
Eroarea stabilizată nulă;
Eroarea stabilizată la o perturbaţie nulă.
D.5.2.- Trasarea Bode plot-ului original.
Se formează acum un fişier în care se tipăresc comenzile (referitoare la
problema principală) următoare :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
76

Ideea principală a design-ului bazat pe răspunsul în frecvenţă este folosirea


Bode-plot-ului funcţiei de transfer al buclei deschise pentru estimarea
răspunsului buclei închise. Prin adăugarea unui regulator la sistem, se
produce modificarea Bode-plot-ului pentru bucla deschisă, ceea ce aduce
modificarea răspunsului buclei închise. Deci în primul rând vom trasa Bode-
plot-ul pentru funcţia de transfer al buclei deschise originale. Pentru aceasta
se adaugă la sfârşitul fşierului-m următorul cod şi apoi se realizează execuţia
fişierului într-o fereastră de comandă a MATLAB-ului :
w=logspace(0,4,101);
bode(num,den,w)

după care apare următorul bode-plot :

Figura 79.- Bode – plot-ul original.

D.5.3.- Adăugarea unui element integrator.


Acum se va încerca adăugarea unui integrator pentru a realize o eroare stabilizată nulă, în
răspunsul sistemului, la un pas dat de perturbaţie. Deci se adaugă următoarele linii în
cadrul fişierului-m :

numi=1;
deni=[1 0];
numiol=conv(num,numi);
77

deniol=conv(den,deni);
bode(numiol,deniol,w)

respectiv se realizează următorul plot :

Figura 80.- Bode – plot-ul obţinut dupǎ adǎugarea elementului


integrator.

D.5.4.- Gainul şi specificarea marjei fazei şi a regulatorului.


Se doreşte o suprareglare mai mică decât 16 % şi atunci trebuie determinată
o amortizare pentru o suprareglare de 16 %. De asemenea, marja de fază
corespunde la 100 unităţi de amortizare. Din necesarul timpului de
stabilizare se poate calcula bandwidth frequency necesară. În această idee,
se adaugă următoarele linii la fişierul-m dat :
zeta=-log(.16)/sqrt(pi^2+(log(.16))^2);
PM=100*zeta;
wbw=(4/(0.04*zeta))*sqrt((1-2*zeta^2)+sqrt(4*zeta^4-
4*zeta^2+2));

Se doreşte ca marja de fază să fie mai mică de 50 de grade, deci gain-ul


trebuie să se dispună undeva între -6 şi -7.5 dB, care să corespundă unei
frecvenţe de după 250 rad/s. Din bode-plot obţinut se poate observa că
trebuie adăugate aproximativ 80 de grade pentru fază şi 60 dB pentru gain la
o frecvenţă de 250 rad/s. Atunci plot-ul gain-ului va corespunde la -6 şi -7.5
78

dB, respectiv după o frecvenţă de 244 [rad/s]. Din plot-ul Bode fază, se
poate observa, că este un pol aproape de 60 [rad/s]. Atunci se poate folosi un
regulator de tip PI pentru a monta un zerou în s = 60, pentru a aplatisa curba
fazei, respectiv se adaugă liniile la fişierul-m dat :
numpi=[1 60];
denpi=[1 0];
numpiol=conv(numpi,num);
denpiol=conv(denpi,den);
bode(numpiol,denpiol,w)

după care se obţine următorul plot din figura 81 :

Figura 81.- Bode – plot-ul modificat.

Din Bode-plot-ul figurii 81 se poate observa că sunt necesare mai mult de 50


de grade pentru fază şi o frecvenţă de 250 de [rad/s]. Atunci, să mai
adăugăm următoarele linii la fişier :
a=(1 - sin(PM*pi/180))/(1 + sin(PM*pi/180));
T=1/(wbw*sqrt(a));
numpil = conv([1 60],[T 1]);
denpil = conv([1 0],[a*T 1]);
numpilol = conv(numpil,num);
denpilol = conv(denpil,den);
79

w = logspace(2,3,101);
bode(numpilol,denpilol,w)

după care se obţine figură 82:

Figura 82.- Un Bode – plot din nou modificat.

Acest nou Bode-plot arată că marja de fază este aprope corectă, dar gain-ul
este prea mic fiind aproximativ de 20 [dB]. Intersectarea gain-ului se
produce la aproximativ 240 [rad/s]. Creşterea gain-ului cu 20 [dB] se poate
realize prin multiplicare, deci se vor adăuga următoarele linii la fişierul dat :
kpid = 10;
bode(kpid*numpilol,denpilol,w)

după care rezultă figura 83 :

Figura 83.- Un nou Bode – plot modifcat.


80

Ar fi normal acum să vedem răspunsul buclei închise a sistemului şi în


această idee se mai adaugă următoarele linii la finalul fişierului de lucru :
[numpilcl,denpilcl] = cloop(kpid*numpilol,denpilol,-1);
t = 0:0.001:0.1;
step(numpilcl,denpilcl)

după care rezultă plotul rǎspunsului din figura 84:

Figura 84.- Rǎspunsul buclei închise a sistemului, dupǎ modificǎrile fǎcute.

Acum suprareglarea este prea mare, deşi timpul de stabilizare este mai bun
decât se anticipa. De asemenea, marja de fază este prea mare fiind în jur de
70 de grade. În vederea modificǎrilor ulterioare, se adaugă următoarele linii
la fişierul-m :
PM=70;
a=(1 - sin(PM*pi/180))/(1 + sin(PM*pi/180));
T=1/(wbw*sqrt(a));
numpil=conv([1 60],[T 1]);
denpil=conv([1 0],[a*T 1]);
numpilol=conv(numpil,num);
denpilol=conv(denpil,den);
w=logspace(2,3,101);
bode(numpilol,denpilol,w)

după care rezultă următorul plot Bode-plot-ul din figura 85 :


Acest bode-plot nou ilustrează ca marja de fază este bună fiind în jur de 250
[rad/s], dar gain-ul este prea mic fiind aproximativ 14 [dB]. Gain-ul trebuie
să realizeze crossing-ul (intersectarea) la circa 240 [rad/s]. Pentru aducerea
gain-ului la valori mai mari, se presupune realizarea multiplicării cu 5, iar
pentru aceasta se adaugă următoarele linii la fişierul-m :
81

Figura 85.- Bode –plot-ul nou dupǎ ultimile modificǎri fǎcute.


kpid = 5;
bode(kpid*numpilol,denpilol,w)

după care rezultă figura 86 cu un nou Bode-plot modifcat :

Figura 86.- Un nou Bode – plot modificat, dupǎ ultimele modificǎri.

Acum din nou să încercăm obţinerea răspunsului. Se adaugă următoarele


linii la fişierul-m :
[numpilcl,denpilcl] = cloop(kpid*numpilol,denpilol,-1);
t = 0:0.001:0.1;
step(numpilcl,denpilcl)
82

iar răspunsul este cel din figura 87 :

Figura 87.- O nouǎ variantǎ de rǎspuns a buclei închise a sistemului dupǎ


ultimele modificǎri efectuate.

Din figura răspunsului se poate observa că suprareglarea este fină, dar


timpul de stabilizare este prea lung. Atunci să încercăm mărirea bandwidth-
ului prin adăugarea următoarelor linii la fişierul-m :

wbw=300;
a=(1-sin(PM*pi/180))/(1+sin(PM*pi/180));
T=1/(wbw*sqrt(a));
numpil=conv([1 60],[T 1]);
denpil=conv([1 0],[a*T 1]);
numpilol=conv(numpil,num);
denpilol=conv(denpil,den);
w=logspace(2,3,101);
bode(numpilol,denpilol,w)

după care rezultă Bode-plot-ul din figura 88 :

Figura 88.- Un nou Bode – plot de încercare.


Acest bode-plot nou de încercare ilustrează că marja fazei este aproape
corectă la frecvenţa de 250 [rad/s], dar gain-ul este încă prea mic, la 18 [dB].
83

Crossing-ul gain-ului trebuie să se producă la 240 [rad/s] şi aceasta se poate


realize printr-o multiplicare cu 8, făcându-se adăugarea următoarelor linii la
fişierul-m :
kpid=8;
bode(kpid*numpilol,denpilol,w);

după care rezultă Bode-plot-ul de încercare din figura 89 :

Figura 89.- Un nou Bode – plot de încercare.

Se verifică din nou răspunsul sistemului prin adăugarea următoarelor linii la


fişierul-m dat :
numpilcl,denpilcl]=cloop(kpid*numpilol,denpilol,-1);
t=0:0.001:0.1;
step(numpilcl,denpilcl)

Figura 90.- Un nou rǎspuns al buclei închise a sistemului, dupǎ modificǎrile din urmǎ.
după care se obţine imaginea răspunsului ca în figura 90:
Acum toate par bune. Suprareglarea este mai mică de 16 %, iar timpul de
stabilizare este aproximativ 40 de milisecunde.
84

NOTĂ. Aşa cum se poate remarca, metoda răspunsului în frecvenţă pentru


această problemă particulară, necesită o triere substanţială a diverselor erori
la execuţie, legate mai ales de condiţiile impuse. De aici, un număr mai mare
de modificări ce au trebuit să survină (fǎrǎ a putea fi „automatizat” oarecum
sistemul de cǎutare al soluţiei finale). Fişierul-m dat în continuare este
versiunea simplificată a ceea ce s-a operat anterior. Dacă se execută acest
fişier se vor obţine, de fapt, ultimele 2 ploturi anterioare :
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
PM=70;
wbw=300;
a=(1-sin(PM*pi/180))/(1+sin(PM*pi/180));
T=1/(wbw*sqrt(a));
numpil=conv([1 60],[T 1]);
denpil=conv([1 0],[a*T 1]);
numpilol=conv(numpil,num);
denpilol=conv(denpil,den);
kpid=8;
w=logspace(2,3,101);
bode(kpid*numpilol,denpilol,w)

figure

[numpilcl,denpilcl]=cloop(kpid*numpilol,denpilol,-1);
t=0:0.001:0.1;
step(numpilcl,denpilcl)

PROBLEMA CONTROLULUI DEPLASĂRII.


În cele urmǎtoare se va considera problema controlului deplasǎrii, care se va
soluţiona prin 2 metode :
metoda locului geometric al rǎdǎcinilor;
metoda rǎspunsului în frecvenţǎ.
A.- Metoda locului geometric al rǎdǎcinilor.
Funcţia de transfer a buclei deschise pentru aceastǎ problemǎ este :

, (49)
în care avem :
85

 m=1000;
 b=50;
 U(s)=10;
 Y(s)=este semnalul de output al vitezei.

Criteriile pentru aceastǎ problemǎ sunt :


--- timpul de accelerare < 5 [s];
--- suprareglarea < 10 %;
--- eroarea egimului stabilizat < 2 %.
A.1.- Regulatorul (controller) proporţional.
Din tutorialul locului geometric rezultǎ cǎ plot-ul locului geometric
ilustreazǎ toate locaţiile posibile ale polilor buclei închise când un gain se
modificǎ de la zero, la infinit. Deci numai un regulator proporţional se poate
lua în considerare pentru rezolvarea acestei probleme. Funcţia de transfer a
buclei închise, având în vedere forma din (49), este :

. (50)
Atunci, din tutorialul locului geometric se cunoaşte cǎ în cadrul MATLAB-
ului se poate chema funcţia sgrid pentru a gǎsi o regiune acceptabilǎ a
locului geometric. Dar pentru folosirea funcţiei sgrid trebuie determinate în
primul rând rata amortismentului (zeta) şi frecvenţa naturalǎ (Wn).
Urmǎtoarele 2 ecuaţii se pot folosi pentru determinarea parametrilor
menţionaţi :

, (51)

în care avem :

--- Wn = frecvenţa naturalǎ;


--- zeta = rata amortizǎrii;
--- Tr = timpul de accelerare;
--- Mp = suprareglarea maximǎ.
Unul din criteriile problemei date este timpul de accelerare, care trebuie sǎ
fie mai mic de 5 [s], atunci din prima ecuaţie (51) rezultǎ cǎ frecvenţa
naturalǎ trebuie sǎ fie mai mare de 0.36. Folosind ecuaţia a 2-a din (51), se
86

vede cǎ rata de amortizare trebuie sǎ fie mai mare de 0.6, astfel încât
suprareglarea sǎ fie mai micǎ de 10 %.
Acum se poate genera plot-ul locului geometric, respectiv se poate folosi
sgrid pentru gǎsirea unei regiuni acceptabile pentru rǎdǎcinile locului
geometric. Mai întâi se formeazǎ un fişier-m în care se introduc comenzile :
hold off;
m = 1000;
b = 50;
u = 10;
numo=[1];
deno=[m b];

figure
hold;
axis([-0.6 0 -0.6 0.6]);
rlocus (numo,deno)
sgrid(0.6, 0.36)
[Kp, poles]=rlocfind(numo,deno)

figure
hold;
numc=[Kp];
denc=[m (b+Kp)];
t=0:0.1:20;
step (u*numc,denc,t)
axis ([0 20 0 10])
Dupǎ execuţia acestui fişier se obţine plotul locului geometric din figura 91.
Douǎ linii punctate trasate sub un unghi
indicǎ amplasamentele ratelor de amortizare
constante (zeta = 0.6); rata de amortizare
este mai mare de 0.6 între liniile respective
şi mai micǎ de 0.6 în exteriorul liniilor.
Semielipsa precizeazǎ amplasamentele
pentru frecvenţa naturala constantǎ (Wn =
0.36); frecvenţa naturalǎ mai mare de 0.36
se gǎseşte în afara elipsei, respectiv mai
micǎ în interiorul elipsei.
Dacǎ se analizeazǎ fereastra de lucru a
Figura 91.- Plotul locului geometric.
MATLAB-ului, atunci trebuie gǎsit un
punct pentru o rǎdǎcinǎ a locului geometric.
Pentru gǎsirea unui punct între dreptele punctate (zeta > 0.6) şi exteriorul
semielipsei (Wn > 0.36), atunci se aplicǎ un click pe axa realǎ, în exteriorul
semielipsei (în jurul punctului -0.4).
87

Trebuie evaluat gain-ul (Kp) şi locaţia polului în cadrul ferestrei de lucru a


MATLAB-ului. De asemenea, trebuie observat rǎspunsul buclei închise
similare celei din figura 92.

Cu gain-ul Kp specificat (dacǎ el se


determinǎ corect), timpul de accelerare şi
suprareglarea se regǎsesc corect, dar
eroarea pentru regimul stabilizat rǎmâne
mai mare de 10%.
A.2.- Regualtor de întârziere (lag
controller).
Pentru a reduce eroarea regimului sta-
bilizat se adaugǎ un regulator de decalaj
(lag controller). Funcţia de transfer a unui
astfel de regulator poate fi notata sub
Figura 92.- Rǎspunsul buclei înc-
hise cu regulatorul proproţional. forma :

, (52)
atunci funcţia de transfer a buclei deschise (fǎrǎ includerea lui Kp), în acest
caz apare astfel :

, (53)
iar funcţia de transfer a buclei închise se defineşte prin relaţia :

. (54)
Dacǎ se parcurge secţiunea „Lag or Phase-Lag Compensator using Root-
Locus” din Lead and Lag Compensator, atunci se va observa cǎ polul şi
zeroul unui unui regulator de decalaj (întârziere) trebuie amplasate în
apropiere. În acest fel, eroarea regimului stabilizat se va reduce prin factorul
Zo/Po. Din aceste motive, se va considera Zo = -0.3, iar Po = 0.03.
Se formeazǎ un fişier-m nou în care se produc comenzile :
hold off;
m = 1000;
b = 50;
u = 10;
Zo=0.3;
Po=0.03;
numo=[1 Zo];
deno=[m b+m*Po b*Po];
88

figure
hold;
axis ([-0.6 0 -0.4 0.4])
rlocus(numo,deno)
sgrid(0.6,0.36)
[Kp, poles]=rlocfind(numo,deno)

figure
t=0:0.1:20;
numc=[Kp Kp*Zo];
denc=[m b+m*Po+Kp b*Po+Kp*Zo];
axis ([0 20 0 12])
step (u*numc,denc,t)
Dupǎ execuţia acestui fişier-m se obţine un plot al locului geometric ca cel
din figura 93. În fereastra de lucru a MATLAB-ului trebuie precizat un
punct în cadrul locului geometric. În mod
iterativ, se va aplica un click pe axa realǎ în
jurul punctului -0.4, atunci se obţine
rǎspunsul conform cu figura 94.

Figura 93.- Plotul locului geometric


cu cu lag controller.

Aşa cum se poate observa, e-


roarea regimului stabilizat este
redusǎ aproape la zero. Depǎ-
şirea suprareglǎrii este adusǎ şi
ea la zero cu ajutorul lag con- Figura 94.- Plot-ul rǎspunsului sistemului cu
Lag controller.
troller-ului. Acum toate crite-
riile sunt îndeplinite şi nici o iteraţie suplimentarǎ nu mai este necesarǎ.

B.- Metoda rǎspunsului în frecvenţǎ.


Funcţia de transfer a buclei deschise a acestei probleme este :

, (55)
în care avem :
89

 m = 1000;
 b = 50;
 U(s) = 10;
 Y(s) = este output-ul vitezei.

Criteriile pentru aceastroblemǎ sunt :


--- timpul de accelerare < 5 [s];
--- suprareglarea < 10 %;
--- eroarea regimului stabilizat < 2 %.

B.1.- Bode-plot-ul şi rǎspunsul buclei deschise.


Prima etapǎ în rezolvarea acestei probleme, care foloseşte metoda
rǎspunsului în frecvenţǎ, este aceea de a determina ce funcţie de transfer a
buclei deschise se foloseşte. Cu predilecţie pentru metoda locului geometric
al rǎdǎcinilor, se va folosi numai un regulator proporţional pentru rezolvarea
acestei probleme. Diagrama de blocuri pentru bucla deschisǎ apare atunci ca
în figura 95, iar funcţia de transfer apare sub forma :

. (56)
În primul rând, pentru
folosirea unui Bode-plot,
Figura 95.- Diagrama de blocuri pentru bucla deschisǎ. rǎspunsul buclei deschise
trebuie sǎ fie stabil. Iniţial
vom lǎsa Kp egal cu 1, ca sǎ vedem cum apare rǎspunsul buclei deschise.
Astfel, se formeazǎ un fişier-m nou în care se introduc comenzile :
m = 1000;
b = 50;
u = 500;
Kp=1;

numo=[Kp];
deno=[m b];

step (u*numo,deno)

Dupǎ execuţia acestui fişier-m se obţine


plotul de rǎspuns ca în figura 96.
Aşa cum se poate observa, bucla deschisǎ
Figura 96.- Rǎspunsul buclei deschise. a sistemului este stabilǎ; deci se poate
genera un Bode-plot. Se modificǎ
fişierul-m prin ştergerea comenzii step şi înlocuirea cu comanda urmǎtoare :
90

bode(numo,deno)

Execuţia noului fişier-m produce Bode-plot-ul din figura 97.

B.2.- Regulator proporţional.


Acum se pot determina câteva
caracteristici ale sistemului. Apelând la
Root-Locus Tutorial, se pote menţiona
cǎ bandwidth frequency (BW)
(frecvenţa gain-ului M(dB) = -6 ~ -7.5
dB) este egalǎ în mod grosier cu
frecvenţa naturalǎ (Wn). Deci folosind
relaţia :

Figura 97.- Bode-plot-ul pt. bucla deschisǎ.


(57)
,
timpul de accelerare (Tr) pentru sistemul dat poate fi determinat pe un
domeniu destul de larg, astfel încât gain-ul sǎ nu atingǎ valorile : -6 ~ -7.5
dB. Mai mult, conform cu Root-Locus Tutorial, rata amortizǎrii poate fi
consideratǎ în mod grosier egalǎ cu marja fazei (în grade) împǎrţitǎ cu 100,
adicǎ :

. (58)
Şi pentru cǎ marja fazei noastre este aproximativ 155 de grade, atunci rata
amortizǎrii este 1.55. Deci, acum se ştie cǎ sistemul este supraamortizat
(pentru cǎ rata anortizǎrii este mult mai mare decât 1). În final, eroarea
regimului stabilizat poate fi gǎsitǎ din urmǎtoarele ecuaţii :

. (59)
Pentru sistemul dat, pentru cǎ gain-ul frecvenţelor joase este aproximativ 35
dB, atunci eroarea regimulu stabilizat trebuie sǎ fie 98%. Acest lucru se
poate confirmaprin generarea unor rǎspunsuri la semnale tip treaptǎ a buclei
închise.
Când în cadrul unui Bode-plot, gain-ul se modificǎ în cadrul bandwidth
frequency, atunci timpul de accelerare şi eroarea regimului stabilizat se
amelioreazǎ. Aceasta se poate realiza prin creşterea gain-urilor de
proporţionalitate (Kp). Se creşte gain-ul de proporţionalitate (Kp), sǎ zicem
la 100 şi sǎ vedem ce se întâmplǎ. Se modificǎ fişierul-m astfel :
91

m = 1000;
b = 50;
u = 10;
Kp=100;

numo=[Kp];
deno=[m b];

bode(numo,deno)

Figura 98.- Rǎspunsul buclei Prin execuţia acestui fişier-m se obţine Bode-
închise a sistemului.
plot-ul din figura 99.

Acum gain-ul frecvenţelor


joase este aproximatv 6
[dB] pentru care se prevede
o eroare a regimului
stabilizat de 33%.
Bandwidth frequency este
aproximativ 0.1 [rad/s],
ceea ce corespunde unu
timp de accelerare de 18 [s].
Sǎ aruncǎm o privire asupra
Figura 99.- Bode-plot-ul de încercare cu Kp = 100. rǎspunsului buclei închise,
conform cu figura 100, pentru confirmarea
acestora.
Aşa cum s-a prevǎzut, eroarea regimului
stabilizat şi timpul de accelerare s-a
ameliorat. Vom ridica valoarea gain-ului de
proporţionalitae şi sǎ observǎm ce se
întâmplǎ. Fişierul-m se modificǎ aşa cum se
aratǎ în continuare, dupǎ care se obţine
Bode-plot-ul din figura 101.
Figura 100.- Rǎspunsul buclei m = 1000;
închise, la K=100. b = 50;
u = 10;
Kp=100;
numo=[Kp/b];
deno=[m/b 1];
bode(numo,deno)
92

Acum gainul frecvenţelor joase este


aproximativ 20 [dB], ceea ce presupune
o eroare a regimului stabilizat de 9 %, iar
bandwidth frequency este în jur de 0.6
ceea ce resupune un timp de accelerare
de 3 [s] (în limitele valorii necesare!).
Deci, eroarea regimului stabilizat şi
timpul de accelerare sunt tot mai
ameliorate. Încǎ odatǎ sǎ confirmǎm
aceasta prin generarea rǎspunsului buclei
Figura 101.- Noul Bode-plot de încercare.
închise, ceea ce este redat în figura 102.

Se poate observa cǎ eroarea regimului


stabilizat a atins în final valoarea necesarǎ
prin creşterea gain-ului de propor-
ţionalitate. Totuşi, deşi eroare regimului
stabilizat a atins valoarea necesarǎ, timpul
de acelerare a devenit prea mic (nerealist
pentru un sistem fizic real). Deci, vom lǎsa
Kp aşa cum este şi vom implementa un
Figura 102.- Rǎspunsul buclei regulator de întârziere (ag controller)
închise, la K = 600. pentru a putea regla problema erorii
regimului stabilizat.

B.3.- Lag controller.


Dacǎ se aruncǎ o privire în secţiunea "Lag or Phase-Lag Compensator
using Frequency Response", atunci se va putea constata cǎ un regulator de
decalaj (întârziere) aduce gain-ul frecvenţelor joase astfel încât bandwidth
frequency sǎ se suprapunǎ aproximativ peste acestea. Tocmai aceastǎ este
ceea ce este necesar acum : gainul cel mai mare al frecvenţelor joase reduce
eroarea regimului stabilizat şi pǎstreazǎ aceeaşi bandwidth frequency
pentru a menţine timpul de accelerare necesar. Funcţia de transfer pentru un
lag controller este datǎ în (60) :

. (60)
Acum este necesar sǎ gǎsim o valoare pentru a şi T. Conform cu "Lag or
Phase-Lag Compensator using Frequency Response", eroarea regimului
stabilizat se va diminua cu un factor a. Valoarea lui T trebuie cǎutatǎ astfel
încât 2 frecvenţe corner (corner frequencies) sǎ nu devinǎ prea apropiate şi
sǎ ducǎ la un proces tranzitoriu înrǎutǎţit. Se admite deci a = 0.05 şi T = 700
93

şi sǎ observǎm ce se întâmplǎ. Se stabileşte un astfel de fişier-m şi se


executǎ în MATLAB :
m = 1000;
b = 50;
u = 10;
Kp=600;

numo=[Kp/b];
deno=[m/b 1];

a = 0.05;
T=700;
numlag = [a*T 1];
denlag = a*[T 1];
newnum = conv(numo,numlag);
newden = conv(deno,denlag);

bode(newnum,newden)
figure
[numc,denc]=cloop(newnum,newden);
step (u*numc,denc)

Se obţine Bode-plot-ul din figura 103.


Odatǎ cu cu creşterea gain-ului frecvenţelor joase şi menţinerea bandwidth
frequency, eroarea regimului stabilizat se reduce, iar timpul de accelerare
rǎmâne aproximativ acelaşi.Aceasta se
poate confirma prin generarea unui rǎspuns
al buclei închise, aşa cum se prezintǎ în
figura 104.

Figura 103.- Bode-plot-ul de încercare


cu lag controller (a=0.05 şi T=700, vezi
relaţia (60)).
Figura 104.- Rǎspunsul buclei închise în cazul
Se poate observa din figura 104 folosirii unui lag controller.
cǎ timpul de stabilizare este
prea lung totuşi şi pentru a regla acest lucru se admite Kp = 1500; acest gain
este stabilit prin trierea erorilor şi nu se reproduce aici pentru a nu lungi prea
94

mult expunerea. Cu aceastǎ modificare fǎcutǎ urmeazǎ Bode-plot-ul


corespunzǎtor şi rǎspunsul buclei în acest caz.

Figura 106.- Ultima variantǎ de rǎspuns al


Figura 105.- Ultima variantǎ de Bode-plot. buclei închise.

Aşa cum se poate observa cǎ în ultima variantǎ, suprareglarea este practic


nulǎ, eroarea regimului stabilizat este aprope nulǎ, timpul de accelerare este
aproximativ 2 [s], iar timpul stabilizǎrii este practic egal cu 3.5 [s]. Acum
sistemul îndeplineşte toate condiţiile prestablite şi nu mai necesarǎ nici o
iteraţie.

În continuare se prezintǎ doar sub forma tutorialǎ o altǎ formǎ de analizǎ,


denumitǎ Digital Control.

Digital Control Tutorial


Comenzile specifice MATLAB folosite în cadru acestui tutorial sunt: c2dm
pzmap zgrid dstep stairs rlocus .
NOTĂ. Comenzile MATLAB folosite în cadrul acestui tutorial (ca şi în cele
precedente) sunt subliniate cu roşu.

1.- Introducere.
În figura urmǎtoare se ilustreazǎ un sistem de reacţie continuu tipic, care va
fi luat în considerare în cadrul acestui tutorial. Aproape toate regulatoarele
continui pot fi realizate prin folosirea electronicii analogice.
95

Regulatorul continuu (continuous controller) inclus în patratul punctat


poate fi înlocuit cu un
regulator numeric,
prezentat în figura
urmǎtoare, astfel încât sǎ
se execute aceleaşi
comenzi ca şi cu
regulatorul continuu.
Diferenţa de bazǎ dintre
cele 2 regulatoare constǎ
Figura 107.- Un sistem de reacţie continuu tipic ce va fi în faptul cǎ sistemul
luat în evidenţǎ, în continuare. numeric opereazǎ mai
ales cu semnale discrete
(sau semnale dirijate/orientate) decât cu semnale continui.

Figura 108.- Variantǎ de sistem cu reacţie, cu regulator numeric (digital controller).


Tipuri diferite de semnale în varianta numericǎ pot fi reprezentate ca în
figura 109.
Obiectivul acestui Digital
Control Tutorial este acela de a
arǎta cum se lucrazǎ cu funcţiile
discrete în cadrul funcţiilor de
transfer sau în forma spaţiului
stǎrilor pentru conservarea
sistemelor de control digital.
2.- Zero-oerder hold equi-
Figura 109.- Tipuri diferite de semnale în varianta valence.
numericǎ. În cadrul schemei anterioare a
sistemului cu control digital, se
96

observǎ cǎ sistemul cu control digital are 2 porţiuni : una discretǎ, respectiv


una continuǎ. Când se proiecteazǎ un sistem de control digital, atunci este
nevoie sǎ gǎsim echivalentul discret al porţiunii continui, în condiţiile în
care se opereaza apoi numai cu funcţii discrete.
Pentru aceasta, se considerǎ porţiunea urmǎtoare a sistemului de control
digital şi apoi rearanjatǎ corespunzǎtor, dupǎ cum urmeazǎ în figura 110.

Figura 110.- Explicativa privind un sistem de control digital şi felul cum o anumitǎ porţiune
a sa este rearanjatǎ mai convenabil.

Ceasul (Clock) aplicǎ convertoarelor D/A şi A/D câte un puls la fiecare T


secunde şi fiecare D/A şi A/D emite numai un semnal când pulsul apare.
Înainte de apariţia acestui semnal este necesar ca Hzoh(z) sǎ posede un
eşantion de lucru u(k) pentru a produce un esantion de output y(k); deci
Hzoh(z) poate fi privitǎ (consideratǎ) ca o funcţie discretǎ.
Filosofia proiectǎrii unui astfel de sistem este urmǎtoare. Noi dorim sǎ gǎsim
o funcţie discretǎ Hzoh(z), care pe porţiuni date de intrǎri constante ale unui
sistem continuu H(s), la eşantioane de output ale sistemului continuu sǎ
producǎ output-uri discrete. Sǎ admitem cǎ u(k) este un eşantion al
semnalului de input. Existǎ mai multe tehnici de a prelua acest eşantion u(k)
97

şi a-l menţine astfel, pentru a produce un semnal continuu uhat(t). În figura


111 se aratǎ cum uhat(t) se menţine constant la „nivelul” lui u(k) în
intervalul de la kT, la (k+1)T. Aceastǎ operaţiune de a menţine uhat(t)
constant de-a lungul eşantionului de timp dat, se denumeşte zero-order
hold.
Zero-order-ul ţine semnalul uhat(t)
pânǎ ce acesta traverseazǎ H2(s) şi A/D
produce semnalul de output y(k), tot la
fel cum semnalul continuu u(t)
traverseazǎ H(s) pentru a produce
semnalul de output continuu y(t).
În figura 112 acest lucru se prezintǎ
foarte sugestiv în cele 2 „planuri” :
Acum se va redesena schema, plasând
Hzoh(z) în locul porţiunii continui.
Figura 111.- Explicativa privind tehnica
tehnica zero-order hold.

Figura 112.- Explicativa sugestivǎ de formarea Zero-order-ului.

Figura 113.- Reconsiderarea schemei iniţiale, conform cu explica-


ţiile anterioare.

Prin plasarea lui Hzoh(z), se poate proiecta sistemul digital ca un sistem ce


opereazǎ numai cu funcţii discrete.
98

NOTĂ. Este sigur cǎ un rǎspuns discret nu egaleazǎ rǎspunsul continuu,


atunci când este nevoie ca unui circuit sǎ i se implementeazǎ un sistem de
control digital. Pentru o informare suplimentarǎ se poate consulta Lagging
effect associated with the hold.
3.- Conversia prin folosirea c2dm.
Existǎ în MATLAB o funcţie denumitǎ c2dm, care converteşte un sistem
continuu (fie în forma funcţiei de transfer sau a spaţiului de stǎri) într-un
sistem discret folosind operaţiunea zero-order hold prezentatǎ anterior.
Comenzile de bazǎ pentru aceastǎ funcţie c2dm sunt cele urmǎtoare :
[numDz,denDz] = c2dm (num,den,Ts,'zoh')
[F,G,H,J] = c2dm (A,B,C,D,Ts,'zoh')

Eşantionul de timp (Ts în [s/eşant.]) trebuie sǎ fie mai mic decât 1/(30*BW),
în care BW este bandwidth frequency buclei închise.

3.1. Funcţia de transfer.


Sǎ admitem urmǎtoarea funcţie de transfer continuǎ :

(61)
în care avem :

 M = 1 kg
 b = 10 N.s/m
 k = 20 N/m
 F(s) = 1

Se admite cǎ bandwidth frequency buclei închise este mult mai mare de 1


[rad/s], atunci se va stabili un timp de eşantionare (Ts) egal cu 1/100 [s].
Acum se formeazǎ un nou fişier-m cu urmǎtoarele comenzi :
M=1;
b=10;
k=20;

num=[1];
den=[M b k];

Ts=1/100;
[numDz,denDz]=c2dm(num,den,Ts,'zoh')
99

Prin execuţia acestui fişier se obţin urmǎtoarele matrici numDz şi denDz :


numDz =

1.0e-04 *

0 0.4837 0.4678

denDz =

1.0000 -1.9029 0.9048

Cu ajutorul acestor matrici, funcţia de transfer discretǎ se poate nota astfel :

. (62)
NOTĂ. Numǎrǎtorul şi numitorul matricilor se prezintǎ sub forma puterilor
descrescǎtoare ale lui z. Pentru informaţie suplimentarǎ se poate consulta
MATLAB reprezentation.
Acum deci (62) reprezintǎ funcţia de transfer în forma discretǎ.

3.2. Spaţiul stǎrilor.


Sǎ adimetem cǎ existǎ urmatorul model sub forma spaiului stǎrilor continui :

(63)
Toate constantele sunt ca şi altǎdatǎ.
Urmatorul fişier converteşte sistemul spaţiului stǎrilor continui, în spaţiul
stǎrilor discrete :
M=1;
b=10;
k=20;

A=[0 1;
-k/M -b/M];

B=[ 0;
1/M];
100

C=[1 0];

D=[0];

Ts=1/100;
[F,G,H,J] = c2dm (A,B,C,D,Ts,'zoh')

Se formeazǎ un fişier nou în care se copiazǎ comenzile anterioare; se


executǎ acest fişier în MATLAB şi se obţin urmǎtoarele matrici :
F =

0.9990 0.0095
-0.1903 0.9039

G =

0.0000
0.0095

H =

1 0

J =

Cu aceste matrici, spaţiul stǎrilor discret se poate scrie astfel :

(64)
Acum avem modelul discret al spaţiului stǎrilor.
NOTĂ. Pentru informaţie suplimentarǎ privind spaţiul stǎrilor discret se
poate consulta Discrete Stae-Space.
4.- Rǎspunsul stabilizat şi tranzitoriu.
Pentru sisteme continui, se ştie cǎ diverse rezultate se obţin prin amplasarea
diferitǎ a polilor în planul s. De exemplu, un sistem este instabil când polii
sunt localizaţi la dreata axei imaginare. Pentru sisteme discrete,
comportamentul sistemului se poate analiza prin analiza amplasǎrii polilor în
101

planul z (z-plane). Caracteristicile în planul z se pot afla într-un raport cu


cele din planul s cu ajutorul expresiei :

, (65)
în care :

 T = este eşantionul de timp (sec/eşantion);


 s = locaţia în planul s;
 z = locaţia în planul z.

Figura 114 prezintǎ liniile cu rata de amortizare constante (zeta) şi frecvenţa


naturalǎ (Wn) din planul s, în planul z, prin folosirea expresiei din (65).

Figura 114.- Transpunerea din planul s, jn planul z, conform cu relaţia (65).

Se poate remarca cǎ în cadrul z-plan-ului, limita de stabilitate numai este


axa imaginarǎ, ci un cerc unitar |z| = 1. Sistemul este stabil când toţi poli
sunt dispuşi în interiorul cercului unitar şi este instabil când toţi poli se
dispun în afara cercului unitar.
Pentru analiza regimului tranzitoriu prin amplasarea polilor în z-plan-ul,
urmǎtoarele 3 ecuaţii, folosite în conceptul sistemului continuu sunt încǎ
aplicabile :
102

(66)
în care :

 zeta = este rata de amortizare;


 Wn = este frecvenţa naturalǎ, în [rad/sec];
 Ts = timpul de stabilizare;
 Tr = timpul de accelerare;
 Mp = suprareglarea maximǎ.

Important. Frecvenţa naturalǎ (Wn) în planul z are unitatea în


[rad/esant.], în timp ce prin folosirea ecuaţiilor anterioare din (66), Wn
trebuie considerat în [rad/s].

Sǎ admitem cǎ avem urmǎtoarea funcţie de tranfer discretǎ :

(67)

Se formeazǎ nou fişier-m cu comenzile


ce urmeazǎ; se executǎ acest fişier şi se
obţine plot-ul liniilor cu ratǎ consatnt
amortizare şi a frecvenţei naturale ca în
figura 115 :
numDz=[1];
denDz=[1 -0.3 0.5];

pzmap(numDz,denDz)
axis([-1 1 -1 1])
Figura 115.- z-planul pentru (65).
zgrid

Din acest plot se poate remarca cǎ polii sunt localizaţi aproximativ la


frecvenţa naturalǎ de 9pi/20T [rad/sample], iar rata de amortizare este 0.25.
103

Sǎ admitem cǎ timpul de eşantionare este 1/20 [s] (ceea ce corespunde la


Wn = 28.2 [rad/s]) şi se folosesc cele 3 ecuaţii prezentate anterior în (66),
atunci se poate determina cǎ acest sistem are nevoie de un timp de accelerare
de 0.06 [s], de un timp de stabilizare de 0.65 [s], respectiv de o suprarglare
de 45 % (cu 0.45 mai mult decât valoarea regimului stabilizat). Dacǎ se
genereazǎ rǎspunsul la input-ul treaptǎ, se poate observa dacǎ acestea sunt
corecte. Pentru aceasta se adaugǎ urmǎtoarele comenzi la fişierul precedent
şi se realizeazǎ execuţia acestuia, atunci se obţine rǎspunsul ca în figura 116.
[x] = dstep (numDz,denDz,51);
t = 0:0.05:2.5;
stairs (t,x)
Aşa cum se poate vedea din figura 116
timpul de accelerare, timpul de
stabilizare şi suprareglarea au ieşit cum
ne aşteptam. Mai este de specificat cǎ se
poate folosi locaţia polilor şi cele 3
ecuaţii din (66) pentru analiza sistemului
tranzitoriu al sistemului.
În vederea unei analize mai aprofundate
privind locaţia polilor şi regimul
tranzitoriu, se poate consulta Transient
Figura 116.- Rǎspunsul de tip stairstep Response.
pentru (67).

5.- Discret Root-Locus.


Root-Locus-ul este locul punctelor în care rǎdǎcinile ecuaţiilor caracteristice
pot avea un singur gain variabil între zero şi infinit. Ecuaţia caracteristicǎ a
sistemului, cu reacţia unitarǎ, este :
, (68)
în care G(z) este un compensator amplasat în cadrul regulatorului digital, iar
Hzoh(z) este funcţia de tranfer discretǎ a obiectului reglat.
Mecanismul de tragere a locului rǎdǎcinii (root-loci) este acelaşi în z-plan
ca şi în s-plan. Reluând Root-Locus Tutorial, pentru varianta continuǎ, se
poate folosi funcţia MATLAB denumitǎ sgrid pentru a gǎsi zona rǎdǎcinilor
locului geometric, care conduc la un gain convenabi (K). Pentru o analizǎ în
cazul root-locus discret, se foloseşte funcţia zgrid, care posedǎ aceleaşi
caracteristici precum funcţia sgrid. O comandǎ zgrid(zeta, Wn) traseazǎ
liniile cu rata de amortizare constantǎ (zeta), respectiv frecvenţǎ naturalǎ
(Wn).
Sǎ admitem cǎ existǎ o funcţie de transfer discretǎ :
104

(69)
şi este necesar sǎ existe o ratǎ de amortizare mai mare de 0.6, respectiv o
frecvenţǎ naturalǎ mai mare de 0.4 [rad/sample] (acestea se pot determina cu
ajutorul impunerilor/necesitǎţilor de proiectare şi celor 3 ecuaţii din (66)).
Urmǎtoarele comenzi pot realiza trasarea liniilor de ratǎ constant de
amortizare, respectiv a frecvenţei naturale. Aşa dar, se formeazǎ un nou
fişier-m în care se introduc comenzile; se executǎ acest fişierul şi în acest fel
se obţine plot root-locus-ul, ca în figura 117.
numDz=[1 -0.3];
denDz=[1 -1.6 0.7];

rlocus (numDz,denDz)
axis ([-1 1 -1 1])

zeta=0.4;
Wn=0.3;
zgrid (zeta,Wn)

Din aceastǎ figurǎ rezultǎ cǎ sistemul


este stabil pentru cǎ toţi poli sunt loclizaţi
în interiorul cercului unitar. De
asemenea, se observǎ 2 linii punctate
pentru rata de amortizare constantǎ şi
frecvenţa naturalǎ. Frecvenţa naturalǎ
este mai mare de 0.3 la exteriorul liniei
constante-Wn, iar rata de amortizare este
mai mare de 0.4 pentru interiorul liniei
zeta constant. În cadrul acestui exemplu,
Figura 117.- Root-Locus discret obţinut cu
ajutorul funcţiei zgrid(zeta, Wn). rǎdǎcinile locului geometric sunt „trase”
în zona necesarǎ. Deci, un gain (K)
stabilit într-un punct din zona necesarǎ, va conduce la obţinerea unui rǎspuns
satisfǎcǎtor, conform cu exigenţele impuse.
105

BIBLIOGRAFIA
generalǎ a cursului.

1. I. Dumitrescu, D. Georgescu, B. Siro, ş. a., Acţionarea electrică a instalaţiilor de foraj,


Editura tehnică, Bucureşti, 1987.
2. Arpad Kelemen, Acţionari electrice, E. D. P., Bucureşti, 1978.
3. Gh. Tunsoiu, E. Seracin, C. Şaal, Acţionări electrice, E.D.P., Bucureşti, 1982.
4. M. Braşovan ş. a., Acţionări electrice – aplicaţii industriale, Ed. tehnică, Bucureşti,
1977.
5. N. Boţan, Bazele calculului acţionărilor electrice
6. V. V. Moskalenko, Avtomatizirovanyi elektroprivod, Energoatomizdat, Moskva, 1986.
7. M. G. Cilikin, ş. a., Teorija avtomatizirovannogo elektroprivoda, Energhija, Moskva,
1979.
8. B. Siro, Maşini şi acţionări electrice, vol.II, Centrul de multiplicare I.P.G., Ploieşti
1985.
9. E. Seracin, D. Popovici, Tehnica acţionărilor electrice, Ed. tehnică, Bucureşti, 1985.
10. I. Dumitrescu, Automatizarea instalaţiilor petroliere din schele, Centrul de
multiplicare I.P.G., Ploieşti, 1976.
11. St. Dumitrescu, Electronică industrială şi automatizări, E.D.P., Bucureşti, 1983.
12. D. Mihoc, S. St. Iliescu, Teoria si elementele sistemelor de reglare automată, E.D.P.,
Bucureşti, 1985.
13. E.A. Jasughin, Teoprija lineinyh nepreryvnyh sistem avtomaticeskogo upravlenija v
voprosah i otvetah, Vyşeijşaja şkola, Minsk, 1986.
14. Al. Fransua, R. Măgureanu, M. Tocaci, Maşini şi acţionări electrice.Culegere de
probleme, E.D.P., Bucureşti, 1980.
15. N. Petre, P. Chiţu-Militaru, Extracţia ţiţeiului prin pompaj cu prăjini, Ed. tehnică,
Bucureşti, 1986.
16. Ion Matlac, Convertoare electroenergetice, Ed. Facla, Timişoara, 1987.
17. Dimitrie Alexa, Dan Micu, Invertoare şi redresoare cu parametri energetici ridicaţi,
Ed. tehnică, Bucureşti, 1986.
18. N.V. Boţan, ş. a., Regimurile economice ale sistemelor de acţionare electrică, Ed.
tehnică, Bucureşti, 1985.
19. I.P. Kopylov, Elektreiceschie maşiny, Energoatomizdat, Moskva, 1986.
20. I.P. Kopylov, Matematiceskoe modelirovanie elektricescvhih maşin, Vysşaja şkola,
Moskva, 1987.
21. I. Dumitrescu, ş. a., Instalaţiile electrice din schelele petroliere, Ed. tehnică,
Bucureşti, 1988.
22. L.M. Perşina, ş. a., Primenenie elektrodvigatelei v neftijanoj promyşlennosti, Nedra,
Moskva, 1980.
23. V.A. Besekerskij, E.D. Popov, Teorija sistem avtomaticeskogo regulirovanija,
moskva, 1966.
24. R. Morar, ş. a., Electrotehnică şi maşini electrice.Lucrări practice, I.P. Cluj-Napoca,
1985.
25. St. Dumitrescu, ş. a., Aparate de măsurat şi automatizări în petrol şi petrochimie,
E.D.P., Bucureşti, 1983.
106

26. N.A. Livşiţ, V.N. Pugacev, Verojatnostnyi analiz sistem avtomaticeskogo


upravlenija, Sovetskoe radio, Moskva, 1963.

CUPRINSUL
Prefaţa
Cap. 0 INTRODUCERE 5
1. Generalităţi privind acţionările electrice 5
2. Elemente introductive privind acţionările automatizate 6
3. Funcţiile acţionărilor electrice şi unele clasificări ale acestora 8
Cap.1 PROBLEMELE GENERALE ALE ACŢIONĂRILOR ELECTRICE 10
1.1. Elemente de cinematică a SAE 10
1.1.1. Schemele cinematice şi raportarea unor mărimi mecanice 10
1.1.2. Schemele de calcul 12
1.1.3. Generalizarea schemelor de calcul 13
1.2. Introducere în dinamica acţionărilor electrice 14
1.2.1. Ecuaţia mişcării. Clasificarea momentelor şi a regimurilor de lucru 14
1.2.2. Elemente ale sistemelor de reglare automată 18
1.2.3. Schemele structurale şi funcţiile de transfer pentru partea mecanică a acţionărilor electrice 24
1.2.4. Regimurile stabilizate ale părţii mecanice a acţionării electrice 27
1.2.5. Introducere la procesele tranzitorii ale unei acţionări electrice 31
1.2.6. Sarcinile dinamice ale AEM 35
1.3. Proprietăţile elementelor SAE 37
1.3.1. Serviciile şi regimurile motoarelor electrice (ME) şi ale maşinilor de lucru (ML) 37
1.3.2. Caracteristicile mecanice ale maşinilor de lucru (ML) 41
1.3.3. Caracteristicile mecanice ale motoarelor electrice (ME) 42
1.3.3.1. Generalităţi privind caracteristicile mecanice ale ME 42
1.3.3.2. Introducere în stabilitatea SAE 44
1.3.3.3. Caracteristica mecanică naturală a ME de c.c. cu excitaţia separată 46
1.3.3.4. Caracteristicile mecanice artificiale ale motorului de c.c. cu excitaţia separată 49
1.3.3.5. Caracteristicile mecanice ale motorului de c.c. cu excitaţia derivaţie 51
1.3.3.6. Caracteristicule mecanice ale motorului de c.c. cu excitaţia serie 52
1.3.3.7. Caracteristicile mecanice ale motorului de c.c. cu excitaţia compund 55
1.3.3.8. Caracteristica mecanică naturală a motorului asincron MA 57
1.3.3.9. Caracteristicile mecanice artificiale ale motorului asincron MA 60
1.3.3.10. Dubla alimentare a motorului asincron MA 65
1.3.3.11. Caracteristicule mecanice ale motorului sincron MS 67
1.4. Transmisia mişcării de la ME la ML 68
1.4.1. Alegerea transmisiei 68
1.4.2. Alegerea raportului de transmisie 69
1.4.3. Influenţa erorilor cinematice din transmisiile SAE 72
1.4.4. Influenţa jocurilor din transmisiile SAE 73
1.4.5. Cuplajele electromagnetice 75
Cap. 2. PORNIREA, FRÂNAREA ŞI MODIFICAREA VITEZEI MOTOARELOR ELECTRICE
2.1. Pornirea motoarelor electrice 79
2.1.1. Pornirea motoarelor de c.c. 79
2.1.1.1. Generalităţi privind pornirea motoarelor de c.c. 79
2.1.1.2. Determinarea rezistenţelor de pornire la ME de c.c. cu excitaţia derivaţie (separată) 80
2.1.1.3. Determinarea rezistenţelor de pornire la ME de c.c. cu excitaţia serie şi compund 83
107

2.1.1.4. Pornirea motoarelor de c.c. prin modificarea tensiunii de alimentare 85


2.1.2. Pornirea motoarelor asincrone MA 86
2.1.2.1. Pornirea MA cu rotorul în scurtcircuit 86
2.1.2.1.1. Pornirea directă 86
2.1.2.1.2. Pornirea cu comutatorul Y /  a MA 87
2.1.2.1.3. Pornirea cu autotransformatorul a MA 88
2.1.2.1.4. Pornirea cu impedanţe înseriate în circuitul statoric al MA 89
2.1.2.1.5. Pornirea prin modificarea continuă a tensiunii de alimentare 90
2.1.2.1.6. Pornirea cu ajutorul unui motor auxiliar 90
2.1.2.2. Pornirea MA cu inele 91
2.1.2.2.1. Pornirea în trepte de rezistenţă a MA cu inele 91
2.1.2.2.2. Calculul rezistenţelor de pornire la MA cu inele 93
2.1.2.2.3. Pornirea MA cu inele cu bobine de reactanţă 97
2.2. Frânarea cu maşinile electrice 99
2.2.1. Frânarea cu maşina de c.c. 99
2.2.1.1. Frânarea în regim de generator cu recuperarea energiei 99
2.2.1.2. Frânarea dinamică 101
2.2.1.3. Frânarea propriu-zisă cu inversarea sensului de rotaţie 104
2.2.1.4. Frânarea în contracurent 105
2.2.2. Frânarea cu maşini asincrone 106
2.2.2.1. Frânarea suprasincronă cu maşina asincronă 106
2.2.2.2. Frânarea propriu-zisă cu maşina asincronă 107
2.2.2.3. Frânarea dinamică cu maşina asincronă 108
2.2.2.4. Unele frânări speciale cu maşina asincronă 111
2.2.2.4.1. Frânarea prin alimentarea asimetrică 111
2.2.2.4.2. Alimentarea monofazată (Siemens) a maşinii asincrone 112
2.2.2.4.3. Frânarea prin inversarea alimentării unei faze 113
2.2.2.4.4. Frânarea cu doi curenţi 114
2.2.3. Frânarea cu maşina sincrona 115
2.3. Modificarea vitezei motoarelor electrice 116
2.3.1. Modificarea vitezei la motoarele de c.c. 116
2.3.1.1. Modificarea vitezei prin modificarea rezistenţei totale rotorice 117
2.3.1.2. Modificarea vitezeinprin modificarea tensiunii de alimentare 120
2.3.1.3. Modificarea vitezei prin slăbirea fluxului de excitaţie 122
2.3.2. Modificarea vitezei la motoarele asincrone 123
2.3.2.1. Modificarea vitezei prin modificarea numărului perechilor de poli 124
2.3.2.2. Modificarea vitezei prin modificarea rezistenţei rotorice 126
2.3.2.3. Modificarea vitezei prin modificarea tensiunii de alimentare 127
2.3.2.4. Modificarea vitezei prin alimentarea cu un sistem nesimetric de tensiuni 130
2.3.2.5. Modificarea vitezei prin schimbarea frecvenţei tenasiunii de alimentare 131
2.3.3. Modificarea vitezei la motoarele sincrone 133
Cap. 3. PROPRIETĂŢILE DINAMICE ALE SISTEMELOR DE ACŢIONARE ELECTROMECĂ
3.1. Ecuaţiile convertorului electromecanic de energie 135
3.2. Proprietăţile dinamice ale SAE cu maşini de c.c. 137
3.2.1. Caracteristicile dinamice ale motoarelor de c.c. cu excitaţia separată 137
3.2.2. Caracteristicile dinamice ale motorului de c.c. cu excitaţia serie 141
3.2.3. Proprietăţile dinamice ale SAE cu unele motoare de c.c. 146
3.3. Proprietăţile dinamice ale SAE cu maşini asincrone 149
3.3.1. Caracteristicile dinamice ale motorului asincron 149
3.3.2. Proprietăţile dinamice ale SAE cu motoare asincrone 153
3.3.3. Modelul generalizat al acţionărilor electromecanice 154
3.4. Proprietăţile dinamice ale SAE cu motoare sincrone 155
3.5. Regimurile dinamice ale SAE cu motoare de c.c. cu excitaţia separată 157
3.6. Procesele tranzitorii la SAE 160
3.6.1. Generalităţi privind procese tranzitorii 160
3.6.2. Unele procese tranzitorii de tip mecanic 161
108

3.6.2.1. Cazul M , M r , J  const 161


3.6.2.2. Cazul M  a  b; M r , J  const 162
3.6.2.3. Cazul M  a  b, M r  k; J  const 164
3.6.2.4. Cazul M  a  b, M r  ; J  const 165
3.6.2.5. Procesul tranzitoriu la pornirea în trepte a SAE 167
3.6.2.6. Procese tranzitorii la frânarea în contracurent şi cea dinamică a SAE 169
3.6.3. Procese tranzitorii de tip electromecanic la SAE 173
3.6.3.1. Procese tranzitorii la SAE cu caracteristica mecanică liniară şi o variaţie în treaptă a comenzii
sau a perturbaţiei 173
3.6.3.2. Procese tranzitorii electromecanice la SAE cu caracteristica mecanică liniară şi variaţia liniară a
comenzii 176
3.6.3.3. Procese tranzitorii de pornire la un SAE cu caracteristica mecanică liniară şi comanda variabilă
liniar 178
3.6.3.4. Regimul dinamic al unui SAE cu motor de c.c. cu excitaţia separată şi cu comanda pe excitaţie
180
3.6.3.5. Procese tranzitorii la SAE cu MA cu rotorul în scurtcircuit 182
3.6.3.6. Procese tranzitorii la SAE cu motoare sincrone MS 187
Cap. 4. ALEGEREA MOTOARELOR ELECTRICE ŞI FOLOSIREA ACESTORA ÎN UNELE
SCHEME ÎN SISTEM DESCHIS 191
4.1. Alegerea motoarelor electrice 191
4.1.1. Criteriile de alegere a motoarelor electrice 191
4.1.2. Alegerea motoarelor pentru SAE la care sarcina este invariabilă şi de durată 192
4.1.3. Determinarea pierderilor echivalente la SAE cu sarcina de durată şi variabilă 193
4.1.4. Metodele de determinare a puterii motorului pentru SAE cu sarcina de durată şi variabilă 195
4.1.5. Alegerea motoarelor pentru SAE cu funcţionare intermitentă (S3) 196
4.1.6. Alegerea motoarelor pentru SAE cu funcţionare de scurtă durată 199
4.1.7. Alegerea motoarelor pentru SAE cu sarcina pulsatorie 199
4.1.8. Alegerea motoarelor pentru SAE ce funcţionează cu şocuri de sarcină 201
4.1.9. Alegerea motoarelor la SAE la care temperatura mediului diferă de cea prevăzută în prospectul
motorului 203
4.2. Folosirea motoarelor electrice în unele scheme în sistem deschis 204
4.2.1. Generalităţi privind comanda acţionărilor electrice 204
4.2.2. Unele condiţii ce se impun schemelor de comandă automată 205
4.2.3. Unele segmente funcţionale ale schemelor electrice 206
4.2.4. Modalităţile de pornire în trepte a motoarelor electrice 212
4.2.5. Pornirea automată în trepte a ME în funcţie de viteză (tura®ie) 213
4.2.6. Pornirea automată în trepte a ME în funcţie de curent 214
4.2.7. Pornirea automată în trepte a ME în funcţie de timp 215
4.2.8. Unele scheme automate în sistem deschis ale acţionărilor electrice 216
4.2.8.1. Schema pentru o acţionare de c.c. reversibilă şi cu pornirea în trepte 216
4.2.8.2. Schema pentru o acţionare reversibilă cu MA, cu pornirea în trepte şi frânarea în
contracurent 218
4.2.8.3. Schema pentru o acţionare reversibilă cu MA, cu pornirea Prin înserierea reactanţelor şi
frânarea dinamică 220
4.2.8.4. Alte scheme în sistem deschis pentru acţionari cu MA 222
4.2.8.5. Schema pentru pornirea automată în asincron a unui motor sincron 224
4.3. Unele aspecte deosebite pentru acţionările electrice 225
4.3.1. Acţionarile electrice în mediul exploziv 225
4.3.2. Electrosecuritatea în cadrul instalaţiilor de acţionare electrică 227
Cap. 5. ASPECTE PRIVIND REGLAREA COORDONATELOR LA MAŞINILE ELECTRICE
5.1. Generalităţi privind reglarea coordonatelor 231
5.2. Introducere în sistemele convertor comandat – motor electri (CC –ME) 234
5.3. Generalităţi privind structura instalaţiilor de acţionare electrică 238
5.4. Caracteristicile de frecvenţă ale unui SRA pentru SAE 239
109

5.5 Legi de reglare tip 244


5.6. Caracteristticile de frecvenţă ale unor elemente de reglare 249
5.7. Generalităţi privind structura regulatoarelor 252
5.8. Unele tipuri uzuale de regulatoare 256
5.9. Unele criterii de acordare ale regulatoarelor 260
5.9.1. Criteriul modulului 260
5.9.2. Criteriul simetriei 267
5.10. Unele scheme structurale tip pentru reglare unei coordonate 269
5.11. Introducere în sisteme automate multivariabile 271
Cap. 6. O INTRODUCERE ÎN SIMULAREA ACŢIONARILOR ELECTRICE CU MOTOARE
ASINCRONE CU ROTORUL ÎN SCURTCIRCUIT.
Parte I-a Aspecte introductive.
1.1.- De ce simularea ?
1.2.- Posibilitǎţile realizǎrii simulǎrii.
1.3.- Câte ceva despre MATLAB şi derivatele sale.
1.4.- Despre Simulink.
1.4.1.- Ce este Simulink-ul ?
1.4.2.- Sǎ construim un model simplu !
1.4.3.- Încǎ ceva important pentru operare în Simulink.
1.5.- Câte ceva despre SimPowerSystems.
1.6.- Ce reprezinta MAPLE ?
1.7.- Ce se poate realiza cu LabVIEW ?
Întrebǎri recapitulative (ajutǎtoare) pentru partea I-a

Parte II-a Despre maşinile de inducţie şi convertoarele pentru alimentarea lor.


2.- Despre modele matematice ale maşinilor de inducţie.
2.1.- Ce ipoteze de lucru se admit ?
2.2.- Ecuaţiile maşinilor de inducţie exprimate cu ajutorul fazorilor spaţiali.
2.3.- Unele particularizǎri ale sistemului de coordonate (d-q).
3.- Noţiuni de bazǎ ale convertoarelor pentru alimentarea maşinilor de inducţie.
3.1.- Unele clasificǎri şi definiţii.
3.2.- Despre invertoare.
3.2.1.- Invertoare de curent.
3.2.2.- Invertoare de tensiune (VIS – Voltage Sourced Inverters).
3.2.3.- Invertoare cu comutaţia forţatǎ.
Întrebǎri recapitulative (ajutǎtoare) pentru partea II-a.

Partea III-a Unele principii ale simulǎrii electroacţionǎrilor cu maşini de inducţie.


4.- Sistemele de reglare ale acţionǎrilor cu motoare de inducţie, alimentate cu tensiunea cu fecvenţa
variabilǎ.
4.1.- Sursele nesinusoidale de alimentare ale motorului asincron cu rotorul în scurtcircuit.
4.1.1.- Folosirea invertoarelor de tensiune(VSI – PWM).
4.1.2.- Folosirea invertoarelor de curent.
4.2.- Principiul reglǎrii cu orientare dupǎ câmp a maşinii asincrone.
4.3.- Invertorul de tensiune PWM ca element de bazǎ al controlului curentului motorului asincron.
4.4.- Sisteme de reglare vectorialǎ aplicatǎ la acţionǎrile cu motoare asincrone.
5.- Exemplu pentru un sistem de acţionare de c.a.
5.1.- Obţinerea modelului AC4 din biblioteca Electric Drives.
5.2.- Conectarea modelului AC4 la o sursǎ de tensiune (Voltage Source).
5.3.- Conectarea modelului AC4 la o sarcinǎ mecanicǎ.
5.4.- Definirea Set Point-ului.
5.5.- Vizualizarea semnalelor interne.
5.6.- Setarea fixed-step-ului pentru mediul de simulare.
5.7.- Setarea parametrilor acţionǎrii pe varianta de „putere mare” a motorului.
5.8.- Setarea inerţiei motorului.
5.9.- Setarea valorii rezistenţei chopper-ului de frânare.
110

5.10.- Setarea valorii tensiunii iniţiale ale magistralei DC.


5.11.- Setarea parametrilor regulatorului blocului AC4.
5.12.- Rezultatele simulǎrii.
Întrebǎrile recapitulative (ajutǎtore) pentru parte III-a.
6.- Alte concepţii şi idei despre unele acţionǎri electromecanice.
6.1.- Electroacţionǎri sensorless.
6.2.- Alte câeva idei noi.
Doar o încheiere oarecare ! . . . (la cap.6)
Bibliografia pentru capitolul 6 (separatǎ de bibliografia generalǎ a cursului)

Anexele cursului (apare ca un capitol separat, fǎrǎ predare, doar pentru documentare separatǎ):
--- exerciţii funcţionale de tip SPS (SimPowerSystems) în MATLAB v7.0
--- supliment cu unele aplicaţii în MATLAB.
BIBLIOGRAFIA generalǎ a cursului.

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