25.08.2013 Views

Rezumat teza - Universitatea Tehnic?

Rezumat teza - Universitatea Tehnic?

Rezumat teza - Universitatea Tehnic?

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

FACULTATEA DE ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA<br />

INFORMAȚIEI<br />

Ing. Andrei Vasile Cozma<br />

TEZĂ DE DOCTORAT<br />

-REZUMAT-<br />

CERCETĂRI PRIVIND DEZVOLTAREA UNUI SISTEM<br />

DE CONTROL PROGRAMABIL CU APLICAȚII ÎN<br />

CONTROLUL MOTOARELOR ELECTRICE<br />

Comisia de evaluare a tezei de doctorat:<br />

Conducător ştiinţific,<br />

Prof.dr.ing.Dan PITICĂ<br />

PREŞEDINTE: - Prof.dr.ing. Dorin Petreuș, Prodecan, <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-<br />

Napoca<br />

MEMBRI: - Prof.dr.ing. Dan Pitică - Conducător ştiinţific, <strong>Universitatea</strong> <strong>Tehnic</strong>ă din<br />

Cluj-Napoca<br />

- Prof.dr.ing. Mircea Dăbâcan, Referent, <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-<br />

Napoca<br />

- Prof.dr.ing. Aurel Gontean, Referent, <strong>Universitatea</strong> "Politehnică" din<br />

Timisoara<br />

- Prof.dr. ing. Petre Ogruţan, Referent, <strong>Universitatea</strong> Transilvania din Braşov


CUPRINS<br />

Abstract …………………………………………………………………..…….......<br />

Prefață....………………………………………………..……….……………….....<br />

1. Introducere………….…………………………………………………..………..<br />

1.1 Obiectivele cercetării…...…………………………………………………….<br />

1.2 Structura tezei....……………………………………………………………...<br />

2. Fundamente teoretice…………………………………………………………….<br />

2.1. Control digital ...……………………………………………………………..<br />

2.1.1 Principii ..…………………..……………………………………………<br />

2.1.2 Sisteme discrete ….………………………………..…………………….<br />

2.1.3 Procesoare digitale de semnal ……………………………….………….<br />

2.1.4 Controller digital de semnal …………………………………………….<br />

2.1.5 Sisteme reconfigurabile ….………………………………………………<br />

2.1.6 Procesare paralelă .………………………………………………………<br />

2.2. Motoare de curent continuu …………………………………………………<br />

2.2.1 Mod de funcționare……….……………………………………………..<br />

2.2.2 Tipuri de motoare de curent continuu...…………………………………<br />

2.2.3 Modele matematice...…………………………………………………….<br />

2.2.4 Strategii de control…..…………………………………………………..<br />

2.3. Motoare de curent alternativ…………………………………………………<br />

2.3.1 Mod de funcționare….…………………………………………………...<br />

2.3.2 Tipuri de motoare de curent alternativ…………………………………..<br />

2.3.3 Modele matematice………………………………………………………<br />

2.3.4 Strategii de control……..………………………………………………..<br />

3. Sistem de control programabil..…...……………………………………………..<br />

3.1 Introducere…………………..………………………………………………..<br />

3.2. Arhitectura sistemului de control programabil …….………………………..<br />

3.2.1 Modul de intrare…..……………………………………………………..<br />

3.2.2 DSP……………….……..……………………………………………….<br />

3.2.3 MCU..……..……………………………………………………………...<br />

3.2.4 Magistrala sistem ………………………………………………………..<br />

3.2.5 Modul de ieșire...…………………………………………………………<br />

3.2.6 Modul de comunicație......……………………………………………….<br />

3.3. Procesor digital de semnal……...……………………………………………<br />

3.3.1 Proiectare.………………………………………………………………..<br />

3.3.2 Set de instrucțiuni…………..……………………………………………<br />

3.3.3 Considerații legate de implementare și simulare..……………………….<br />

3.4 Concluzii…..………………………………………………………………….<br />

4. Controller pentru motor de curent continuu bazat pe sistemul de control<br />

programabil…………………………………………………………………………<br />

4.1 Specificațiile sistemului de control…………………………………………...<br />

Pagină<br />

Teză <strong>Rezumat</strong><br />

1<br />

2<br />

3<br />

4<br />

6<br />

7<br />

8<br />

8<br />

10<br />

11<br />

13<br />

14<br />

15<br />

17<br />

17<br />

17<br />

20<br />

22<br />

23<br />

23<br />

23<br />

26<br />

31<br />

36<br />

37<br />

38<br />

39<br />

40<br />

40<br />

42<br />

43<br />

45<br />

46<br />

46<br />

54<br />

57<br />

60<br />

62<br />

62<br />

1<br />

2<br />

3<br />

3<br />

4<br />

5<br />

5<br />

-<br />

-<br />

-<br />

5<br />

-<br />

5<br />

6<br />

-<br />

-<br />

6<br />

6<br />

6<br />

-<br />

-<br />

6<br />

8<br />

9<br />

-<br />

9<br />

10<br />

-<br />

10<br />

10<br />

10<br />

11<br />

11<br />

11<br />

16<br />

-<br />

-<br />

16<br />

16


Cuprins<br />

4.2 Proiectare controller……………………..……………………………………<br />

4.2.1 Algoritmul de control………..…………………………………………...<br />

4.2.2 Structura sistemului de control…………………………………………..<br />

4.3 Implementare fizică…………………………………………………………...<br />

4.4 Evaluarea performanțelor……..………………………………………………<br />

4.5 Concluzii….…………………………………………………………………..<br />

5. Controller pentru motor asincron bazat pe sistemul de control<br />

programabil…………………………………………………………………………<br />

5.1 Specificațiile sistemului de control…………………………………………...<br />

5.2 Proiectare controller……………………..……………………………………<br />

5.2.1 Algoritmul de control………..…………………………………………..<br />

5.2.2 Structura sistemului de control…………………………………………..<br />

5.3 Implementare fizică…………………………………………………………..<br />

5.4 Evaluarea performanțelor……..………………………………………………<br />

5.5 Concluzii….…………………………………………………………………..<br />

6. Concluzii….……………..………………………………………………………..<br />

6.1 Concluzii finale………...……………………………………………………..<br />

6.2 Contribuții……...……………………………………………………………..<br />

6.3 Direcții de cercetare ulterioară………………………………………………..<br />

Bibiografie………………………………………………………………………......<br />

Anexe…………………………………………………………………………..……<br />

Anexa 1 – Setul de instrucțiuni al DSP………...…………………………………<br />

Anexa 2 – Implementarea VHDL a DSP...……………………………………….<br />

Anexa 3 – Compilator programe DSP …………………………………………...<br />

Anexa 4 – Model software al DSP……………………...………………………...<br />

Anexa 5 – Implementare VHDL controller motor CC..…...……………………..<br />

Anexa 6 – Programe DSP controller motor CC….…………...…………………..<br />

Anexa 7 – Program MCU controller motor CC……….…...……………………..<br />

Anexa 8 – Model software controller motor CC…..………………..…………….<br />

Anexa 9 – Implementare VHDL controller motor asincron……….……………..<br />

Anexa 10 – Programe DSP controller motor asincron…...……………………….<br />

Anexa 11 – Model Simulink motor asincron…………..…………………………<br />

Anexa 12 – Model software controller motor asincron..……………..…………..<br />

Anexa 13 – Model intrare controller motor asincron………..……....……………<br />

Anexa 14 – Conectare componente controller motor asincron…………………...<br />

Anexa 15 – Proiectare și implementarea aplicație PC…..………………………..<br />

Listă de tabele ………………………………………………………………………<br />

Listă de figuri ……………………………………………………………………….<br />

Listă de simboluri și abrevieri……....……………………………………………….<br />

Listă de publicații…..……………………………………………………………….<br />

Curriculum Vitae ……………………………………………………………………<br />

62<br />

62<br />

66<br />

69<br />

71<br />

73<br />

75<br />

76<br />

76<br />

76<br />

78<br />

82<br />

85<br />

88<br />

90<br />

91<br />

95<br />

95<br />

96<br />

103<br />

104<br />

108<br />

116<br />

125<br />

130<br />

145<br />

147<br />

149<br />

151<br />

165<br />

173<br />

175<br />

183<br />

186<br />

188<br />

197<br />

198<br />

200<br />

202<br />

203<br />

16<br />

16<br />

18<br />

20<br />

20<br />

-<br />

22<br />

22<br />

22<br />

22<br />

23<br />

26<br />

26<br />

-<br />

28<br />

28<br />

32<br />

32<br />

33<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

-<br />

40<br />

41


ABSTRACT<br />

Această lucrare are în vedere proiectarea și implementarea unui sistem de control programabil care<br />

este destinat a fi utilizat într-o gamă largă de aplicații de control. Principala caracterisitcă a<br />

sistemului este adaptabilitatea sa la cerințele specifice ale aplicațiilor în care este utilizat. Sistemul<br />

poate fi configurat să suporte diferite resurse de intrare/ieșire cât și din punct de vedere al resurselor<br />

de procesare prezente în sistem. Întâi lucrarea prezintă arhitectura sistemului de control și toate<br />

componentele acestuia sunt descrise în detaliu. În continuare sunt prezentate două aplicații de<br />

control în care sistemul este utilizat, o aplicație pentru controlul unui motor de curent continuu și o<br />

aplicație pentru controlul unui motor de inducție. Aceste aplicații au rolul de verifica soluția de<br />

control propusă și de a îi demonstra capabilitățile.<br />

Componenta principală a sistemului de control este un processor digital hibrid care combină un<br />

microcontroller (MCU) cu un processor digital de semnal (DSP). Această combinație are ca rezultat<br />

un nucleu de control foarte flexibil și puternic, capabil să execute algoritimi complecși de timp real.<br />

Modulul DSP a fost proiectat să execute operații aritmetice și logice precum și operații de filtrare de<br />

semnal. O unitate de logică fuzzy a fost încorporată în DSP. Mai multe nuclee de procesare pot fi<br />

incluse în DSP, fiecare nucleu fiind capabil să execute propriul său program pe un set propriu de<br />

date. Acest lucru face ca DSP-ul să se comporte ca un sistem MIMD care poate fi utilizat pentru<br />

paralelizarea algoritmilor de control astfel încât aceștia să îndeplinească constrângerile de timp real<br />

impuse. Numărul de nuclee de procesare prezente în sistem este ales în timpul fazei de proiectare pe<br />

baza caracteristicilor aplicației în care sistemul va fi utilizat. Comunicația între nucleele DSP se<br />

realizează printr-o memorie comună. Toate componentele sistemului sunt conectate printr-o<br />

magistrală comună care permite schimbul de date și de mesaje de control. Microcontroller-ul este<br />

componenta sistemului care controlează funcționarea tuturor celorlalte module. Acesta este capabil<br />

să acceseze memoriile de date și de instrucțiuni ale nucleelor DSP pentru a le programa. Algortimii<br />

de control de complexitate ridicată sunt împarțiti între MCU și DSP astfel ca părțile care necesită<br />

procesări intense de date să fie executate de către DSP iar părțile mai complexe ale algoritmului care<br />

nu necesită să fie executate la frecvența de eșantionare a sistemului să fie rulate de către MCU.<br />

Această structură permite MCU să execute operații de supervizare prin care să se ajusteze<br />

funcționarea părții de control implementată în DSP. Sistemul poate fi interfațat cu un PC prin USB.<br />

Acest lucru permite controlarea și monitorizarea din exterior a operațiilor sistemului. O<br />

caracteristică foarte importantă a sistemului este capabilitatea de a monitoriza parametrii sai interni.<br />

Acest lucru este extrem de util în fazele inițiale ale dezvoltării unei noi aplicații deoarece facilitează<br />

depanarea și crește observabilitatea asupra operațiilor interne ale sistemului. Semnale de intrare ale<br />

sistemului sunt achiziționate prin intermediul unui modul de intrare dedicat capabil să accepte atât<br />

semnale analogice cât și digitale. Modulul de intrare convertește semnalele de intrare analogice în<br />

format digital și modifică semnalele de intrare digitale pentru a le aduce la formatul de date utilizat<br />

inten de către DSP. Numărul și tipul intrărilor sistemului sunt configurate în faza de proiectare a<br />

acestuia pe baza caracteristicilor procesului ce va fi controlat. Sistemul poate să genereze trei tipuri<br />

de semnale de control: PWM, analogice și digitale. Semnalele PWM sunt generate de către blocuri<br />

dedicate iar frecvența lor este configurabilă. Semnalele de control analogice sunt obținute în urma<br />

conversiei semnalelor de control digitale cu ajutorul unor convertoare numeric analogice dedicate.<br />

Tipul si numărul ieșirilor sistemului este de asemenea configurabil. Convertoarele analog numerice<br />

si numeric analogice necesare pentru conversia semnalelor pot să fie interne sau externe modulelor<br />

de intrare/ieșire în funcție de necesitățile aplicațiilor concrete și de resursele hardware disponibile.<br />

Sistemul a fost proiectat pentru a oferi o soluție completă de control care poate fi integrată intr-un<br />

singur chip. În funcție de cerințele concrete ale aplicațiilor de control este posibil să se adauge sau să<br />

se renunțe la componente ale sistemului în faza de proiectare a soluției de control.<br />

1


PREFAȚĂ<br />

Munca de cercetare prezentată în această teză s-a desfășurat în perioada Octombrie 2007 – Iunie<br />

2011 în cadrul Departamentului de Electronică Aplicată de la Facultatea de Electronică,<br />

Telecomunicații și Tehnologia Informației din <strong>Universitatea</strong> <strong>Tehnic</strong>ă Cluj-Napoca, România.<br />

Obiectivele cercetării au fost în mare măsură inspirate din experiența acumulată prin elaborarea<br />

lucrărilor de diplomă și studii aprofundate și din experiența mea profesională.<br />

Doresc să imi exprim întreaga recunoștință coordonatorului meu științific, domnul Prof. dr. ing. Dan<br />

Pitică pentru îndrumarea pe care mi-a oferit-o pe durata cercetării. Vreau să îi multumesc în mod<br />

special pentru că a avut încredere în mine, pentru sprijinul său necondiționat și pentru determinarea<br />

de a mă îndruma pe calea potrivită pentru a atinge scopul cercetării.<br />

Doresc să ii multumesc domnului Prof. dr. ing. Mircea Dabâcan pentru că m-a ajutat să pornesc<br />

această cercetare. Introducerea pe care mi-a facut-o în cadrul Departametului de Electronică<br />

Aplicată a făcut posibilă realizarea acestei lucrări. Doresc să îi multumesc pentru sfaturile tehnice pe<br />

care mi le-a dat și pentru faptul că mi-a pus la dispoziție echipamentele de care am avut nevoie<br />

pentru implementarea sistemelor descrise în teză. De asemenea doresc să multumesc companiei<br />

Digilent Inc. pentru furnizarea plăcilor FPGA și a accesoriilor necesare pentru implementarea fizică<br />

a sistemelor de control.<br />

Doresc să îi multumesc domnului Prof. dr. ing. Dorin Petreuș pentru suportul pe care mi l-a oferit pe<br />

parcursul implementării aplicației de control a motorului asincron, pentru că mi-a pus la dispoziție<br />

echipamentele necesare pentru realizarea acestei aplicații și pentru sfaturile sale tehnice.<br />

Doresc să mulțumesc familiei mele pentru suportul oferit de-a lungul acestor ani. Fără ei nu ar fi fost<br />

posibil să duc la bun sfârsit munca de cercetare. Vreau să ii mulțumesc în mod special lui Tiberiu<br />

Streza pentru sfaturile sale, suporul său și pentru că m-am determinat întodeauna să imi continui<br />

munca.<br />

2<br />

Cluj-Napoca, Iunie 2011<br />

Andrei Cozma


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

1. Introducere<br />

1.1 Obiectivele cercetării<br />

Sistemele digitale de control moderne sunt de complexități diferite, pornind de la unele foarte simple<br />

în cadrul cărora doar un număr mic de parametri sunt controlați pe baza unor algoritmi simpli ce<br />

necesită puține resurse de procesare și ajungând la sisteme complexe în care algoritmii de control<br />

trebuie să fie rulați cu frecvență ridicată, au complexitate mare și necesită multe resurse de<br />

procesare. Obiectivul principal al acestei cercetări este dezvoltarea unui arhitecturi noi pentru un<br />

sistem de control digital care să ii confere acestuia un grad ridicat de flexibilitate pentru a putea fi<br />

utilizat într-o gamă largă de aplicații de control. Sistemul trebuie să fie configurabil atât din punct de<br />

vedere a numărului și tipurilor de semnale de intrare și de ieșire cât și din punct de vedere a<br />

resurselor de procesare. O altă caracteristică a sistemului este posibilitatea interfațării acestuia cu un<br />

PC prin intermediul unui protocol de comunicație uzual cum ar fi USB. Pe baza acestor<br />

caracterisitici următorul set de obiective a fost setat:<br />

Proiectarea unui processor digital de semnal programabil optimizat pentru execuția de<br />

operații aritmetice și de procesare de semnal. Setul de instrucțiuni a procesorului trebuie să<br />

includă și instrucțiunii condiționale și de salt. Proiectul trebuie să includă și un mecanism<br />

