ra_proiectarea si implementarea regulatoarelor. exemple

22
193 Lucrarea 13 Proiectarea şi implementarea regulatoarelor. Exemple Conţinut 1. Scopul lucrării ................................................................................................ 194 2. Exemple de proiectare a unor sisteme de reglare automată ........................ 194 2.1. Controlul vitezei unui motor de curent continuu – SRA cu timp continuu 194 2.1.1. Cerinţe ......................................................................................... 194 2.1.2. Obţinerea modelului matematic .................................................. 195 2.1.3. Proiectarea regulatorului analogic .............................................. 197 2.1.4. Implementarea sistemului de reglare analogic ........................... 204 2.2. Controlul poziţiei unui motor de curent continuu – SRA cu timp discret 206 2.2.1. Cerinţe ......................................................................................... 206 2.2.2. Obţinerea modelului matematic .................................................. 206 2.2.3. Proiectarea regulatorului numeric ............................................... 206 2.2.4. Implementarea regulatoarelor numerice ..................................... 213 Lista de figuri Figura 13.1 Schema bloc a motorului de curent continuu cu magneţi permanenţi ...................................................................................................................... 196 Figura 13.2 Evoluţia comparativă a procesului real de ordin II şi a celui simplificat de ordin I ....................................................................................................... 197 Figura 13.3 Schema bloc a sistemului de reglare a vitezei maşinii de curent continuu ......................................................................................................... 198 Figura 13.4 Tipul semnalelor sistemului de reglare a vitezei maşinii de curent continuu ......................................................................................................... 198 Figura 13.5 Reglarea vitezei unui motor de c.c. cu un regulator PI analogic ....... 201 Figura 13.6 Regulator PI analogic cu limitarea comenzii ...................................... 202 Figura 13.7 Motor de curent continuu cu viteza mărime de ieşire ........................ 202 Figura 13.8 Viteza motorului la o referinţă treaptă de 240 rad/s. După 25ms apare un cuplu de sarcină de ms=20mNm. ............................................................ 202 Figura 13.9 Curentul motorului la o referinţă treaptă de 240 rad/s. După 25ms apare un cuplu de sarcină de ms=20mNm. .................................................. 203 Figura 13.10 Ieşirea regulatorului la o referinţă treaptă de 240 rad/s. După 25ms apare un cuplu de sarcină de ms=20mNm. .................................................. 203 Figura 13.11 Schema de implementare a sistemului reglare ............................... 204 Figura 13.12 Tipul semnalelor sistemului de reglare a poziţiei maşinii de curent continuu ......................................................................................................... 207 Figura 13.13 Reglarea poziţiei unui motor de c.c. cu un regulator PID discret .... 210

Upload: victorinne

Post on 17-Feb-2015

65 views

Category:

Documents


1 download

DESCRIPTION

Laborator - Proiectarea şi implementarea regulatoarelor. Aplicatii rezolvate

TRANSCRIPT

Page 1: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

193

Lucrarea 13

Proiectarea şi implementarea regulatoarelor. Exemple

Con ţinut 1. Scopul lucrării ................................................................................................ 194 2. Exemple de proiectare a unor sisteme de reglare automată ........................ 194

2.1. Controlul vitezei unui motor de curent continuu – SRA cu timp continuu 194

2.1.1. Cerinţe ......................................................................................... 194 2.1.2. Obţinerea modelului matematic .................................................. 195 2.1.3. Proiectarea regulatorului analogic .............................................. 197 2.1.4. Implementarea sistemului de reglare analogic ........................... 204

2.2. Controlul poziţiei unui motor de curent continuu – SRA cu timp discret 206

2.2.1. Cerinţe ......................................................................................... 206 2.2.2. Obţinerea modelului matematic .................................................. 206 2.2.3. Proiectarea regulatorului numeric ............................................... 206 2.2.4. Implementarea regulatoarelor numerice ..................................... 213

Lista de figuri Figura 13.1 Schema bloc a motorului de curent continuu cu magneţi permanenţi

...................................................................................................................... 196 Figura 13.2 Evoluţia comparativă a procesului real de ordin II şi a celui simplificat

de ordin I ....................................................................................................... 197 Figura 13.3 Schema bloc a sistemului de reglare a vitezei maşinii de curent

continuu ......................................................................................................... 198 Figura 13.4 Tipul semnalelor sistemului de reglare a vitezei maşinii de curent

continuu ......................................................................................................... 198 Figura 13.5 Reglarea vitezei unui motor de c.c. cu un regulator PI analogic ....... 201 Figura 13.6 Regulator PI analogic cu limitarea comenzii ...................................... 202 Figura 13.7 Motor de curent continuu cu viteza mărime de ieşire ........................ 202 Figura 13.8 Viteza motorului la o referinţă treaptă de 240 rad/s. După 25ms apare

