PROIECT DE DIPLOMĂ
CONDUCĂTOR ŞTIINŢIFIC
Candidat:
ALEXANDRU-DANIEL STOENESCU
TIMIŞOARA
2009
Conducerea unui motor de curent continuu cu perii
Cuprins:
-1-
Conducerea unui motor de curent continuu cu perii
-2-
Conducerea unui motor de curent continuu cu perii
LISTA DE ABREVIERI
-3-
Conducerea unui motor de curent continuu cu perii
CAPITOLUL 1
Introducere
1.1. Motivaţia
-4-
Conducerea unui motor de curent continuu cu perii
Potrivit unui articol publicat în revista Embedded Magazine, Embedded Solutions for
Programmable Logic Design, ediţia septembrie 2005, revistă promovată de firma Xilinx, lider
mondial în domeniul circuitelor logice programabile, numai într-o locuinţă modernă pot să
existe peste 334 de motoare electrice. Acestea sunt prezente peste tot acolo unde există părţi
în mişcare, de la echipamente electrocasnice până la echipamente de calcul şi echipamente
audio-video. Odată cu achiziţionarea unui echipament din categoriile mai sus amintite,
numărul acestor motoare creşte. Numai în cazul achiziţionării unui echipament de calcul,
numărul motoarelor conţinute de acesta este impresionant, 3 sau 4 motoare pentru
ventilatoare, 4 pentru unitatea DVD, 2 pentru hardisk şi multe altele pentru orice periferic
adăugat: imprimante, scaner, joystick etc. Datorită formei compacte, raportului
cuplu/dimensiune bun şi acurateţii controlului, mare parte dintre aceste motoare sunt de
current continuu fără perii.
În sistemele de control tradiţionale, rolul unui circuit FPGA era limitat la generarea de
semnal PWM şi implementarea logicii de pe partea de feedback, celelalte funcţii mai
-5-
Conducerea unui motor de curent continuu cu perii
-6-
Conducerea unui motor de curent continuu cu perii
-7-
Conducerea unui motor de curent continuu cu perii
-8-
Conducerea unui motor de curent continuu cu perii
CAPITOLUL 2
Noţiuni teoretice
2.1.1. Generalităţi
-9-
Conducerea unui motor de curent continuu cu perii
2.1.2. Definiţii
- 10 -
Conducerea unui motor de curent continuu cu perii
Este un motor stabil şi uşor de controlat, pentru aceasta necesitând puţine componente
semiconductoare. Se consideră că problemele de funcţionare ale acestui tip de motor provin
de la fiabilitatea redusă a periilor. Acestea sunt relativ fiabile, dar problemele acestui tip de
motor sunt legate de colector a cărui viteza de comutaţie este limitată, se uzează, induce
zgomot, interferenţe. De asemenea spaţiul ocupat de colector şi perii este mare, iar răcirea
rotorului care produce cuplul nu este uşoară.
În tabelul T1.1 este prezentată o comparaţie între motoarele de curent continuu cu
perii şi cele fără perii:
2.1.3. Structură
Structura unui motor de curent continuu cu perii este prezentată in figura 1.5
- 11 -
Conducerea unui motor de curent continuu cu perii
Figura 1.5
Structura unui mc.c cu perii
Indiferent de tipul motorului, acesta este construit din două părţi componente: stator
şi rotor. Statorul este partea fixă a motorului, în general exterioară, ce include carcasa,
bornele de alimentare, armătura feromagnetică statorică şi înfăşurarea statorică. Rotorul este
partea mobilă a motorului, plasată de obicei în interior. Este format dintr-un ax şi o armătură
rotorică ce susţine înfăşurarea rotorică. Între stator şi rotor există o porţiune de aer numită
întrefier ce permite mişcarea rotorului faţă de stator. Grosimea întrefierului este un indicator
important al performanţelor motorului.
- 12 -
Conducerea unui motor de curent continuu cu perii
- 13 -
Conducerea unui motor de curent continuu cu perii
Figura 1.6
Rotorul motorului DC cu perii
Statorul unui motor de curent continuu cu perii este prezentat în figura 1.7. Acesta
este asemănător cu cel al motoarelor asincrone, însă modul de distribuire a înfăşurărilor este
diferit.
Figura 1.7
Statorul motorului DC cu perii
- 14 -
Conducerea unui motor de curent continuu cu perii
Figura 1.8
Funcţionarea motorului DC cu perii
Figura 1.9
Funcţionarea motorului DC cu perii
- 15 -
Conducerea unui motor de curent continuu cu perii
Modalitatea cea mai simplă de a cunoaşte poziţia rotorului la un moment dat este
folosirea senzorilor de poziţie HALL. Aceştia se montează pe unul dintre capetele arborelui
motorului, vezi figura 1.10. Pe acelaşi capăt mai poate fi montat şi un codificator optic de
poziţie pentru determinarea poziţiei exacte a rotorului, cât şi pentru, determinarea cu precizie
mare a vitezei rotorului.
Figura 1.10
Secţiune longitudinală prin motor
Aplicaţiile în care sunt folosite motoare de curent continuu pot fi împărţite în câteva
clase: servosisteme, acţionări cu viteză constantă, sisteme de centrifugare şi ventilatoare,
pompe, procese industriale, tracţiuni electrice, şi mai recent periferice de calculatoare şi
aparatură medicală.
- 16 -
Conducerea unui motor de curent continuu cu perii
În cazul proiectelor care necesită procesarea în timp real a semnalelor, există în ultima
perioadă de timp o multitudine de noi produse şi tehnologii care sunt din ce în ce mai
„inteligente”, rapide, miniaturizate şi cu posibilităţi de interconectare sporite.
- 17 -
Conducerea unui motor de curent continuu cu perii
În tabelul T.1.2 este prezentată o comparaţie între cele cinci arhitecturi de circuite
digitale care pot fi folosite în parte de control a unei acţionări electrice.
Uşurinţă
Implementare Consum de Flexibilitate
Performanţă Preţ in Concluzii
pe piaţă putere ulterioară
dezvoltare
ASIC Nesatisfăcător Foarte Bun Foarte Bun Satisfăcător Bun Nesatisfăcător Satisfăcător
DSP Foarte Bun Bun Bun Foarte Bun Foarte Bun Foarte Bun Foarte Bun
FPGA Bun Foarte Bun Bun Foarte Bun Satisfăcător Bun Bun
MCU Foarte Bun Satisfăcător Foarte Bun Bun Satisfăcător Foarte Bun Bun
RISC Bun Bun Satisfăcător Bun Satisfăcător Foarte Bun Bun
- 18 -
Conducerea unui motor de curent continuu cu perii
procesor a unui algoritm pot fi analizate nu numai prin prisma frecvenţei de lucru a acestuia
ci mai ales prin prisma numărului de operaţii de multiplicare-acumulare raportate la un
interval de timp stabilit.
Procesoarele digitale de semnal convenţionale utilizează o arhitectură care prin natura
ei este serială. Blocurile de multiplicare – acumulare (MAC) sunt de obicei resurse partajate.
Controlerele PID folosesc intensiv blocurile MAC deoarece fiecare intrare de date trebuie
multiplicată cu coeficienţii de amplificare şi apoi rezultatele însumate. Cu cât algoritmul este
mai complex, creşte şi numărul de blocuri MAC necesare pentru calculul rezultatului.
Folosirea unui procesor cu frecvenţă de lucru ridicată creează dificultăţi suplimentare astfel
că la funcţionarea în timp real, pentru semnale de frecvenţă foarte ridicată este optimă
utilizarea tehnicii de procesare în paralel utilizând mai multe blocuri MAC. Arhitectura
modernă a circuitelor FPGA permite procesarea paralelă care foloseşte mai multe blocuri
MAC.
- 19 -
Conducerea unui motor de curent continuu cu perii
Figura 1.11
Elementele
plăcii de
dezvoltare
Xilinx Spartan-3
(partea din faţă)
Figura 1.12
Elementele
plăcii de
dezvoltare
Xilinx Spartan-3
(partea din
spate)
Descrierea componentelor din figurile de mai sus sunt prezentate succint mai jos :
1. 200 000 de porţi Xilinx Spartan -3 XC3S200 FPGA în pachetul
XC3S200FT256 cu 256 BGA(Ball Grid Array)- este o metodă mai nouă de
încapsulare în care cipurile sunt ataşate cu ajutorul unor biluţe din cositor
plasate sub cip ;
2. Platforma Flash de 2Mbit Xilinx XCF02F cu sistem programabil de
configurare PROM ;
3. Opţiunea de jumper permite ca aplicaţia FPGA să citească date PROM sau
configuraţii FPGA din alte surse ;
- 20 -
Conducerea unui motor de curent continuu cu perii
- 21 -
Conducerea unui motor de curent continuu cu perii
Figura 1.13
Înglobare a
întregii bucle de control
într-un circuit FPGA
- 22 -
Conducerea unui motor de curent continuu cu perii
Platforma este alcătuită din două module hardware: modulul de control reprezentat de
placa cu circuitul FPGA şi modulul de comandă reprezentat de placa care conţine tranzistorii
de putere. Cele două module hardware sunt interconectate între ele prin intermediul unei
magistrale pe care semnalele au nivele logice compatibile CMOS, 3,3V. Conectarea la PC se
realizează prin intermediul portului JTAG prezent pe placa Spartan-3 şi prin intermediul unui
cablu adaptor la portul paralel al PC-ului. În figura 1.14 este prezentată diagrama bloc cu
arhitectura celor două module, modul de interconectare între ele şi modul de interconectare
cu PC-ul şi cu motorul de curent continuu.
- 23 -
Conducerea unui motor de curent continuu cu perii
Figura 1.14
Configuraţia hardware pentru controlul motoarelor de current continuu
Modulul hardware cu circuit FPGA este produs de firma Digilent Inc, poarta numele
de Spartan-3 şi are ca şi componentă centrală circuitul FPGA XC3S200 din familia Spartan3.
Cu ajutorul acestui modul vor fi implementate toate funcţiile de control şi monitorizare ale
motorului de curent continuu.
- 24 -
Conducerea unui motor de curent continuu cu perii
Ariile logice reconfigurabile sau FPGA au fost introduse în 1985 de firma XILINX.
Poziţia de lider a fost păstrată prin continua îmbunătăţire a circuitelor, şi prin oferta soluţiilor
de proiectare completă. Procesul de proiectare cu circuite XILINX FPGA este rapid şi
eficient, iar durata acestui proces este de câteva zile în comparaţie cu, câteva săptămâni,
termen obişnuit cu alte tipuri de circuite programabile. Structura internă este organizată într-o
matrice de celule înconjurate la periferie de celulele de intrare/ieşire (I/O). Segmentele de
interconexiuni din metal pot realiza prin intermediul punctelor de conexiune, legături între
celulele logice configurabile şi celulele de intrare/ieşire. Abundenţa de porţi logice, registre,
interfeţe I/O cu o viteză de răspuns mare, sunt doar câteva caracteristici ale circuitelor logice
reprogramabile FPGA. Seria circuitelor cu aria de configurare de tip SRAM include în
principal următoarele familii de produse: Spartan-I, Spartan-II, Spartan 3, Virtex, Virtex-II,
Virtex-II Pro şi Virtex-IV şi mai nou Virtex-V.
Familia de circuite FPGA Spartan-3 a fost proiectată în mod expres pentru a veni în
întâmpinarea cerinţelor de capacitate sporită şi cost redus, specifice pieţei bunurilor de larg
consum. Această familie de circuite are opt membrii cu capacităţii între 50.000 şi cinci
milioane de porţii logice. Circuitele din această familie sunt realizate în tehnologie 90nm şi
pot fi implementate proiecte cu frecvenţă de lucru de până la 185 MHz .
Familia de circuite Spartan-3 este o alternativă superioară circuitelor ASIC
programate prin mască. Circuitele FPGA permit reducerea costurilor iniţiale de producţie, a
ciclului de dezvoltare implementare a aplicaţiei şi înlătură inflexibilitatea specifică circuitelor
ASIC. Circuitele FPGA din familia Spartan-3 sunt alcătuite din cinci elemente programabile
fundamentale:
• blocurile logice configurabile (CLB);
• blocurile de intrare ieşire (IOB);
• blocurile de memorie RAM;
• blocurile de multiplicatoare;
• blocurile DCM.
- 25 -
Conducerea unui motor de curent continuu cu perii
- 26 -
Conducerea unui motor de curent continuu cu perii
CAPITOLUL 3
Dezvoltarea aplicativă
- 27 -
Conducerea unui motor de curent continuu cu perii
- 28 -
Conducerea unui motor de curent continuu cu perii
b) Metode de implementare
- 29 -
Conducerea unui motor de curent continuu cu perii
- 30 -
Conducerea unui motor de curent continuu cu perii
- 31 -
Conducerea unui motor de curent continuu cu perii
Figura 1.15
Metoda hardware-software
propusă pentru testarea
controlerului hardware digital
- 32 -
Conducerea unui motor de curent continuu cu perii
- 33 -
Conducerea unui motor de curent continuu cu perii
Modelul matematic
Obiectivul în dezvoltarea modelului matematic al motorului de curent continuu cu
magneţi permanenţi este de a obţine o relaţie între tensiunea aplicată armăturii si viteza
motorului. Prin considerarea caracteristicilor electrice şi mecanice ale sistemului, putem
dezvolta două ecuaţii de echilibru.
- 34 -
Conducerea unui motor de curent continuu cu perii
Figura 1.16
Reprezentarea electrică a unui
motor de current continuu
Aplicând legea lui Ohm, tensiunea de-a lungul rezistenţei din înfăşurare, Ra este:
VRa = I a ⋅ Ra (0.2) , unde Ia este curentul care trece prin bobină. Tensiunea de-a lungul
bobinei este proporţională cu variaţia în timp a curentului care trece prin bobină şi poate fi
dI a
scrisă ca în relaţia: V La = L a ⋅ (0.3) , unde La este inductanţa bobinei. Tensiunea
dt
- 35 -
Conducerea unui motor de curent continuu cu perii
dIa
Va − Ia ⋅ Ra − La ⋅ − kv ⋅ωa = 0 (0.5)
dt
Tω , este cuplul acceleraţiei de rotaţie a rotorului, Tω este cuplul produs de viteza rotorului ,
d ωa
acceleraţiei de rotaţie a rotorului este Tω , = J ⋅ (0.8), unde J este inerţia rotorului şi
dt
echivalentul de încărcare mecanică. Cuplul produs de viteza rotorului este egal cu :
d ωa
kt ⋅ I a − J ⋅ − B ⋅ ωa − TL = 0 (0.10)
dt
Ecuaţiile diferenţiale din relaţiile (0.5) şi (0.10) pentru curentul electric ce parcurge
armătura si pentru viteza unghiulară, pot fi scrise în felul următor:
- 36 -
Conducerea unui motor de curent continuu cu perii
dI a R k V
= − a ⋅ I a − v ⋅ ωa + a (0.11)
dt La La La
d ω a kt B T
= ⋅ I a − ⋅ ωa − L (0.12)
dt J J J
, ecuaţii care descriu sistemul motorului de curent continuu. Scriind ecuaţiile diferenţiale în
spaţiul stărilor, rezultă relaţiile:
Ra kv 1
− − 0
d I a La La I a La V
= ⋅ + a
dt ωa kt B ωa 1 T
− 0 − L
(0.13)
J J J
y1 1 0 I a 0 0 Va
= ⋅ + (0.14)
y
2 0 1 ω
a 0 0 TL
d
x = A⋅ x + B ⋅u (0.15)
dt
y = C ⋅ x + D ⋅u (0.16)
,unde x este vectorul de stare, u este vectorul de intrare, iar y este vectorul de ieşire
- 37 -
Conducerea unui motor de curent continuu cu perii
Ra k 1
s ⋅ Ia ( s ) − Ia (0) = − ⋅ I a ( s ) − v ⋅ Ω a ( s ) + ⋅ Va ( s ) (0.17)
La La La
kt B 1
s ⋅ Ω a ( s ) − ωa ( 0 ) = ⋅ I a ( s ) − ⋅ Ω a ( s ) − ⋅ TL ( s ) (0.18)
J J J
Dacă apar perturbaţii când sistemul se află în starea de echilibru, condiţiile iniţiale
devin 0 şi toate variabilele suferă o schimbare în jurul referinţei, iar ecuaţiile de mai sus se
pot exprima după cum urmează:
−kv ⋅ Ω a ( s ) + Va ( s )
Ia ( s ) = (0.19)
La ⋅ s + Ra
−kt ⋅ I a ( s ) − TL ( s )
Ωa ( s ) = (0.20)
J ⋅s + B
Figura 1.17
Schema Simulink pentru m.c.c
- 38 -
Conducerea unui motor de curent continuu cu perii
Schema bloc de mai sus poate fi simplificată prin presupunerea că efortul de cuplu
este constant, caz în care singura sarcină de cuplu ar fi frecarea, care este relativ constantă în
timp ce motorul se roteşte.Având în vedere schimbările făcute,TL dispare din schemă.
Această schemă bloc este redusă cu uşurinţă prin aplicarea formulelor funcţiilor de transfer
echivalente conexiunilor serie şi reacţie:
Figura 1.18
Modelul redus al motorului c.c.
Voi presupune următoarele valori pentru parametrii fizici. Aceste valori au fost
obţinute printr-un experiment real în cadrul laboratoarelor din universitatea Carnegie Mellon:
• Momentul de inerţie al rotorului(J)= 3.2284E-6 kg.m^2/s^2;
• Coeficientul de amortizare asociat sistemului mecanic de rotaţie al motorului
(B) = 3.5077E-6 Nms ;
• Constanta cuplului(kt)=Constanta vitezei(kv)=k= 0.0274 Nm/A;
• Rezistenţa electrică(R)= 4 ohm;
• Inductanţa bobinei(L)= 2.75E-6 H;
• Intrarea(Va)=sursa de tensiune;
• Ieşirea(theta)=pozţia arborelui(axului);
• Rotorul şi arborele se presupun a fi rigide;
- 39 -
Conducerea unui motor de curent continuu cu perii
dθ
Aplicând formula: ωa = rezultă noul sistem de ecuaţii:
dt
∂ 2θ dθ
J ⋅ 2 + B⋅ = K ⋅ Ia (0.21)
∂tx dt
dI a dθ
L⋅ + R ⋅ I a = Va − K ⋅ (0.22)
dt dt
s 2 ⋅ J ⋅ ϑ ( s ) + s ⋅ B ⋅ϑ ( s ) = K ⋅ I a ( s ) (0.23)
L ⋅ s ⋅ I a ( s ) + R ⋅ I a ( s ) = Va − K ⋅ s ⋅ ϑ ( s ) (0.24)
Prin eliminarea I(s), putem obtine următoarea funcţie de transfer, unde viteza de
rotaţie este ieşirea, iar tensiunea de alimentare intrarea. Totuşi în acest exemplu ne
interesează poziţia, de aceea vom împărţi funcţia de transfer cu s. Am obţinut funcţia de
transfer:
θ K
H ( s) = = (0.25)
Va (
s ⋅ ( J ⋅ s + B) ⋅( L ⋅ s + R) + K 2 )
Ecuaţiile de mai sus pot fi, de asemenea reprezentate în spaţiul stărilor. Dacă alegem
variabilele de stare ca fiind: poziţia motorului, viteza de rotaţie a armăturii şi curentul care
trece prin bobină, putem rescrie ecuaţiile dupa cum urmează:
- 40 -
Conducerea unui motor de curent continuu cu perii
θ 0 1 0 θ
0
d ⋅ B K ⋅
θ = 0 − ⋅ + 0 (0.26)
dt J J θ
I
a K R Ia
1
0 − − L
L L
Poziţionarea motorului trebuie sa fie cât mai precisă, de aceea erorile care apar în
stările de echilibru trebuie sa fie nule. Altă cerinţă de performanţă este ca motorul sa ajungă
în poziţia finală foarte repede. În acest caz ne dorim un timp de soluţionare de 40ms. De
asemenea dorim să avem o depăşire mai mică de 16%
Putem plasa funcţia de transfer din relaţia (0.25) în mediul de lucru Matlab, definind
numărătorul şi numitorul ca vectori. Am obţinut graficul de mai jos:
Figura 1.19
Răspunsul
treaptă pentru
sistemul cu
buclă deschisă
Din grafic observăm că atunci când se aplică 1 volt sistemului, poziţia motorului se
schimbă cu 6 radiani, de 6 ori mai mult decât poziţia dorită.
- 41 -
Conducerea unui motor de curent continuu cu perii
Regulatorul PID este cel mai complet regulator 1-DOF. El prezintă toate cele trei
componente de bază P,I şi D. Modelul matematic intrare-ieşire aferent regulatorului PID
poate fi explicitat în mai multe variante:
1
t
m ( t ) = k R e ( t ) + ⋅ ∫ e (τ ) dτ + Td ⋅ e
Ti 0
(t ) , sau
t
0
(t ),
m ( t ) = k p ⋅ e ( t ) + k I ∫ e (τ ) dτ + kd ⋅ e unde m(t) este semnalul de intrare al
procesului condus (în cazul nostru al motorului de curent continuu), iar e(t) este eroarea de
reglare care face posibilă rejecţia efectelor unor perturbaţii constante.
Recomandări de utilizare : în practică RG-PID este recomandat atunci când:
• Procesul condus are mai multe constante de timp mari (inerţii mari), al căror
efect poate fi compensat prin constantele de timp ale regulatorului;
• Se impune realizarea condiţiei de eroare de reglare nulă;
• Modificările referinţei şi perturbaţiei sunt puţin pronunţate, ceea ce va face ca
variaţia comenzii să nu fie foarte pronunţată; dacă variaţia referinţei este
puternică, atunci se va prefera utilizarea unui regulator cu prelucrare
neomogenă a informaţiei:
- în raport cu referinţa, de tip PI;
- în raport cu canalul de măsură, de tip PID (canalul pe care se
prelucrează şi efectele perturbaţiei).
Avantajele utilizării RG-PID sunt aceleasi cu cele din cazul utilizării unui RG-PI, cu
observaţia că devine posibilă compensarea efectelor a două constante de timp mari ale PC. Şi
- 42 -
Conducerea unui motor de curent continuu cu perii
, unde Sistem este sistemul care urmează a fi controlat, iar Controllerul este proiectat pentru a
kI
controla intreg sistemul. Funcţia de transfer a controllerului PID este: k p + + kD ⋅ s .
s
Variabila e reprezintă eroarea de reglare, fiind egala cu diferenţa dintre intrarea dorită u şi
iesirea actuală y. Eroarea este trimisă controllerului PID care calculeză derivata şi integrala
semnalului de eroare. Semnalul m de la ieşirea controllerului va fi egal cu:
de
m = k p ⋅ e + k I ⋅ ∫ edt + k p ⋅ . Semnalul m va fi recepţionat de blocul Sistem, care va trimite
dt
mai departe ieşirea obţinută. Noua ieşire y va fi retrimisă senzorului de eroare. Controllerul
va primi noul semnal de eroare si va calcula derivata şi integrala erorii. Procesul se repetă
până când eroarea va fi 0.
Controllerul proportional reduce timpul de creştere, dar nu elimină eroarea.
Integratorul elimină eroarea, dar răspunsul în regim tranzitoriu poate fi deteriorat. Blocul
derivativ are efect de creştere a stabilităţii sistemului, de reducere a suprareglării şi de
îmbunătăţire a regimului tranzitoriu.
Presupunem iniţial doar factorul proporţional k p =1.7. Pentru a determina funcţia de
transfer a circuitului cu buclă închisă vom folosi comanda feedback. Următorul fişier .m ne
va da răspunsul la un semnal treaptă unitar
- 43 -
Conducerea unui motor de curent continuu cu perii
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];
motor=tf(num,den);
Kp=1.7;
contr=Kp;
sys_cl=feedback(contr*motor,1);
t=0:0.001:0.2;
step(sys_cl,t)
Figura 1.20
Răspunsul treaptă pentru sistemul cu buclă
închisă cu regulator P
Figura 1.21
Răspunsul treaptă
pentru sistemul cu
buclă închisă cu
regulator P plasat în
bucla de reglare
Din graficele de mai sus observăm că deşi eroarea stării de echilibru este mică,
soluţionarea în timp este prea mare la fel ca şi suprareglajul. De asemenea observăm că
eroarea stării de echilibru la o perturbaţie, este mare.
- 44 -
Conducerea unui motor de curent continuu cu perii
Figura 1.22
Răspunsul treaptă
pentru sistemul cu
buclă închisă cu
regulator PI
Kp=2;
Ki=25;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*
motor,1);
t=0:0.001:0.4;
step(sys_cl,t)
Figura 1.23
Răspunsul treaptă
pentru sistemul cu
buclă închisă cu
regulator PI plasat în
bucla de reglare
- 45 -
Conducerea unui motor de curent continuu cu perii
După cum se observă timpul de soluţionare este prea mare. Voi mări factorii
proportional si integrator pentru a accelera procesul de răspuns.Efectul se vede în graficul de
mai jos :
Figura 1.24
Răspunsul treaptă
pentru sistemul cu
buclă închisă cu
regulator PI după
mărirea factorilor kp
şi ki
Am constatat că răspunsul este mai rapid decât în cazurile precedente, dar mărind
factorul integrator ki s-a înrăutăţit răspunsul tranzitoriu (suprareglaj mare). Pentru a înlătura
acest dezavantaj, voi adăuga un termen derivativ de reducere a suprareglării. Răspunsul se
află in figura 1.25:
Figura 1.25
Răspunsul treaptă
pentru sistemul cu
buclă închisă cu
regulator PID
Observăm că răspunsul sistemului la semnal treaptă este foarte bun, suprareglajul este
scăzut, timpul de amortizare este aproximativ de 50ms şi nu avem eroare în regim staţionar.
- 46 -
Conducerea unui motor de curent continuu cu perii
Acum vom ştii că, dacă vom utiliza un controller PID cu factorii kp=20, ki=250 şi kd=0,2,
toate cerinţele de proiectare vor fi satisfăcute.
În continuare voi modela legile lui Newton si Kirchoff după cum urmează :
d 2θ dθ d 2θ 1 dθ
J⋅ = T − b ⋅ ⇒ = ⋅ kt ⋅ I a − b ⋅ (0.29)
dt 2
dt dt 2
J dt
dI a dI 1 dθ
L⋅ = − R ⋅ I a + Va − Vc ⇒ a = ⋅ − R ⋅ I a + Va − ke ⋅ (0.30)
dt dt L dt
- 47 -
Conducerea unui motor de curent continuu cu perii
Figura 1.26
Schema Simulink a
sistemului cu buclă
deschisă
Figura 1.27
Răspunsul
sistemului cu buclă
deschisă la un
semnal treaptă
unitar
- 48 -
Conducerea unui motor de curent continuu cu perii
Un model liniar digital al sistemului în timp continuu (în spaţiul stărilor sau cu
ajutorul funcţiei de transfer) poate fi extras dintr-un model Simulink în Matlab. Conversia în
timp discret (digital) se face cu blocuri Zero-Order Hold aplicate intrării şi ieşirii sistemului si
acţionează ca dispozitive D/A(digital to analogue) şi A/D (analogue to digital). Extragerea
modelului se face folosind blocuri de conectare In şi Out şi utilizând funcţia Matlab dlinmod.
Prima oară voi grupa toate componentele sistemului (mai puţin blocul de vizualizare a
mărimii de ieşire-Scope şi blocul treaptă unitar Step).
Figura 1.28
Schema Simulink a
sistemului în timp
discret
Acum voi extrage modelul modelul liniar digital folosind următoarele comenzi în
Command Window:
[A,B,C,D]=dlinmod('motor_position_dis',.001)
[num,den]=ss2tf(A,B,C,D), unde parametrul din funcţia dlinmod 0,001reprezintă
timpul de eşantionare pentru conversia în timp discret.Am obţinut funcţia de transfer în
domeniul discret cu numărătorul si numitorul:
num =0 0.0010 0.0010 0.0000
den =1.0000 -1.9425 0.9425 0
În rezultatele de mai sus am observat că atât numărătorul cât şi numitorul funcţiei de
transfer au o rădăcină pentru z=0. Acestea se anulează reciproc şi funcţia de transfer în timp
discret a motorului de curent continuu cu ieşirea poziţia şi intrarea tensiunea de alimentare
- 49 -
Conducerea unui motor de curent continuu cu perii
Figura 1.29
Graficul sistemului
în timp discret cu
buclă deschisă
- 50 -
Conducerea unui motor de curent continuu cu perii
În continuare vom analiza răspusul sistemului în buclă închisă când nu este adăugat
controllerul. Primul pas va fi închiderea buclei funcţiei de transfer utilizând comanda
feedback. Închizând bucla vom vedea răspunsul în timp discret, folosind funcţiile step şi
stairs. Step va furniza vectorul semnalelor treaptă discretizate, iar stairs va conecta aceste
semnale discrete.Adăugând următorul cod Matlab la sfârşitul precedentului (celui de mai sus)
vom obţine graficul din figura 1.30 :
sys_cl = feedback(motor_d,1);
[x1,t] = step(sys_cl,.2);
stairs(t,x1)
xlabel('Timp (sec)')
ylabel('Pozitia (rad)')
title('Raspunsul treapta discretizat')
Figura 1.30
Graficul sistemului
în timp discret cu
reacţie unitară
negativă
- 51 -
Conducerea unui motor de curent continuu cu perii
Figura 1.31
Tranzistorul cu efect de câmp
Poarta este un film metalic izolat de semiconductor printr-un strat de oxid de siliciu.
Când se aplică o tensiune între poartă şi sursă ("+" pe poartă şi "–" pe sursă pentru MOSFET
cu canal N), se crează un câmp electric ca într-un condensator plan. Câmpul electric creat
atrage lângă suprafaţă electroni.
- 52 -
Conducerea unui motor de curent continuu cu perii
Curentul ID care trece între sursă şi drenă, va fi cu atât mai mare cu cât va fi mai mare
tensiunea aplicată porţii UGS şi cu cât va fi mai mare tensiunea aplicată între drenă şi sursă
UDS (daca UGS >> UDS cu "+" pe drenă şi "–" pe sursă).
Daca UDS > UGS, curentul prin canal nu mai creşte din cauza îngustării canalului lângă
drenă, datorită câmpului invers ce apare între poartă şi drenă. Curentul are valoarea limită:
ID = (UGS –VP)2⋅K/2.
Pentru a înţelege mai bine, puntea H este separată în două părţi. Referindu-ne la figura
de mai jos, Q1 şi Q2 formează o pereche, iar Q3 şi Q4 formează cealaltă pereche.
Figura 1.32
Circuitul cu punte H
Conducerea bidirecţională a motorul DC cu perii
- 53 -
Conducerea unui motor de curent continuu cu perii
Q1 Q2 Q3 Q4
Înainte 1 0 0 1
Înapoi 0 1 1 0
Limitare 0 0 0 0
Frânare 0 1 0 1
Tabelul 1.3
Modurile de operare a punţii H
- 54 -
Conducerea unui motor de curent continuu cu perii
Motorul DC este parte a unui sistem complex, care conţine electronica de control
(puntea H) şi un disc ataşat axului motorului. În ansamblu, modelul este figurat mai jos, unde
semnalul de intrare Va este tensiunea aplicată circuitului cu punte H, iar semnalul de ieşire
este poziţia unghiulară a arborelui motorului :
Figura 1.33
Schema Simulink a motorului de
curent continuu cu punte H
- 55 -
Conducerea unui motor de curent continuu cu perii
Figura 1.34
Schema
Simulink a
subsistemului
Motor DC
Figura 1.35
Schema
Simulink a
subsistemului
Puntea H
- 56 -
Conducerea unui motor de curent continuu cu perii
Modelul motorului DC indică relaţia curentului care trece prin bobină faţă de cuplul
elctromagnetic. Cuplul de la nivelul axului provoacă rotaţia acestuia, rezultând astfel o relaţie
între aceasta si forţa contra electromotoare.Ceilalţi parametrii sunt : inerţia rotorului
(J[ kg ⋅ m 2 ]), coeficientul de frecare vâscoasă (amortizarea) ( B [ N ⋅ m ⋅ s / rad ] ), rezistenţa
armăturii Ra [ohm] şi inductanţa armăturii [ H ] .
Daca aplicăm sistemului o tensiune de intrare( de comandă a punţii H) care are
formele de undă ca în figura 1.36 (am considerat 3 cazuri), forma de undă a poziţiei
unghiulare, măsurată in radiani va avea următoarele variaţii:
Figura 1.36
Formele de undă ale tensiunii
aplicată modului de putere
- 57 -
Conducerea unui motor de curent continuu cu perii
Figura 1.37
Formele de undă ale poziţiei
unghiulare ca răspuns la un
semnal Signal1 reprezentat în
graficul de mai sus
Figura 1.38
Formele de undă ale poziţiei
unghiulare ca răspuns la un
semnal Signal2 reprezentat în
figura 1.36
Figura 1.39
Formele de undă ale poziţiei
unghiulare ca răspuns la un
semnal Signal2 reprezentat în
figura 1.36
- 58 -
Conducerea unui motor de curent continuu cu perii
-din figura 1.35 observăm că, deşi după o durată de 10 secunde tensiunea de
alimentare a circuitului este 0, motorul nu se opreşte instantaneu, iar aceasta se datorează
inerţiei rotorului.
- 59 -
Conducerea unui motor de curent continuu cu perii
CAPITOLUL 4
Concluzii
- 60 -
Conducerea unui motor de curent continuu cu perii
generarea propulsiei, dar si în PC-urile noastre (actionare DVD player, Floppy, HDD,
ventilatoare) şi în alte aplicaţii.
Folosind puterea şi viteza de execuţie a unui circuit FPGA, în procesele industriale, se
poate renunta la metoda tradiţională de a proiecta şi construi chip-uri pentru orice produs nou
ce necesită testat. Astfel se poate renunta chiar la toata partea electronică şi implementarea a
tot ceea ce se doreste de la un sistem cu microcontroler sau microprocesor într-un circuit
FPGA şi totodata se poate urmări răspunsul acestui sistem la diferite valori de test. Avantajul
este în primul rând capacitatea de reprogramare a unui astfel de circuit şi puterea de calcul.
Viteza de rulare a codului ţine de timpul de propagare al semnalului prin porţile logice.
- 61 -
Conducerea unui motor de curent continuu cu perii
BIBLIOGRAFIE
[1] Prof. Dr. Ing Gheorghe- Daniel Andreescu, Universitatea ,,Politehnica” Timişoara,
Estimatoare în de conducere a acţionărilor electrice -1999
[2] Dr. Ing. Vasile Comnac, Universitatea ”Transilvania” Braşov, Catedra Automatică,
Curs Servomotoare -2007
[3] PhD Rahul Dubey Introduction to embedded systems design using FPGA -2008
[4] Prof. Dr. Ing Emil Micu, Ing. Daniel Mic, Universitatea ”Transilvania” Braşov,
Contribuţii la dezvoltarea unui mediu integrat hardware-software pentru controlul
motoarelor electrice cu circuite logice programabile -2007
[6] Prof. Dr. Ing Ştefan Preitl, Universitatea ,,Politehnica” Timişoara, Curs Structuri
Avansate de Conducere Automată a Proceselor -2007
[7] Sobh T., Elleithy K, Mahmood A., Karim M. Novel Algorithms and Techniques in
Telecommunications, Automation and Industrial Electronics -2008
www.wikipedia.org
www.howstuffworks.com
- 62 -
Conducerea unui motor de curent continuu cu perii
www.xilinx.com
www.mathworks.com
www.microchip.com
- 63 -
Conducerea unui motor de curent continuu cu perii
Anexă
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];
motor=ss(A,B,C,D);
step(motor)
xlabel('Timp');
ylabel('Pozitia unghiulara(rad/s)');
title('Raspunsul sistemului de reglare a pozitiei in bucla deschisa la un semnal treapta unitar
utilizand spatiul starilor ');
- 64 -
Conducerea unui motor de curent continuu cu perii
- 65 -
Conducerea unui motor de curent continuu cu perii
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2) 0];
motor=tf(num,den);
Kp=2;
Ki=25;
contr=tf([Kp Ki],[1 0]);
sys_cl=feedback(contr*motor,1);
t=0:0.001:0.4;
step(sys_cl,t);
xlabel('Timp');
ylabel('Pozitia unghiulara(rad/s)');
title('Raspunsul sistemului de reglare a pozitiei in bucla inchisa la un semnal treapta unitar
utilizand regulatoare PI cu kp=2 si ki=25');
Răspunsul acestui program este ilustrat în figura 1.22 la pagina 41
Răspunsul sistemului de reglare a poziţiei în buclă închisă la un semnal treaptă unitar, în timp
discret:
pos_close_loop_dis.m
num = K;
den = [(J*L) (J*R)+(L*b) (R*b)+(K^2) 0];
motor = tf(num,den)
Ts = 0.001;
motor_d = c2d(motor, Ts, 'zoh')
[numd,dend] = tfdata(motor_d,'v')
sys_cl = feedback(motor_d,1);
- 66 -
Conducerea unui motor de curent continuu cu perii
[x1,t] = step(sys_cl,.2);
stairs(t,x1);
xlabel('Timp (sec)');
ylabel('Pozitia (rad)');
title('Raspunsul treapta discretizat');
Răspunsul acestui program este ilustrat în figura 1.30 la pagina 51
- 67 -