prin care mai multe astfel de procesoare pot fi conectate în parallel în funcție de puterea de<br />

procesare cerută de diverse aplicații.<br />

Proiectarea unui modul de intrare care să fie interfațat cu procesorul de semnal. Modulul de<br />

intrare trebuie să fie capabil să accepte mai multe tipuri de semnale de intrare digitale și<br />

analogice iar numărul și tipul acestora să fie configurabil.<br />

Proiectarea unui modul de ieșire care să fie interfațat cu procesorul de semnal. Modulul de<br />

ineșre trebuie să aibă mai multe tipuri de semnale de ieșire digitale și analogice iar numărul<br />

și tipul acestora să fie configurabil.<br />

Proiectarea unui modul de comunicație USB pentru interfațarea sistemului cu un PC. Setul<br />

de date utilizat în comunicația între sistem și PC trebuie să fie configurabil.<br />

Integrarea într-un singur proiect a procesorului de semnal, a modulelor de intrare, ieșire și de<br />

comunicație și microcontroller-ului Xilinx Microblaze. Toate aceste module vor fi conectate<br />

prin intermediul magistralei CoreConnect. Acest proiect reprezintă sistemul de control<br />

programabil.<br />

Implementarea sistemului de control programabil utilizând limbajul de descriere VHDL<br />

pentru a putea fi transferat intr-un circuit FPGA.<br />

Implementarea unui compilator pentru procesorul de semnal programabil care să<br />

converetească programele scrise în limbajul propriu de programare a noului procesor în cod<br />

mașină.<br />

Implementarea unui model software a procesorului digital de semnal astfel încât programele<br />

scrise pentru acesta să poată fi verificate înainte de a fi transferat în sistemul de control.<br />

Implementarea unui aplicații de PC de bază pentru a fi utilizată împreună cu sistemul de<br />

control programabil.<br />

Implementarea unui controller pentru un motor de current continuu utilizând noul sistem de<br />

control programabil. Particularizarea aplicației de PC pentru acest controller.<br />

Implementarea unui controller pentru un motor de inducție utilizând noul sistem de control<br />

programabil. Particularizarea aplicației de PC pentru acest controller<br />

3


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

1.2 Structura tezei<br />

Teza este împărțită în șase capitole după cum urmează:<br />

Capitolul 1, Introducere prezintă obiectivele cercetării și oferă o privire de ansamblu<br />

asupra celorlalte secțiuni ale tezei.<br />

Capitolul 2, Fundamente teoretice reprezintă o introducere în aspectele tehnice legate de<br />

prezenta cercetare. Întâi sunt prezentate principiile controlului digital, urmate de o prezentare<br />

a sistemelor discrete și a procesării digitale de semnal. Tehnologii moderne cum ar fi<br />

procesarea paralelă, sisteme reconfigurabile sau controller-e digitale de semnal sunt de<br />

asemenea prezentate în cadrul acestui capitol pentru a face legătura cu concepte utilizate de<br />

soluția de control dezvoltată în cadrul cercetării. Sunt prezentate apoi principiile de lucru,<br />

modelele matematice si strategiile de control ale motoarelor de current continuu si alternativ.<br />

Aceste aspecte vor fi utilizate în continuare pentru a fundamenta algoritmii de control<br />

implementați în această lucrare.<br />

Capitolul 3, Sistem de control programabil introduce un sistem de control programabil<br />

proiectat pentru a fi utilizat într-o gamă variată de aplicații de control. Arhitectura sistemului<br />

este prezentată în detaliu urmată de o serie de considerente legate de simularea și<br />

implementarea sistemului. La finalul capitolului se gasește o secțiune de concluzii care are<br />

rolul de a sumariza aspectele prezentate în cadrul capitolului, de a scoate în evidență<br />

dificultățile întâlnite pe parcursul proiectării și implementarii sistemului și de a evalua<br />

rezultatele obținute.<br />

Capitolul 4, Controller pentru motor de curent continuu bazat pe sistemul de control<br />

programabil prezintă o particularizare a sistemului de control programabil pentru o aplicație<br />

de control a vitezei și poziției unui motor de current continuu. Întâi sunt prezentate<br />

specificațiile sistemului ce trebuie controlat iar apoi este descris algoritmul de control ales pe<br />

baza acestor specificații. Sunt prezentate detalii legate de particularizarea sistemului de<br />

control general pentru implementarea algorimului de control ales. În continuare este<br />

prezentată implementarea fizică a aplicației de control și sunt oferite informații legate de<br />

rezultatele experimentale obținute. La finalul capitolului sunt prezentate o serie de concluzii<br />

care sumarizează activitatea descrisă în cadrul capitolului și evaluează rezultatele obținute.<br />

Capitolul 5, Controller pentru motor asincron bazat pe sistemul de control<br />

programabil prezintă o particularizare a sistemului de control programabil pentru o aplicație<br />

de control vectorial a unui motor asincron. Ca și în cazul aplicației pentru motorul de curent<br />

continuu întâi sunt prezentate specificațiile sistemului ce trebuie controlat iar apoi este<br />

descris algoritmul de control ales pe baza acestor specificații. Sunt prezentate detalii legate<br />

de particularizarea sistemului de control general pentru implementarea algorimului de<br />

control ales. În continuare este prezentată implementarea fizică a aplicației de control si sunt<br />

oferite informații legate de rezultatele experimentale obținute. La finalul capitolului sunt<br />

prezentate o serie de concluzii care sumarizează activitatea descrisă în cadrul capitolului și<br />

evaluează rezultatele obținute.<br />

Capitolul 6, Concluzii prezintă concluziile finale, contribuțiile aduse de această cercetare<br />

precum și direcții de cercetare ulterioară.<br />

Secțiunea Bibliografie enumeră referintețe bibliografice utilizate în teză.<br />

Anexele lucrării conțin detalii despre de implementările efective ale sistemelor de control prezentate<br />

în cadrul lucrării.<br />

4


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

2.1.4 Controllere digitale de semnal<br />

2. Fundamente teoretice<br />

2.1 Control digital<br />

Procesoarele digitale de semnal au apărut din necesitatea de a procesa în timp real semnale<br />

analogice într-un mediu digial. Sistemele de timp real sunt constrânse de cerințe stricte legate de<br />

perioada de repetiție a unei funcții sau a unui algoritm [30]. Arhitectura procesoarelor digitale de<br />

semnal a fost dezvzoltată astfel încât acestea să fie capbile să execute un număr redus de operații<br />

specializate cu viteză ridicată, accentul punându-se pe performanțele de timp real ale algoritmilor de<br />

procesare de semnal executați de către processor. Pe de altă parte microcontroller-ele au fost<br />

dezvoltate pentru a oferi un grad mare de flexibilitate prin programare în detrimental performanței.<br />

În consecință applicațiile în care un MCU va fi utilizat vor avea o buclă de control care necesită<br />

execuția unor acțiuni variate și nu a unor operații numerice repetitive care reprezintă fundamentul<br />

unui algoritm DSP [67]. În ultimii ani a aparut o nouă categorie de controller-e cunoscure sub<br />

numele de Controller-e Digitale de Semnal (DSC). Acestea combină caracteristicile de control ale<br />

MCU cu capabilitățile de procesare rapidă ale DSP pentru a crea o arhitectură hibridă potrivită<br />

pentru multe probleme din inginerie care necesitau anterior utilizarea unor soluții combinate cu<br />

MCU și DSP [67]. Un DSC este capabil să execute efficient atât algoritmi de procesare de semnal<br />

cât și o varietate de operații de control. Prin combinarea puterii de porcesare a DSP cu simplicitatea<br />

în programare a unui microcontroller, un DSC poate să ofere soluții rapide, ieftine și ușor de<br />

proictat. Ca urmare DSC-urile au preluat o parte din piața microcontroller-elor datorită faptului că<br />

ele combină ce este mai bun din ambele domenii [74]. Un DSC include interfețe specializate de<br />

înaltă performanță, utilizate în implementarea de aplicații de control integrate, cum ar fi: PWM,<br />

timere, convertoare analog numerice si numeric analogice de mare viteză, comparatoare sau<br />

interfețe seriale [20]. Controlul motoarelor electrice este un exemplu de o asemenea aplicație. Din<br />

acest motiv multe din perifericele integrate intr-un DSC sunt necesare pentru controlul efectiv al<br />

motoarelor electrice. În plus, prezența unei varietăți de periferice în interiorul unui DSC creste<br />

performanța, reduce costurile aplicațiilor și ajută la dezvoltarea rapidă a produselor [74].<br />

2.1.6 Procesare paralelă<br />

Acest tip de procesare unde mai multe procesoare execută simultan operații se numește procesare<br />

paralelă. Execuția operațiilor este divizată între mai multe procesoare conectate în paralel astfel<br />

reducându-se timpul total de execuție a unei sarcini. Pe baza numărului de instrucțiuni și seturi de<br />

date ce pot fi procesate simultan, sistemele de calcul sunt clasificate în următoarele categorii: o<br />

singură instrucțiune un singur set de date (SISD), o singură instrucțiune mai multe seturi de date<br />

(SIMD), mai multe instrucțiuni un sigur set de date (MISD), mai multe instrucțiuni mai multe seturi<br />

de date (MIMD). Un sistem SISD are un singur processor capabil să execute o singură instrucțiune<br />

la un moment de timp. Un sistem SIMD conține mai multe procesoare capabile să execute aceeași<br />

intrucțiune la un moment de timp pe date diferite [23]. Sistemele MISD sunt alcătuite în esență din<br />

mai multe sisteme SISD conectate. Un sistem MIMD conține mai multe procesoare capabile să<br />

lucreze pe mai multe seturi de date simultan. Procesoarele lucrează asincron și fiecare are setul<br />

propriu de date și de instrucțiuni. Într-o arhitectură MIMD procesoarele pot să comunice între ele<br />

prin memorie comună sau prin mesaje.<br />

5


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

2.2.3 Modele matematice<br />

2.2 Motoare de current continuu<br />

Dinamica unui motor de current continuu cu excitație separată este descrisă de următoarele ecuații:<br />

dia<br />

( t)<br />

p ( t)<br />

Ra<br />

ia<br />

( t)<br />

La<br />

V ( t)<br />

dt<br />

(2.2.8)<br />

d<br />

p ( t)<br />

a ( t)<br />

J D<br />

p ( t)<br />

T<br />

dt<br />

( t)<br />

(2.2.9)<br />

K t<br />

Ki L<br />

Where: (t)<br />

- vi<strong>teza</strong> rotorului [rad/s], Vt (t)<br />

- tensiunea de alimentare [V], ia (t)<br />

- curentul prin<br />

p<br />

rotor [A], TL (t)<br />

- cuplul sarcinii [Nm], J - momentul de inerție al rotorului [Nm 2 ], K - constanta<br />

motorului [Nm/A], D - factorul de amortizare mecanic [Nms], a R - rezistența rotorului [], La -<br />

inductanța rotorului [H]<br />

2.2.4 Strategii de control<br />

Există două modalități de a controla vi<strong>teza</strong> unui motor de curent continuu: control analogic și PWM.<br />

Prima metodă utilizează amplificatoare liniare pentru a genera tensiunea de alimentare a motorului.<br />

Deși această metodă este simplă și directă este ineficientă din punct de vedere energetic și este de<br />

obicei utilizată pentru motoare mici. În cazul PWM tensiunea de alimentare a motorului este sub<br />

formă de pulsuri de amplitudine constantă și lățime variabilă. Cu cât lățimea pulsurilor este mai<br />

mare cu atât se transferă mai multă energie motorului. Frecvența pulsurilor este suficient de mare<br />

pentru ca inductanța motorului sa filtreze variațiile și acesta să funcționeze uniform.<br />

2.3.3 Modele matematice<br />

2.3 Motoare de current alternativ<br />

2.3.3.3 Transformata Clarke directă și inversă<br />

Tranformata Clarke directă convertește un sistem de 3 coordonate (a,b,c) la un sistem cu 2<br />

coordonate (α, β) conform (2.3.24) și (2.3.25):<br />

i <br />

s<br />

isa<br />

(2.3.24)<br />

i<br />

1<br />

3<br />

2<br />

s<br />

isa<br />

isb<br />

(2.3.25)<br />

3<br />

Transformata Clarke inversă este utilizată pentru a converti valorile exprimate în sistemul de<br />

coordinate (α, β) în sistemul de coordonate (a,b,c) conform următoarelor relații:<br />

i i<br />

(2.3.26)<br />

i<br />

sa<br />

sb<br />

s<br />

1 3<br />

is<br />

is<br />

(2.3.27)<br />

2 2<br />

6


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

i<br />

sc<br />

1 3<br />

is<br />

is<br />

(2.3.28)<br />

2 2<br />

2.3.3.5 Transformata Park directă și inversă<br />

Componentele isd și isq ale curentului statoric în sistemul de coordonate (d, q) sunt determinate pe<br />

baza următoatrelor relații:<br />

i i cos i sin<br />

(2.3.29)<br />

sd<br />

sq<br />

s<br />

s<br />

field s<br />

field is<br />

7<br />

field<br />

i i<br />

sin cos<br />

(2.3.30)<br />

Pentru a evita utilizarea funcțiilor trigonometrice valorile pentru sinθField și cosθField (unde θField este<br />

unghiul electric al rotorului) pot fi determinate conform relațiilor:<br />

2 2<br />

rd r<br />

r<br />

field<br />

<br />

(2.3.31)<br />

sin <br />

r<br />

<br />

(2.3.32)<br />

field<br />

rd<br />

<br />

cos <br />

(2.3.33)<br />

r<br />

field<br />

rd<br />

Transformata Park inversă din sistemul de coordonate (d, q) la sistemul de coordonate (α, β) este<br />

definită conform următoarelor relații:<br />

i i cos i sin<br />

(2.3.34)<br />

s<br />

s<br />

sd<br />

sd<br />

field<br />

field<br />

sq<br />

sq<br />

field<br />

i i sin i cos<br />

(2.3.35)<br />

2.3.3.6 Modelul fluxului rotoric<br />

Există diferite metode prin care este posibilă determinarea fluxului rotoric, identificate în cadrul mai<br />

multor cercetări [31][53][29][32]. Relațiile de calcul ale fluxului rotoric în sistemul de coordonate<br />

(α, β) care vor fi utilizate în cadrul cercetării pentru controlul unui motor de inducție sunt derivate<br />

din modelul matematic al motorului și sunt descrise de relațiile (2.3.36) și (2.3.37).<br />

C3<br />

r<br />

( t 1)<br />

C4i<br />

s<br />

C5i<br />

s<br />

C6<br />

r<br />

( t 1)<br />

r<br />

( t)<br />

2<br />

( C C<br />

)<br />

1<br />

field<br />

(2.3.36)<br />

1<br />

2<br />

r<br />

C3<br />

r<br />

( t 1)<br />

C4is<br />

r<br />

( t 1)<br />

r<br />

( t)<br />

<br />

(2.3.37)<br />

C<br />

1 1 1 1 Lm<br />

LmT<br />

T<br />

unde: - C1<br />

, C2 , C3<br />

, C4 , C5<br />

, C<br />

Tr<br />

T C1<br />

T Tr<br />

Tr<br />

T Tr<br />

T <br />

6 <br />

- T – perioada de eșantionare [s], Tr – constanta de timp a rotorului [s], Lm – inductanța<br />

mutuală [H], r (t)<br />

- valoarea fluxului rotoric pe axa α la momentul t [Wb], r (t)<br />

-<br />

valoarea fluxului rotoric pe axa β la momentul t [Wb]


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

2.3.4 Strategii de control<br />

Există 4 strategii principale de control al motoarelor de current alternativ: control V / Hz, control<br />

vectorial fară senzor de turație (Sensorless Vector Control), control vectorial al fluxului (Flux<br />

Vector Control) și control vectorial al câmpului (Field Oriented Control - FOC).<br />

Soluțiile de control bazate pe algoritmul FOC oferă cea mai bună calitate a controlului vitezei și<br />

cuplului motoarelor de curent alternativ. Acest algoritm controlează independent fluxul și vi<strong>teza</strong><br />

motorului și se utilizează în situațiile în care este necesar control precis într-o plajă largă de turații și<br />

performante dinamice ridicate [68].<br />

“Space Vector Modulation” (SVM) este o tehnică prin care se trasnformă direct vectorii tensiunii<br />

statorului reprezentați în sistemul de coordonate (α,β) în semnale PWM. Algoritmul SVM constă în<br />

mai mulți pași: identificarea sectorului, descompunerea vectorilor pe direcțiile vectorilor de bază Ux,<br />

Ux±60 și calcularea factorilor de umplere a semnalor PWM de comandă. Identificarea sectorului se<br />

realizează pe baza semnelor valorilor Uα și Uβ și a semnului valorii (√3Uα – Uβ) conform tabelului<br />

2.3.2.<br />

Sign(Uα) Sign(Uβ) Sign(√3U α – Uβ) Sector<br />

+ + + 1<br />

+ + - 2<br />

+ - + 6<br />

+ - - 5<br />

- + + 3<br />

- + - 2<br />

- - + 4<br />

- - - 5<br />

Tabel 2.3.2 Procedura de identificare a sectorului<br />