un cuplu de sarcină de ms=20mNm. ............................................................ 202 Figura 13.9 Curentul motorului la o referinţă treaptă de 240 rad/s. După 25ms

apare un cuplu de sarcină de ms=20mNm. .................................................. 203 Figura 13.10 Ieşirea regulatorului la o referinţă treaptă de 240 rad/s. După 25ms

apare un cuplu de sarcină de ms=20mNm. .................................................. 203 Figura 13.11 Schema de implementare a sistemului reglare ............................... 204 Figura 13.12 Tipul semnalelor sistemului de reglare a poziţiei maşinii de curent

continuu ......................................................................................................... 207 Figura 13.13 Reglarea poziţiei unui motor de c.c. cu un regulator PID discret .... 210

Page 2: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

194

Figura 13.14 Regulator PID discret cu limitarea comenzii .................................... 211 Figura 13.15 Motor de curent continuu cu poziţia mărime de ieşire ..................... 211 Figura 13.16 Poziţia motorului la o referinţă treaptă de 3 rad. După 25ms apare un

cuplu de sarcină de ms=50mNm. ................................................................. 211 Figura 13.17 Curentul motorului la o referinţă treaptă de 3 rad. După 25ms apare

un cuplu de sarcină de ms=50mNm. ............................................................ 212 Figura 13.18 Ieşirea regulatorului la o referinţă treaptă de 3 rad. După 25ms apare

un cuplu de sarcină de ms=50mNm. ............................................................ 212 Figura 13.19 Structura programului principal pentru un sistem numeric de control

...................................................................................................................... 214

1. Scopul lucr ării Lucrarea urmăreşte:

• Prezentarea a două exemple concrete de proiectare a unor sisteme de reglare

• Exemplificarea modului de implementare practică a unui sistem de reglare analogic cu regulator PI

• Descrierea modului de implementare a algoritmului de control pentru un sistem de reglare numeric cu regulator PID

2. Exemple de proiectare a unor sisteme de reglare automat ă

În cele ce urmează se vor prezenta 2 exemple concrete de proiectare a unor sisteme de reglare automată: unul cu timp continuu şi celălalt cu timp discret. În ambele cazuri, se indică cerinţele şi se parcurg etapele principale ale fazei de proiectare: modelarea matematică a procesului, proiectarea regulatorului şi implementarea sistemului de reglare.

2.1. Controlul vitezei unui motor de curent continu u – SRA cu timp continuu

2.1.1. Cerin ţe

• Sistemul de reglare automată trebuie să permită reglarea continuă a vitezei unui motor de curent continuu cu magneţi permanenţi în toată plaja de valori posibile. Motorul are următoarele date:

Rezistenţa rotorului – R = 10Ω

Inductivitatea rotorului – L = 1mH

Constanta de cuplu – k = 0,05 Nm/A

Page 3: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

195

Momentul de inerţie total (include şi sarcina) J = 5*10-7 kgm2

• Motorul este alimentat printr-un amplificator care furnizează o tensiune de maxim ±24V. Tensiunea furnizată este proporţională cu o tensiune de comandă în plaja ±10V.

• Motorul este cuplat cu un tahogenerator care dă o tensiune proporţională cu viteza motorului. Relaţia de proporţionalitate este dată de:

Constanta tahogeneratorului – TGK = 4V/1000rpm (rpm = rotaţii pe

minut)

• Referinţa de viteză se dă printr-o tensiune ce poate varia în plaja ±10V.

2.1.2. Obţinerea modelului matematic

Relaţiile (13.1) prezintă ecuaţiile motorului de curent continuu cu magneţi permanenţi. Pe baza lor se obţine schema bloc a motorului prezentată în Figura 13.1.

(13.1)

−=Ω=

Ω++=

smmdt

dJ

kim

kdt

diLRiU

unde:

U – tensiunea de alimentare a motorului;

LR , – rezistenţa şi respectiv inductivitatea rotorului;

i – curentul care trece prin motor;

k – constanta de cuplu a motorului;

m – cuplul activ dezvoltat de motor;

sm – cuplul rezistent static (constant);

J – momentul de inerţie cumulat al motorului şi sarcinii

Ω – viteza unghiulară a rotorului

Page 4: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

196

U Ω

k

sJ

1∑∑

RLs +1

ki ++ m

sm

Figura 13.1 Schema bloc a motorului de curent continuu cu magneţi permanenţi

Motorul are 2 funcţii de transfer:

a) de la tensiunea U care este mărimea de comandă la viteza Ω :

(13.2) ( ) ( )

( )1

/1

1)(

)(

222222

++=

++=

++

+=Ω=Ω→

k

JRs

k

JLs

k

ksJRJLs

k

sLRsJ

k

sLRsJ

k

sU

ssHU

b) de la cuplul rezistent static care este o perturbaţie la viteza Ω :

