Sunteți pe pagina 1din 15

Universitatea Politehnica din Bucuresti

Facultatea de Inginerie Mecanica si Mecatronica










Pozitia motorului de curent continuu



Ionita Catalin
Andrei Marian Sorin
Chita Florin Milica



Mecatronica Avansata


Motorul de curent continuu este un dispozitiv de acionare comun n sistemele de control. Acesta
ofer direct o micare de rotaie i mpreun cu roi sau alte sisteme de transmitere, pot oferi o micare de
translaie. Circuitul electric echivalent al armturii i diagrama rotorului sunt prezentate n figura de mai
jos:

In urmatorul exemplu vom presupune urmtoarele valori pentru parametrii fizici. Aceste valori au
fost obinute prin experiment de la un motor real:
(J) momentul de inertie al rotorului 3.2284E-6 kg.m^2
(b) coeficientul de frecare vascoasa a motorului 3.5077E-6 N.m.s
(Kb) constanta fortei electromotoare 0.0274 V/rad/sec
(Kt) constanta de cuplu a motorului 0.0274 N.m/Amp
(R) rezistenta electrica 4 Ohm
(L) inductanta electrica 2.75E-6H

n acest exemplu, presupunem c intrarea sistemului este o sursa de tensiune (V) aplicata la
armtura motorului, n timp ce iesirea este poziia arborelui (theta). Rotorul i arborele se presupun a fi
rigide. Ne asumm n continuare un model de frecare vscoas, adic, cuplul de frecare este proporional
cu viteza unghiular a arborelui.
Ecuatiile de sistem
n general, cuplul generat de un motor de curent continuu este proporional cu curentul armturii
i intensitatea cmpului magnetic. n acest exemplu, vom presupune c cmpul magnetic este
constant i, prin urmare, cuplul motorului este proporional cu curentul armturii cu un factor
constant Kt aa cum se arat n ecuaia de mai jos:


Tensiunea electromotoare (e) este proportionala cu viteza unghiulara a arborelui cu o constanta kb:

In sistemul SI, cuplul motor si constanta tensiunii electromotoare sune egale (Kt=Ke), prin urmare vom
folosi K pentru a reprezenta ambele marimi.
Putem folosi 2 ecuatii, legea a 2-a a lui Newton si legea lui Kirchhoff:


Functia de transfer
Aplicand transformata Laplace, modelarea ecuatiilor pot fi exprimate astfel:


Ajungem astfel la o functie de transfer cu bucla deschisa eliminand I(s), unde viteza de rotatie este iesirea,
iar tensiunea armaturii este intrarea:

In acest exemplu vom folosi pozitia ca iesire. Putem obtine pozitia integrand viteza:

Dorim sa pozitionam motorul foarte precis, deci eroarea sa fie 0 cand se va da comanda motorului. Dorim
de altfel ca motorul sa ajunga la pozitia finala foarte repede si fara un suprareglaj mare (40ms)







Reprezentarea in Matlab:
Functia de transfer:



Pentru graficul de mai sus putem observa ca atunci cand se aplica o tensiune de 1V, pozitia motorului
creste fara limite, deci raspunsul sistemului in bucla deschisa nu este stabil. Stabilitatea sistemului poate fi
verificata folosind comanda isstable, ce va returna o valoare True sau False. Aceasta poate fi determinata
din polii functiei de transfer, folosind comanda pole():

Asa cum este indicat in aceasta functie, unul din polii functiei de transfer in bucla deschisa este pe axa
imaginara, in timp ce ceilalti 2 poli sunt in partea stanga a aplanului complex s. Un pol pe axa imaginara
indica faptul ca raspunsul liber al sistemului nu va creste nemarginit. In cazul de fata, iesirea va contiuna
sa creasta la infinit, in aceeasi masura ca integratorul unei constante ce creste la infinit cand limita
superioara se mareste.
Raspunsul in bucla inchisa
Sa consideram raspunsul sistemului in bucla inchisa:

Functia de teansfer poate fi generata in Matlab utilizand comanda feedback:

Raspunsul treapta poate fi generat adaugand comanda step(sys_cl,t) in Matlab

Putem observa ca adaugand feedback-ul, sistemul s-a stabilizat. Comanda pzmap va plota polii si
zerourile functiei de transfer :


pzmap(sys_cl)

Se observa ca sistemul are un pol real si 2 poli imaginari. Adaugand urmatoarele comenzi, se va putea
calcula suprareglajul si timpul de stabilizare:


In urmatoarele pagini vom incerca sa reducem acest timp de stabilizare prin diferite sisteme de control.
Controlul proportional
Folosind un controller proportional cu cresterea de la 1 la 21, putem folosi bucla for si comanda feedback pentru a
genera functia de transfer:


Adaugand un set de functii in Matlab putem imbunatati stabilitatea erorii de zero, prin cresterea valorii
Kp, care are insa efectul advers de a mari timpul de stabilizare:


Controlul PI
Setand Kp=21 si valoarea integratorului de test variind intre 100 si 500, putem genera figura urmatoare,
folosing urmatoarele comenzi in Matlab:

Putem urmari raspunsul perturbatiei introducand urmatoarele comenzi:

Controlul integrator a redus eroarea starii de echilibru la 0, chiar si cu o perturbatie introdusa. Cu cat Ki
este mai mare, cu atat eroarea scade mai repede spre 0. Vom folosi o valoare Ki =500, pentru ca eroarea
datorita perturbatiei scade rapid, chiar daca raspunsul referintei are o perioada mai mare de stabilizare.
Vom incerca sa reducem timpul de stabilizare prin adaugarea termenului derivativ in controller.



Controlul PID
Vom investiga termenul derivativ Kd, variind de la 0.05 la 0.25

Pentru a determina caracteristicile precise ale raspunsului putem folosi comanda stepinfo:

Putem observa ca raspunsul are un timp de stabilizare de 34ms, o rata de abatere de 12% si eroarea starii
de echilibru 0. Deci putem folosi un controler PID cu parametri: Kp=21, Ki=500 si Kd=0.15 pentru a
satisface cerintele de design.



Desenarea buclei deschise Root Locus
Ideea principala a Root Locus este de a prezice raspunsul in bucla inchisa de la radacina care
descrie posibilele locatii ala polilor buclei inchise si este dedusa din functia de transfer in bucla deschisa.
Apoi adaugand zerouri si/sau poli in controller , root locus poate fi modificata pentru a obtine raspunsuri
in bucla inchisa.
Adaugand urmatoarea comanda se va obtine urmatorul grafic:
rlocus(P_motor)
title('Root Locus - P Control')
sgrid(.5, 0)
sigrid(100)

Comenzile sgrid si sigrid sunt functii care marcheaz regiuni ale planului complex
corespunztoare anumitor parametrii.
Functia poles poate fi solosita pentru a determina exact valorile polilor buclei deschise:

Desenarea diagramei Bode a sistemului necompensat
Idea unui model bazat pe frecventa este sa folosim diagrama Bode a buclei deschise a functiei de transfer
pentru a estima raspunsul sistemului in bucla inchisa. Adaugand un controler se modifica diagrama Bode,
deci si raspunsul buclei inchise.
Vom folosi unealta SISO Design Tool, adaugand comanda sisotool (bode,P_motor)

Adaugand integrator compensator putem atinge eroarea de echilibru de 0, in final ajungand la o diagrama
Bode ce satisface cerintele sistemului:



Crearea modelului cu Simulink

Sistemul poate di modelat prin insumarea cuplurilor actionanad asupra inertiei rotorului si integrand
acceleratia unchiulara a rotorului pentru a rezulta viteza, apoi integrand viteza pentru a obtine pozitia.
Vom modela integralele acceleratiei rotorului, apoi vom construi blocurile in Simulink:

Aplicam legile lui Newton si ale lui Kirchhoff pentru motor :



Adaugam cuplurile din ecuatiile lui Newton si cele din armatura:

Adaugam termenii de tensiune din legile lui Kirchhoff si tensiunea electromotoare a motorului:

In final, comprimand blocurile, vom avea urmatorul model:


Controlul modelului Simulink

Introducand parametrii sistemului ( J = 3.2284E-6; b = 3.5077E-6; K = 0.0274; R = 4; L =
2.75E-6;), vom putea vizualiza pe osciloscop urmatorul grafic:


Putem folosi un controler cu functia de transfer:
,pe care o vom adauga in modelul Simulink creat:

Adaugand o perturbatie si setand parametrii J = 3.2284E-6; b = 3.5077E-6;K = 0.0274;R = 4;L = 2.75E-6,
putem vizualiza urmatorul raspuns grafic:

Se poate observa ca este un usor salt la valoarea 0.03 secunde datorita perturbatiei, dar sistemul
este capabil sa rejecteze acest efect si eroarea starii de echilibru va ajunge la 0, satisfacand astfel
cerintele sistemului.

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