Descompunerea vectorilor pe direcțiile vectorilor de bază se realizează conform procedurii<br />

urmaătoare:<br />

Sector 1 și Sector 4<br />

U U<br />

tan( / 6)<br />

(2.3.38)<br />

U X<br />

U X<br />

<br />

<br />

U <br />

60 <br />

(2.3.39)<br />

cos( / 6)<br />

Sector 2 (Uα > 0 și Uβ > 0), sau Sector 5 (Uα < 0 și Uβ < 0)<br />

U X<br />

U X <br />

U tan( / 6)<br />

U<br />

<br />

(2.3.40)<br />

60 U tan( / 6)<br />

U<br />

<br />

(2.3.41)<br />

Sector 2 (Uα > 0 și Uβ > 0), sau Sector 5 (Uα > 0 și Uβ < 0)<br />

U X<br />

U X 60 (2.3.43)<br />

U tan( / 6)<br />

U<br />

<br />

U tan( / 6)<br />

U<br />

<br />

(2.3.42)<br />

8


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Sector 3 și Sector 6<br />

U X<br />

U X<br />

U <br />

60 <br />

cos( / 6)<br />

(2.3.44)<br />

tan( / 6)<br />

U U <br />

(2.3.45)<br />

<br />

<br />

Dacă TPWM reprezintă perioada semnalelor de control PWM și UDC este tesnsiunea maximă de<br />

alimentare, perioadele pentru care fiecare vector de control este aplicat pe durata TPWM sunt date de<br />

următoarele relații:<br />

U<br />

x<br />

1 TPWM<br />

(2.3.48)<br />

U DC<br />

T <br />

U<br />

(2.3.49)<br />

T2<br />

x60<br />

TPWM<br />

U DC<br />

T0 TPWM<br />

( T1<br />

T2<br />

)<br />

(2.3.50)<br />

unde T1 este timpul pentru vectorul Ux, T2 timpul pentru Ux±60 și T0 timpul pentru vectorii morți.<br />

3. Sistem Programabil de Control<br />

3.2 Architectura Sistemului Programabil de Control<br />

Fig. 3.2.1 prezintă diagrama bloc a sistemului de control programabil cu conexiunile și fluxurile de<br />

date între componentele sistemului.<br />

Fig. 3.2.1 Diagrama bloc a sistemului programabil de control<br />

9


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Sistemul este alcătuit din 5 componente de bază, fiecare fiind responsabilă pentru o parte specifică a<br />

funcționării acestuia. Comunicarea între componente se realizează prin intermediul magistralei de<br />

sistem sau prin linii dedicate de date și control. În situațiile în care este necesar transferul unui<br />

volum mare de date între componente este de preferat să existe linii de comunicație dedicate care<br />

conferă latență și bandă garantate. Comunicația între DSP și modulele de intrare și de ieșire se<br />

realizează prin magistrale dedicate pentru a minimiza întârzierile de comunicație.<br />

3.2.1 Modulul de intrare<br />

Semnalele de intrare ale sistemului de control pot să fie atât analogice cât și digitale, în funcție de<br />

tipurile de senzori utilizați. Fiecare semnal de intrare este citit de către un bloc specializat. Datele de<br />

la senzorii conectați pe bus-ul I2C sunt citite de către un bloc numit Controller I2C. Adresele I2C<br />

ale senzorilor conectați la sistem sunt transmise acestui bloc de catre MCU. Datele sunt citite<br />

secvențial de la senzori și pentru fiecare senzor există o legătură de date separată utilizată pentru<br />

trasnmisia datelor citite către DSP. Semnalele de intrare analogice sunt preluate de către un bloc<br />

numit Convertor Semnale Analogice care are scopul de a realiza conversia acestora în format digital<br />

utilizând un convertor analog numeric. Semnalele anlogice sunt multiplexate la intrarea ADC iar<br />

rezultatele conversiilor sunt trasmise la ieșirea modului pe linii separate prin intermediul unui<br />

demultiplexor. Există situații în care semnalele de intrare sunt deja în format digital dar trebuie citite<br />

conform unui anumit protocol. Blocul numit Controller Semnale Digitale implementează<br />

procedurile pentru citirea intrărilor digitale. Pentru fiecare semnal de intrare există un modul separat<br />

de citire care implementează protocolul de citire. Numărul de semnale de intrare și tipul lor este<br />

configurat în faza de proiectare pe baza caracteristicilor sistemului ce va fi controlat.<br />

3.2.3 MCU<br />

Procesorul Xilinx Microblaze este utilizat pentru implementarea MCU. Acesta este utilizat pentru<br />

controlarea funcționării tuturor celorlalte module din sistem și pentru implementarea unor algoritmi<br />

de control ce nu pot fi rulați în DSP. Există e asemenea posibilitatea utilizării MCU pentru<br />

implementarea de algoritmi de control de supervizare care corectează parametrii de control și pot<br />

chiar să reprogrameze DSP în timp ce acesta lucrează pentru a obține rezultate de control mai bune.<br />

Microblaze este un processor RISC soft-core optimizat pentru a fi implementat în circuite FPGA<br />

Xilinx [99]. Magistrala de comunicație de bază a Microblaze este IBM CoreConnect.<br />

3.2.4 Magistrala de sistem<br />

Performanțele unui sistem, în mod special a unui sistem multiprocessor, depind în mare măsură de<br />

eficiența arhitecturii magistralei de comunicație. Magistrala de sistem aleasă pentru a conecta<br />

modulele sistemului de comunicație este IBM CoreConnect. Aceasta a fost dezvoltată de IBM<br />

pentru a fi utilizată pentru interconectarea molelor provenite din surse diferite în scopul creării de<br />

chip-uri noi [84].<br />

3.2.5 Modulul de ieșire<br />

Semnalele de ieșire ale sistemului pot să fie în diferite formate, în funcție de tipul dispozitivelor<br />

controlate. Semnalele de comandă digitale sunt convertite de căre modulul de ieșire în formatul<br />

necesar fiecărui dispozitiv comandat. Blocul numit Generator PWM conține module dedicate pentru<br />

fiecare semnal de ieșire de tip PWM. Factorul de umplere a fiecărui semnal PWM este dat de către<br />

10


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

datele de control primite de la DSP iar frecvența este primită de la MCU. Semnalele de ieșire<br />

analogice sunt generate de către convertoare numeric analogice dedicate care convertesc comenzile<br />

digitale în semnale analogice. Semnalele de ieșire digitale sunt formatate de către blocul numit<br />

Controller Semnale Digitale pentru a corespunde cerințelor modulelor către care sunt transmise.<br />

Numărul și tipul semnalelor de ieșire este configurat în faza de proiectare pe baza cerințelor<br />

sistemului ce va fi controlat.<br />

3.2.6 Modulul de comunicație<br />

Acest modul este responsabil pentru schimbul de date între sistem și un PC prin interfața USB.<br />

Protocolul de comunicație dintre sistemul de control și PC este implementat de către modulul numit<br />

Manager Comunicație. Datele transmise/receptionate sunt încapsulate în pachete formate dintr-un<br />

antet și datele efective. Antetul unui pachet specifică tipul datelor din interiorul acestuia. Tipurile<br />

pachetelor sunt definte pe baza caracteristicilor aplicațiilor în care sistemul de control este utillizat.<br />

Formatul pachetelor poate fi usor adaptat pentru a satisface necesitățile unei anumite aplicații de<br />

control.<br />

3.3.1 Proiectare<br />

3.3. Procesor digital de semnal<br />

Procesorul digital de semnal este componenta de procesare de timp real a sistemului de control. Fig.<br />

3.3.1 prezintă o diagram bloc a DSP.<br />

Fig. 3.3.1 Diagrama block a procesorului digital de semnal<br />

Modulul este divizat în trei mari unități funcționale: Controller de intrare, Unitate de procesare<br />

(DPU) si Controller de ieșire. Unitatea de procesare conține unul sau mai multe nuclee DSP care se<br />

ocupă de procesare efectivă a datelor. Fiecare nucleu DSP execută propriul său program pe setul său<br />

propriu de date, iar astfel unitatea de procesare poate fi clasificată ca fiind un sistem MIMD.<br />

Comunicarea între nucleele de procesare se realizează prin intermediul unei memorii commune.<br />

Accesul la memorie este arbitrat de un controller de memorie. Fircare nucleu DSP are liniile sale<br />

11


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

proprii de date și adrese pentru memoria comună. Acest lucru asigură faptul că nucleele pot citi și<br />

scrie memoria în paralel și nu există întârzieri în cazul în care exista mai multe accese simultane la<br />

memorie. Dimensiunea memoriei commune este aleasă în funcție de numărul de nuclee de procesare<br />

prezente în sistem și de volumul de date care trebuie transferat. Accesul la datele de intrare este<br />

gestionat de către un controller de intrare. Datele de intrare în format digital sunt stocate într-un set<br />

de buffere de unde sunt citite de către controller-ul de intrare la cererea unității de procesare. Fiecare<br />

nucleu de procesare are o legătură dedicată cu controller-ul de intrare pentru a minimiza timpii de<br />

acces la datele de intrare. Datele de ieșire ale unui nucleu DSP pot să aibă două posibile destinații:<br />

pot să fie scrise în memoria comună pentru a fi utilizate de alte nuclee de procesare sau pot sa fie<br />

transmise controller-ului de ieșire pentru a fi dispecerizate către alte module din sistem. Arhitectura<br />

unității de procesare este scalabilă iar numărul de nuclee de procesare prezente în interiorul unității<br />

este ales în faza de proiectare a sistemului de control. Fig. 3.3.4 prezintă o diagramă bloc mai<br />

detaliată a unității de procesare.<br />

Fig. 3.3.4 Diagrama bloc a unității de procesare<br />

Toate datele care intră sau ies dintr-un nucleu DSP sunt gestionate de către un controller IO care este<br />

responsabil de generarea semnalelor de control necesare pentru comunicația cu controller-ele de<br />

intrare și de ieșire ale unității de procesare și co controller-ul memoriei commune. Memoriile de<br />

date și de instrucțiuni ale nucleelor DSP sunt conectate la magistala sistem și pot fi citite și scrise de<br />

către MCU. Acest lucru permite programarea nucleelor din exterior și monitorizarea și modificarea<br />

a diferite variabile stocate în memoriile de date în timp ce un program rulează. Un nucleu DSP este<br />

capabil să execute următoarele tipuri de operații<br />

- Transferuri de date de la porturile de intrare în memoriile interne, și din memoriile interne către<br />

porturile de ieșire<br />

- Transferuri de date în interiorul și intre memoriile interne<br />

- Operații aritmetice: adunare, scădere, înmulțire, împărțire, radical de ordinal 2, valoare absolută<br />

- Operații de filtrare de semnal: filtrare cu filtre FIR și IIR<br />

- Operații fuzzy<br />

- Minimul și maximul a două numere<br />

- Operații condiționale și de salt<br />

12


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Formatul intern de date utilizat de DSP este Q15. Fig. 3.3.5 prezintă structura unui nucleu DSP și<br />

fluxurile de date dintre componentele acestuia.<br />

Fig 3.3.5 Structura unui nucleu DSP<br />

Operațiile pe care un nucleu DSP le execută sunt definite de un program scris utilizând setul de<br />

instrucțiuni al DSP. Programul este stocat în memoria de instrucțiuni și poate avea un maxim de 128<br />

de instrucțiuni. Formatul unei instrucțiuni este prezentat în Fig. 3.3.6.<br />

Fig. 3.3.6 Formatul instrucțiunilor DSP<br />

Instrucțiunile sunt reprezentate pe 32 de biți. Codul instrucțiunii este reprezentat pe 6 biti iar astfel<br />

numărul maxim de instrucțiuni ce poate fi suportat este 64. Codul este urmat de 3 flag-uri cu<br />

următoarele semnificații: U – când este setat pe 1 operanzii sunt considerați numere fără semn; M –<br />

când este setat pe 1 semnalizează ca intrucțiunea curentă și cea următoare sunt operații aritmetice ce<br />

trebuie executate în paralel; L – dacă este setat pe 1 semnalizează că destinația operației este o<br />

locație din memoria de date sau de coeficienți, iar 0 semnifică faptul că destinația este o locație din<br />

memoria de registrii. Flag-urile sunt urmate de 3 operanzi pe reprezentați pe 16 biti. Programul este<br />

executat de către DSP în buclă. Un piepline cu patru stagii este implementat pentru execuția<br />

instrucțiunilor iar două instrucțiuni aritmetice pot fi executate în paralel.<br />

13


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Unitatea de Citire și Decodificare citește secvențial programul din memoria de instrucțiuni,<br />

decodifică instrucțiunile și transmite rezultatul decodificării către Unitatea de Control. Două<br />

instrucțiuni sunt aduse deodată din memorie. Dacă ambele instrucțiuni reprezintă operații aritmetice<br />

și au setat flag-ul M atunci vor fi programate pentru a fi executate în paralel. Imediat după ce<br />

unitatea de Unitatea de Control a citit instrucțiunile decodificate Unitatea de Citire și Decodificare<br />

va aduce o nouă pereche de instrucțiuni din memorie pentru ca sa poată să fie decodificate în timp<br />

ce intrucțiunea anterioară este executată și astfel se va reduce timpul total de execuție. În cazul în<br />

care operația curentă este una condițională Unitatea de Citire și Decodificare asteaptă rezultatul<br />

comparației deoarece este posibil să fie necesară execuția unui salt în program și astfel citirea și<br />

decodificarea timpurie nu mai sunt posibile.<br />

Unitatea de Control, pe baza acțiunilor definite pentru fiecare instrucțiune, controlează<br />

funcționarea tuturor blocurilor din cadul unui nucleu DSP. Are linii dedicate de control și adrese cu<br />

memoriile de registri, date și coeficienți care sunt utilizate pentru selecția tipului operațiunii ce va fi<br />

executată (citire sau scriere), precum și adresele de memorie vizate. Interfața dintre Unitatea de<br />

Control și Unitatea Aritmetică și Logică (ALU) constă dintr-un bus de control, două bus-uri pentru<br />

transmiterea codului operației ce trebuie executată și un bus pentru transmisia valorii cu care<br />

rezultatul operației trebuie scalat. Controller-ul IO este interfațat cu Unitatea de Control prin linii de<br />

adrese și de control dedicate. Bus-ul de control este bidirecțional și este utilizat pentru transmisia<br />

către Controller-ul IO a tipului acținii ce trebuie executată, dar și pentru recepția de la acesta a<br />

informației legate e starea acțiunii cerute. Comunicația dintre Unitatea de Procesare Fuzzy și<br />

Unitatea de Control se realizează prin linii dedicate de control. Fig. 3.3.7 preprezintă o digramă de<br />

secvență care descrie pașii parcurși pentru execuția unei instrucțiuni aritmetice.<br />

Fig. 3.3.7 Execuția unei instrucțiuni aritmetice<br />

Unitatea Aritmetică și Logică conține două unități de execuție, respectiv o unitate principală și una<br />

secundară. Această structură face posibil ca două operații aritmetice să fie executate în paralel.<br />

Unitatea de execuție principală este capabilă să execute următoarele tipuri de operații: adunare,<br />

scădere, înmulțirem împărțire, extragere radical de ordin 2, determinarea maximului și a minimului<br />

14


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

dintre 2 numere, valoare absolută a unui număr, operații de comparare între 2 numere, filtrare FIR,<br />

filtrare IIR, scalare cu o putere a lui 2. Unitatea secundară poate executa doar adunare, scădere,<br />

înmulțire și împărțire. Toate operațiile sunt executate intr-un singur tact de ceas, cu excepția<br />

împărțirii și a extragerii rădăcinii pătrate care au nevoie de 16 cicluri de ceas pentru a fi executate.<br />

Ecuația (3.3.1) descrie operația de filtrare FIR implementată de ALU:<br />

N 1<br />

i 0<br />

<br />

<br />

y(<br />

kT ) u((<br />

k i)<br />

T ) * c(<br />

i)<br />

(3.3.1)<br />

unde T este perioada de eșantionare, y(kT) este ieșirea filtrului la momentul t = kT, u(kT) este<br />

intrarea filtrului la mometul t = kT și c este vectorul de coeficienți ai filtrului cu lungimea N.<br />

Ecuația (3.3.2) descrie operația de filtrare IIR implementată de ALU:<br />

<br />

N 1<br />

i0<br />

15<br />

<br />

M 1<br />

j0<br />

y ( kT ) u((<br />

k i)<br />

T ) * cu(<br />

i)<br />

y((<br />

k j 1)<br />

T ) * cy(<br />

i)<br />

(3.3.2)<br />

unde T este perioada de eșantionare, y(kT) este ieșirea filtrului la mometul t = kT, u(kT) este intrarea<br />

filtrului la momentul t = kT , cu este vectorul de coeficienți pe calea directă ai filtrului cu lungimea<br />

N și cy este vectorul de coeficienți pe calea de reacție ai filtrului cu lungimea M.<br />

O operație particulară de filtrare utilizând un filtru IIR cu un singur pol este implementată în ALU<br />

conform relației (3.3.3):<br />

y( kT ) * u(<br />

kT ) ( 1<br />

) * y((<br />

k 1)<br />

T )<br />

(3.3.3)<br />