(13.3) ( )

( )1

1/)(

1

1

)(

)(

222

2

222++

+−=

+++−=

++

==Ω→

k

JRs

k

JLs

R

LkR

ksJRJLs

sLR

sLRsJ

ksJ

sU

smsH s

ms

Ţinând cont că: R

Lel =τ este constanta electrică a motorului şi

2k

JRem =τ este

constanta electromecanică a motorului, relaţiile (13.2) şi (13.3) se pot pune sub forma:

(13.4) ( )1

/1

1

/12

222 +τ⋅+τ⋅τ⋅

=++⋅

=Ω→ememel

Uss

k

k

JRs

R

L

k

JRs

ksH

şi respectiv:

(13.5) ( )1

)1(/

1

)1(/

2

2

222

2

+τ⋅+τ⋅τ⋅τ⋅+−

=++

+−=Ω→

ememel

elm

ss

skR

k

JRs

k

JLs

R

LkR

sHs

Page 5: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

197

Proiectarea regulatorului se va face considerând doar funcţia de transfer (13.4), care depinde de comandă. Din datele motorului, cele 2 constante de timp rezultă:

msR

Lel 1.0

10

10 3

===τ−

respectiv ( ) msk

JRem 2

105

1010522

7

2=

⋅⋅==τ−

−.

Întrucât emel τ<<τ , produsul emel τ⋅τ se poate neglija, astfel încât funcţia de

transfer (13.4) se poate simplifica considerând-o cu o bună aproximaţie ca fiind de ordinul I, de forma:

(13.6) ( )em

U s

ksH

τ⋅+=Ω→ 1

/1

Figura 13.2 arată comparativ răspunsul a 2 procese având funcţiile de transfer (13.4) şi (13.6) la o intrare treaptă VU 24= . Cele 2 răspunsuri sunt aproape identice demonstrând că utilizarea formei simplificate (13.6) este corectă.

0 0.002 0.004 0.006 0.008 0.01 0.012 0.0140

50

100

150

200

250

300

350

400

450

500

timp [s]

Om

ega

[rad

/s]

H(s) ordin IIH(s) ordin I

Figura 13.2 Evoluţia comparativă a procesului real de ordin II şi a celui simplificat de ordin I

2.1.3. Proiectarea regulatorului analogic

Ţinând cont că procesul este de ordinul I, se va utiliza un regulator cu structură fixă de tip PI care trebuie acordat. Figura 13.3 prezintă schema bloc a sistemului de reglare a vitezei maşinii de curent continuu.

Page 6: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

198

∑ε*Ω

−( )sH R+

Regulator

U Ω

k

sJ

1∑∑ RLs +

1k

i

++m

smc.c.Motor

AK

TGTGKΩK

Figura 13.3 Schema bloc a sistemului de reglare a vitezei maşinii de curent continuu

În afară de motor şi de regulatorul propriu-zis, schema mai include:

• Amplificatorul de tensiune prin care motorul este comandat, caracterizat prin constanta de amplificare AK

• Tahogeneratorul pentru măsurarea vitezei, având constanta TGK

• Adaptarea de semnal de la ieşirea tahogeneratorului la intrarea în regulator, dată de constanta ΩK .

Toate aceste elemente trebuiesc luate în considerarea la acordarea regulatorului PI.

Pentru o mai bună înţelegere a rolului acestor elemente Figura 13.4 prezintă tipul şi plaja de valori a semnalelor ce fac legătura între blocurile schemei de reglare.

Regulator*Ω

]10[ V± Uc U

TGK

ΩK

AK+

ε ]/480[ srad±]10[ V± ]24[ V±

]10[ V±TGΩ ]3.18[ V±

]10[ V± MΩ

Figura 13.4 Tipul semnalelor sistemului de reglare a vitezei maşinii de curent

continuu

Conform cerinţelor de proiectare, referinţa de viteză este dată sub forma unei tensiuni în plaja ±10V. Pentru a putea compara mărimi de acelaşi tip şi dimensiune, rezultă că şi mărimea de feedback trebuie să fie tot o tensiune în plaja de valori ±10V.

Page 7: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

199

Tipic regulatoarele analogice au plaja de intrare şi cea de ieşire ±10V. La intrarea regulatorului se aplică o tensiune proporţională cu eroarea ε şi la ieşirea regulatorului se obţine o tensiune de comandă Uc proporţională cu tensiunea care trebuie aplicată pe motor.

Notă: Când referinţa şi feedback-ul variază în plaja ±10V, eroarea rezultă în plaja ±20V. Pentru a o aduce în gama ±10V se practică 2 metode:

a) erorile se limitează la plaja de ±10V