unde T este perioada de eșantionare, y(kT) este ieșirea filtrului la momentul t = kT, u(kT) este<br />

intrarea filtrului la momentul t = kT, α este coeficientul filtrului pe calea directă, iar 1- α coeficientul<br />

pe calea de reacție.<br />

Unitatea de Procesare Fuzzy este utilizată pentru calculul ieșirii unui controller fuzzy cu două<br />

variabile de intrare. Variabilele de intrare sunt fuzzyficate conform relatiei (3.3.4) iar apoi toate<br />

combinațiile min și max între varibilele de intrare sunt calculate.<br />

c(<br />

i)<br />

val<br />

mu(<br />

i)<br />

1 <br />

(3.3.4)<br />

d(<br />

i)<br />

unde mu(i) este funcția de apartenență a variabilei de intrare cu valoarea val la a i-a mulțime fuzzy,<br />

c(i) este valoarea centrală a mulțimii fuzzy i iar d(i) este dimensiunea mulțimii fuzzy i.<br />

Pe baza unui set preprogramat de regului Unitatea de Procesare Fuzzy încarcă valorile utile ale<br />

calculelor de min și max în memoria de date iar ieșirea este calculată de către ALU prin metoda de<br />

defuzzyficare centrală folosind două operații de filtrare FIR și o împărțire conform relației (3.3.5).<br />

y<br />

N<br />

i1<br />

<br />

N<br />

mu(<br />

i)<br />

* out(<br />

i)<br />

j1<br />

mu(<br />

j)<br />

(3.3.5)<br />

unde y este ieșirea controller-ului fuzzy, mu(i) este valoarea de adevăr a regulii i, out(i) este ieșirea<br />

regulii i și N reprezintă numărul de reguli.<br />

Memoria de regiștri este utilizată pentru stocarea valorilor operanzilor de intrare și de ieșire a<br />

majorității instrucțiunilor implementate. Ea reprezintă principala memorie de lucru a DSP. Conține


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

32 de regiștri de câte 16 biți. Patru locații de memorie pot fi scrise sau citite simultan pentru a<br />

suporta capabilitatea ALU de a executa două instrucțiuni în paralel. Are linii dedicate de date cu<br />

Controller-ul IO pentru a schimba direct atât date de citire cât și de scriere.<br />

Memoria de date este utilizată de către ALU pentru operații de filtrare. Ea este utilizată și de către<br />

Unitatea de Procesare Fuzzy. Rolul ei este de a stoca istoria filtrelor. Interfața cu ALU este realizată<br />

printr-un bus de 256 de biti capabil să transfere simultan 16 valori reprezentate pe 16 biți necesare<br />

pentru operațiile de filtrare. Un bus dedicat de 64 de biți există între Memoria de date și Unitatea de<br />

Procesare Fuzzy pentru transferul rezultatelor operațiilor de fuzzyficare.<br />

Memoria de Coeficienți este utilizată de către ALU pentru operații de filtrare. Rolul ei este de a<br />

stoca coeficienții filtrelor. Interfața cu ALU este realizată printr-un bus de 256 de biti capabil să<br />

transfere simultan 16 valori reprezentate pe 16 biți necesare pentru operațiile de filtrare.<br />

3.3.2 Setul de instrucțiuni<br />

Setul de instrucțiuni al DSP conține următoarele tipuri de instrucțiuni:<br />

Instrucțiuni de transfer de date – transfer de date de la porturile de intrare în memorie și<br />

din memorie la porturile de ieșire, transfer de date în interiorul și între memoriile interne<br />

Instrucțiuni condiționate și de salt<br />

Instrucțiuni aritmetice – adunare, scădere, înmulțire, împărțire, rădăcină patrată, scalare cu<br />

o putere a lui 2<br />

Instrucțiuni de filtrare de semnal – filtrare cu filtre FIR și IIR<br />

Instrucțiuni speciale – valoare absolută, minimul și maximul a două numere, control fuzzy<br />

cu două variabile de intrare<br />

4. Controller pentru motor de curent continuu bazat pe sistemul de<br />

control programabil<br />

4.1 Specificațiile sistemului de control<br />

Scopul aplicației este implementarea unui controller care să fie capabil să controleze funcționarea<br />

unui motor de curent continuu cu magnet permanent astfel încât rotorul acestuia să urmeze o<br />

traiectorie de viteză specificată. Traiectoria de viteză trebuie să fie generată de către sistemul de<br />

control și este bazată pe doi parametri: vi<strong>teza</strong> medie și numărul de rotații care trebuie efectuare cu<br />

această viteză medie. Controller-ul trebuie să fie capabil să urmărească traiectoria de viteză astfel<br />

încât vi<strong>teza</strong> medie finală și numărul de rotații executate să nu difere cu mai mult de 0.5% față de<br />

valorile de referință. Motorul este alimentat prin intermediul unei punți H ale cărei dispozitive de<br />

comutație pot să fie controlate prin semnale PWM provenite de la sistemul de control. Informații<br />

legate de vi<strong>teza</strong> motorului sunt generate de către un circuit integrat motorului care conține doi<br />

senzori Hall dispuși în cuadratură.<br />

4.2.1 Algoritmul de control<br />

4.2 Proiectare controller<br />

Pentru a îndeplini performanțele de control impuse în specificații este propusă o structură cu două<br />

controllere separate pentru viteză și pozitie. Fig. 4.1 prezintă diagrama controller-ului.<br />

16


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Fig. 4.1 Diagrama bloc a controller-ului<br />

Blocul pentru generarea referinței de viteză calculează traiectoria de viteză a motorului. Aceasta este<br />

generată pe baza a doi parametri: vi<strong>teza</strong> medie și numărul de rotații ce trebuie effectuate cu această<br />

viteză medie. Traiectoria de viteză este calculată astfel încât să aibă o formă trepezoidală, cu timpi<br />

de urcare și coborâre egali care se extind pe durata a 15% (7.5% creștere și 7.5% scădere) din timpul<br />

total necesar pentru a efectua numărul specificat de rotații cu vi<strong>teza</strong> medie dorită. Fig. 4.2 prezintă<br />

forma generală a traiectoriei de viteză.<br />

Maximum speed (vmax)<br />

Speed<br />

Slope (Kv)<br />

Rise time (Tr) Total time (T)<br />

Fall time (Tf)<br />

Fig. 4.2 Traiectoria de viteză<br />

17<br />

Slope (Kv)<br />

Parametrul cheie pentru calculul traiectoriei este panta Kv deoarece aceasta este utilizată pentru<br />

determinarea valorii vitezei pe durata perioadelor de creștere și de scădere precum și valoarea<br />

maximă a vitezei. Panta este determinată cu ajutorul ecuației (4.1).<br />

v<br />

med<br />

T<br />

TT<br />

r<br />

f<br />

T<br />

1 <br />

vmed<br />

Kv<br />

tdt Kv<br />

Trdt<br />

Kv<br />

t T Tf<br />

dt Kv<br />

T (<br />

(<br />

)) <br />

<br />

c<br />

c<br />

T<br />

<br />

Tr<br />

TT<br />

( 1 )<br />

0<br />

f<br />

<br />

Time<br />

(4.1)


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

T T f v<br />

r med<br />

unde: v med - vi<strong>teza</strong> medie, c , T , N – numărul de rotații care trebuie executate.<br />

T T N<br />

Valoarea ideală a referinței de viteză este calculată de către blocul numit Generator Referință<br />

Poziție conform relației (4.3).<br />

p ( kT)<br />

p((<br />

k 1)<br />

T ) S((<br />

k 1)<br />

T ) * T<br />

(4.3)<br />

S<br />

unde: - TS – perioada de eșantionare, p(kTS) – valoarea poziției de referință la timpul kTS, S(kTS) –<br />

vi<strong>teza</strong> de referință la timpul kTS.<br />

Eroarea dintre poziția ideală și cea citită de către senzorul de poziție este utilizată de către blocul<br />

numit Controller de Poziție pentru a corecta referința de viteză conform relației (4.4).<br />

S<br />

C<br />

( kT ) S ( kT ) k * ( p ( kT ) p ( kT )) k * ( p ( nT ) p ( nT )) (4.4)<br />

S<br />

I<br />

S<br />

P<br />

I<br />

S<br />

R<br />

unde: - TS – perioada de eșantionare, Sc(kTS) – referința de viteză corectată la timpul kTS, SI(kTS) –<br />

referința ideală de viteză la timpul kTS, pR(kTS) – poziția reală la timpul kTS, pI(kTS) – poziția ideală<br />

la timpul kTS, kP – factorul proporțional, kI – factorul integrativ.<br />

Blocul numit Controller de Viteză implementează un algoritm PI definit de (4.5).<br />

S<br />

k<br />

<br />

n1<br />

C(<br />

kT ) k * ( S ( kT ) S ( kT )) k * ( S ( nT ) S ( nT ))<br />

(4.5)<br />

S<br />

P<br />

I<br />

S<br />

R<br />

S<br />

I<br />

unde: - TS – perioada de eșantionare, C(kTS) – comanda la timpul kTS, SI(kTS) – referința de viteză<br />

la timpul kTS, SR(kTS) – vi<strong>teza</strong> reală la timpul kTS, kP – factorul proporțional, kI – factorul integrativ<br />

4.2.2 Structura sistemului de control<br />

Fig. 4.3 prezintă structura sistemului de control propus.<br />

18<br />

I<br />

I<br />

S<br />

S<br />

k<br />

<br />

n1<br />

Fig. 4.3 Diagrama bloc a sistemului de control<br />

R<br />

I<br />

S<br />

S<br />

S<br />

R<br />

S


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Semnalele provenite de la circuitul de detecție a vitezei integrat în motor sunt procesate de către un<br />

senzor de viteză și poziție conecat la sistem pe bus-ul I2C și convertite în valori de viteză și poziție<br />

care vor fi apoi utilizate de către controller. Deoarece există un singur senzor conectat la sistem<br />

modulul de intrare al controller-ul este configurat să aibă un singur bloc care va citi datele de la<br />

acesta. Blocurile de detecție a vitezei și poziției din interiorul senzorului au adrese I2C diferite, iar<br />

valorile de viteză respectiv poziție sunt citite secvențial de către controller. Modulul de ieșire este<br />

configurat să aibă on bloc de generare semnal PWM care va controla dispozitivele de comutație ale<br />

punții H. Modulul de comunicație pe USB implementează protocolul de transmisie către PC a<br />

datelor legate de vi<strong>teza</strong> motorului, valorile poziției și a comenzii precum și protocolul de recepție a<br />

comezilor de pornire/oprire a controlului automat sau de control a motorului in mod manual<br />

utilizând factorii de umplere a semnalului PWM primiți de la PC.<br />

Algoritmul de control propus este divizat între DSP și MCU. Controller-ul de viteză este<br />

implementat în DSP în timp ce generarea referințelor de viteză și de poziție precum și controller-ul<br />

de poziție sunt implementate în MCU. Fig. 4.4 prezintă maparea algoritmului de control în DSP și<br />

MCU.<br />

Senzorul de poziție și viteză oferă informații despre vi<strong>teza</strong> motorului care specifică numărul de cicli<br />

de ceas cu frecventa de 1MHz generați în perioada necesară pentru axul motorului să execute o<br />

treime dintr-o rotațe completă. Aceste informații trebuie să fie convertite de către DSP în valori<br />

exprimate în rotații pe secundă care să fie apoi utilizate în algoritmul de control. Deoarece DSP-ul<br />

trebuie să execute două operații distincte – calculul vitezei și algoritmul de control al vitezei, două<br />

nuclee de procesare sunt incluse în DSP pentru a executa aceste operații individual. Controlul vitezei<br />

este realizat conform relației (4.5).<br />

DC<br />

Motor<br />

Speed & Position<br />

Sensor<br />

Speed<br />

Data<br />

Position<br />

DSP<br />

Speed Processor<br />

MCU<br />

Command (PWM)<br />

_<br />

Speed<br />

X<br />

+<br />

Corrected<br />

Ref. Speed<br />

+<br />

X<br />

_<br />

19<br />

Ref.<br />

Speed<br />

Ref. Speed<br />

Correction<br />

100<br />

Speed Controller<br />

(PI)<br />

Speed Reference<br />

Generator<br />

Fig. 4.4 Maparea algoritmului de control<br />

0<br />

Ref.<br />

Speed<br />

Position<br />

Controller (PI)<br />

Position<br />

Reference<br />

Generator<br />

+<br />

X<br />

_<br />

Ref.<br />

Position<br />

Tabelul 4.1 sumarizează caracteristicile sistemului de control care au fost fost selectate ca o<br />

particularizare a sistemului generic de control prezentat în cadrul lucrării.


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Bloc Controller Caracteristici<br />

Modul de intrare Deoarece doar un singur sezor este conectat la sistem doar controller-ul I2C<br />

a fost păstrat pentru a comunicarea cu senzorul.<br />

Modul de ieșire Un bloc de generare semnal PWM este prezent în modulul de ieșire pentru<br />

generarea semnalului de control al motorului.<br />

Modul comunicație Managerul de comunicație a fost modificat pentru transmiterea către PC a<br />

valorilor vitezei, poziției și comenzii motorului și pentru recepția<br />

comenzilor de pornire/oprire a controlului automat sau de rulare a<br />

motorului în mod manual utilizând factori de umplere ai semnalului PWM<br />

primiți de la PC.<br />

DSP Două nuclee DSP sunt prezente în sistem, unul pentru calculul vitezei<br />

motorului în rotații pe secundă iar celălalt pentru implementarea<br />

algoritmului de control al vitezei. DSP-ul are 2 intrări – vi<strong>teza</strong> de referință<br />

și cea măsurată, și o ieșire – factorul de umplere al semnalului de comandă.<br />

MCU Următoarele characteristici au fost selectate: Frecvență: 50MHz;<br />

Dimensiune memorie: 32KB; Periferice standard: controller întreruperi,<br />

timer, controller RS232, controller Gpio.<br />

Pe lângă perifericele standards încă două periferice au fost implementate:<br />

un controller I2C pentru controlul functionării senzorului de viteză și<br />

poziție; un periferic cu 4 regiștri de 32 de biți pentru citirea valorilor de<br />

viteză, poziție și comandă din sistem și pentru transmiterea către DSP a<br />

referinței de viteză.<br />

Sistemul este alcătuit din următoarele<br />

componente hardware:<br />

Placă FPGA Digilent Nexys2 1200 [103].<br />

Motor cu magnet permanent Digilent<br />

12V [102]<br />

Punte H Digilent [108]<br />

Specificații complete ale componentelor<br />

sistemului pot fi găsite pe site-ul furnizorului<br />

conform referințelor menționate pentru fiecare<br />

componentă.<br />

Fig. 4.7 Prezintă o imagine a sistemului.<br />

Tabel 4.1 Caracteristici controller<br />

4.3 Implementare fizică<br />

4.4 Evaluarea performanțelor<br />

20<br />

Fig. 4.7 Sistem control motor CC<br />

Performanțele sistemului de control sunt definite de două aspecte: măsura în care sistemul este<br />

capabil să îndeplinească constrângerile de timp real ale procesului controlat și acuratețea controlului.<br />

Frecvența semnalelor de control PWM a fost setată la 50kHz. Aceasta determină și frecvența<br />

minimă cu care comanda trebuie să fie actualizată. Valoarea efectivă a comenzii este calculată de


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

către unul dintre nucleele DSP, iar acesta trebuie să fie capabil să genereze noi valori ale comenzii<br />

cu o frecventă mai mare sau egală cu frecvența semnalului de comandă PWM. Timpul total de<br />

execuție al algoritmului de control este dat de cel mai lent nucleu DSP, controller-ul de viteză, care<br />

are nevoie de 56 de tacti de ceas pentru execuția programului. Pentru FPGA-ul utilizat în<br />

implementarea sistemului frecvența maximă la care sistemul poate rula este de 50MHz, de aici<br />

rezultând o rată de actualizare a controller-ului de viteză de aproximativ 890kHz. Algoritmul de<br />

generare a traiectoriei de viteză și controller-ul de poziție sunt implementate în MCU și sunt<br />

executate pe un timer cu frecvența de 0.1kHz. Timpul total de execuție a operațiilor implementate în<br />

MCU tebuie să fie mai mic decât perioada dintre două intreruperi ale timer-ului. Această<br />

constrângere a fost verificată prin adăugarea unui mecanism de monitorizare în programul MCU<br />

care să semnalizeze evetualele depășiri ale cuantei de timp alocate algoritmului. Concluzia evaluării<br />

capabilităților sistemului de a îndeplini constrângerile de timp real a fost că ele sunt indeplinite fără<br />

probleme, sistemul fiind chiar supradimensionat din acest punct de vedere. Acuratețea controllerului<br />

a fost verificată prin rularea unui set de experimente de control cu diferite valori de referință ale<br />

vitezei medii și a numărului de rotații. Tabelul 4.3 prezintă rezultatele experimentelor de control.<br />

Viteză medie<br />

referință [rps]<br />

Număr rotații<br />

referință<br />

21<br />

Viteză medie reală<br />

[rps]<br />

Număr rotații real<br />

40 800 39.52 799.67<br />

50 1500 50.24 1501.00<br />

60 1800 60.57 1801.67<br />

70 2100 69.91 2098.33<br />

Table 4.3 Rezultate experimentale<br />

Rzultatele prezentate în Tabelul 4.3 demonstrează capabilitatea controller-ului de a îndeplini<br />

specificațiile de performanță impuse. Cu ajutorul aplicației de PC implementate pentru acest sistem<br />

de control, date despre vi<strong>teza</strong> motorului, valorile comezii și ale referinței au fost achizitionate de la<br />

sistem iar apoi afișate în Matlab pentru a fi analizate. Fig. 4.4 prezintă traiectoriile de viteză ideale și<br />

reale pentru un experiment de control având setată vi<strong>teza</strong> medie la 40[rps] și numărul de rotații la<br />

2000. Fig. 4.5 prezintă evoluția comenzii în cadrul acestui experiment.<br />

Fig. 3.4.4 Evoluția vitezei măsurate și a vitezei de<br />

referință<br />

Fig. 3.4.5 Evoluția comenzii


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

5. Controller pentru motor asincron bazat pe sistemul de control<br />

programabil<br />

5.1 Specificațiile sistemului de control<br />

Scopul applicației de control este implemenratea unui controller care să controleze vi<strong>teza</strong> și flux-ul<br />

unui motor de inducție trifazat astfel încât acestea să urmărească valori de referință specificate. Un<br />

invertor trifazat este utilizat pentru alimentarea motorului. Elementele de comutație ale invertorului<br />

pot fi controlate cu semnale PWM provenite de la controller. Un encoder optic rotativ oferă<br />

informații legate de vi<strong>teza</strong> rotorului. Encoder-ul de viteză generează pulsuri ce pot fi interpretate ca<br />

semnale digitale. Doi senzori de curent Hall sunt utilizați pentru a obține informații legate de<br />

aplitudinile cureților prin două faze ale alimentării. Semnalele provenite de la cei doi senzori sunt<br />

convertite în format digital de două convertoare analog numerice care pot fi citire prin interfața SPI.<br />

5.2.1 Algoritm de control<br />

5.2 Proiectare controller<br />

Deoarece vi<strong>teza</strong> și fluxul motorului de inducție trebuie să fie controlate independent algoritmul de<br />

control ales este FOC (Field Oriented Control). Fig. 5.1 prezintă o diagramă a controller-ului.<br />

Controller-ul are un număr total de 5 intrări: Vi<strong>teza</strong> rotorului; Amplitudinile curenților prin fazele a<br />

și b; Valorile de referință ale vitezei și flux-ului.<br />

Ieșirile controller-ului sunt date de: Factorii de unplere T0, T1 și T2 a semnalelor PWM are<br />

controlează invertorul; Numărul sectorului care definește modul de comutație a invertorului.<br />

Fig. 5.1 Diagramă controller<br />

Curenții măsurați sunt convertiți prin intermediul unei transformate Clarke directe din sistemul de 3<br />

cordonate (a, b, c) la un sistem cu 2 coordonate (α, β) conform relațiilor (2.3.24) și (2.3.25). Valorile<br />

transformate de curent și vi<strong>teza</strong> măsurată a rotorului sunt utilizate de blocul de calcul al modelului<br />

fluxului rotorului pentru a evalua valorile de cos și sin ale unghiului electric al rotorului θField.<br />

22


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Acestea sunt calculate din valorile de flux ale rotorului exprimate în sistemul de coordonate (α, β)<br />

conform ecuațiilor (2.3.31), (2.3.32) și (2.3.33). Fluxul rotorului este estimat conform modelului<br />

descris de (2.3.36) și (2.3.37). Valorile sinθField and cosθField sunt utilizate în cadrul unei<br />

transformate Park directe pentru a translata valorile curenților prin stator din sistemul de coordonate<br />

(α, β) în sistemul de coordonate (d, q), care se rotește cu vi<strong>teza</strong> fluxului rotorului, conform relațiilor<br />

(2.3.39) și (2.3.30). Controlul fluxului și al vitezei este realizat indepenedent cu ajutorul a trei<br />

controller-e. Controller-ul de viteză calculează o valoare de curent isqRef pentru a fi utilizată ca<br />

referință de bucla de control al cuplului. Intrarea acestuia este eroarea calculată ca diferența dintre<br />

referința de viteză și valoarea măsurată a vitezei. Controller-ul de cuplu calculează tensiunea<br />

statorului usq. Intrarea acestui bloc este diferența dintre referința de curent isqRef și valoarea reală a<br />

curentului prin stator isq. Controller-ul de flux calculează tensiunea statorului usd pe baza diferenței<br />

dintre curentul de referință isdRef și a valorii reale a curentului isd. Toate cele trei controller-e<br />

implementează algorimi de control PI conform relației (5.1).<br />

23<br />

k<br />

<br />

n1<br />

C(<br />

kT ) k * ( S ( kT ) S ( kT )) k * ( S ( nT ) S ( nT ))<br />

(5.1)<br />

S<br />

P<br />

R<br />

S<br />

M<br />

S<br />

unde: - TS – perioada de eșantionare, C(kTS) – comanda la timpul kTS, SR(kTS) – semnalul de<br />

referință la timpul kTS, SM(kTS) – semnalul măsurat la timpul kTS, kP – factorul proporțional,<br />

kI – factorul integrativ<br />

Tensiunile usq and usd sunt convertite din sistemul de referință al rotorului în sistemul de referință al<br />

statorului prin intermediul unei transformate Park inverse utilizând relațiile (2.3.34) și (2.3.35).<br />

Stagiul final de procesare al controller-ului este realizat de blocul SVM care convertește valorile<br />

tensiunilor pe stator exprimate în sistemul de coordonate (α, β) în factori de umplere a semnalelor<br />

PWM care controlează cele 3 faze ale alimentării. Tot în interiorul acestui bloc se realizează<br />

identificarea sectorului conform regulilor din Tabelul 2.3.2. Informația despre sectorul curent este<br />

utilizată pentru a calcula valorile vectorilor de bază Ux și Ux±60 conform relațiilor (2.3.38), (2.3.39),<br />

(2.3.40), (2.3.41), (2.3.42), (2.3.43), (2.3.44) și (2.3.45). După evaluarea valorilor Ux și Ux±60 factorii<br />

de umplere a semnalelor PWM de control sunt calculați conform (2.3.48), (2.3.49) și (2.3.50).<br />

5.2.2 Structura sistemului de control<br />

Fig. 5.2 prezintă structura sistemului de control. Modulul de intrare conține două blocuri specializate<br />

de citire care implementează protocolul SPI pentru comunicația cu convertoarele analog numerice<br />

utilizate pentru digitizarea valorilor curenților măsurați. Un block de decodificare a informației de<br />

viteză procesează semnalele primite de la encoder-ul de viteză montat pe motor și generează<br />

semnale digitale pe 16 biți care reprezintă numărul de pulsuri generate de encoder într-o perioadă de<br />

timp specificată. Datele de viteză sunt preluate de sistemul de control prin intermediul unui bloc<br />

dedicat conectat cu decodificatorul de viteză. Un bloc specializat pentru generarea celor șase<br />

semnale de comandă PWM pentru controlul dispozitivelor de comutație ale invertorului este inclus<br />

în modulul de ieșire. Factorii de umplere a semnalelor PWM sunt calculați de către DSP. Stările<br />

comutatoarelor sunt determinate din valoarea curentă a sectorului calculată tot de către DSP. Logica<br />

generării semnalelor PWM trebuie să ia în considerare și cerințele specifice ale invetorului cum ar fi<br />

timpii morți necesari între comutația dispozitivelor de pe aceeași fază și frecvențele minime și<br />

maxime de comutație. Modulul de comunicație USB implementează protocolul pentru transmiterea<br />

către PC a valorilor vitezei motorului precum și un set de măsurători preluate de la ieșirea diferitelor<br />

blocuri de procesare ale controller-ului și să primească de la PC valorile de referință ale vitezei și<br />

fluxului precum și comenzi pentru pornirea/oprirea controlului automat sau pentru rularea motorului<br />

în mod manual utilizând factori de umplere ai semnalelor PWM de comandă primiți de la PC.<br />

I<br />

R<br />

S<br />

M<br />

S


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Fig. 5.2 Structura sistemului de control<br />

În timpul fazei de dezvoltare a sistemului de control este foarte important să fie posibilă<br />

monitorizarea anumitor variabile ale sistemului pentru a observa funcționarea modulelor sistemului.<br />

Valorile parametrilor isd, isq, Usd, Usq, isα, isβ, Usα, Usβ, sinθField și cosθField sunt trasmise continuu<br />

modulului de comunicație și pot fi citite și reprezentate grafic în timp real de către aplicația de PC.<br />

De asemenea datele primite de la sistem pot fi salvate pe PC pentru a fi ulterior încărcate în Matlab<br />

și analizate. Un bloc pentru control manual a fost adaugat în sistem. In modul manual factorii de<br />

umplere a semnalor PWM sunt selectați de către operator prin intermediul aplicației de PC și sunt<br />

transmiși sistemului. Blocul de control manual comunică direct cu blocul de generare a semnalelor<br />

PWM și îi trasmite acestuia factorii de umplere și valoarea curentă a sectorului. Modulul de control<br />

manual a fost introdus în primul rând pentru a oferi o modalitate de a realiza experimente cu motorul<br />

fără a implica partea de control automat. În timp ce motorul este controlat în mod manual controllerul<br />

automat funcționează și el, dar ieșirile lui sunt ignorate. Astfel în modul manual de funcționare<br />

este posibilă monitorizarea parametrilor calculați de către controller-ul automat pentru a vedea dacă<br />

aceștia corespund așteptărilor. Acest lucru permite verificarea funcționării blocurilor de procesare<br />

ale controller-ului automat și oferă utilizatorului informații despre evoluția anumitor parametri ai<br />

sistemului în funcție de valorile comenzii și ale punctului de funcționare a motorului. În structura<br />

actuală microcontroller-ul nu este implicat în procesul de control și el este utilizat doar pentru<br />

achiziționarea de măsurători de la sistem pentru a putea monitoriza anumiți parametri.<br />

Algoritmul de control prezentat este implementat în întregime în DSP. Controller-ul propus este<br />

format din 8 blocuri funcționale, fiecare bloc realizând o parte specifică al algoritmului de control.<br />

După analiza dependințelor de date dintre blocurile algoritmului de control și a complexității<br />

procesărilor realizate de către fiecare bloc în parte a fost aleasă o soluție cu 7 nuclee de procesare<br />

DSP, fiecare nucleu având asignată funcționalitatea unuia sau a mai multor blocuri din cadrul<br />

algoritmului. Această soluție încearcă să echilibreze încărcarea nucleelor de procesare și să<br />

minimizeze volumul de date vehiculate între acestea. Fig. 5.3 prezintă maparea algorimului de<br />

control pe nucleele DSP precum și fluxurile de date dintre acestea.<br />

24


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Fig. 5.3 Maparea algoritmului de control pe nuclee DSP<br />

Tabelul 5.1 sumarizează caracteristicile sistemului de control care au fost fost selectate ca o<br />

particularizare a sistemului generic de control prezentat în cadrul lucrării.<br />

Bloc controller Caracteristici<br />

Modul intrare Două blocuri specializate de comunicație pe bus-ul SPI sunt prezente pentru<br />

a citi datele de la convertoatele analog numerice care digitizează<br />

informațiile despre amplitudinile curenților statorului. Un bloc specializat<br />

pentru citirea datelor de la encoder-ul de viteză este prezent.<br />

Modul ieșire Un bloc specializat pentru generarea semnalor de comandă PWM este<br />

prezent.<br />

Modul comunicație Mananger-ul de comunicație a fost modificat pentru transmiterea către PC a<br />

valorilor vitezei și a unui set de măsurători preluate la ieșirile diferitelor<br />

blocuri de procesare din sistem. Pe partea de recepție de date de la PC s-au<br />

adaugat valorile de referință ale fluxului și vitezei, comenzile pentru<br />

pornirea/oprirea modului automat de control și pentru controlul motorului<br />

în mod manual utilizând factori de unmplere PWM primiți de la PC.<br />

DSP 7 nuclee DSP sunt prezente în sistem pentru implementarea algoritmului de<br />

control. DSP-ul are un număr de 5 intrări: valorile curenților pe fazele a și<br />

b, vi<strong>teza</strong> rotorului, valorile de referință ale vitezei și fluxului; și 4 ieșiri: cei<br />

3 factori de umplere a semnalelor PWM și numărul sectorului..<br />

MCU Următoarele caracteristici au fost selectate pentru implementarea<br />

Microblaze: Frecvență: 50MHz; Dimensiune memorie: 32KB; Periferice<br />

standard: controller întreruperi, un timer, controller RS232, controller Gpio.<br />

Un periferic cu 8 regiștri de 32 de biți a fost implementat pentru citirea<br />

parametrilor monitorizați din sistem.<br />

Tabel 5.1 Caracteristici controller<br />

25


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Sistemul de control prezentat constă din<br />

următoarele componente:<br />

Placă FPGA Digilent Virtex 5<br />

Genesys [91]<br />

Conertor analog numeric Digilent<br />

PmodAD1 [107]<br />

Modul interfațare VHDC -<br />

Digilent VmodMIB [114]<br />

Invertor Microchip MC1H [98]<br />

Motor trifazat Leeson<br />

Cat#102684 [80]<br />

Encoder optic incremental U.S.<br />

Digital E3-500-500-IHT [87]<br />

Fig. 5.5 prezintă o imagine a întregului<br />

sistem.<br />

5.3 Implementare fizică<br />

5.4 Evaluarea performanțelor<br />

26<br />

Fig. 5.5 sistem control motor AC<br />

Performanțele sistemului sunt evaluate pe baza a trei aspecte: măsura în care sistemul este capabil să<br />

îndeplinească constrângerile de timp real ale procesului controlat, măsura în care anumite mărimi<br />

care intervin în procesul de control corespund cu valori obținute prin simularea sistemului în Matlab<br />

și acuratețea controlului evaluată pe baza erorilor staționare ale variabilelor controlate.<br />

Frecvența semnalelor PWM de control a fost setată la 15.6kHz, aproape de valoarea de 16kHz<br />

recomanadată de producătorul invertorului. De asemenea frecvența de eșantionare a valorilor<br />

curenților statorului a fost setată la 15.6kHz. Acest lucru impune ca timpul de execuție a algorimului<br />

de control să fie mai mic decât perioada de eșantionare și perioada PWM. Timpul total de execuție<br />

al algortimului este dat de timpul de execuție a celui mai lent nucleu DSP care care nevoie de 160 de<br />

cicli de ceas pentru a executa programul. Sistemul rulează la o frecvență de 50MHz, rezultând astfel<br />

o frecvență de actualizare a algoritmului de control de 312.5kHz, care este net superioară frecvenței<br />

minime impuse de 15.6KHz. Pentru a evalua similaritatea dintre valorile calculate de către sistem<br />

pentru anumiți parametri și valorile obținute în Simulink prin simulări mai multe seturi de<br />

experimente au fost realizare atât în mod de control automat cât și manual iar mai multe seturi de<br />

date experimentale au fost capturate de la sistem. Datele capturate au fost apoi afișate grafic în<br />

Matlab și comparate cu datele obținute în urma simulărilor Simulink. Următorii parametrii au fost<br />

analizați:<br />

Currenții statorului (isα, isβ) în sistemul de coordonate (α, β) – Fig. 5.7<br />

Currenții statorului (isd, isq) în sistemul de coordonate (d, q) – Fig. 5.10<br />

Fluxul rotorului (Wrα, Wrβ) în sistemul de coordonate (α, β) – Fig. 5.8<br />

Valorile cos și sin ale unghiului electric al rotorului<br />

Tensiuniule statorului (Usα, Usβ) în sistemul de coordonate (α, β)<br />

Tensiunile statorului (Usd, Usq) în sistemul de coordonate (d, q) – Fig. 5.11<br />

Formele de undă ale parametrilor analizați corespund cu cele obținute prin simulări demonstrând<br />

altfel că blocurile de procesare lucrează conform asteptărilor și că masurătorile de curent și viteză


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

sunt corecte. Acuratețea controlului a fost măsurată prin evaluarea erorilor staționare pentru valorile<br />

de flux și viteză ale otorului. Din cauza faptului că nu există o potrivire exactă din punct de vedere a<br />

valorilor tensiunilor și curenților între semnalele de ieșire ale plăcii FPGA și semnale de intrare ale<br />

invertorului nu a fost posibilă utilizarea motorului în întregul domeniu de functionare. Pentru<br />

experimentele de control a fost aleasă o plajă îngustă de funcționare în care funcționalitatea<br />

sistemului de control a putut fi validată. Domeniul de viteză a fost ales între 800 și 1200 [rpm] iar<br />

valoarea isd între 0.05 și 0.15 [A]. În acest domeniu de funcționare valorile statistice obținute în<br />

urma experimentelor au arătat că vi<strong>teza</strong> motorului a putut fi controlată cu o precizie de ±0.4% față<br />

de valoarea de referință, iar valoarea curentului isd cu o precizie de ±2.5% față de valoarea de<br />

referință. Acuratețea controlului a fost în mare parte diminuată de faptul că parametrii controllerelor<br />