b) calculul erorii se face cu relaţia: )(2/1 *VΩ−Ω⋅=ε care reduce plaja

erorii de la ±20V la ±10V. Această atenuare de ½ trebuie însă luată în calcul la proiectarea regulatorului.

În cele ce urmează se va folosi metoda b).

Conform cerinţelor, amplificatorul poate furniza motorului o tensiune U în plaja ±24V. Pentru a acoperii întreaga gamă de tensiuni admisibile, ±10V tensiune de comandă trebuie să conducă la ±24V tensiune pe motor. Prin urmare amplificatorul

are constanta de amplificare 4,210

24 ==V

VK A .

Din relaţiile (13.1) rezultă că atunci când un motor este comandat cu tensiunea U , poate atinge teoretic o viteza maximă

sradANm

V

k

U/480

/05.0

24max ===Ω . Ţinând cont şi de polaritatea

negativă aceasta înseamnă o plajă de valori de ±480 rad/s.

Notă: În practică această limită nu este atinsă niciodată deoarece întotdeauna există un cuplu de frecări nenul.

Tahogeneratorul cu constanta:

sradVsV

rpmVKTG //0382,021000

6041000/4 =

π⋅⋅==

va furniza o tensiune proporţională cu turaţia motorului în plaja VTG 33.18038.0480 =⋅±=Ω . Cum acest semnal depăşeşte plaja de intrare

în regulator de ±10V, el trebuie atenuat, factorul de divizare fiind

545.033.18

10 ==ΩK .

Regulatorul ‘vede’ drept funcţie de transfer a procesului, tot ceea ce este în afara lui. Regulatorul trimite o comanda Uc şi citeşte reacţia procesului prin eroarea ε , ambele mărimi fiind în plaja ±10V. Prin urmare funcţia de transfer reală a procesului pe baza căreia se va face proiectarea regulatorului este:

Page 8: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

200

(13.7) ( )as

b

s

K

s

KsH

em

em

ech

em

echreal +

=+

τ

τ=

τ⋅+=

11

unde:

5.005.0

545.00382.04.2/12/1 =××=⋅⋅⋅⋅= ΩKKkKK TGAech

250102

5.03

=⋅

= −em

Kb ; 500

102

113

=⋅

= −em

a

Pentru acordare se aleg:

• Factorul de amortizare – 707,0=ξ

• Pulsaţia naturală rad/s em

5001 =

τ=ω

Coeficienţii Kp şi Ki rezultă cu formulele:

1000250

500;828.0

250

500500707.022 22

==ω==−⋅⋅=−ξω=b

Kb

aK IP

Rezultatele s-au obţinut cu următorul program Matlab:

% Comanda buclei de viteza cu regulator PI analogic %-------------------------------------------------- % Date initiale motor si sarcina

R = 10; %[ohm] - rezistenta rotorului

L = 1e-3; %[H] - inductivitatea rotorului

k = 0.05; %[Nm/A] - constanta de cuplu a motorului

J = 5e-7; %[kg*m^2] - momentul de inertie total (motor+sarcina)

% Date initiale regulator PI analogic

Ui = 10; %[V] - plaja tensiunii de referinta si feedback (+/-)

Ue = 10; %[V] - plaja tensiunii de iesire/comanda (+/-) Ueps = 10; %[V] - plaja tensiunii de eroare (+/-)

% Date initiale amplificatorului de putere

Uin = Ue; %[V] - plaja tensiunii de intrare = iesirea din regulator

U = 24; %[V] - plaja tensiunii maxime aplicate pe motor (+/-)

% Date initiale tahogenerator

K_TG = 4; %[V/1000rpm] - constanta tahogeneratorului

% Calcul parametrii

tau_el = L/R; %[s] - constanta electrica a motorului

Page 9: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

201

tau_em = J*R/k^2; %[s] - constanta electromecanica a motorului

omg_max = U/k; %[rad/s] - viteza (unghiulara) maxima a motorului

K_A = U/Uin; %[V/V] - constanta amplificatorului de tensiune

Ktg = K_TG*60/(2*pi*1000); %[V/rad/s] - constanta tahogen. in unitati SI

Komg = Ui/(omg_max*Ktg); %[V/V] - constanta de atenuare a vitezei

%masurate % Functia de transfer reala a motorului de la c-da la viteza (ordin II)

num = 1/k; %numarator den = [tau_el*tau_em tau_em 1]; % numitor

% Functia de transfer redusa a motorului de la c-da la viteza (ordin I)

num1 = 1/k; %numarator

den1 = [tau_em 1]; %numitor

% Functia de transfer vazuta de regulator de forma: H(s)=b/s+a Kech = K_A*1/k*Ktg*Komg*Ueps/(Ui+Ue); b = Kech/tau_em a = 1/tau_em % Acordare regulator PI analogic