PI utilizate au trebuit să fie limitați la valori reduse și domeniul comenzii a trebuit limitat astfel<br />

încât factorii de umplere a semnalelor PWM pentru vectorii activi sa nu depășească 10% pentru a nu<br />

utiliza prea mult curent de la placa FPGA. Din cauza acestor constrângeri comenzile sunt foarte<br />

stabile, așa cum se poate vedea în Fig. 5.11, dar controller-ul are performanțe dinamice scăzute.<br />

Experimentele de control automat au dovedit că sistemul este capabil să urmărească referințele<br />

impuse și că performanțele sale sunt limitate doar de constrângerile sistemului fizic. Următoarele<br />

figuri prezintă un set de semnale capturate din sistem în timpul unui experiment de control.<br />

Fig. 5.7. Curenții prin stator în sistemul de coordonate (α, β)<br />

Fig. 5.8 Fluxul rotorului în sistemul de coordonate (α, β)<br />

27


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

Fig. 5.10. Curenții prin stator în sistemul de<br />

coordonate (d, q)<br />

6. Concluzii<br />

6.1 Concluzii finale<br />

28<br />

Fig. 5.11. Tensiunile pe stator în sistemul de<br />

coordonate (d, q)<br />

Cercetarea prezentată în cadrul acestei teze a fost orientată înspre dezvoltarea unui sistem de control<br />

digital programabil care să fie suficient de flexibil pentru a putea fi utilizat într-o gamă largă de<br />

aplicații de control. Flexibilitatea este considerată atât din punct de vedere a dimensiunii sistemului,<br />

și implicit al costului, cât și din punct de vedere a resurselor de procesare. Sistemul se dorește a fi<br />

potrivit pentru implementarea de algoritmi de control începând de la algoritmi simpli care nu<br />

necesită multe resurse de procesare și până la algoritmi complecși care trebuie să fie executați cu<br />

frecvență ridicată și necesită putere mare de procesare. Principala caracteristică a sistemului este<br />

configurabilitatea atât din punct de vedere al numărului și tipului de intrări și ieșiri cât și din punct<br />

de vedere a resurselor de procesare. Prin faptul că resursele de procesare sunt scalabile în funcție de<br />

necesitătile aplicațiilor în care sietemul este utilizat dimensiunea și implicit costul final al sistemului<br />

de control pot să fie ușor ajustate. Flexibilitatea sistemului este crescută și prin faptul că acesta este<br />

programabil, iar astfel algoritmii de control pot fi ușor ajustați sau înlocuiți prin reprogramarea<br />

controller-ului. Sistemul este oferit ca o componentă de sine stătătoate care doar trebuie să fie<br />

interfațată cu senzorii și actuatorii din sistemul controlat. Orice nou sistem de control trebuie să<br />

treacă printr-o fază inițială de testare și validare care este destinată de a evalua performanțele<br />

sistemului și de a descoperi și fixa eventualele probleme. Pe durata acestei faze este foarte util să<br />

existe posibilitatea observării parametrilor sistemului care caracterizează funcționarea acestuia și<br />

oferă indicații despre comportamentul și performanțele sale. Mai este de asemenea utilă posibilitatea<br />

controlării din exterior a anumitor aspecte ale sistemului. Pe baza acestor considerații o reiese altă<br />

caracteristică importantă a sistemului de control, anume posibilitatea de a fi interfațat cu un PC<br />

printr-o legătură de comunicație uzuală cum ar fi USB. Protocolul de comunicație cu PC-ul trebuie<br />

să permită schimbarea facilă a setului de parametri care sunt monitorizați sau recepționați din<br />

exterior. Deoarece protocolol de comunicație este proprietar a fost necesară implementarea unei<br />

aplicații de PC care cunoaște protocolul și care este utilizată pentru schimbul de date cu sistemul de<br />

control. Aplicația de PC este capabilă să afișeze în timp real în mod grafic parametrii monitorizați și<br />

să trimită comenzi și date sistemului. O aplicație de PC de bază a fost implementată pentru a putea fi<br />

adaptată în funcție de necesitătile particulare ale fiecărui sistem controlat. Capabilitățile noului


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

sistem de control au fost verificate prin implementarea a două soluții de control bazate pe acesta: o<br />

soluție pentru controlul unui motor de curent continuu și o soluție pentru controlul unui motor de<br />

inducție. Pentru atingerea obiectivelor cercetării munca a fost divizată în mai multe sarcini distincte:<br />

Proiectarea și implementarea unei versiuni de bază a sistemului de control și a aplicației de<br />

PC pentru a fi apoi particularizare în funcție de necesitătile diferitelor aplicații de control.<br />

Proiectarea și implementarea unui set de utilitare de dezvoltare, simulare și monitorizare care<br />

să fie utilizate pe parcursul dezvoltării de noi soluții de control bazate pe sistemul propus.<br />

Implementarea unei soluții de control pentru un motor de curent continuu bazată pe noul<br />

sistem de control programbil. Particularizarea aplicației de PC pentru această soluție..<br />

Implementarea unei soluții de control pentru un motor de inducție bazată pe noul sistem de<br />

control programbil. Particularizarea aplicației de PC pentru această soluție de control.<br />

Teza conține o parte introductivă menită să prezinte aspectele teoretice principale care stau la baza<br />

acestei cercetări iar apoi este descrisă activitatea desfăsurată pentru atingerea obiectivelor cercetării<br />

precum și rezultatele obținute.<br />

În mod natural, prima etapă a cercetării este proiectarea versiunii de bază a sistemului de control. Pe<br />

durata acestei etape a fost stabilită arhitectura sistemului de control programbil și a fost<br />

implementată o versiune de bază. Pentru a atinge flexibilitatea dorită a sistemului din punct de<br />

vedere a puterii de procesare și pentru a putea abord o gamă largă de aplicații de control a fost<br />

proiectată o soluție cu o componentă hibridă de procesare care combină avantajele unui processor<br />

digital de semnal cu cele ale unui microcontroller. A fost proiectat un procesor digital de semnal<br />

programabil pentru a fi utilizat pentru procesarea în timp real a semnalelor de intrare și pentru<br />

execuția în timp real a algorimilor de control. Arhitectura procesorului digital de semnal este<br />

scalabilă iar numărul de nuclee de procesare care sunt incorporate în procesor poate să fie selectat în<br />

faza de proiectare a unui nou controller. Setul de instrucțiuni a procesorului de semnal conține<br />

instrucțiuni aritmetice, de procesare de semnal, condiționale și de salt percum și o serie de<br />

instrucțiuni speciale. Arhitectura sistemului este orientată înspre flexibilitate și scalabilitate. Blocuri<br />

de procesare precum și intrări și ieșiri pot fi adăugate sau îndepărtate ușor din sistem pentru a<br />

îndeplini necesitățile specifice ale diferitelor aplicații. Toate componentele noii soluții de control<br />

dezvoltate au fost simulate pentru a verifica funcționalitatea lor și pentru a fixa problemle introduse<br />

în faza de implementare. Această versiune de bază a sistemului a oferit informații foarte utile<br />

referitoare la resursele hardware necesare pentru implementarea sistemului într-un circuit FPGA<br />

precum și despre frecvențele la care sistemul poate rula pe diferite modele de FPGA. Implementarea<br />

unei configurații de bază pentru microcontroller-ul Xilinx Microblaze și dezvoltarea unor programe<br />

de test pentru această configurație a oferit un exercițiu util de utilizare a acestui microcontroller și de<br />

asemenea informații legate de resursele hardware necesare de către acesta. În urma evaluării<br />

rezultatelor obținute după proiectarea și implementarea versiunii de bază a sistemului s-a decis că<br />

sistemul de control propus este fezabil de a fi implementat într-un FPGA. Versiuni mai mici ale<br />

acestuia cu până la patru nuclee DSP pot fi implementate în circuite FPGA medii cum ar fi Spartan-<br />

3e, iar versiuni cu mai mult de patru nuclee DSP necesită FPGA-uri mai puternice precum Spartan6<br />

sau Virtex5. Rezultatul muncii desfășurate pe parcursul acestei etape a cercetării a fost o versiune de<br />

bază a sistemului de control împreună cu toate utilitarele, precum compilatorul pentru programele<br />

DSP, modelul software al DSP si o versiune de bază a aplicației de PC, necesare pentru ca sistemul<br />

să fie cu adevărat utilizabil. Având toate aceste componente finalizate sistemul de control propus a<br />

fost gata de a fi utilizat în aplicații de control reale.<br />

Prima aplicație reală în care noul sistem de control a fost utilizat a fost o soluție pentru controlul<br />

vitezei și poziției unui motor de curent continuu cu magnet permanent. În acest caz controller-ul<br />

trebuie sa ajusteze funcționarea motorului astfel încât rotorul acestuia să urmărească o traiectorie de<br />

viteză generată intern de către sistemul de control pe baza unor specificații legate de vi<strong>teza</strong> medie și<br />

29


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

de de numărul de rotații care trebuie efectuate cu această viteză medie. Urmărirea traiectoriei de<br />

viteză trebuie realizată astfel încât vi<strong>teza</strong> medie finală si numărul de rotații executate la finalul<br />

perioadei de control să nu difere cu mai mult de 0.5% față de valorile de referință. Motorul este<br />

alimentat prin intermediul unei punți H ale cărei dispozitive de comutație pot să fie controlate cu<br />

semnale PWM provenite de la sistemul de control. Informații legate de vi<strong>teza</strong> rotorului sunt obținute<br />

prin intermediul unui circuit integrat în motor. Pentru a îndeplini performanțele de control impuse o<br />

structură de control cu două regulatoare a fost propusă având următoarele funcții:<br />

Un controller de viteză pentru urmărirea traiectoriei de viteză de referință.<br />

Un controller de poziție care generează traiectoria de viteză de referință și o ajustează<br />

conform necesităților pentru a se asigura că vi<strong>teza</strong> medie finală și numărul de rotații<br />

execuatate se încadrează în limitele specificate.<br />

Aceste două controller-e au cerințe diferite atât din punct de vedere a frecvenței de execuție cât și<br />

din punct de vedere a complexității algoritmului. Controller-ul de viteză implementează un algoritm<br />

de control PI și are nevoie să ruleze cu frecvență mare pentru a fi capabil să urmărească cât mai<br />

precis referința de viteză. Controller-ul de poziție trebuie să implementeze operații mai sofisticate<br />

pentru a genera traiectoria de viteză și pentru a monitoriza valorile vitezei și poziției și de a ajusta<br />

traiectoria de viteză folosind algoritmul PI pentru a minimiza erorile finale. Frecvența de actualizare<br />

a controller-ului de poziție poate să fie de câteva ori mai mică decât frecvența de actualizare a<br />

controller-ului de viteză. Aceste cerințe au dus la o împărțire naturală a algoritmului de control între<br />

procesorul de semnal și microcontroller: deoarece procesorul de semnal este potrivit pentru operații<br />

rapide de timp real el implementează controller-ul de viteză, iar microcontroller-ul, care poate<br />

executa sarcini mai complexe dar cu o frecveță de repetiție mai mică, implementează controller-ul<br />

de poziție. Modulul de intrare a fost particularizat pentru a avea un singur tip de senzor conectat la<br />

sistem care oferă informații legate de vi<strong>teza</strong> și poziția motorului. Prin îndepărtarea tuturor celorlalte<br />

blocuri din modulul de intrare dimensiunea proiectului a putut fi redusă. Informațiile provenite de la<br />

senzorul de viteză au trebuit să fie procesate în interiorul controller-ului pentru a fi convertite la<br />

valori exprimate în rotații pe secundă care să poată fi apoi utilizate în algoritmul de control al<br />

vitezei. Din cauza acestor procesări adiționale s-a decis încorporarea în DSP a doua nuclee de<br />

procesare care să efectueze procesarea de viteză și controlul vitezei în paralel, iar astfel să se reducă<br />

timpul total de execuție a buclei de control. Deoarece doar un singur semnal de control de tip PWM<br />

trebuie să fie generat pentru a controla tensiunea de alimentare a motorului blocurile neutilizare din<br />

modulul de ieșire au fost eliminate ajutând astfel la reducerea dimensiunii proiectului. După ce<br />

funcționalitatea noului controller a fost verificată prin simulări acesta a fost implementat într-un<br />

FPGA și au fost efectuate experimente de control pentru a verifica performanțele controller-ului.<br />

Performanțele sistemului de control sunt definite de două aspecte: măsura în care sistemul este<br />

capabil să îndeplinească constrângerile de timp real ale procesului controlat și acuratețea controlului.<br />

În urma analizei timpilor de execuție a programelor destinate atât pentru DSP cât și pentru MCU s-a<br />

constatat îndeplinirea constrângerilor de timp real ale sistemului. Acuratețea controller-ului a fost<br />

verificată prin executarea mai multor experimente având valori de referință diferite pentru vi<strong>teza</strong><br />

medie și pentru numărul de rotații. Rezultatele experimentelor au arătat că specificațiile legate de<br />

acuratețe au fost indeplinite. Soluția pentru controlul motorului de curent continuu arată că sistemul<br />

de control general poate să fie adaptat ușor în funcție de necesitățile unei aplicații specifice pentru a<br />

crea o soluție de control particularizată cerințelor specifice ale sistemului controlat.<br />

A doua aplicație reală în care sistemul de control propus a fost utilizat a fost o soluție de control<br />

pentru un motor de inducție. În acest caz scopul controller-ului este ajustarea vitezei și fluxului<br />

motorului astfel încât acestea să urmeze valori de referință specificate. Sistemul de control trebuie să<br />

controleze dispozitivele de comutație ale unui invertor utilizat pentru alimentarea motorului.<br />

Intrările sistemului sunt formate din vi<strong>teza</strong> rotorului, valorile curenților prin două faze ale<br />

30


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

alimentării și valorile de referință ale vitezei și fluxului. Un encoder rotativ oferă informații legate<br />

de vi<strong>teza</strong> rotorului. Acesta generează pulsuri ce pot fi interpretate ca semnale digitale. Aplitudinile<br />

curenților statorului sunt determinate cu ajutorul a doi senzori cu efect Hall, iar semnalele analogice<br />

obținute de la cei doi senzori sunt digitizate cu ajutorul unor convertoare analog numerice care pot fi<br />

citite prin protocolul SPI. Deoarece vi<strong>teza</strong> și fluxul motorului trebuie controlate separat algoritmul<br />

de control ales este controlul vectorial al câmpului (Field Oriented Control). Acesta este unul dintre<br />

cei mai complecși algoritmi de control disponibili pentru motoarele de curent alternativ. Un<br />

controller care implementează acest algoritm trebuie să fie capabil să proceseze simultan mai multe<br />

semnale de intrare și să efectueze un număr important de operații pentru a calcula valorile<br />

semnalelor de comandă ale motorului. Aceste lucruri implică existența unei puteri semnificative de<br />

procesare în interiorul controller-ului pentru a putea excuta algoritmii de control în timp real.<br />

Majoritatea sarcinilor algoritmului pot fi paralelizate iar din acest motiv este o soluție bună de a<br />

avea un sistem cu blocuri de procesare dedicate care execută părți ale algoritmului în paralel<br />

reducându-se astfel frecvența necesară de funcționare a sistemului. Luând în cosiderare aceste<br />

afirmații se poate observa că sistemul de control programabil propus în cadrul acestei cercetări poate<br />

să ofere un mediu propice implementării algoritmului de control vectorial al motorului de inducție.<br />

După analiza dependințelor de date dintre blocurile de procesare ale algoritmului de control și a<br />

complexității operațiilor executate de fiecare bloc s-a decis alegerea unei soluții cu șapte nuclee de<br />

procesare DSP care să implementeze funcționalitatea algoritmului de control. Această soluție<br />

încearcă să echilibreze încărcarea nucleelor DSP și să minimizeze volumul de date transferat între<br />

acestea. Toate blocurile algoritmului de control execută operații de timp real de procesare de date și<br />

au fost mapate în întregine în procesorul de semnal iar microcontroller-ului i-au fost asignate doar<br />

sarcini de monitorizare a funcționării sistemului. Semnalele de intrare sunt în întregime digitale și<br />

sunt furnizate sistemului în două moduri diferite: vi<strong>teza</strong> rotorului este preluată printr-un bus paralel<br />

în timp ce valorile curenților sunt citite prin protocolul SPI. Modulul de intrare a fost adaptat pentru<br />

a putea prelua aceste noi tipuri de intrări, în timp ce blocurile de intrare neutilizare au fot<br />

îndepărtate. Și pe partea de semnale de ieșire există un caz special: semnalele PWM care<br />

controlează invertorul sunt generate pe baza algoritmului SVM și au constângeri foarte stricte legate<br />

de frecvența de comutație și de sincronizarea comutației. Din aceste motive un bloc nou a fost creat<br />

pentru a implementa algoritmul de generare a semnalelor PWM, iar toate celelalte blocuri din<br />

modulul de ieșire au fost îndepărtate. Un modul de control manual a fost adăugat în proiect pentru a<br />

oferi posibilitatea controlării motorului fără a implica partea de control automat. În timp ce motorul<br />

este controlat în mod manual controller-ul automat funcționează și el, dar ieșirile lui sunt ignorate.<br />

Astfel în modul manual de funcționare este posibilă monitorizarea parametrilor calculați de către<br />

controller-ul automat pentru a vedea dacă aceștia corespund așteptărilor. Acest lucru permite<br />

verificarea funcționării blocurilor de procesare ale controller-ului automat și oferă utilizatorului<br />

informații despre evoluția anumitor parametri ai sistemului în funcție de valorile comenzii și ale<br />

punctului de funcționare a motorului. Una dintre cele mai dificile sarcini în implementarea<br />

algoritmului de control în procesorul digital de semnal a constat în adaptarea valorilor de intrare și a<br />

coeficienților ce intervin în relațiile de control pentru a se încadra în gama de valori ale formatului<br />

numerelor utilizate în interiorul procesorului de semnal. După finalizarea proiectării noului sistem<br />

de control acesta a fost verificat prin simulări și apoi implementat într-un circuit FPGA.<br />

Performanțele sistemului sunt evaluate pe baza a trei aspecte: măsura în care sistemul este capabil să<br />

îndeplinească constrângerile de timp real ale procesului controlat, măsura în care anumite mărimi<br />

care intervin în procesul de control corespund cu valori obținute prin simularea sistemului în Matlab<br />

și acuratețea controlului evaluată pe baza erorilor staționare ale variabilelor controlate. În urma<br />

analizei timpilor de execuție a programelor rulate de procesorul de semnal s-a constat îndeplinirea<br />

fără probleme a constrângerilor de timp real. Pentru evaluarea similarității dintre valorile calculate<br />

31


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

de sistem pentru anumiți parametri și valorile acestora obținute prin simulări în Simulink s-au realiat<br />

capturi de date de la sistem care apoi au fost analizate în Matlab. Formele de undă a parametrilor<br />

analizați au corespuns cu formele de undă din simulări demonstrându-se astfel corecta functionare a<br />

blocurilor de procesare ale controller-ului și a părților de măsură de viteză și curent. Din cauza<br />

faptului că nu există o potrivire exactă din punct de vedere a valorilor tensiunilor și curenților între<br />

semnalele de ieșire ale plăcii FPGA și semnalele de intrare ale invertorului experimentele de control<br />

au fost realizate într-un domeniu redus de functionare a motorului unde sistemul s-a dovedit a fi<br />

stabil și s-a putut valida funcționarea controller-ului. Unele limitări au fost impuse și asupra<br />

amplitudinii semnalelor de control și a valorilor parametrilor controller-elor PI pentru a îndeplini<br />

cerințele de stabilitate ale sistemului. Experimentele de control automat au dovedit că sistemul este<br />

capabil să urmărească referințele impuse și că performanțele sale sunt limitate doar de constrângerile<br />

sistemului fizic. Aplicația de control al motorului de inducție demonstrează capabilitățile sistemului<br />

de a implementa algoritmi complecși de control.<br />

Ca și concluzie finală se poate spune că, în urma analizei rezultatelor care au fost obținute prin<br />

implementarea solutiilor de control pentru motoarele de curent continuu și de inducție, sistemul de<br />

control propus oferă o soluție de control fezabilă, care poate fi adaptată pentru a rula algoritmi de<br />

control de complexități diferite pe sisteme cu resurse fizice diferite.<br />

6.2 Contribuții<br />

Cercetarea prezentată în cadrul acestei teze a necesitat utilizarea de concepte și instrumente din<br />

domenii tehnice precum electronică, proiectare hardware, software și automatică. Munca depusă a<br />

adus câteva contribuții originale în fiecare din aceste domenii după cum urmează:<br />

Un processor digital de semnal bazat pe o arhitectură nouă a fost proiectat și implementat.<br />

Un sistem de control integrat bazat pe o arhitectură nouă a fost proiectat și implementat.<br />

S-a realizat proiectarea și dezvoltarea utilitarelor de simulare și a compilatorului pentru noul<br />

procesor de semnal.<br />

Un algoritm de control nou pentru vi<strong>teza</strong> și poziția unui motor de curent continuu a fost<br />

proiectat și implementat.<br />

O nouă metodă pentru implementarea controlului vectorial pentru un motor de inducție a fost<br />

proiectată și implementată.<br />

O aplicație de PC bazată pe o nouă arhitectură a fost proiectată și implementată.<br />

6.3 Direcții de cercetare ulterioară<br />

Următoarele aspecte pot fi considerate ca direcții de cercetare ulterioară:<br />

Optimizarea algoritmului de execuție a instrucțiunilor procesorului de semnal propus.<br />

Optimizarea implementării VHDL a sistemului pentru a reducere resursele hardware<br />

necesare.<br />

Dezvoltarea de noi algoritmi de control pentru motorul de curent continuu utilizând<br />

controller-ul fuzzy.<br />

Investigarea posibilității implementării unui controller bazat pe rețele neuronale utilizând<br />

sistemul de control propus.<br />

Implementarea de noi algoritmi de control pentru alte tipuri de motoare electrice utilizând<br />

sistemul de control propus.<br />

Cercetarea modului în care sistemul propus poate fi utilizat și în alte domenii cum ar fi<br />

comunicații sau multimedia.<br />

32


Cercetări privind dezvoltarea unui sistem de control programabil cu aplicații în controlul motoarelor electrice<br />

BIBLIOGRAFIE<br />

33


References<br />

[1] A. Bhatia, “DC Generators and Motors”, Online document, 2011, Available at:<br />

http://www.cedengineering.com/upload/DC%20Generators%20and%20Motors.pdf<br />

[2] A. Hazzab, I. K. Bousserhane, M. Kamli, M. Rahli, “Design of fuzzy sliding mode controller by<br />

genetic algorithms for induction machine speed control” Third IEEE International Conference<br />

on Systems, Signals & Devices SSD'05, Tunisia, 2005<br />

[3] A. Hazzab, I.K. Bousserhane, M. Kamli, M. Rahli, “New Adaptive fuzzy PI-Sliding Mode<br />

Controller for Induction Machine Speed Control”, Third IEEE International Conference on<br />

Systems, Signals & Devices SSD'05, Tunisia, 2005<br />

[4] A.Leva, C. Cox, A. Ruano, “Hands-on PID autotuning: a guide to better utilisation”, Online<br />

document, 2011, Available at: http://www.ifac-control.org/publications/list-of-professionalbriefs/pb_final_levacoxruano.pdf/view<br />

[5] A.V. Oppenheim and R.W. Schafer, “Discrete Time Signal Processing”, Prentice Hall,<br />

Englewood Cliffs, NJ, USA, 1989<br />

[6] Amit Goel , William R. Lee , “Formal Verification of an IBM CoreConnectTM Processor Local<br />

Bus Arbiter Core”, Online document, 2011, Available at:<br />

http://docs.google.com/viewer?a=v&q=cache:NznBoLqL7C4J:citeseerx.ist.psu.edu/viewdoc/do<br />

wnload%3Fdoi%3D10.1.1.11.5145%26rep%3Drep1%26type%3Dpdf+core+connect+bus&hl=r<br />

o&gl=ro&pid=bl&srcid=ADGEEShihgYLKGFhmYZGCZd8si16QXwlC9fu1GUIaYZ36NTX1<br />

hFu3DwvrGimbc_roIAGoC6NVG1f-VEjSxgHIKkfafk2VE9xvQvHDxQOjDqVf73J63Q4aFtyslJ5vku_oSsEVRr7e2s&sig=AHIEtbRwSyPHZOBx5_m5IfJ4QhEAs20<br />

QLA<br />

[7] Anders Norlin Frederiksen, “Sensorless Vector Control Techniques for Ultra Efficient Motor<br />

Control”, Analog Devices, Online document, 2011, Available at:<br />

http://www.analog.com/static/imported-files/white_papers/<br />

ADI_Blackfin_BF50x_Sensorless_Vector_Control_Paper_12_18_09_FINAL.pdf<br />

[8] Andrei Cozma, Dan Pitică, “Artificial Neural Network And PID Based Control System For DC<br />

Motor Drives”, Proceedings on the 11<br />

34<br />

th International Conference on Optimization of Electrical<br />

and Electronic Equipment, OPTIM 2008, Brașov, România, pp. 161-167<br />

[9] Andrei Cozma, Dan Pitică, “Design of a Programmable Control System”, ACTA Technica<br />

Napocensis, Volume 51/1, 2010<br />

[10] Andrei Cozma, “DC Motor Monitoring and Control System”, Novel Algorithms and<br />

Techniques in Telecommunications, Automation and Industrial Electronics, CISSE 2007, pp.26-<br />

32<br />

[11] Andrei Cozma, Dan Pitică, “Programmable Control System with Applications in Direct<br />

Current Motors Control”, ACTA Technica Napocensis, Volume 52/1, 2011<br />

[12] Andrei Cozma, Dan Pitică, “Programmable Control System with Applications in Alternating<br />

Current Motors Control”, Journal of Communication and Computer, Volume 9, 2011<br />

[13] Andrew Gee, “Engineering Part IIA Module 3F5: Computer Systems Handout 7: Parallel<br />

Processing”, University of Cambridge, Online document, 2008, Available at:<br />

mi.eng.cam.ac.uk/~twd20/Teaching/3F5/parallel.pdf<br />

[14] B.W. Williams, J.K. Goodfellow, T.C. Green, “Sensorless Speed Measurement of Inverter<br />

Driven Squirrel Cage Induction Motors without Rotational Transducers”, Proceedings of the 4 th<br />

International Conference on Power Electronics and Variable Speed Drives, 1990, pp. 297-300<br />

[15] Babak Kia, “Introduction to Embedded Systems Design”, Boston University, College of<br />

Engineering, Online Document, 2011, Available at:<br />

http://people.bu.edu/bkia/PDF/01.%20Introduction%20to%20Embedded%20Systems.pdf<br />

[16] Basile G., Marro G., “Controlled and Conditioned Invariants in Linear System Theory”,<br />

Prentice Hall, Englewood Cliffs, New York, 1992.


References<br />

[17] Bernd Mohr, “Introduction to Parallel Computing”, John von Neumann Institute for<br />

Computing, Julich, NIC Series, Vol. 31, ISBN 3-00-017350-1, pp. 491-505, 2006<br />

[18] Blaschke F. “The Principle of Field Orientation as Applied to the New Transvector Closed<br />

Loop Control for Rotating Machines”, Siemens Rev., 1972, Vil. 39, No. 5, pp. 217-220<br />

[19] C.L. Phillips, H.T. Nagle, “Digital Control Systems Analysis and Design, 3rd edition”,<br />

Prenctice Hall, N.J., 1995, ISBN: 0133098327<br />

[20] Charlie Wu, “Advanced Digital Power Solutions Digital Signal Controller-Based Digital Power<br />

Supply”, Freescale Semiconductor, Online document, 2007, Available at:<br />

http://2007ftf.ccidnet.com/pdf/PZ307.pdf<br />

[21] Cristopher T. Kilian, “Modern Control Technologies: Components and systems, Second<br />

edition”, Thomson Delmar Learning, 2001<br />

[22] David A. Patterson, John L. Hennessy, “Computer organization and design: the<br />

hardware/software interface, Third edition”, Morgan Kaufmann Publishers, 2005, ISBN: 1-<br />

55860-604-1<br />

[23] David Culler, Jaswinder Pal Singh, Anoop Gupta, “Parallel Computer Architecture, A<br />

Hardware / Software Approach”, Morgan Kaufmann Publishers, 1997, ISBN-1-55860-343-3<br />

[24] E. A. Lee, “Programmable DSP architectures: Part I”, IEEE ASSP Magazine, vol.5, no. 4, pp.<br />

4–19, Oct. 1988<br />

[25] E. C. Ifeachor and B. W. Jervis, “Digital Signal Processing: A Practical Approach”, Addison<br />

Wesley Longman, Inc., Menlo Park, CA, U.S.A., 1993<br />

[26] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns, Elements of<br />

reusable object oriented software”, Addison Wesley, 1998, ISBN: 0201633612<br />

[27] F. Peng, T. Fukao, “Robust Speed Ientification for Speed Sensorless Vector Control of<br />

Induction Motors”, IEEE Industry Aplications Society Annual Meeting, 1993, Vol.1, pp. 419-<br />

426<br />

[28] Franjo Plavec, “Soft-core Processor design”, University of Toronto, Online document, 2004,<br />

Available at: http://www.eecg.toronto.edu/~plavec/SoftCoreProcessorDesign.pdf<br />

[29] G. Yang, T. Chin, “Adaptive-Speed Identification Scheme for a Vector-Controlled Speed<br />

Sensorless Inverter-Induction Motor Drive”, IEEE Transactions on Industry Applications, 1993,<br />

Vol. 29, No. 4, pp. 820-825<br />

[30] H. Kopetz, “Real-Time Systems Design Priciples for Distributed Embedded Applications”,<br />

Kluwer Academic Publishers, Norwell, MA, U.S.A., 1997, ISBN: 9780792398943<br />

[31] H. Kubota, K. Matuse, “Speed Sensorless Field Oriented Control of Induction Motor with<br />

Rotor Resistance Adaptation”, IEEE Industry Applications Society Annual Meeting, Vol. 1, pp<br />

414-418<br />

[32] H. Tajima, Y. Hori, “Speed Sensorless Field-Oriented Control of the Induction Machine”, IEEE<br />

Transactions on Industry Applications, 1993, Vol. 29, No. 1, pp 175-180<br />

[33] I. Kuroda, “RISC, video and media DSPs”, in Digital Video Processing for Multimedia<br />

Systems, K.K. Parhi and T. Nitshitani, Eds, pp. 245-272, Marcel Dekker Inc, NY, USA, 1999<br />

[34] I. Miyashita, Y. Ohmori, “Improvement of Robustness on Speed Sensorless Vector Control of<br />

Induction Motor Drives”, Proceedings of the EPE Conference, Firenze, 1991, Vol.4 pp. 660-665<br />

[35] I. Moazzem, S. Rahman, M A Matin , “Microcontroller based closed-loop automatic speed<br />

control of DC motor using PWM”, Recent Advances in Circuits, Systems, Signal and<br />

Telecommunications, ISBN: 978-960-474-271-4<br />

[36] Ismail Khalil Bousserhane, Abdeldjabbar Hazzab, Mostefa Rahli, Mokhtar Kamli, Benyounes<br />

Mazari, “Direct Field-Oriented Control Using Backstepping Strategy With Fuzzy Rotor<br />

Resistance Estimator For Induction Motor Speed Control”, Information Technology And<br />

Control, 2006, Vol.35, No.4, pp.403-411<br />

35


References<br />

[37] Jaroslav Lepka, Petr Stekl, ”3-Phase AC Induction Motor Vector Control Using a<br />

56F80x,56F8100 or 56F8300 Device”, Freescale Semiconductor Application Note, 2005,<br />

Available at: http://www.freescale.com/files/product/doc/AN1930.pdf<br />

[38] Jean-Marc Irazabal, Steve Blozis, “I2C Manual”, Philips Semiconductors, Online document,<br />

2004, Available at: http://www.nxp.com/documents/application_note/AN10216.pdf<br />

[39] Jerry Bednarczyk, “Induction motor theory, PDH Course E176”, Online document, 2011,<br />

Available at: http://www.pdhonline.org/courses/e176/e176content.pdf<br />

[40] Jussi Puranen, “Induction motor versus permanent magnet synchronous motor in motion<br />

control applications: a comparative study”, Acta Universitatis Lappeenrantaensis 249, 2006,<br />

ISBN 952-214-296-4<br />

[41] K. Compton and S. Hauck, “Reconfigurable Computing: A Survey of Systems and Software,”<br />

ACM Computing Surveys, vol. 34, no. 2 (June 2002), pp. 171-210.<br />

[42] Karl Johan Astrom, “Control System design”, University of California Santa Barbara, Online<br />

document, 2002, Available at: http://orion-intour.com.ua/userfiles/pdf/astrom_-<br />

_control_system_design_1288292182.pdf<br />

[43] Kyeong Keol Ryu, Eung Shin, and Vincent J. Mooney, “A Comparison of Five Different<br />

Multiprocessor SoC Bus Architectures” Georgia Institute of Technology Electrical and<br />

Computer Engineering Atlanta, GA 30332, Online document, 2011, Available at:<br />

http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.6664<br />

[44] L. Canan Dulger and Ali Kirecci, “Motion Control and Implementation for an AC Servomotor<br />

System”, Hindawi Publishing Corporation, “Modelling and Simulation in Engineering”, Volume<br />

2007, Article ID 50586<br />

[45] L. R. Rabiner, “Terminology in digital signal processing”, IEEE Trans. on Audio and<br />

Electroacoustics, vol. 20, no. 1-5, pp. 322–337, Dec. 1972<br />

[46] Landau I.D., Bensançon-Voda A. “Identification des Systèmes”, pp. 19-130, Hermes, Paris,<br />

2001<br />

[47] M. Sami Fadali, Antonio Visioli, “Digital control engineering: analysis and design”, Elsevier,<br />

2009, ISBN 13: 978-0-12-374498-2<br />

[48] M. Schroedl, “Sensorless Control of Induction Motors at Low Speed and Standstill”,<br />

Proceedings ICEM ’92, 1992, pp. 863-867<br />

[49] Mika Kuulsa, “DSP Processor Core-Based Wireless System Design”, PhD Thesis, 18 th of<br />