w = 500; %[rad/s] - pulsatia naturala dorita w = 1/tau_em

tzeta = 0.707; %factorul de amortizare Kp = (2*tzeta*w - a)/b Ki = w^2/b

Pentru verificare s-a folosit schema de simulare din Figura 13.5 care include 2 subblocuri pentru regulatorul PI şi pentru motor, prezentate în Figura 13.6 şi respectiv Figura 13.7. S-a aplicat o referinţă treaptă egală cu jumătate din viteza maximă posibilă a motorului. Pentru a testa şi capacitatea de-a rejecta efectul perturbaţiilor, după 25ms de la aplicarea referinţei s-a aplicat şi un cuplu de sarcină

mNmms 20= . Evoluţia vitezei şi curentului motorului este prezentată în Figura 13.8 şi Figura 13.9. Figura 13.10 arată evoluţia comenzii date de regulatorul PI în plaja ±10V.

Figura 13.5 Reglarea vitezei unui motor de c.c. cu un regulator PI analogic

Page 10: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

202

Figura 13.6 Regulator PI analogic cu limitarea comenzii

Figura 13.7 Motor de curent continuu cu viteza mărime de ieşire

Figura 13.8 Viteza motorului la o referinţă treaptă de 240 rad/s. După 25ms apare un cuplu de sarcină de ms=20mNm.

Page 11: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

203

Figura 13.9 Curentul motorului la o referinţă treaptă de 240 rad/s. După 25ms apare un cuplu de sarcină de ms=20mNm.

Figura 13.10 Ieşirea regulatorului la o referinţă treaptă de 240 rad/s. După 25ms apare un cuplu de sarcină de ms=20mNm.

Page 12: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

204

2.1.4. Implementarea sistemului de reglare analogic

Sistemul de reglare analogic poate fi privit ca o cutie neagră cu 2 intrări şi o ieşire. Cele 2 intrări sunt: referinţa de viteză – o tensiune în plaja ±10V şi măsura de viteză – o tensiune dată de tahogenerator în plaja ±18.33V. Ieşirea este comanda de tensiune pentru amplificatorul de putere în plaja ±10V.

Schema sistemului de reglare este prezentată în Figura 13.11. Ea include următoarele elemente componente:

a) Divizarea tensiunii de tahogenerator ),( 21 RR

b) Ajustarea impedanţei pentru referinţă )( 1A şi feedback )( 2A

c) Calculul erorii ),( 43 RA

d) Implementarea părţii proporţionale ),( 75 RA şi integrale ),,( 154 CRA a

regulatorului

e) Însumarea ponderată a părţilor P şi I ale regulatorului ),,,( 9866 RRRA

Figura 13.11 Schema de implementare a sistemului reglare

Alegerea valorilor elementelor componente s-a făcut astfel:

• Se alege Ω= KR 2.12 pentru a limita curentul prin divizor astfel încât

influenţa rezistentei tahogeneratorului să fie neglijabilă. Din

condiţia:21

2

33.18

10

RR

RK

+==Ω se obţine Ω=⋅= 6.999

10

233.81

RR . Se

alege valoarea standard Ω= KR 11

R7

R5

-

+

C1

R2

R1

TG

R6

R9

-

+

R4

R4

R8

TGV VF

A'V

±10V

AV

VD

BV

VE

-

+

R4 / 2

R4 / 2

CV

-

+

R3

-

+

R7

10V

-

+

10V

A

A

A A

A

A

Page 13: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

205

• Se alege Ω= KR 14 . Aceeaşi valoare se poate alege şi pentru 3R în cazul

când referinţa este setată printr-un potenţiometru.

• Pentru 3A avem relaţiile:

32/

2/

44

4 AAy

V

RR

RVV =

+⋅= ;

2

2

2/

2/

44

44 CBCBx

VV

RR

RVRVV

+=

+⋅+⋅

= ;

yx VV =

de unde rezultă potenţialul 2/)( BAC VVV −=

• Pentru 4A avem relaţia: 01

1=+= rDCZ RV

sCVV de unde rezultă

15CsR

VV C

D −=

• Pentru 5A avem relaţia 077 =+= RVRVV CEW de unde rezultă

CE VV −=

• Pentru 6A avem relaţia 0896

=++R

V

R

V

R

V FED de unde rezultă

EDF VR

RV

R

RV

9

8

6

8 −−= sau înlocuind DV şi EV din relaţiile anterioare:

CPI

CF VKs

KV

R

R

CRsR

RV

+=

+=

9

8

156

8

• Pentru a obţine 828.09

8 ==R

RKP , se aleg Ω= 8208R şi Ω= KR 19

• Pentru a obţine 1000156

8 ==CRR

RK I , se aleg Ω== 8208 68 RR ,

Ω= KR 15 şi FC µ= 11

Notă: 851 ,, RRR sunt uzual rezistenţe reglabile. Pentru exemplul dat, pot fi

potenţiometre de ΩK5.2 . 1R permite ajustarea divizorului de tensiune în funcţie

de tahogeneratorul utilizat. 5R oferă posibilitatea modificării componentei integrale,

Page 14: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

206

independent de cea proporţională. 8R permite ajustarea amplificării globale

simultan pentru partea P şi I.

2.2. Controlul pozi ţiei unui motor de curent continuu – SRA cu timp discret

2.2.1. Cerin ţe

• Sistemul de reglare automată trebuie să permită reglarea poziţiei unui motor de curent continuu cu magneţi permanenţi în toată plaja ±10 rotaţii. Motorul are aceleaşi date ca cel din exemplul precedent

• Motorul este alimentat printr-un amplificator care furnizează o tensiune de maxim ±24V. Tensiunea furnizată este proporţională cu o tensiune de comandă în plaja ±10V.

• Motorul este cuplat cu un encoder incremental de 500 linii pe rotaţie. El permite măsurarea poziţiei motorului cu rezoluţia de 2000 pulsuri pe rotaţie.

• Sistemul numeric de comandă include:

o interfaţă de encoder care permite citirea directă a variaţiei de poziţie

un convertor numeric analogic de 10 biţi şi un circuit de adaptare de semnal prin care ieşirea convertorului este adusă în plaja ±10V

o interfaţa utilizator prin care acesta poate introduce referinţa de poziţie

2.2.2. Obţinerea modelului matematic

Funcţia de transfer a procesului de la tensiunea de comanda U la poziţia motorului θ se obţine adăugând un integrator la (13.6), deoarece poziţia motorului se obţine integrând viteza lui:

(13.8) ( ) ( )emU ss

ksH

τ⋅+=θ→ 1

/1

2.2.3. Proiectarea regulatorului numeric

Ţinând cont că procesul este de ordinul II, se va utiliza un regulator cu structură fixă de tip PID care trebuie acordat. Figura 13.12 prezintă schema bloc a sistemului de reglare, tipul şi plaja de valori pentru semnale care fac legătura între blocurile componente.

Page 15: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

207

Regulator

*θ ]20000[ b± UcU

ENCK

CNAK+

ε ]20[ radπ±][b ]10[ V±

Eθ ][ 20000b±

][ 512b±θ

UcAK ]24[ V±

Figura 13.12 Tipul semnalelor sistemului de reglare a poziţiei maşinii de curent continuu

Referinţa de poziţie este un număr (simbolizat prin unitatea de măsură b , adică biţi) care conform cerinţelor trebuie să acopere plaja de valori ±10 rotaţii. Având în vedere că poziţia motorului este citită cu rezoluţia de 2000 de pulsuri/biţi pe rotaţie, plaja de valuri a referinţei este ±20000 biţi.

La ieşire, regulatorul trebuie să de-a o comandă care să corespundă cu rezoluţia convertorului numeric analogic (CNA). Dacă CNA are 10 biţi, înseamnă că poate converti într-o tensiune de orice număr în plaja [0 210-1]. Ţinând cont că tensiunea de comandă e bipolară, corespondenţa conversiei este: ±512 (±29) biţi corespund

la ±10V. Deci factorul de conversie este: ]/[512

10bitiVKCNA = .

Tensiunea de comandă de ±10V intră în amplificatorului de putere care o converteşte în tensiunea efectivă aplicată motorului. Prin urmare amplificatorul are

constanta de amplificare 4,210

24 ==V

VK A .

În fine, poziţia motorului este citită prin intermediul encoderului incremental, corespondenţa fiind 2000 pulsuri sau biţi la o rotaţie, adică:

]/[2

2000radbitiKENC π

= .

Regulatorul ‘vede’ drept funcţie de transfer a procesului, echivalentul discret a tot ceea ce este în afara lui. Prin urmare funcţia de transfer reală a procesului pe baza căreia se va face proiectarea regulatorului este:

(13.9) ( ))(1)1( ass

b

ss

K

ss

KsH

em

em

ech

em

echreal +

=

+

τ

τ=τ⋅+

=

Page 16: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

208

unde:

4.29805.0

)2/(20004.2512/10/1 =π××=⋅⋅⋅⋅= ENCACNAech KkKKK

149200102

4.2983

=⋅

= −em

Kb ; 500

102

113

=⋅

= −em

a

Dacă se consideră pasul de eşantionare T=0.1ms, echivalentul discret al (13.9) este:

(13.10)

dd

ddP

aazz

bzbzH

012

01)(+⋅+

+⋅= unde:

=db1 Ta

e

a

b Ta

+−⋅

⋅− 1, =db0

⋅−−⋅ ⋅−

⋅−Ta

Ta

eTa

e

a

b 1,

a eda T

1 1= − − − ⋅ , a eda T

0 = − ⋅

Acordarea regulatorului se face aplicând formulele (12.35) – (12.38) descrise în lucrarea 12 de laborator.

Rezultatele s-au obţinut cu următorul program Matlab:

% Comanda buclei de pozitie cu regulator PID numeric %--------------------------------------------------- % Date initiale motor si sarcina

R = 10; %[ohm] - rezistenta rotorului

L = 1e-3; %[H] - inductivitatea rotorului

k = 0.05; %[Nm/A] - constanta de cuplu a motorului

J = 5e-7; %[kg*m^2] - momentul de inertie total (motor+sarcina)

% Date initiale regulator PID numeric

CNA = 10; %[] - rezolutie convertorului N/A Ue = 10; %[V] - plaja tensiunii de iesire/comanda (+/-)

T = 1e-4; %[s] - pasul de esantionare

% Date initiale amplificatorului de putere

Uin = Ue; %[V] - plaja tensiunii de intrare = iesirea din regulator

U = 24; %[V] - plaja tensiunii maxime aplicate pe motor (+/-)

% Date initiale encoder

N_linii = 500; %[] - numar de linii pe rotatie

% Calcul parametrii

tau_el = L/R; %[s] - constanta electrica a motorului

Page 17: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

209

tau_em = J*R/k^2; %[s] - constanta electromecanica a motorului

K_A = U/Uin; %[V/V] - constanta amplificatorului de tensiune

K_CNA=Ue/2^(CNA-1); %[V/biti] - constanta convertorului N/A

Kenc = 4*N_linii/2/pi; %[biti/rad] - constanta encoderului

% Functia de transfer redusa a motorului de la c-da la pozitie (ordin II)

num1 = 1/k; % numarator

den1 = [tau_em 1 0]; % numitor

% Functia de transfer vazuta de regulator de forma: H(s)=b/s(s+a) Kech = K_CNA*K_A*1/k*Kenc; b = Kech/tau_em; a = 1/tau_em; % Discretizare proces. Se obtine: H(z)=(b1d*z+b0d)/(z^2+a1d*z+a0d) b1d=b/a*((exp(-a*T)-1)/a+T); b0d=b/a*((1-exp(-a*T))/a-T*exp(-a*T)); a1d=-1-exp(-a*T); a0d=exp(-a*T); % Acordare regulator PID discret

w = 500; %[rad/s] - pulsatia naturala dorita w = 1/tau_em

tzeta = 0.707; %factorul de amortizare

alfa=5; %pozitia polilor secundari relativ la cei principali p1=-2*exp(-tzeta*w*T)*cos(w*T*sqrt(1-tzeta^2)); p2=exp(-2*tzeta*w*T); beta=exp(-alfa*w*T); c3=p1-2*beta; c2=p2+beta^2-2*beta*p1; c1=beta^2*p1-2*beta*p2; c0=beta^2*p2; gama=b1d*(c2-a0d+a1d)-b0d*(c3-a1d+1); delta=b1d*(1-a1d)+b0d; r=(c1+a0d-gama*b0d/b1d^2-c0*b1d/b0d)/(a1d-a0d-delta*b0d/b1d^2-a0d*b1d/b0d) alfa2=(c3-a1d+1+r)/b1d; alfa1=(gama-r*delta)/b1d^2; alfa0=(c0-r*a0d)/b0d; Ki=(alfa2+alfa1+alfa0)/(1-r) Kp=(alfa2-alfa0-Ki*r)/(1-r) Kd=alfa2-Kp %verificare nump=[0 b1d b0d]; % numarator proces

denp=[1 a1d a0d]; % numitor proces

numr=[alfa2 alfa1 alfa0]; % numarator regulator

denr=[1 -1-r r]; % proces regulator

Page 18: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

210

[numbd,denbd]=series(numr,denr,nump,denp); % Hech bucla deschisa

[numbi,denbi]=feedback(numbd,denbd,1,1); % Hech bucla inchisa

roots(denbi) % polii SRA

roots([1 c3 c2 c1 c0]) % polii impusi

La rularea programului Matlab se obţin rezultatele:

r = 0.5655 Ki = 0.1867 Kp = 6.6330 Kd = 34.0203 poli_sra = 0.9647 + 0.0341i 0.9647 - 0.0341i 0.7788 0.7788 poli_impusi = 0.9647 + 0.0341i 0.9647 - 0.0341i 0.7788 + 0.0000i 0.7788 - 0.0000i

Pentru verificare s-a folosit schema de simulare din Figura 13.13 care include 2 subblocuri pentru regulatorul PID şi pentru motor, prezentate în Figura 13.14 şi respectiv Figura 13.15. S-a aplicat o referinţă treaptă egală cu 3 radiani. Pentru a testa şi capacitatea de-a rejecta efectul perturbaţiilor, după 25ms de la aplicarea referinţei s-a aplicat şi un cuplu de sarcină mNmms 50= . Evoluţia poziţiei şi curentului motorului este prezentată în Figura 13.16 şi Figura 13.17. Figura 13.18 arată evoluţia comenzii date de regulatorul PI în plaja ±512 biţi.

Figura 13.13 Reglarea poziţiei unui motor de c.c. cu un regulator PID discret

Page 19: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

211

Figura 13.14 Regulator PID discret cu limitarea comenzii

Figura 13.15 Motor de curent continuu cu poziţia mărime de ieşire

Figura 13.16 Poziţia motorului la o referinţă treaptă de 3 rad. După 25ms apare un cuplu de sarcină de ms=50mNm.

Page 20: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

212

Figura 13.17 Curentul motorului la o referinţă treaptă de 3 rad. După 25ms apare un cuplu de sarcină de ms=50mNm.

Figura 13.18 Ieşirea regulatorului la o referinţă treaptă de 3 rad. După 25ms apare un cuplu de sarcină de ms=50mNm.

Page 21: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Proiectarea şi implementarea regulatoarelor

213

2.2.4. Implementarea regulatoarelor numerice

Regulatoarele numerice se implementează pe sisteme cu microprocesoare sau microcontrollere care includ în mod obligatoriu un ceas de timp real. Acesta este un numărător programabil care se resetează la zero ori de câte ori atinge o valoare programabilă numită perioada ceasului. Uzual ceasul de bază al numărătorului este egal cu cel al procesorului. De exemplu dacă procesorul are un ceas intern de 40 MHz, numărătorul îşi va incrementa valoarea cu 1 la fiecare 1/40MHz = 25ns. Dacă perioada ceasului este setată la 40000 atunci ceasul se va da peste cap la fiecare 1ms. În momentul resetării, numărătorul generează o cerere de întrerupere care dacă este acceptată va cauza întreruperea execuţiei programului curent şi saltul în altă parte a memoriei unde se execută o funcţie asociată numită rutina de tratare a întreruperii. La terminarea acestei funcţii, se reia execuţia programului principal din punctul de unde a fost întrerupt.

Implementarea regulatoarelor numerice se face în rutina de tratare a întreruperii ceasului de timp real, care este programat cu o perioadă egală cu pasul de eşantionare ales.

În cazul exemplului ales, regulatorul are funcţia de transfer:

(13.11) 21

20

112

2

012

2

)1(1)1(

1

1

1)( −−

−−

++−α+α+α

=++−α+α+α

=−−+

−+=

rzzr

zz

rzrz

zz

rz

zKd

zKiKpzH

care înseamnă că între ieşirea regulatorului la pasul curent iu şi intrarea la pasul

curent iε există următoarea relaţie:

(13.12) iirzzr

zzu ε

++−α+α+α

= −−

−−

21

20

112

)1(1

Ţinând cont că înmulţirea cu 1−z înseamnă întârziere cu un pas de eşantionare,

adică 11

−− =⋅ ii uzu înseamnă comanda la pasul anterior 1−i , relaţia

(13.12) se poate rescrie sub forma:

(13.13) 2120112 )1( −−−− −++εα+εα+εα= iiiiii ruuru

Rutina de tratare a întreruperii de ceas de timp real trebuie să realizeze următoarele operaţii:

Page 22: RA_Proiectarea Si Implementarea Regulatoarelor. Exemple

Lucrarea 13

214

1. Citire sau calcul referinţă de poziţie pentru pasul curent –*iθ

2. Citire de la interfaţa de encoder a poziţiei motorului pentru pasul curent –

3. Calcul eroare la pasul curent: iii θ−θ=ε *

4. Calcul noua comandă iu cu relaţia (13.13)

5. Limitare iu la plaja de valori posibile, cere în acest caz este [-512,+511].

Valorile mai mici de –512 se limitează la –512. Valorile mai mari de 511 se limitează la 511

6. Se trimite comanda după limitare către proces. În acest caz, această operaţie înseamnă scrierea comenzii în convertorul N/A

7. Se pregătesc variabilele globale utilizate pentru pasul următor:

12 −− = ii uu ; iuu =1 ; 12 −− ε=ε ii ; ii ε=ε −1

Într-o variantă minimală, programul principal al microcontrolerului poate avea structura din Error! Reference source not found. unde la iniţializări se setează parametrii ceasului de timp real şi se iniţializează cu zero valorile anterioare:

2121 ,,, −−−− εε iiii uu

Figura 13.19 Structura programului principal pentru un sistem numeric de control

Initializări

START

Bucl ă infinit ă Întreruperi T,2T,..,nT

Algoritm de control