August 2000<br />

[50] Mostafa Abd-El-Barr & Hesham El-Rewini, “Advanced Computer Architecture and Parallel<br />

Processing”, Wiley-Interscience, 2005, ISBN: 0471467405<br />

[51] Noah Aklilu, Duncan G. Elliott, Curtis A. Wickman, “A Tightly Coupled Hybrid SIMD/SISD<br />

System”, IEEE Canadian Conference on Electrical and Computer Engineering,<br />

pages: 446 - 449 vol.1, 1999, ISBN: 0-7803-5579-2<br />

[52] P. D. Lapsley, J. Bier, A. Shoham, and E. A. Lee, “DSP Processor Fundamentals: Architectures<br />

and Features”, Berkeley Design Technology, Inc., Fremont, CA, U.S.A., 1996<br />

[53] P.L. Jansen, R.D. Lorenz, “Accuracy Limitations of Velocity and Flux Estimation in Direct<br />

Field Oriented Induction Machines”, Proceedings of the EPE Conference, Brighton, Vol. 1, pp.<br />

312-318<br />

[54] Patrick Pelgrims,Tom Tierens, Dries Driessens, “Overview: AMBA, Avalon, CoreConnect,<br />

Wishbone”, DE NAYER Institut, Online document, 2003, Available at:<br />

http://emsys.denayer.wenk.be/empro/Overview%20of%20Embedded%20Busses.pdf<br />

[55] Peter Wilson, “Design Recipes for FPGAs: Using Verilog and VHDL”, Newnes, 2007, ISBN:<br />

978-0-7506-6845-3<br />

36


References<br />

[56] Prabir Barooah, “Notes on Laplace transform, transfer function, and BIBO stability”, Online<br />

document, 2009, Available at: http://www.math.psu.edu/srikrish/math251/notes/laplace.pdf<br />

[57] R.C. Cofer, Ben Harding, “Fixed-Point DSP and Algorithm Implementation”, Avnet, Online<br />

document, 2011, Available at: http://www.eetimes.com/design/signal-processingdsp/4016980/Fixed-Point-DSP-and-Algorithm-Implementation?pageNumber=3\<br />

[58] R.D. Lorenz, T. A. Lipo, D. W. Novotny, “Power Electronics and Variable Frequency Drives;<br />

Technology and Applications, Chapter 5: Motion Control with Induction Motors”, IEEE Press,<br />

1997, pp. 209 – 276<br />

[59] R. K. Gupta and Y. Zorian, “Introducing Core-Based System Design,” IEEE Design and Test<br />

of Computers, vol. 14, no. 4 (October-December 1997), pp 15-25.<br />

[60] R. van de Plassche, “Integrated Analog-to-Digital and Digital-to-AnalogConverters”, Kluwer<br />

Academic Publishers, Norwell, MA, U.S.A., 1994<br />

[61] Rajkumar Buyya, ”The Design of PARAS Microkernel, Chapter 1”, Online document, June<br />

2000, Available at: http://www.buyya.com/microkernel/chap1.pdf<br />

[62] Ramon Glasco Gimenez, “High Performance Sensorless Vector Control for Induction Motor<br />

Drives”, PhD. Thesis, University of Notthingham, Online document, 1995, Available at:<br />

http://www.isa.upv.es/investigacion/supervision-y-diagnostico-de-fallos/thesis.pdf<br />

[63] Ray Weiss, “CoreConnect: The On-Chip Bus System” Online document, 2001, Available at:<br />

http://electronicdesign.com/article/embedded/coreconnect-the-on-chip-bus-system4089/2.aspx<br />

[64] Robert A. Paz, “Computer Controlled Systems”, Online Document, 2001, Available at:<br />

http://www.ece.nmsu.edu/people/paz/TextBook.html<br />

[65] Robert Dueck, “Digital Design with CPLD Applications and VHDL, Second Edition”,<br />

Thomson Delmar Learning, 2001, ISBN: 1401840302<br />

[66] Robert J. Scoff , “DC Motors, Drives and Controls, Course № E-3025”, PDHEngineering,<br />

Online Document, 2010, Available at: http://www.pdhengineer.com/courses/e/E-3025.pdf<br />

[67] Ross Bannatyne, “The evolution of the digital signal controller”, Motorola Semiconductor<br />

Products, Online document, 2009, Available at:<br />

http://www.eetasia.com/ARTICLES/2002MAY/2002MAY01_AMD_MPR_DSP_TA.PDF?SO<br />

U RCES=DOWNLOAD<br />

[68] S. B. Dewan, "Power semiconductor circuits", John Wiley & sons, March 1975, ISBN:<br />

9780471211808<br />

[69] Saeed Vaseghi , “Multimedia Signal Processing Lecture Notes, Lecture 3”, Online document,<br />

2011, Available at: http://dea.brunel.ac.uk/cmsp/Home_Saeed_Vaseghi/Chapter04-Z-<br />

Transform.pdf<br />

[70] Steve Heath, “Embedded systems design. EDN series for design engineers (2 ed.)” Newnes,<br />

2003, pp. 11–12. ISBN 9780750655460<br />

[71] Steven W. Smith, “The Scientist’s Guide to Digital Signal Processing”, Second Edition,<br />

California Technical Publishing San Diego, California, 1999, ISBN 0-9660176-6-8<br />

[72] T. A. C. M. Claasen, W. F. G. Mecklenbrauker, and J. B. H. Peek, “Effects of quantization and<br />

overflow in recursive digital filters”, IEEE Trans. on Acoustics, Speech and Signal Processing,<br />

vol. 24, no. 6, pp. 517–529, Dec. 1976<br />

[73] T.A. Lipo, Karel Jezernik, “AC Motor Speed Control”, Online Document, 2002, Available at:<br />

http://www.ro.feri.uni-mb.si/projekti/pdf/AC_motor_book.pdf<br />

[74] Venkat Anant , Bill Hutchings, “Digital signal controller applications”, Freescale<br />

Semiconductor, Online document, 2011, Available at:<br />

http://pdf.cloud.opensystemsmedia.com/dsp-fpga.com/Freescale.Oct05.pdf<br />

[75] Yoan D. Landau,Gianluca Zito, “Digital control systems: design, identification and<br />

implementation”, Springer, 2006, ISBN-10: 1846280559<br />

37


References<br />

[76] “AC Induction Motor Fundamentals”, Microchip, Online document, 2003, Available at:<br />

http://ww1.microchip.com/downloads/en/AppNotes/00887a.pdf<br />

[77] “AC Motor Theory”, Online Document, 2011, Available at:<br />

http://www.tpub.com/content/doe/h1011v4/css/h1011v4_28.htm<br />

[78] “AMBA Bus Specifications”, ARM, Online document, 2011, Available at:<br />

http://www.arm.com/products/system-ip/amba/amba-open-specifications.php<br />

[79] “An Introduction to Space Vector Modulation using NEC’s 8-bit Motor Control<br />

Microcontrollers”, Application note, NEC, Online document, 2004, Available at:<br />

http://www2.renesas.eu/_pdf/U16699EE1V1AN00.PDF<br />

[80] “Asesoria en Proyectos”, Microchip, Online document, 2008, Available at: http://www.avbtech.com/downloads/Casos_de_Exito_Wavelet-UNI.pdf<br />

[81] “Brushed DC Motor Fundamentals”, Microchip, Online Document, 2004, Available at:<br />

http://ww1.microchip.com/downloads/en/AppNotes/00905a.pdf<br />

[82] “Brushless DC (BLDC) Motor Fundamentals”, Microchip, Online Document, 2003, Available<br />

at: http://ww1.microchip.com/downloads/en/AppNotes/00885a.pdf<br />

[83] “Control Technologies Manual. PWM AC Drives. Revsion 1.0”, Online document, 2009,<br />

Available at: http://www.ab.com/support/abdrives/documentation/techpapers/PWMDrives01.pdf<br />

[84] “CoreConnect”, Xilinx, Online document, 2011, Available at:<br />

www.xilinx.com/products/ipcenter/dr_pcentral_coreconnect.htm<br />

[85] “Digilent Parallel Interface Module”, Digilent, Online document, 2011, Available at:<br />

http://www.digilentinc.com/Data/Products/ADEPT/DpimRef%20programmers%20manual.pdf<br />

[86] “Direct Torque Control versus Field Oriented Control”, Online Document, 2011, Available at:<br />

http://web.cecs.pdx.edu/~strom/ev2/articles/foc_vs_dtc.pdf<br />

[87] “E3 optical kit encoder”, US Digital, Online document, 2011, Available at:<br />

http://usdigital.com/products/encoders/incremental/rotary/kit/e3<br />

[88] “Electrical energy technology, Chapter 6: Synchronous machines”, Online document, 2011,<br />

Available at: http://services.eng.uts.edu.au/cempe/subjects_JGZ/eet/eet_ch6.pdf<br />

[89] “Excalibur Devices”, Altera Corporation, Online Document, 2004, Available at:<br />

http://www.altera.com/products/devices/arm/arm-index.html<br />

[90] “Field Orientated Control of 3-Phase AC-Motors”, Texas Instruments Europe, Online<br />

document,1998, Available at: http://focus.ti.com/lit/an/bpra073/bpra073.pdf<br />

[91] “Genesys Virtex-5 FPGA Development Board”, Digilent, Online document, 2011, Available<br />

at: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,819&Prod=GENESYS<br />

[92] “Hall Effect Sensing and Application”, Honeywell, Online document, 2011, Available at:<br />

http://content.honeywell.com/sensing/prodinfo/solidstate/technical/hallbook.pdf<br />

[93] “IBM Rational Rose”, IBM, Online document, 2011, Available at: http://www-<br />

01.ibm.com/software/awdtools/developer/rose/<br />

[94] “Induction and Synchronous Motor Fundamentals”, PDHengineer, Course No E-1005, Online<br />

document, 2011, Available at: http://www.pdhengineer.com/courses/e/E-1005.pdf<br />

[95] “Introduction to Microchip, Digital Signal Controllers (dsPIC30F)”, Microchip, Online<br />

document, 2010, Available at: http://eleceng.dit.ie/dermot/DigitalSignalController.pdf<br />

[96] “Instructor’s guide, Lecture1: Introduction to DSP”, University of Hertfordshire, Online<br />

document, 2011, Available at: http://www.elin.ttu.ee/~olev/lect1.pdf<br />

[97] “Inverters”, Online document, 2011, Available at:<br />

http://www.ebookbyte.com/admin/upload/Mechanical%20Engineering/Root%20Cause%20Failu<br />

re%20Analysis%20Ch-16%20(www.eBookByte.com).pdf<br />

[98] ”MC1H 3-Phase High Voltage Power Module User’s Guide”, Microchip, Online document,<br />

2003, Available at: http://ww1.microchip.com/downloads/en/devicedoc/70096A.pdf<br />

38


References<br />

[99] “Microblaze Processor Reference Guide”, Xilinx, Online document, 2008, Available at:<br />

http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf<br />

[100] “Microblaze”, Wikipedia, Online document, 2011, Available at:<br />

http://en.wikipedia.org/wiki/MicroBlaze<br />

[101] “Microsoft Foundation Classes Documentation”, MSDN, Online document, Available at:<br />

http://msdn.microsoft.com/en-us/library/d06h2x6e(v=VS.80).aspx<br />

[102] “Motor / Gearbox”, Digilent, Online document, 2011, Available at:<br />

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,403,625&Prod=MT-MOTOR<br />

[103] “Nexys2 Spartan-3E FPGA Board”, Digilent, Online document, 2011, Available at:<br />

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,789&Prod=NEXYS2<br />

[104] “Nios Embedded Processor System Development,” Altera Corporation , Online document,<br />

2004, Available at: http://www.altera.com/products/ip/processors/nios/nio-index.html<br />

[105] “NXP 150 MHz, 32-bit Cortex-M4 /Cortex-M0 DSC LPC4300 series”, NXP, Online<br />

document, 2011, Available at: http://www.nxp.com/documents/leaflet/75017013.pdf<br />

[106] Opencores.org Web Site, Online Document, 2011, Available at: http://www.opencores.org/<br />

[107] ”PmodAD1 - Two 12-bit A/D inputs”, Digilent, Online document, 2011, Available at:<br />

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,499&Prod=PMOD-AD1<br />

[108] “PmodHB5 - H-bridge w/ feedback inputs” Digilent, Online document, 2011, Available at:<br />

http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,401,503&Prod=PMOD-HB5<br />

[109] “PowerPC Embedded Processor Solution”, Xilinx, Inc., Online Document, 2004, Available at:<br />

http://www.xilinx.com/xlnx/xil_prodcat_product.jsp?title=v2p_powerpc<br />

[110] “Synchronous machines”, Online document, 2011, Available at:<br />

http://www.ece.msstate.edu/~donohoe/ece3414synchronous_machines.pdf<br />

[111] “TCL website”, Online document, 2011, http://www.tcl.tk/<br />

[112] “TMS320C28x Digital Signal Controller Plus Floating Point Unit”, Texas Instruments,<br />

Online document, 2011, Available at:<br />

http://focus.ti.com/docs/training/catalog/events/event.jhtml?sku=OLT107003<br />

[113] “Using the dsPIC30F for Vector Control of an ACIM”, Microchip, 2004, Online document,<br />

Available at: ww1.microchip.com/.../ACIM%20Vector%20Control%2000908a.pdf<br />

[114] “VF Control of 3-Phase Induction Motor Using Space Vector Modulation”, Microchip, Online<br />

document, 2005, Available at: http://ww1.microchip.com/downloads/en/AppNotes/00955a.pdf<br />

[115] “VmodMIB - VHDC Module Interface Board”, Digilent, Online document, 2011, Available<br />

at: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,648,870&Prod=VMOD-MIB<br />

39


[P1]<br />

[P2]<br />

[P3]<br />

[P4]<br />

[P5]<br />

Listă de publicații<br />

Andrei Cozma, “DC Motor Monitoring and Control System”, Novel Algorithms and<br />

Techniques in Telecommunications, Automation and Industrial Electronics, CISSE 2007,<br />

pp.26-32<br />

Andrei Cozma, Dan Pitică, “Artificial Neural Network And PID Based Control System<br />

For DC Motor Drives”, Proceedings on the 11 th International Conference on Optimization<br />

of Electrical and Electronic Equipment, OPTIM 2008, Brașov, România, pp. 161-167<br />

Andrei Cozma, Dan Pitică, “Design of a Programmable Control System”, ACTA<br />

Technica Napocensis, Volume 51/1, 2010<br />

Andrei Cozma, Dan Pitică, “Programmable Control System with Applications in Direct<br />

Current Motors Control”, ACTA Technica Napocensis, Volume 52/1, Volume 9, 2011<br />

Andrei Cozma, Dan Pitică, “Programmable Control System with Applications in<br />

Alternating Current Motors Control”, Journal of Communication and Computer, 2011<br />

40


Informații<br />

personale<br />

Educație<br />

Experiența<br />

profesională<br />

Curriculum Vitae<br />

Nume, Prenume: Andrei Vasile Cozma<br />

Data și locul nașterii: 11.10.1980, Cluj-Napoca, România<br />

Naționalitate: Română<br />

Adresa: Str. Tatra Nr. 1 Ap. 25, Cluj-Napoca, Cluj, Romania<br />

Telefon: 0745 140 767<br />

E-mail : andreic11@yahoo.com<br />

2007-prezent <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-Napoca, Facultatea<br />

de Electronică, Telecomunicații și Tehnologia Informației, Studii<br />

doctorale în specializarea Inginerie electronică și telecomunicații<br />

2005-2006 <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-Napoca, Facultatea<br />

de Electronică, Telecomunicații și Tehnologia Informației, Studii<br />

aprofundate în specializarea Compatibilitate electromagnetică în<br />

sisteme și echipamente electronice<br />

2004-2005 <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-Napoca, Facultatea<br />

de Automatică și Calculatoare, Studii aprofundate în specializarea<br />

<strong>Tehnic</strong>i moderne în controlul automat<br />

1999-2004 <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-Napoca, Facultatea<br />

de Automatică și Calculatoare, Specializarea Automatică și<br />

informatică industrială<br />

2000-2001 <strong>Universitatea</strong> <strong>Tehnic</strong>ă din Cluj-Napoca, Cisco<br />

Networking Academy, Specializarea Cisco Certified Network<br />

Assistant<br />

1995-1999 Liceul de Informatică Tiberiu Popoviciu din Cluj<br />

Napoca<br />

Senior Software Engineer / Team leader<br />

Perioada: 10/2007 – prezent<br />

Companie, locație: Endava, Cluj-Napoca și SUA<br />

Senior Software Engineer / Team leader<br />

Perioada: 09/2006 – 10/2007<br />

Companie: Navigon, Cluj-Napoca<br />

Software Engineer<br />

Perioda: 03/2005 – 09/2006<br />

Companie, locație: HANNA Instruments, Cluj-Npoca și SUA<br />

41


Limbi străine<br />

Software Engineer<br />

Perioada: 08/2004 – 03/2005<br />

Companie, locație: AROBS Transilvania Software, Cluj-Napoca<br />

Engleză – nivel avansat<br />

Franceză – nivel mediu<br />

42

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!