Sunteți pe pagina 1din 70

UNIVERSITATEA “TRANSILVANIA” DIN BRAŞOV

FACULTATEA DE INGINERIE ELECTRICĂ ŞI ŞTIINŢA CALCULATOARELOR

ing. DANIEL MIC

CONTRIBUŢII LA DEZVOLTAREA UNUI MEDIU INTEGRAT


HARDWARE-SOFTWARE PENTRU CONTROLUL MOTOARELOR ELECTRICE
CU CIRCUITE LOGICE PROGRAMABILE

REZUMATUL TEZEI DE DOCTORAT

CONTRIBUTIONS TO THE DEVELOPMENT OF A


HARDWARE-SOFTWARE INTEGRATED ENVIRONMENT FOR ELECTRIC
MOTORS CONTROL WITH PROGRAMMABLE LOGIC CIRCUITS

CONDUCĂTOR ŞTIINŢIFIC:
Prof. dr. ing. EMIL MICU

2007
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

CUPRINS

LISTĂ ABREVIERI......................................................................................................4
INTRODUCERE...........................................................................................................5

1 ACŢIONĂRI CU MOTOARE ELECTRICE. STADIUL ACTUAL AL CONTROLULUI


CU CIRCUITE DIGITALE........................................................................................... 7

1.1 ACŢIONĂRI CU MOTOARE ELECTRICE. .......................................................... 7

MOTORUL DE CURENT CONTINU FĂRĂ PERII .......................................................... 7


1.1.1 Introducere ............................................................................................................. 7
1.1.2 Motorul de curent continuu cu perii....................................................................... 7
1.1.3 Motorul de curent continuu cu magneţi permanenţi fără perii............................... 7
1.1.4 Clasificarea, structura şi aplicaţii ale motoarelor de curent continuu fără perii..... 8
1.1.5 Construcţia şi principiul de funcţionare al motorului BLDC................................ 8
1.1.6 Aplicaţii ale motoarelor de curent continuu fără perii ........................................... 9
1.1.7 Structura unui sistem de acţionare cu motor BLDC .............................................. 9

1.2 STADIUL ACTUAL AL CONTROLULUI MAŞINILOR ELECTRICE CU


CIRCUITE DIGITALE......................................................................................................... 10
1.2.1 Circuitele digitale folosite în controlul maşinilor electrice (BLDC).................... 10
1.2.2 Comparaţie între diferitele tipuri de circuite digitale folosite în controlul
acţionărilor electrice............................................................................................................. 10
1.2.3 Comparaţie performanţe circuite FPGA - DSP.................................................... 11
1.2.4 Controler implementat în circuit FPGA pentru acţionări cu servomotoare ......... 11
1.2.5 Controlul software şi hardware a motoarelor de curent continuu şi alternativ ... 12

2 MODELE MATEMATICE ALE MAŞINILOR ELECTRICE ................................... 13

2.1 Modele matematice ale motoarelor de curent continuu fără perii ........................ 13
2.1.1 Modelul în coordonatele fazelor cu parametrii concentraţi pentru servomotorul de
curent continuu fără perii ..................................................................................................... 13
2.1.2 Funcţiile de transfer ale servomotoarelor de curent continuu cu sau fără perii
bazate pe constantele de timp ale acestora ........................................................................... 14

2.2 Modelarea maşinilor electrice în Matlab/Simulink................................................. 16


2.2.1 Implementarea în Simulink a modelului de reprezentare a servomotorul de
curent continuu fără perii în coordonatele fazelor cu parametri concentraţi........................ 16
2.2.2 Implementarea în Simulink a modelul motorului BLDC bazat pe funcţia sa de
transfer 16

3 CONTROLERE PID. FILTRE IIR......................................................................... 18

3.1 Controlere PID ........................................................................................................... 18


3.1.1 Prezentare generală .............................................................................................. 18
3.1.2 Filtrarea zgomotului ............................................................................................. 19
3.1.3 Ponderarea referinţei ............................................................................................ 19
3.1.4 Fenomenul de saturare ......................................................................................... 19

1
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

3.1.5 Metode propuse pentru acordarea controlerelor PID ......................................... 20


3.1.6 Acordarea controlerelor PI folosind metoda alocării polilor .............................. 20
3.1.7 Modalitatea de implementare digitală a controlerului PID .................................. 22
3.1.8 Specificaţii de proiectare ale controlerelor PID ................................................... 22

3.2 Controlere PID implementate ca şi filtre IIR .......................................................... 22

3.3 Implementare Matlab/Simulink controlere PID şi filtre IIR ................................. 23

4 PLATFORMA HARDWARE PROPUSĂ PENTRU CONTROLUL MOTORULUI


BLDC CU CIRCUITE FPGA..................................................................................... 24

4.1 Structura platformei de comandă şi control............................................................ 24

4.2 Modulul de control cu circuit FPGA ........................................................................ 25

4.3 Descriere arhitectură circuite FPGA........................................................................ 25


4.3.1 Familia de circuite FPGA Spartan-3 .................................................................... 25
4.3.2 Analiza comparativă performanţe/preţ circuite FPGA......................................... 25

4.4 Modulul de comandă cu tranzistoare MOSFET ..................................................... 26

4.5 Motorul BLDC şi traductoarele de poziţie .............................................................. 26

4.6 Standul experimental pentru controlul motorului BLDC cu circuite FPGA ....... 27

5 METODA DE IMPLEMENTARE ŞI TESTARE HARDWARE-SOFTWARE ŞI


MEDIILE SOFTWARE UTILIZATE LA IMPLEMENTAREA HARDWARE A UNUI
SISTEM DE CONTROL PENTRU MOTORUL BLDC .............................................. 28

5.1 Controlul hardware digital în domeniul servomotoarelor electrice...................... 28


5.1.1 Resurse software şi hardware implicate în proiectarea şi implementarea
controlului hardware digital pentru motorul BLDC............................................................. 28
5.1.2 Metoda clasică de implementare a sistemelor de control în FPGA .................... 30

5.2 Metoda hardware-software propusă pentru testarea/implementarea controlului


hardware digital ..................................................................................................................... 30

5.3 Metode de simulare şi testare în timp real a sistemelor de control ....................... 33


5.3.1 Metoda de Co-simulare HDL............................................................................... 33
5.3.2 Metoda de Co-simulare în timp real cu hardware în buclă .................................. 33

6 IMPLEMENTAREA ÎN CIRCUITUL FPGA A BLOCURILOR BUCLEI DE


CONTROL HARDWARE DIGITAL .......................................................................... 34

6.1 Structura şi funcţionarea sistemului de control implementat în FPGA .............. 34


6.1.1 Descrierea structurii sistemului de control........................................................... 34
6.1.2 Descrierea funcţionării sistemului de control....................................................... 34

6.2 Proiectarea blocului de interfaţă dintre sistemul de control implementat în FPGA


şi resursele hardware de pe placa Spartan3 ........................................................................ 35

2
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

6.2.1 Bloc de introducere parametrii de control............................................................ 35


6.2.2 Monitorizarea sistemului controlat....................................................................... 36

6.3 Proiectarea şi implementarea modulului de generare semnal PWM................... 36


6.3.1 Tipuri de semnale PWM ...................................................................................... 37
6.3.2 Strategii de generare a semnalului PWM ............................................................. 37
6.3.3 Implementarea generatorului de semnal PWM în circuitul FPGA ...................... 37
6.3.4 Rezultatele co-simulării cu hardware în buclă şi ale implementării în FPGA ..... 38
6.3.5 Rezultate experimentale ....................................................................................... 38

6.4 Blocul de comutaţie .................................................................................................... 38


6.4.1 Comutaţia curentului prin cele trei faze statorice ale motorului BLDC ............. 38
6.4.2 Implementarea blocului de comutaţie folosind diagrame de stare....................... 40
6.4.3 Rezultate experimentale ....................................................................................... 41

6.5 Implementarea într-un circuit FPGA a unui tahometru digital cu precizie


ridicată şi funcţionare într-un domeniu larg de viteze ....................................................... 41
6.5.2 Proiectarea tahometrului digital folosind metoda contorizării pe o perioadă de
timp constantă a impulsurilor provenind de la codificatorul optic....................................... 45

6.6 Proiectarea şi implementarea în hardware a controlerului de tip PID................. 46


6.6.2 Implementarea în hardware a controlerului PID ca şi filtru IIR .......................... 47

6.7 Închiderea buclei de control pentru motorul BLDC............................................... 48


6.7.1 Modelarea şi simularea sistemului cu software în buclă...................................... 49
6.7.2 Rezultatele implementării în FPGA a întregii bucle de control şi testarea cu
hardware în buclă ................................................................................................................. 49
6.7.3 Testarea întregii bucle de control, rezultate experimentale.................................. 49

7 DEZVOLTAREA UNEI BIBLIOTECI SIMULINK CU COMPONENTE


PARAMETRIZABILE IMPLEMETABILE ÎN FPGA.................................................. 52

7.1 Modalitatea de dezvoltare şi integrare în Simulink a bibliotecii cu componente de


control...................................................................................................................................... 52
7.1.1 Integrarea în Simulink şi structura bibliotecii cu componente de control............ 52
7.1.2 Descrierea componentelor din biblioteca de control............................................ 53

7.2 Dezvoltarea unei interfeţe grafice pentru controlul în timp real al motoarelor
BLDC 55

8 CONCLUZII ŞI CONTRIBUŢII.............................................................................. 56

8.1 CONCLUZII STRUCTURATE PE CAPITOLE.................................................... 56

8.2 CONTRIBUŢII ORIGINALE ALE AUTORULUI................................................ 61

8.3 CONCLUZII FINALE............................................................................................... 63

9 BIBLIOGRAFIE SELECTIVĂ.............................................................................. 64

3
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

LISTĂ DE ABREVIERI

2DOF - 2 Degrees Of Freedom - două grade de libertate;


ASIC - Application Specific Integrated Circuit – circuite integrate specifice aplicaţiei;
BLDC - BrushLess Direct Current - servomotoare fără perii de curent continuu;
CET - Count Elapse Time – contorizarea intervalului de timp ;
CLB - Configurable Logic Block – blocuri logice configurabile;
DSP - Digital Signal Processor – procesoare digitale de semnal;
FPGA - Field Programmable Gate Array – arii logice programabile;
FSM - Finite State Machine – automat de stări;
GPP - General Purpose Processor – procesoare de uz general;
HIL - Hardware In the Loop – hardware în buclă;
IIR - Infinite Impulse Response Filter – filtru cu răspuns infinit la semnal treaptă;
IOB - Input Output Blocks – blocuri de intrare/ieşire;
MAC - Multiply and Accumulate - multiplicare şi acumulare;
MCU - Microcontroler Unit – microcontroler;
MIPS - Million Instruction Per Second - milioane de instrucţiuni per secundă;
MMACS - Million Multiplies and Accumulates per Second - milioane de multiplicări şi
acumulări per secundă;
PIC - Power IC – Circuit integrat de putere;
PID - Proportional Integrative and Derivative – controler proporţional-integral-
derivativ;
PLD - Programmable Logic Devices –dispozitive/circuite logice programabile;
PMSM - Permanent Magnet Synchronous Motor - servomotoare fără perii de tip sincron;
PWMMC - Pulse Width Modulator Motor Control – unitate PWM pentru controlul
motoarelor;
RISC - Reduced Instruction Set Computer – calculator cu set redus de instrucţiuni;
VHDL - VHSIC Hardware Description Language – limbaj de descriere hardware
VHSIC.

4
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

INTRODUCERE

Potrivit unui articol publicat în revista Embedded Magazine, Embedded Solutions for
Programmable Logic Design, ediţia septembrie 2005, revistă promovată de firma Xilinx, lider
mondial în domeniul circuitelor logice programabile, numai într-o locuinţă modernă pot să
existe peste 334 de motoare electrice. Acestea sunt prezente peste tot acolo unde există părţi
în mişcare, de la echipamente electrocasnice până la echipamente de calcul şi echipamente
audio-video. Odată cu achiziţionarea unui echipament din categoriile mai sus amintite,
numărul acestor motoare creşte. Numai în cazul achiziţionării unui echipament de calcul,
numărul motoarelor conţinute de acesta este impresionant, 3 sau 4 motoare pentru
ventilatoare, 4 pentru unitatea DVD, 2 pentru hardisk şi multe altele pentru orice periferic
adăugat: imprimante, scaner, joystick etc. Datorită formei compacte, raportului
cuplu/dimensiune bun şi acurateţii controlului, mare parte dintre aceste motoare sunt de
curent continuu fără perii.
Sistemele care implementează algoritmi de control devin din ce în ce mai complexe,
beneficiază de un consum redus de energie şi au o flexibilitate sporită care permite extinderea
funcţionalităţii în mod continuu şi creşterea acurateţi controlului. Circuitele logice
programabile vin în întâmpinarea acestor cerinţe, permiţând integrarea pe un singur chip atât a
algoritmilor de control cât şi a celorlalte funcţii periferice şi aceasta la viteze ridicate datorită
executării în hardware a tuturor operaţiilor. Un alt avantaj adus de circuitele logice
programabile fiind şi timpul scurt de dezvoltarea şi lansare pe piaţă a aplicaţiei de control.
Obiectivul acestei teze constă în realizarea unui sistem complet şi funcţional din punct de
vedere hardware şi software pentru controlul motoarelor de curent continuu cu şi fără perii,
utilizând circuite logice programabile. Acest sistem trebuie să funcţioneze independent sau să
permită comunicarea bidirecţională şi în timp real cu un mediu software (ex. Simulink). De
asemenea autorul şi-a propus şi crearea unei biblioteci integrabile în Simulink, cu componente
parametrizabile care să permită simularea, implementarea şi testarea în hardware a buclei de
control pentru motoarele de curent continuu, toate acestea procese trebuind să se desfăşoare
cât mai simplu şi într-un timp cât mai scurt. Teza îşi propune de asemenea să ofere soluţii
practice pentru fiecare etapă de proiectare plecând de la motor, trecând prin modulul de
control cu circuite logice programabile şi ajungând la o interfaţa grafică care să permită
introducerea parametrilor de control. Pe scurt autorul îşi propune dezvoltarea unei platforme
hardware/software complete pentru implementarea controlului maşinilor electrice cu circuite
logice programabile. Teza este structurată pe 7 capitole.
Capitolul 1 prezintă informaţii despre motoarele electrice, punând accent pe motoarele
de curent continuu, în special pe cele fără perii. În cea de a doua parte sunt identificate
soluţiile existente pe piaţă pentru implementarea controlului şi sunt stabilite criterii de
selecţie. Un accent deosebit se pune pe soluţiile cu circuite digitale configurabile.
Capitolul 2 abordează problema modelelor matematice pentru motoarele de curent
continuu şi în special pentru cele fără perii. Se va pune accent pe modelele în coordonatele
fazelor cu parametrii concentraţi şi pe modelul bazat pe funcţia de transfer, determinată pe
baza constantelor de timp ale motorului. Modele determinate vor fi implementate şi simulate
în Simulink.
Capitolul 3 prezintă arhitectura generală, specificaţiile de proiectare, metodele de
acordare şi modalităţi de implementare digitală a controlerelor de tip proporţional-integral-
derivativ. Vor fi prezentate succint şi filtrele digitale în special cele cu răspuns de durată
infinită. În final se va propune o modalitate de proiectare a controlerelor plecând de la
arhitectura unui filtru.

5
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 4 abordează structura hardware folosită pentru controlul motoarelor


electrice, prezentând modulele de comandă şi control ce vor fi folosite. Se pune accent pe
arhitectura circuitelor logice programabile şi se face şi o prezentare a motorului comandat,
împreună cu senzorii montaţi pe arborele acestuia. În final va fi prezentată modalitatea de
interconectare a modulelor de control şi de comandă la ansamblul format de motor şi senzori.
Capitolul 5 are ca obiectiv elaborarea unei metode rapide de implementare facilă în
hardware a algoritmilor de control şi a interfeţelor conexe acestora. Metoda trebuie să
permită proiectanţilor sistemului de control să se concentreze asupra specificaţiilor de nivel
înalt şi să permită obţinerea unui rezultat rapid în ceea ce priveşte performanţele algoritmului
de control ales şi costurile generate de implementarea acestuia în hardware. În acest capitol
mai este prezentat şi pachetul de programe ce va fi utilizat. Se stabilesc şi metode optime de
simulare în timp real a sistemelor de control implementate cu circuite logice programabile.
Capitolul 6 prezintă arhitectura sistemului de control şi modul de funcţionare al
acestuia. În acest capitol se face proiectarea, simularea, implementarea şi testarea în hardware
a fiecărui bloc în parte şi în final a întregii bucle de control pentru motorul de curent continuu
fără perii.
Capitolul 7 prezintă în prima parte concepte ale proiectării bazate pe modele şi de
asemenea concepte şi recomandări privind implementarea algoritmilor de control utilizând
toolboxul System Generator. În cea de a doua parte se prezintă modalitate de dezvoltarea a
bibliotecii cu blocuri parametrizabile pentru controlul motoarelor folosind circuitele logice
programabile, componenţa bibliotecii şi modul de integrare a acesteia în Simulink. Din
bibliotecă fac parte toate componentele proiectate şi testate în capitolul 6.

Elaborarea acestei lucrări s-a făcut sub îndrumarea generoasă, competentă şi exigentă
a conducătorului ştiinţific prof.dr.ing. Emil Micu pentru care îmi exprim întreaga stimă şi
consideraţie şi de asemenea îi adresez cele mai respectuoase mulţumiri.

Autorul îşi exprimă întreaga stimă şi consideraţie pentru domnul dr.ing. Ştefan
Marinca, fost conferenţiar al Universităţii de Nord Baia Mare, actualmente senior designer la
Analog Devices, Limerick, Irlanda, care a avut un aport deosebit în formarea profesională a
acestuia.

Pentru sprijinul generos în diferite momente pe durata elaborării lucrării, autorul aduce
mulţumiri grupului de electronică, condus de conf.dr.ing Ştefan Oniga, din cadrul Catedrei
de Electrotehnică de la Universitatea de Nord Baia Mare.

Nu în ultimul rând mulţumesc părinţilor mei, soţiei mele Valeria şi fiicei mele Mara
care m-au sprijinit şi încurajat pe durata elaborării tezei şi pe care în ultima perioadă i-am
lipsit în mod sistematic de sprijinul meu.

6
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 1

1 ACŢIONĂRI CU MOTOARE ELECTRICE. STADIUL


ACTUAL AL CONTROLULUI CU CIRCUITE DIGITALE

Partea I

1.1 ACŢIONĂRI CU MOTOARE ELECTRICE.


MOTORUL DE CURENT CONTINU FĂRĂ PERII

1.1.1 Introducere

Avantajele unui sistem cu viteză reglabilă faţă de unul cu viteză fixă:


1. Economisirea energiei electrice;
2. Posibilitatea de a controla viteza şi poziţia elementului de execuţie;
3. Ameliorarea regimurilor tranzitorii (supratensiuni, supracurenţi, şocuri de
conectare).
Deoarece lucrarea se va axa pe comanda şi controlul motoarelor de curent continuu fără
perii, se analizează diferenţa faţă de la cele trei tipuri de motoare „clasice” cunoscute: motor
de curent continuu cu perii şi înfăşurări, motor de curent alternativ sincron şi asincron.
Termenul „clasic” asociat cu motoarele subliniază faptul că aceste motoare satisfac trei criterii
importante:
1. produc cuplu instantaneu constant (pulsaţii foarte reduse ale cuplului);
2. sunt alimentate direct de la o sursă de curent continuu sau alternativ;
3. pot să fie pornite şi pot funcţiona fără controlere electronice.
Motoarele clasice pot fi de asemenea cuplate cu controlere electronice pentru a obţine
acţionări cu viteză reglabilă.

1.1.2 Motorul de curent continuu cu perii


Este un motor stabil şi uşor de controlat, pentru aceasta necesitând puţine componente
semiconductoare. Se consideră că problemele de funcţionare ale acestui tip de motor provin
de la fiabilitatea redusă a periilor. Acestea sunt relativ fiabile, dar problemele acestui tip de
motor sunt legate de colector a cărui viteza de comutaţie este limitată, se uzează, induce
zgomot, interferenţe. De asemenea spaţiul ocupat de colector şi perii este mare, iar răcirea
rotorului care produce cuplul nu este uşoară.

1.1.3 Motorul de curent continuu cu magneţi permanenţi fără perii


În continuare vom folosii prescurtarea BLDC (brushless direct current) pentru a face
referire la acest tip de motoare. Cu cât motorul este mai mic cu atât este mai indicat să se
folosească magneţii permanenţi pentru excitaţie. În domeniul de puteri 1-10kW performanţele
acestui tip de motor sunt comparabile cu cele ale motorului asincron. Peste acest domeniu de
puteri costul magneţilor motorului BLDC devine ridicat astfel încât este eliminat din
competiţia cu motorul asincron. Sub domeniul enunţat anterior motorul BLDC are un
randament şi un factor de putere mai bun decât motorul asincron. În plus aşa numita
„înfăşurare de putere” este în stator , astfel că, căldura degajată poate fi mai uşor transferată

7
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

către exterior. De asemenea la acest tip de motor scad şi pierderile rotorice. Metodele de
control a motorului BLDC sunt mai puţin complexe decât la motorul asincron.
Întabelul T1.1 este prezentată o comparaţie între motoarele de curent continuu cu perii şi
cele fără perii.
Tabelul T.1.1 Comparaţie motoare c.c. şi motoare c.c. fără perii
Motoare de c.c. cu perii Motoare c.c. fără perii
Tipul comutatoarelor Mecanice Electrice (invertoare + senzori
de poziţie)
Dimensiuni Mari Reduse
Întreţinere Periodică Minimă
Domeniul de puterii Mari Mici
Viteza maximă Mică Mare
Controlul vitezei Simplu Complex
Densitate de putere Redusă Mare
Moment de inerţie Mare Mic
Disiparea căldurii Slabă Bună

1.1.4 Clasificarea, structura şi aplicaţii ale motoarelor de curent continuu fără perii

1.1.4.1 Clasificarea motoarelor de curent continuu cu magneţi permanenţi fără perii


Motoarele de curent continuu cu magneţi permanenţi fără perii se împart în două categorii:
1. Motoare sincrone cu înfăşurări cu repartiţie sinusoidală (PMSM – permanent magnent
synchronous motor ) mai sunt denumite şi servomotoare fără perii de tip sincron;
2. Motoare de curent continuu fără perii cu înfăşurări concentrate (BLDC - brushless
direct current) mai sunt denumite şi servomotoare fără perii de curent continuu. [60]
În continuare vor fi folosite prescurtările consacrate pe plan internaţional PMSM pentru
primul tip respectiv BLDC pentru cel de al doilea tip de motor.
Parametrii care diferenţiază cele două tipuri de motoare sunt enumeraţi în tabelul
T.1.2.
Tabelul T.1.2 Comparaţie PSM şi BLDC
PMSM BLDC
Densitatea fluxului Distribuţie sinusoidală Distribuţie dreptunghiulară
Tensiunea electromotoare Forma de undă sinusoidală Forma de undă dreptunghiulară
Curentul din stator Forma de undă sinusoidală Forma de undă dreptunghiulară
Puterea totală Constantă Constantă
Cuplul electromegnetic Constant Constant

1.1.5 Construcţia şi principiul de funcţionare al motorului BLDC


Rotorul motorului BLDC este magnet permanent şi poate avea între 2 şi 8 poli, poate fi
construit din ferite sau aliaje magnetice din pământuri rare, cele din urmă având o densitate de
flux mai bună. În figura 1.1 sunt prezentate câteva dintre formele constructive ale rotorului.
Statorul unui motor BLDC este prezentat în figura 1.2. Acesta este asemănător cu cel al
motoarelor asincrone, însă modul de distribuire a înfăşurărilor este diferit.

8
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Rotor cu magneţi periferici Rotor cu magneţi încapsulaţi Rotor cu magneţi îngropaţi


Figura 1.1 Rotorul motorului BLDC

Modalitatea cea mai simplă de a cunoaşte poziţia rotorului la un moment dat este
folosirea senzorilor de poziţie HALL. Aceştia se montează pe unul dintre capetele arborelui
motorului, vezi figura 1.3. Pe acelaşi capăt mai poate fi montat şi un codificator optic de
poziţie pentru determinarea poziţiei exacte a rotorului, cât şi pentru, determinarea cu precizie
mare a vitezei rotorului. Detaliile privind modul de realizare a comutaţiei folosind senzorii
HALL şi determinarea vitezei pe baza informaţiei de poziţie, vor fi precizate în capitolele
următoare. [73, 74].

Figura 1.2 Statorul uni motor de tip BLDC Figura 1.3 Secţiune longitudinală prin motor BLDC

1.1.6 Aplicaţii ale motoarelor de curent continuu fără perii

Aplicaţiile în care sunt folosite motoare de curent continuu pot fi împărţite în câteva clase:
servosisteme, acţionări cu viteză constantă, sisteme de centrifugare şi ventilatoare, pompe,
procese industriale, tracţiuni electrice, şi mai recent periferice de calculatoare şi aparatură
medicală.

1.1.7 Structura unui sistem de acţionare cu motor BLDC

În figura 1.4 este


prezentată diagrama bloc a
unui sistem de control şi
comandă pentru un motor de
curent continuu cu trei faze
conectate în stea. În această
diagramă blocurile
componente sunt notate de la
A la D. În practică, datorită
noilor concepte de proiectare
linia de demarcaţie dintre
anumite blocuri poate
dispărea, funcţiile unui grup
de circuite putându-se regăsi
în celălalt grup.
Figura 1.4 Elementele unui sistem de acţionare pentru un motor de curent
continuu fără perii

9
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Partea a II

1.2 STADIUL ACTUAL AL CONTROLULUI MAŞINILOR


ELECTRICE CU CIRCUITE DIGITALE

1.2.1 Circuitele digitale folosite în controlul maşinilor electrice (BLDC)

Sistemele de control digitale elimină abaterile cauzate de variaţiile de temperatură, iar


îmbunătăţirea caracteristicilor sistemului (upgrade) se poate realiza foarte uşor prin
modificarea softului procesorului programabil conţinut de sistem.
Unul dintre obiectivele acestei teze constă în implementarea controlului motoarelor BLDC
cu circuite logice programabile (FPGA). În continuare se va face o analiza a soluţiilor, de
control digital, existente la ora actuală pe piaţă şi se va pune în mod deosebit accentul pe
soluţiile de control care folosesc circuite FPGA, prezentându-se astfel stadiul actual în acest
domeniu şi interesul crescut pentru acest tip de control.

1.2.2 Comparaţie între diferitele tipuri de circuite digitale folosite în controlul


acţionărilor electrice

În acţionările moderne, atât partea de control cât şi logica de comutaţie (vezi figura 1.4)
sunt implementate cu procesoare digitale de semnal (DSP). Însă acestea au competitori
tradiţionali sau mai noi, dintre care amintim:
- Microcontrolere (MCU);
- Microprocesoare de uz general / microprocesoare cu set redus de instrucţiuni
(GPP/RISC);
- Arii de porţi logice programabile (FPGA);
- Circuite integrate dedicate (ASIC).

Se vor stabilii câteva criterii de


comparaţie a performanţelor circuitelor
digitale folosite în controlul acţionărilor
electrice şi ponderea fiecărui criteriu:
- timp de lansare pe piaţă - primă importanţă
- performanţa - primă importanţă
- preţ - primă importanţă
- facilităţi de dezvoltare - primă importanţă
- consum de putere - importanţă medie
- flexibilitate ulterioară - importanţă redusă.
În figura 1.5 este prezentată o
comparaţiei între principalele arhitecturi
care permit implementarea algoritmilor de
Figura 1.5 Comparaţie între tipuri de circuite digitale în control, în funcţie de două dintre criteriile
funcţie de două dintre criteriile de performanţă
de performanţă enunţate anterior.

În tabelul T.1.3 este prezentată o comparaţie între cele cinci arhitecturi de circuite
digitale care pot fi folosite în parte de control a unei acţionări electrice.

10
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Tabel T.1.3 Comparaţie între diferite tipuri de arhitecturi folosite pentru aplicaţiile în timp real
Uşurinţă
Implementa- Consum de Flexibilitate
Performanţa Preţ în Concluzii
re pe piaţă putere ulterioară
dezvoltare
Nesatisfăcător
ASIC Foarte Bun Foarte Bun Satisfăcător Bun Nesatisfăcător Satisfăcător
Foarte Bun
DSP Bun Bun Foarte Bun Foarte Bun Foarte Bun Foarte Bun
Bun
FPGA Foarte Bun Bunr Foarte Bun Satisfăcător Bun Bun
Foarte Bun
MCU Satisfăcător Foarte Bun Bun Satisfăcător Foarte Bun Bun
RISC/
Bun Bun Satisfăcător Bun Satisfăcător Foarte Bun Bun
GPP

1.2.3 Comparaţie performanţe circuite FPGA - DSP


În continuare, se va restrânge selecţia, astfel că dintre „competitorii” prezentaţi
anterior, se vor lua în discuţie circuitele DSP şi FPGA. După cum se va putea vedea în
capitolele următoare indiferent de arhitectura aleasă pentru implementarea digitală a unui
algoritm de control de tip PID sunt necesare operaţii de multiplicare – acumulare (MAC).
Astfel că performanţele implementării pe un procesor a unui algoritm de control pot fi
analizate nu numai prin prisma frecvenţei de lucru a acestuia ci mai ales prin prisma
numărului de operaţii de multiplicare-acumulare raportate la un interval de timp stabilit.
Circuitul DSP TMS320C64 poate efectua 8x8 MAC-uri la un momnet şi are frecvenţa
de 720MHz, astfel se obţine:
8 x 720 MHz = 5,76 miliarde MAC/s
Circuitul FPGA XC2V8000 are 46.592 celule logice elementare (slice-uri), care
permit efectuarea a aproximativ 461 miliarde MAC/s şi de asemenea 168 multiplicatoare
dedicate care lucrează la frecvenţa de ~ 180 MHz (pentru 8x8) astfel se obţine:
168 x 180 MHz = 30 miliarde MAC/s,
deci un total general de 461 + 30 = 491 miliarde MAC/s, spre deosebire de cele numai 5,7
miliarde MAC/s ale procesorului DSP, TMS320C64x . În cazul unui circuit FPGA cu cost
redus din familia Spartan 3, urmând acelaşi model de calcul se obţin aproximativ 270 miiarde
MAC/s, diferenţa net în favoarea celui din urmă faţă de DSP.
În acest capitol autorul a studiat şi prezentat succint soluţiile cele mai relevante în ceea
ce priveşte controlul maşinilor electrice cu DSP-uri, microcontrolere, circuite ASIC şi in
extenso soluţiile cu circuite FPGA, prezentând un rezumat a peste 20 de referinţe. Acest
studiu servind ca argument şi motivaţie la continuarea cercetării în domeniul controlului
motoarelor electrice cu circuite logice programabile.
Autorul a identificat două modalităţi de abordarea controlului motoarelor electrice cu
circuite FPGA, una pur hardware, iar cealaltă care îmbină hardware-ul cu software-ul
beneficiind de flexibilitate şi uşurinţă de dezvoltare mai mare. Două exemple elocvente vor fi
prezentate în continuare.

1.2.4 Controler implementat în circuit FPGA pentru acţionări cu servomotoare

Firma International Rectifier propune o nouă metodă de control hardware, platforma


numită Accelerator, bazată pe circuite FPGA. Flexibilitatea în control pe care o realizează
acest sistem este dată de un circuit FPGA. Toţi algoritmii de control sunt implementaţi în
circuitul FPGA inclusiv logica necesară protocolului de comunicare
Circuitul FPGA poate fi interfaţat direct cu circuitele de putere care asigură comanda
motorului electric.În funcţie de codul obiect preîncărcat în FPGA platforma Accelerator poate

11
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

funcţiona ca: servosistem bazat pe codificator de poziţie; servosistem bazat pe rezolver;


servosistem bazat pe algoritm de control fără senzori [].

1.2.5 Controlul software şi hardware a motoarelor de curent continuu şi alternativ

În sistemele de control tradiţionale rolul circuitului FPGA era limitat în general la


generarea semnalelor PWM şi implementarea logicii necesare de pe partea de feedback a
sistemului (interfaţa cu codificatorul). Funcţiile mai importante cum ar fi implementare
controler PID şi comunicare cu alte module erau preluate de un microcontroler sau de un
procesor de semnal, vezi figura 1.6. Dezavantajul acestui tip de arhitectură constă în faptul că
bucla de control traversează de două ori magistrala ce leagă cele două circuite. În această
situaţie pot apărea congestii iar performanţele devin greu de evaluat.
Firma Xilinx a dezvoltat o metodă de control a motoarelor BLDC şi a celor asincrone,
aşa numita metodă software-hardware. Această metodă a fost implementată pe circuitele
FPGA din familiile Spartan3 şi Virtex4. discrete. Noua soluţie propusă de Xilinx înglobează
toate componentele buclei de control pe un singur circuit FPGA, vezi figura 1.7. Partea
software, de interfaţare, supervizare şi comunicare în reţea cu alte dispozitive este
implementată pe un core de microprocesor pe 32 biţi, numit MicroBlaze. Partea hardware
include implementarea controlerului PID, a generatorului de semnal PWM şi a logicii de
interfaţare cu semnalele de feedback şi de control. Implementarea hardware a acestor
componente permite o executare simultană a tuturor procedurilor de control (executare
concurenţială), de asemenea performanţele sistemului de control devenind deterministice. Din
figura 1.7 se poate observa cum cele două module, core-ul de microprocesor şi modulele
implemetate hardware comunică între ele prin intermediul unei magistrale. Dat fiind faptul că
şi partea de implementare software cât şi cea hardware se află în interiorul aceluiaşi circuit
limitările produse de congestia traficului dintre acestea sunt eliminate [].

Figura 1.6 Utilizarea tradiţională a circuitului FPGA în Figura 1.7 Metoda software-hardware de înglobare a
sistemele de control întregii bucle de control într-un circuit FPGA

Plecând de la ideea de a integra tot sistemul de control pe un singur circuit FPGA,


autorul propune în această teză o a treia abordare care să beneficieze de performanţele celei
dintâi şi de flexibilitatea celei de a doua metode de proiectare a unui sistem de control cu
circuite FPGA . Astfel că se va realiza o bibliotecă în Matlab/Simulink cu toate blocurile
necesare sistemului de control, iar prin procedeul drag and drop se va închide bucla de
control. Tot sistemul va fi pur hardware nefiind necesare şi alte programe pentru dezvoltarea
buclei de control. Etapa de simulare/testare, se va realiza software tot din Matlab/Simulink.

12
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 2

2 MODELE MATEMATICE ALE MAŞINILOR ELECTRICE

În acest capitol sunt prezentate ecuaţiile generale ale servomotoarelor de curent


continuu şi modele matematice ale acestora, modele care în partea a doua a acestui capitol,
vor fi implementate şi simulate cu programul Matlab/Simulink.

Setul de ecuaţii ce descrie relaţia dintre mărimile electrice caracteristice maşinii,


cuplul electromagnetic dezvoltat şi legătura cu mărimile mecanice constituie modelul
matematic al maşinii electrice. Dacă se porneşte de la cunoaşterea câmpului electromagnetic
din maşină atunci se obţine modelul matematic cu parametrii distribuiţi. Determinarea
câmpului electromagnetic din maşină necesită un efort de calcul foarte mare şi din această
cauză, în cele mai multe situaţii, se utilizează modelul matematic cu parametrii concentraţi.
In acest din urmă caz în ecuaţii apar ca parametri, constanţi sau variabili, rezistenţe şi
inductivităţi, [57]. Modelele cu parametri concentraţi se împart în două categorii de bază:
modele în coordonatele fazelor şi modele utilizând axe ortogonale. În cazul servomotoarelor
de curent continuu cu înfăşurări concentrate (BLDC) modelul care descrie cel mai bine
comportarea acestui motor este modelul în coordonatele fazelor.

2.1 Modele matematice ale motoarelor de curent continuu fără perii

2.1.1 Modelul în coordonatele fazelor cu parametrii concentraţi pentru servomotorul


de curent continuu fără perii

Conform referinţei [95] în cazul motorului BLDC, datorită faptului că tensiunea


electromotoare nu este sinusoidală, inductivităţile nu vor varia sinusoidal în coordonate a,b,c
şi nu este deloc avantajos transformarea în coordonate d,q deoarece inductivităţile nu vor fi
constante după transformare. Astfel că pentru descrierea modelului matematic al maşinii
BLDC este recomandată folosirea coordonatelor a,b,c.
În continuare este prezentat sistemul de ecuaţii care descrie motorul de curent continuu
fără perii (BLDC). Modelul este bazat pe reprezentarea fiecărei faze a motorului printr-o
rezistenţă, inductivitate şi o tensiune electromotoare[60] (figura 2.1).
di di 1 di 1 di
u A = Ri A + Lσ A + Lm A − Lm B − Lm C − e A
dt dt 2 dt 2 dt
(2.1)
di di 1 di 1 di
u B = Ri B + Lσ B + Lm B − Lm A − Lm C − e B
dt dt 2 dt 2 dt
(2.2)
di di 1 di 1 di
u C = RiC + Lσ C + Lm C − Lm A − Lm B − eC
dt dt 2 dt 2 dt
(2.3)
k
m = m ( B A i A + BB i B + BC iC ) = m A + m B + mC - ecuaţia de cuplu

(2.4)

13
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

dΩ
J = m − mr - ecuaţia de echilibru dinamic (2.5)
dt

U- tensiunea sursei de alimentare;


uA, uB, uC -sunt tensiunile pe fiecare din cele trei
faze statorice;
iA, iB, iC -sunt curenţii pe fiecare din cele trei faze
statorice;
eA ,eB, eC -sunt tensiunile electromotoare
corespunzătore celor trei faze statorice;
R - rezistenţa unei faze; Figura 2.1. Circuitul echivalent al motorului
Lσ - inductivitatea de scăpări a unei faze; BLDC şi al comenzii acestuia
Lm - inductivitatea corespunzătoare fluxului util al k dθ
di A 1
unei faze; = (− Ri A + u A − M )
L=Lσ+3Lm/2 - inductivitatea totală; dt L 2 dt
Ω - viteza unghiulară; di B 1 k dθ
= (− Ri B + u B − M )
θ - poziţia rotorului; dt L 2 dt
J - momentul de inerţie al maşinii; (2.6)
diC 1 k M dθ
m - cuplul electromagnetic; = (− RiC + u C − )
mr - cuplul rezistent la arbore; dt L 2 dt
b - constanta de amortizare; d 2θ 1 dθ
km - constanta motorului. 2
= (k m i A, B ,C − b )
dt J dt
m = 2 Pk m B A i A = k M i A
Aplicând transformata Laplace relaţiilor 2.6 acestea vor putea fi foarte uşor de
transpus în Simulink sub formă de diagrame.

2.1.2 Funcţiile de transfer ale servomotoarelor de curent continuu cu sau fără perii
bazate pe constantele de timp ale acestora
La analiza acţionărilor cu servomotoare, în ecuaţiile care modelează funcţionarea
servomotoarelor sunt prezente două constante de timp, una mecanică şi cealaltă electrică.
Analiza ecuaţiilor motorului de curent continuu fără perii (BLDC) va pleca de la analiza
ecuaţiilor motorului de curent continuu.
Ecuaţiile în regim staţionar pentru motorul de unde:
curent continuu: U = tensiunea la borne (V);
U = iaRa + KeΩ (2.7) ia = curentul în înfăşurarea statorică (A);
T = iaKT = J α (2.8) JT = momentul de inerţie total al motorului
2
Pentru cazul general ecuaţiile diferenţiale plus sarcina (kg*m );
sunt: Ke = constantă de tensiune (v/rad/sec);
dia KT = constanta de cuplu (N*m/A);
U = iaRa + La + KeΩ (2.10) La = inducţia înfăşurări statorice (H);
dt
Aplicând Laplace şi prin rearanjare se obţine: Ra = rezistenţa înfăşurări statorice (ohm);
(U − KeΩ)KT TL = cuplul (N*m);
=Ω (2.11)
La Ω = viteza rotorului (rad/sec);
( S + 1)RaJTS α = acceleraţia (rad/sec2).
Ra

Ecuaţie (2.12) poate fi reprezentată ca şi diagramă bloc de forma celei din figura 2.2, [35].

14
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Pentru diagrama bloc din figura


2.2 ecuaţia în buclă închisă este:
C G
( = ) (2.12 )
R 1 + GH
Prin rearanjare se obţine (2.13):
Figura 2.2 Ecuaţia (2.11) reprezentată sub formă de diagramă bloc
1
tm =
∑R J a T
U Ke KeKT
= (2.13)
Ω ⎛ RaJT ⎞⎛ La ⎞ 2 ⎛ RaJT ⎞ La
⎜ ⎟⎜ ⎟S + ⎜ ⎟S + 1 te = (2.14)
⎝ KeKT ⎠⎝ Ra ⎠ ⎝ KeKT ⎠ ∑ Ra
Inerţia totală a motorului (JT ) va fi suma inerţiilor motorului şi a sarcinii de la arbore.
Rezistenţa (Ra) reprezintă suma dintre rezistenţa înfăşurări statorice şi rezistenţa circuitului
extern. Astfel că, constantantele de timp mecanică şi electrica motorului pot fi scrise ca
relaţiile (2.14). Ecuaţia în buclă închisă a motorului poate fi exprimată în relaţia (2.15). Se pot
obţine pulsaţia naturală ω – ca şi mărime ce determină frecvenţa oscilaţiilor ce apar, relaţia
(2.16) şi factorul de amortizare, reţalia (2.17), în funcţie de valorile lui ξ distingându-se trei
regimuri de funcţionare.
Impunerea performanţelor unui sistem de ordinul 2 înseamnă impunerea unei perechi
de valori (ξ,ω), care, de fapt reprezintă impunerea polilor funcţiei din relaţia (2.15).

1 ω m = 1 / t mte (2.16)
U Ke
= (2.15)
Ω tmteS + tmS + 1
2

ξ=0 Æ regim pur oscilant;


ξ =0.5 tm ω m = 0.5 t m / te (2.17) 0<ξ<1 Æ regim oscilant amortizat;
ξ>1 Æ regim aperiodic.

În cazul motorului de curent continuu fără perii (BLDC), ecuaţiile care definesc
constantele de timp electrică şi mecanică, au aproximativ aceeaşi formă, cu mici modificări
faţă de cele ale motorului de curent continuu. Pentru un motor BLDC cu statorul conectat în
stea, circuitul electric echivalent va fi cel din figura 2.3.

RL − L
∑ 2
JTOTAL R Jtotal
tm = =0.86 l −l
Ke(L − L) K e ( l −l ) K T
KT
1.73
(2.18)
Inductiv. totala LL − L
te = = (2.19)
Figura 2.3 Circuitul electric echivalent al motorului BLDC Rezist. totala ∑ Rm(L − L)
1
U
= Ke (2.20)
Ω tmS + 1
Majoritatea producătorilor dau parametrii electrici ai motorului în valori de linie, astfel
aceste valori trebuie convertite în valori de fază, constanta de timp mecanică poate fi calculată
cu relaţia (2.18) iar, constanta de timp electrică va fi calculată cu relaţia (2.19).

15
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Valoarea constantei de timp electrice este mult mai mică decât cea a constantei de
timp mecanice, te << tm, astfel că produsul tetm se poate neglija, iar funcţia de transfer
tensiune – viteză, a sistemului se poate simplifica considerând-o cu o bună aproximaţie ca
fiind de ordinul I, de forma (2.20).

2.2 Modelarea maşinilor electrice în Matlab/Simulink

Analiza unui sistem de acţionare electrică este un proces dificil, deoarece acţionările electrice
sunt sisteme complexe. Un rol important înainte, de implementarea practică a unui astfel de
sistem, revine părţii de simulare, în acest scop fiind dezvoltate numeroase pachete de
programe pentru simularea acţionărilor electrice. Pentru a modela un sistem de acţionare
electrică a fost necesară dezvoltarea unor componente specifice, ce vor fi prezentate în cadrul
acestui capitol, şi care au la bază blocurile deja existente în mediul de simulare
Matlab/Simulink [59, 147].
Maşinile electrice au fost modelate pe baza ecuaţiilor funcţionale ale acestora şi a
funcţiilor lor de transfer. Pentru modelare s-a folosit implementarea modelului cu blocuri
Simulink. În această secţiune se vor prezenta modelele motorului de curent continuu bazat pe
reprezentarea servomotorul de curent continuu fără perii în coordonatele fazelor cu parametrii
concentraţi şi modelul bazat pe funcţia sa de transfer

2.2.1 Implementarea în Simulink a modelului de reprezentare a servomotorul de


curent continuu fără perii în coordonatele fazelor cu parametri concentraţi

În figura 2.4 este prezentat un model al motorului de curent continuu fără perii descris
cu blocuri din Simulink. Descrierea acestui model se bazează pe ecuaţiile 2.6. În figura 2.5
este prezentată şi fereastra de configurare a componentei Simulink create, acest model va
putea fi uşor de configurat ţinându-se cont de parametrii constructivi ai motorului. Răspunsul
sistemului la un semnal de tip treaptă este prezentat în figura 2.6. Se observă că ieşirea este
subunitară pentru un semnal de intrare unitar. Sunt marcate pe figură valorile timpilor de
creştere şi valoarea staţionară. Se poate observa că ieşirea sistemului nu este oscilatorie.

2.2.2 Implementarea în Simulink a modelul motorului BLDC bazat pe funcţia sa de


transfer

Potrivit relaţiilor (2.15) şi (2.20) determinate în paragrafele anterioare ale acestei


lucrări funcţia de transfer a unui motor de curent continuu şi de asemenea care se aplică şi
motorului BLDC poate fi reprezentată prin procese de ordinul I respectiv ordinul II.
Implementarea în Simulink a relaţiilor (2.15), (2.20) este prezentată în figura 2.7.,
componenta se ataşează bibliotecii Simulink. În figura 2.8 este prezentată şi fereastra de
configurare a componentei create, acest model va putea fi uşor de configurat ţinându-se cont
de parametrii constructivi ai motorului. Un răspuns comparativ al celor două procese, cel real
de ordin II şi cel simplificat de ordin I, ce pot modela comportamentul motorului BLDC este
prezentat în figura 2.12, simularea validează astfel, simplificarea făcută.

16
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Figura 2.7 Funcţia de transfer a motorului BLDC


modelat proces ord. I şi II

Figura 2.4 Motorul BLDC, modelul cu parametrii


concentraţi

Figura 2.8 Fereastra de configurare


a motorul BLDC, modelul bazat pe funcţia de
transfer

Figura 2.5 Fereastra de configurare a componentei


modelului cu parametrii concentraţi

Figura 2.9 Evoluţia comparativă a procesului real


de ordin II (albastru) şi a celui simplificat de ordin
I (galben), la aplicarea unui semnal de tip treaptă
unitate

Figura 2.6 Răspunsul la un semnal de tip treaptă unitar al


motorului BLDC

17
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 3

3 CONTROLERE PID. FILTRE IIR

În literatura de specialitate circuitele în care sunt implementaţi algoritmii de control sunt


numite circuite regulatoare sau controlere. Procesul de reglare este asociat circuitelor
regulatoare şi implică suprimarea perturbaţiilor pentru a menţine un proces controlat la un
punct fix de funcţionare. Pe de altă parte, procesul de control implică o acţiune mai lărgită
care constă pe lângă suprimarea perturbaţiilor şi în urmărirea traiectoriei dorite de funcţionare
a sistemului. Din literatura de specialitate reiese că există posibilitatea ca majoritatea
controlerelor digitale pot fi proiectate ca şi filtre digitale cu răspuns infinit la impuls (IIR –
Infinite Impulse Filter). În acest capitol se va face o prezentare generală a arhitecturii şi a
modului de acordare a controlerului de tip proporţional-integral-derivativ (PID). Vor fi
prezentate succint şi filtrele digitale în special cele cu răspuns de durată infinită (IIR) şi se va
prezenta o modalitate de proiectare a controlerelor PID ca şi filtre IIR.

3.1 Controlere PID

3.1.1 Prezentare generală

Pentru controlul în buclă închisă cel mai cunoscut şi mai utilizat algoritm este algoritmul
de control PID (proporţional – integral - derivativ). În sistemele de control actuale, mai bine
de 95% din buclele de control sunt de tipul PID, de fapt, majoritatea sunt de tipul PI
(proporţional – integral). Configuraţia unui sistem cu, controler de tip PID este prezentată în
figura 3.1 [5], [91], [97], [125]. Tehnologii de control mai sofisticate, cum este controlul
predictiv sunt organizate ierarhic şi au la bază tot controlerele de tip PID care se află la nivelul
cel mai de jos al acestei ierarhii. Se poate spune că, controlul de tip PID se regăseşte la nivelul
oricărui sistem controlat. În domeniul continuu de timp reprezentarea controlerului PID este
conform celei din figura 3.1.
1 de(t )
u (t ) = K P e(t ) +
KI ∫ e(t )dt + K D
dt
(3.1)

Kp amplificare proporţională;
KI amplificare integrală;
KD amplificare diferenţială;
e(t) - eroarea dintre răspunsul
Figura 3.1. Sistem comandat cu controler de tip PID dorit şi răspunsul real al sistemului.

Controlul realizat de cei trei termeni: integral, proporţional şi derivativ, ţine cont de
comportarea sistemului în trecut, prezent şi viitor. În figura 3.2 sunt prezentate într-o manieră
sugestivă influenţele însumate asupra parametrilor de performanţă ai sistemului, ai celor trei
coeficienţi de amplificare.
Pentru proiectarea adecvată a unui controler de tip PID trebuie avute în vedere
următoarele aspecte: filtrarea zgomotului, ponderarea referinţei, fenomenul de saturare,
metoda de acordare al controlerului, modalitatea de implementare digitală a controlerului.
În continuare vor fi dezbătute pe larg fiecare din aspectele mai sus menţionate.

18
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Figura 3.2 Influenţa coeficienţilor de amplificare asupra performanţelor sistemului

3.1.2 Filtrarea zgomotului

La implementarea unui controler cu acţiune derivativă trebuie limitată amplificarea


frecvenţelor înalte. Acesta se realizează prin înlocuirea termenului derivativ clasic D = sTdY
cu cel din relaţia (3.2).
Valori tipice pentru N sunt între 8 şi 20. În lipsa termenului sKTd
derivativ, cazul controlerelor PI, filtrarea semnalului nu mai este D = − 1 + sT / N Y (3.2)
d
atât de stringentă.

3.1.3 Ponderarea referinţei

Legea de control definită de relaţia (3.1) presupune că, aplicarea unui semnal treaptă la
intrarea de referinţă a unui sistem de control va avea ca rezultat un semnal de control de tip
impuls. Cel mai adesea acest lucru trebuie evitat, din aceeaşi cauză în mod frecvent nici
termenul derivativ nu se aplică semnalului de referinţă. Această problemă poate fi evitată prin
filtrarea valorii de referinţă înainte de a fi aplicată controlerului. O altă posibilitate este ca
asupra semnalului de referinţă să acţioneze numai termenul proporţional, cunoscută ca metoda
de ponderare a referinţei. În acest caz relaţia fundamentală (3.1) va deveni:
⎛ 1
t
dr (t ) dy (t ) ⎞ unde, b şi c sunt parametri
u (t ) = K ⎜⎜ br (t ) − y (t ) + ∫ e(τ )dτ + Td (c − ) ⎟⎟ (3.3) adiţionali.
⎝ Ti 0 dt dt ⎠

Răspunsul la diferite valori ale referinţei poate fi modificat prin intermediul


parametrilor b şi c. Pentru o anumită valoare a factorului de ponderare b între 0 şi 1 se poate
obţine un compromis şi sistemul va răspunde suficient de rapid cu oscilaţii mici, respectiv un
suprareglaj atenuat. În mod normal parametrului c i se dă valoarea 0 pentru a evita oscilaţiile
mari ale semnalului de control datorate modificărilor bruşte ale referinţei.

3.1.4 Fenomenul de saturare

Acest fenomen apare datorită interacţiunii dintre acţiunea integrativă a controlerului şi


saturaţia procesului controlat, mai este cunoscut şi ca windup. În practică, toţi actuatorii
prezintă limite, în cazul unui motor limita este reprezentată de turaţia maximă pe care o poate
atinge. La un sistem controlat în buclă închisă, poate apărea situaţia în care variabila de
control să atingă limitele actuatorului, în cazul de faţă, motorul atinge viteza maximă, iar în
această situaţie bucla de control va fi „ruptă”. În această lucrare va fi pusă în practică metoda
cea mai simplă şi mai directă. Această metodă constă în limitarea variaţiei valorii de referinţă,
astfel încât valoarea de la ieşirea controlerului să nu atingă niciodată limitele actuatorului.

19
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Altfel spus, reglarea va fi mai lentă făcându-se cu paşi mici, evitându-se astfel suprareglajul
accentuat şi oscilaţiile amortizate.

3.1.5 Metode propuse pentru acordarea controlerelor PID

Procesul de stabilire a valorilor optime pentru coeficienţii KI, KD, KP, poate fi destul de
dificil deoarece presupune ajustarea simultană a celor trei constante. Dacă valorile nu sunt
corect stabilite sistemul devine instabil generând zgomot şi putând duce chiar şi la distrugerea
maşinii. Există mai multe metode de acordare a controlerelor, metode clasice, mai empirice,
cum este metoda Ziegler Nicholls şi metode moderne care necesită un calcul matematic
intensiv, cum este metoda de acordare folosind alocarea polilor. În cazul metodelor de reglare
empirice cheia ajustării eficiente a celor trei constante constă în folosirea unui proces care să
permită decuplarea, cât mai mult posibil, a efectelor unei amplificări faţă de cealaltă [5].

3.1.6 Acordarea controlerelor PI folosind metoda alocării polilor

În cazul sistemelor de ordinul I şi II utilizarea unui regulator permite alocarea exactă a


polilor sistemului rezultant, prin alegerea corespunzătoare a componentelor Kp, Ki şi Kd.
Deoarece în capitolul anterior s-a stabilit că, comportarea unui motor de curent continuu fără
perii poate fi foarte bine descrisă printr-un proces de ordinul I, în continuare se va insista pe
acordarea controlerelor de tip PI, pentru acest model de motor.
Acordarea controlerelor PI în domeniul de timp continuu
În figura 3.3 este prezentată schema de reglare a unui proces de ordinul I, comandat
printr-un controler PI în domeniul de timp continuu. Funcţia de transfer a procesului este
exprimată în forma cea mai generală, vezi relaţia 3.4, care include şi cazul proceselor pur
integratoare, având funcţia de transfer :H(s)=b/s. Sistemul echivalent, cu bucla de reacţie
închisă are funcţia de transfer (3.5). În cazul acordării controlerelor PI funcţia de transfer
echivalentă Hbi(s)este de ordin II, (3.6). Poziţiile polilor se impun astfel încât să corespundă în
planul s unui sistem de ordin II, definit prin factor de amortizare ζ şi prin pulsaţia naturală ω.
Tipic, alegerea ζ şi ω se face ţinând cont de suprareglajul maxim acceptat şi banda de trecere
dorită pentru sistemul rezultant. Egalând numitorii relaţiilor (3.) şi (3.6) rezultă un sistem de
două ecuaţii ale cărui necunoscute sunt coeficienţii Kp şi Ki. Relaţia (3.7) prezintă sistemul de
ecuaţii şi soluţiile acestuia. Coeficienţii Kp, Ki trebuie să fie > = 0, altfel trebuie impusă o
bandă de trecere ω mai mare, astfel încât să se respecte condiţia 2ζ ω – a > 0 .
k
k b (3.4)
H P (s) = = T =
1 + sT 1 s+a
+s
T

Figura 3.3 Reglarea unui proces de ordinul I cu regulator PI cu


timp continuu
HRHP ( K P s + K I )b ω2
H bi ( s ) = = 2 (3.5) H (s) = (3.6)
1 + H R H P s + s( K P * b + a) + K I * b s 2 + s * 2 *ξ *ω + ω 2
⎧2 * ξ * ω = K P * b + a
s 2 + s( K P * b + a) + K I * b = s 2 + s * 2 * ξ * ω + ω 2 ⇒ ⎨ ;
⎩ ω2 = KI *b
(3.7)
2 *ξ *ω − a ω2
KP = ;....................................K I = .
b b

20
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Acordarea controlerului PI în domeniul de timp discret


În figura 3.4 este prezentată schema de reglare a unui proces de ordinul I, comandat printr-
un controler PI. Echivalentul discret al funcţiei de transfer pentru procesul controlat se obţine
cu relaţia (3.8) [57], în care T reprezintă perioada de eşantionare. În cazul procesului descris
prin funcţia de transfer (3.8), echivalentul discret este (3.9) şi (3.10).Funcţia de transfer a
controlerului PI se obţine alegând un echivalent discret pentru integratorul 1/s, cel mai uzual
fiind (3.11). Astfel că funcţia de transfer a controlerului devine (3.12), unde, KP = Kp şi Ki
=KIT, sunt coeficienţi proporţionali şi integrali ai regulatorului discret. Funcţia de transfer a
sistemului în buclă închisă a sistemului este (3.13). Polii acestei funcţii de transfer se impun
astfel încât să corespundă în planul s unui sistem de ordin II definit prin factorul de amortizare
ζ şi pulsaţia naturală ω, având polii (3.14). Ţinând cont că unui punct s1 din planul complex
Laplace, îi corespunde în planul complex Z punctul z1 = e s1T , echivalentul discret pentru polii
s1,2 este (3.15). Prin urmare polinomul dorit pentru funcţia de transfer în buclă închisă este
(3.16). Egalând numitorii relaţiilor (3.13), (3.15) rezultă un sistem de două ecuaţii ale cărui
necunoscute sunt Kp şi Ki, sistem ce are soluţia (3.17). Coeficienţii Kp, Ki trebuie să fie > =
0, dacă în urma procesului de acordare Ki rezultă negativ, trebuie impusă o bandă de trecere ω
mai mare.

z − 1 ⎡ H P ( s) z ⎤
H P( z ) = Z⎢ * −T *h ⎥
(3.8)
z ⎣ s z−e ⎦
Figura 3.4 Reglarea unui proces de ordinul I cu controlere
bd
PI discret H P ( z) = (3.9)
z − ad
⎧⎪ b * T , dacă, a = 0 1 T
→ (3.11)
bd = ⎨ b s z −1
b = * (1 − e −aT ), dacă , a ≠ 0, şi, a d = e −aT
⎪⎩ d a
(3.10)

T K
H R ( z) = K P + K i = Kp + i (3.12)
z −1 z −1
( Kp * z + Ki − Kp ) * bd
H bi ( z ) = (3.13)
z 2 + z ( Kp * bd − a d − 1) + bd * ( Ki − Kp ) + a d
s 2 + 2ξωs + ω 2 = 0 ⇒ s1, 2 = −ξω ± jω 1 − ξ 2
(3.14)
z1, 2 = e −ξωT (cos(ωT 1 − ξ 2 ) + j sin(ωT 1 − ξ 2 ))
(3.15)
⎧⎪ p = −( z + z ) = −2 * e −ξωT * cos(ωT 1 − ξ 2 )
z 2 + z * p1 + p 2 , unde, ⎨ 1 1 2 (3.16)
⎪⎩ p 2 = z1 * z 2 = e − 2ξωT
⎧ ⎧ p + ad + 1
⎪ p = K *b − a −1 ⎪ Kp = 1
⎪ 1 p d d ⎪ bd
⎨ ⇒⎨ (3.17)
p −a
⎪ p 2 = ( K i − K p ) * bd + a d ⎪ Ki = 2 d
⎪⎩ ⎪⎩ bd + K p

21
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

3.1.7 Modalitatea de implementare digitală a controlerului PID


Pentru implementare pe un sistem digital a unei legi de control exprimate în
domeniul timp , cum ar fi un algoritm de reglare PID, trebuie folosită o metodă de aproximare
a derivatei şi a integralei [5, 10, 91]. Forma discretă , implementabilă digital în hardware a
controlerului PID este dată de relaţiile (3.18), (3.19), (3.20).
- termenul proporţional: p (t k ) = k (by sp (t k ) − y (t k )) , b=1
p(t k ) = k ( y sp (t k ) − y (t k )) (3.18)
- termenul integral; unde: h=Ts i (t k +1 ) = i (t k ) + hK I e(t k )
- termenul derivativ: d (t k ) = CD (t k −1 ) − K P K D C ( y (t k ) − y (t k −1 ))
unde:
KD
N – coeficient cu valori tipice 8-20; C= (3.19)
K D + K P Nh

Astfel controlerul de tip PID se scrie ca suma a celor trei termeni:


u (t k ) = p(t k ) + i (t k ) + d (t k ) (3.20)

3.1.8 Specificaţii de proiectare ale controlerelor PID


Atunci când trebuie rezolvată o problemă de control, trebuie înţeles scopul principal al
controlului. Există două tipuri de cerinţe care se impun atunci când se rezolvă o problemă de
control: urmărirea referinţei şi rejecţia perturbaţiilor. Urmărirea referinţei în cazul aplicării
unui semnal de tip treaptă, include parametri cum ar fi timpul de creştere, timpul de
stabilizare, suprareglajul, eroare staţionară. Timpul de creştere reprezintă intervalul de timp în
care semnalul variază între 10-90% din valoarea lui staţionară. Timpul de stabilizare se
măsoară din momentul aplicării semnalului treaptă până în momentul în care răspunsul se
apropie la p% din valoarea staţionară. Valoare tipică pentru p este 2. Suprareglajul exprimat
ca diferenţă dintre prima valoare maximă a mărimii de ieşire şi valoarea staţionară are o
valoare tolerată de 8-10% din valoarea staţionară. Există însă situaţii când se impune un
răspuns supra-amortizat în care suprareglajul să fie nul. Eroarea staţionară reprezintă
abaterea de la valoarea staţionară a ieşirii după ce sistemul este stabil. Această eroare este
tolerabilă în limitele a 1-2%. În general în sisteme controlate cu controler de tip PI această
eroare este nulă.

3.2 Controlere PID implementate ca şi filtre IIR


Aşa cum a fost amintit într-un paragraf anterior majoritatea controlerelor digitale pot fi
reprezentate ca şi filtre de tip impuls cu răspuns infinit (IIR – Infinite Impulse Filter) [39]. În
continuare este prezentată relaţia matematică care reprezintă forma digitală a unui filtru.
Aceşti coeficienţi trebuie astfel selectaţi încât controlerul să producă răspunsul dorit. Structura
controlerului digital asociat relaţiei (3.21) este prezentată în figura 3.5. În figură blocurile Z-1
reprezintă întârzieri ale unei perioade de eşantionare.
Funcţia de transfer a controlerului de tip PID va avea următoarea formă (3.22). Folosind
transformata z biliniară (BZT), [38] de mapare a planului s în planul z, respectiv una din
relaţiile (3.23). Se obţine transformata z a controlerului PID (3.24). După prelucrări
matematice, transformata z a controlerului PID poate fi reprezentată ca funcţie de transfer de
ordinul 2, relaţia (3.25). Conform relaţiei (3.21) forma generală a unui un filtru IIR de ordin II
poate fi scrisă (3.26). Prin egalarea numărătorului şi ai numitorului relaţiilor (3.25) şi (3.26) se

22
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

obţin coeficienţii filtrului, (3.27) în funcţie de amplificările Kp, Ki, Kd ale controlerului PID.
În concluzie, un controler PID poate fi proiectat ca şi filtru digital de ordinul 2.
n n
y (k ) = ∑ a i x(k − i ) − ∑ bi y (k − i ) (3.21)
i =0 i =1

unde:
- k - eşantionul curent, pentru o anumită
perioadă de timp T;
- y(k) - semnalul de ieşire;
- x(k) - semnalul de intrare;
ai şi bi - coeficienţii filtrului.
Figura 3.5 Diagrama controlerului digital
U (s) K 2 z −1 2 1 − z −1
Dcontroler = = KP + I + KDs (3.22) s= sau s = (3.23)
E ( s) s T z +1 T 1 + z −1
K IT⎛ 1 + z −1 ⎞ 2 K D ⎛ 1 − z −1 ⎞
D( z ) = K P + ⎜⎜ ⎟+
−1 ⎟
⎜ ⎟ (3.24)
2 ⎝1− z ⎠ T ⎜⎝ 1 + z −1 ⎟⎠
(K + K I T / 2 + 2 K D / T ) + (K I T − 4 K D / T )z −1 + (− K P K I / 2T + 2 K D / T ) z −2 (3.25)
D( z ) = P
1 − z −2
a + a z −1 + a 2 z −2 K T 2K D
D ( z ) = 0 1 −1 (3.26) a0 = K P + I +
2 T
1 + b1 z + b2 z −2 b1 = 0
K I T 4K D
a1 = − (3.27)
2 T b2 = −1
K I 2K D
a2 = − K P + +
2T T

3.3 Implementare Matlab/Simulink controlere PID şi filtre IIR


S-au realizat implementările cu blocuri Simulink
pentru controler PID formă continuă, controler PID forma
discretă şi filtru IIR. Pentru a avea o referinţă, s-a
implementat în Simulink şi forma discretă a controlerului
PID, cu ajutorul unui bloc parametrizabil din biblioteca
Simulink. Coeficienţii filtrului se calculează într-un fişier
Matlab, conform relaţiei 3.27, în funcţie de amplificările
controlerului PID. Amplificările se calculează conform
exemplului de calcul prezentat în paragrafele anterioare.
Rezultate simulării celor două modele de controler PID şi a
filtrului IIR sunt prezentate în figura 3.6. Din simulare se
poate observa că ieşirea procesului controlat IIR nu diferă de
cea a procesului controlat PID, şi aceasta în condiţiile în
care s-au folosit aceleaşi valori pentru coeficienţii de
amplificare (Kp=300, Ki=40), în cazul ambelor variante de
control. În concluzie se confirmă faptul că un controler PID
poate fi proiectat ca şi filtru IIR, iar metoda de acordare prin
Figura 3.6 Răspunsul motorului
alocarea polilor este viabilă şi pentru acest caz. controlat PID şi IIR

23
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 4

4 PLATFORMA HARDWARE PROPUSĂ PENTRU


CONTROLUL MOTORULUI BLDC CU CIRCUITE FPGA
În acest capitol se va face o descriere a structurii modulelor hardware şi a resurselor,
folosite pentru controlul motorului BLDC. De asemenea se va face şi o prezentare a
parametrilor motorului BLDC împreună cu senzorii montaţi pe arborele acestuia. În final va fi
prezentată modalitatea de interconectare a modulelor de control şi de comandă la ansamblul
format de motorul BLDC şi senzori.

4.1 Structura platformei de comandă şi control


Platforma este alcătuită din două module hardware: modulul de control reprezentat de
placa cu circuitul FPGA şi modulul de comandă reprezentat de placa care conţine tranzistorii
de putere. Cele două module hardware sunt interconectate între ele prin intermediul unei
magistrale pe care semnalele au nivele logice compatibile CMOS, 3,3V. Conectarea la PC se
realizează prin intermediul portului JTAG prezent pe placa Spartan-3 şi prin intermediul unui
cablu adaptor la portul paralel al PC-ului.
În figura 4.1 este prezentată diagrama bloc cu arhitectura celor două module, modul de
interconectare între ele şi modul de interconectare cu PC-ul şi cu motorul BLDC.

Figura 4.1 Configuraţia hardware pentru controlul motoarelor BLDC

Conectarea cu motorul BLDC se realizează prin intermediul plăcii PM-50 care amplifică
semnalul de comandă provenind de la placa de control şi îl furnizează mai departe celor trei
înfăşurări statorice ale motorului BLDC. Pe placa PM-50 se face şi achiziţia şi adaptarea
nivelelor semnalelor provenind de la senzorii Hall şi de la codificatorul de poziţie, semnale ce
vor fi transmise mai departe plăcii de control cu circuit FPGA. Placa PM-50 permite de
asemenea şi monitorizarea curenţilor din cele trei ramuri de invertor.

24
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

4.2 Modulul de control cu circuit FPGA


Modulul hardware cu circuit FPGA este produs de firma Digilent Inc, poarta numele de
Spartan-3 şi are ca şi componentă centrală circuitul FPGA XC3S200 din familia Spartan3
[24], [137]. Cu ajutorul acestui modul vor fi implementate toate funcţiile de control şi
monitorizare ale motorului BLDC .

4.3 Descriere arhitectură circuite FPGA


Ariile logice reconfigurabile sau FPGA au fost introduse în 1985 de firma XILINX.
Poziţia de lider a fost păstrată prin continua îmbunătăţire a circuitelor, şi prin oferta soluţiilor
de proiectare completă. Procesul de proiectare cu circuite XILINX FPGA este rapid şi
eficient, iar durata acestui proces este de câteva zile în comparaţie cu, câteva săptămâni,
termen obişnuit cu alte tipuri de circuite programabile. Structura internă este organizată într-o
matrice de celule înconjurate la periferie de celulele de intrare/ieşire (I/O). Segmentele de
interconexiuni din metal pot realiza prin intermediul punctelor de conexiune, legături între
celulele logice configurabile şi celulele de intrare/ieşire. Abundenţa de porţi logice, registre,
interfeţe I/O cu o viteză de răspuns mare, sunt doar câteva caracteristici ale circuitelor logice
reprogramabile FPGA. Seria circuitelor cu aria de configurare de tip SRAM include în
principal următoarele familii de produse: Spartan-I, Spartan-II, Spartan 3, Virtex, Virtex-II,
Virtex-II Pro şi Virtex-IV şi mai nou Virtex-V [24, 83, 127, 137].

4.3.1 Familia de circuite FPGA Spartan-3

Familia de circuite FPGA Spartan-3 a fost proiectată în mod expres pentru a veni în
întâmpinarea cerinţelor de capacitate sporită şi cost redus, specifice pieţei bunurilor de larg
consum. Această familie de circuite are opt membrii cu capacităţii între 50.000 şi cinci
milioane de porţii logice, vezi tabelul T4.1. Circuitele din această familie sunt realizate în
tehnologie 90nm şi pot fi implementate proiecte cu frecvenţă de lucru de până la 185 MHz .
Familia de circuite Spartan-3 este o alternativă superioară circuitelor ASIC programate prin
mască. Circuitele FPGA permit reducerea costurilor iniţiale de producţie, a ciclului de
dezvoltare implementare a aplicaţiei şi înlătură inflexibilitatea specifică circuitelor ASIC

4.3.1.1 Arhitectura familiei de circuite Spartan-3


Circuitele FPGA din familia Spartan-3 sunt alcătuite din cinci elemente programabile
fundamentale: blocurile logice configurabile (CLB), blocurile de intrare ieşire (IOB),
blocurile de memorie RAM, blocurile de multiplicatoare şi blocurile DCM.

4.3.2 Analiza comparativă performanţe/preţ circuite FPGA


Pentru o imagine de ansamblu mai bună asupra circuitelor FPGA produse de firma
Xilinx în tabelul T4.1, este prezentată o analiză comparativă ale caracteristicilor principalelor
familii.
*
Capacitatea era exprimată iniţial în număr de porţi logice, ulterior s-a trecut la exprimarea în
sclice-uri, şi în cele din urmă în număr de celule logice. Echivalenţele dintre cele trei
modalităţi de exprimare a capacităţii sunt prezentate mai jos:
1 celulă logică = 1 bloc LUT cu 4 intrări + 1 bistabil de tip D
1 slice = 2 X celulă logică.

25
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Tabelul T4.1 Comparaţie performaţe/preţ cicuite FPGA


Capacitatea*
Tehnologia Nr blocuri Frecvenţa
Familia Celule Porţi logice Preţ ($)***
(nm) MAc (MHz)
logice (milioane)
Virtex5LX330 65 192 550 330.000 22,1M** -
Virtex4SX55 90 512 500 55.296 3,6M** 1000-1200
Virtex4FX140 90 192 500 142.128 9,5M** -
Virtex4LX200 90 96 500 200.000 13,5M** 300-340
VirtexIIPro100 130 444 300 125.136 9M** 109-1600
VirtexII 150 168 245 93.058 8M -
Spartan3S5000 90 104 185 74.880 5M 9,5-100
**
Valori aproximative, calculate, utile pentru comparaţie.
***
Preţurile sunt orientative şi variază în funcţie de capacitatea circuitului din familia
respectivă (ex. spartan3S50 = 9,5$, iar spartan3s1500 = 85$), de numărul de pini şi tipul de
capsulă şi de asemenea de numărul de bucăţi achiziţionate.
Determinarea numărului de porţi logice în funcţie de exprimările anterioare nu este
clar definită şi depinde, conform specificaţiilor date de producător, de tipul de aplicaţiei
implementat.În cazul circuitelor Virtex II şi Spartan 3 capacitatea este exprimată în număr de
porţi logice. Plecând de la aceste valori se încearcă o aproximare a capacităţii exprimate în
porţi logice pentru toate circuitele din tabel. Pentru logica de interconectare (glue logic) sau
pentru implementarea proiectelor mai simple se pot folosi şi circuite CPLD (familia XC9500)
ale căror capacităţi pot varia între 800 – 6400 porţi logice şi ale căror preţuri sunt între 1,65 –
14, 79$.

4.4 Modulul de comandă cu tranzistoare MOSFET


Convertizoarele statice – invertoarele care alimentează motoarele fără perii trebuie să
răspundă unor cerinţe diverse, atât pentru regimul staţionar de funcţionare, cât şi pentru
regimul dinamic. În continuare vor fi enumerate câteva caracteristici pe care trebuie să le
prezinte un invertor. Pentru aplicaţii în care valoarea tensiunii nu depăşeşte 250V
tranzistoarele MOSFET reprezintă prima opţiune, există o gamă destul de restrânsă de
tranzistoare IGBT pentru tensiuni mai mici de 600V.
Placa de comandă PM50 are ca şi componentă principală un invertor trifazat bazat pe
tranzistorii MOSFET IRF540. Placa poate fi alimentată cu tensiune în plaja 9-36 V, poate
furniza un curent nominal motorului 1,7A şi poate suporta un supracurent de 6,33A.
Frecvenţa maximă de comutaţie este de 100KHz, dar valoarea tipică a acesteia este de 20KHz
[45, 46, ], [112]. Pentru aplicaţia de control a motorului BLDC va fi folosit conectorul J3,
nivelele de semnal ale plăcii Spartan-3 fiind 3,3V. După cum se poate observa în figura 4.1
placa PM50 dispune de interfeţe de conectare a senzorilor Hall, a codificatorului optic şi a
motorului BLDC.

4.5 Motorul BLDC şi traductoarele de poziţie


După cum s-a putut observa în capitolul 1, pentru a putea să funcţioneze motorul BLDC
are nevoie de senzori Hall pentru determinarea poziţiei aproximative a rotorului. Dacă însă se
doreşte determinarea cu precizie mare a acestei poziţii se va folosi un codificator optic, în

26
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

acest caz HEDS-9xxx, care în funcţie de tip poate furniza la ieşire trei semnale şi
complementele acestora.
Motorul BLDC
Tabel T4.2. Datele Constructive ale motorului BLDC
Motorul ales pentru acest experiment Date constructive Simbol Valoare
Tensiune nominală VN [V] 19
este un motor de curent continuu fără perii
Viteza în gol SNL[rpm] 8000
produs de firma Pittman Express [93]. Acest
Valoarea de vârf a cuplului Tpk[mNm] 94
motor are montaţi pe arbore senzori Hall şi un Valoarea cuplului nominal TC[mNm] 29
codificator de poziţie. Datele constructive ale Rezistenţa Rfază[Ω] 5,25
acestui motor sunt prezentate în tabelul T4.2. Inductivitatea Lfază[mH] 0,46
Curent în gol INL[mA] 72
Curent de vârf IP[A] 1,3

4.6 Standul experimental pentru controlul motorului BLDC cu circuite


FPGA
În figura 4.2 este prezentat
standul experimental
pentru controlul motorului
BLDC folosind circuite
FPGA.
În figura 4.3 sunt
prezentate configuraţiile
pinilor corespunzători
conectorilor B1 şi J1 de pe
modulul de control cu
circuit FPGA (Spartan-3),
respectiv de pe modulul de
putere (PM50).
Figura 4.2 Standul experimental pentru controlul motorului BLDC cu circuite
FPGA

Notaţiile din figura 4.3 sunt:


Q1-Q6 – semnalele pentru cei şase
tranzistori;
HA, HB, HC - semnale provenind de la
senzorii Hall;
EA, EB, EZ - semnale provenind de la
codificatorul de poziţie;
Err - semnal de eroare dat de placa
PM50;
PWM - ieşire direct de la generatorul
PWM implementat în FPGA;
B1_21 -B1_35 - semnale de uz general,
folosite pentru testare, etc;
NC - neconectat.
Figura 4.3 Configuraţiile pinilor corespunzători conectorilor B1 şi J1

Configurarea circuitului FPGA, controlul în timp real şi monitorizarea principalilor


parametri ai motorului BLDC se face prin intermediul portului JTAG conectat la portul
paralel al unui PC, pe care rulează Matlab/Simulink

27
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 5

5 METODA DE IMPLEMENTARE ŞI TESTARE


HARDWARE-SOFTWARE ŞI MEDIILE SOFTWARE
UTILIZATE LA IMPLEMENTAREA HARDWARE A UNUI
SISTEM DE CONTROL PENTRU MOTORUL BLDC
Obiectivul acestui capitol constă în elaborarea unei metode rapide de implementare
facilă în hardware a algoritmilor de control şi a interfeţelor conexe acestora, pentru comanda
unui motor. Metoda trebuie să permită proiectanţilor sistemului de control să se concentreze
asupra specificaţiilor de nivel înalt şi să permită obţinerea unui rezultat rapid în ceea ce
priveşte performanţele algoritmului de control ales şi costurile generate de implementarea
acestuia în hardware.

5.1 Controlul hardware digital în domeniul servomotoarelor electrice


Datorită cerinţelor de performanţă crescute şi de asemenea datorită creşterii complexităţii
sistemelor de control utilizarea mai multor procesoare de semnal sau a mai multor
microcontrolere asistate şi de circuite ASIC devine indispensabilă. Aceasta duce la creşterea
complexităţii sistemelor de control prin creşterea numărului de module implicate şi creşterea
numărului de conexiuni dintre acestea, având ca rezultat o mentenabilitate şi o modernizare
greoaie a sistemului. În cazul implementări algoritmilor care necesită timpi reduşi de execuţie,
modernizarea sistemului de control este de asemenea îngreunată şi de folosirea limbajelor de
asamblare, specifice fiecărui procesor în parte. Pentru rezolvarea problemelor generate de
utilizarea DSP-urilor şi a microcontrolerelor în sistemele de control, pe piaţă se impune o
nouă metodă de control aşa numitul control hardware, implementat cu circuite FPGA. Această
metodă de control hardware permite creşterea de zeci de ori a vitezei de execuţie a
algoritmilor de control. De asemenea această metodă permite noi modalităţi de dezvoltare a
algoritmilor de control. Spre deosebire de modalităţile clasice în care algoritmii de control
erau implementaţi cu ajutorul limbajelor de asamblare sau a celor de nivel înalt, noua metodă
permite folosirea elementelor vizuale de proiectare, elemente organizate în blocuri de control.

5.1.1 Resurse software şi hardware implicate în proiectarea şi implementarea


controlului hardware digital pentru motorul BLDC

Dezvoltările recente în sinteza circuitelor digitale au automatizat în mare măsură procesul


de implementare în ASIC sau FPGA a unor algoritmi specifici procesării digitale a
semnalelor. În mod tradiţional aceste circuite erau dezvoltate folosind numai limbaje de
descriere hardware cum ar fi VHDL sau Verilog, dar acestea oferă o flexibilitate destul de
redusă în ceea ce priveşte simularea algoritmilor de control. Aceste probleme au fost depăşite
de recenta introducere a unor unelte de sinteză care, dintr-o descriere comportamentală în
Matlab/Simulink a unui circuit de procesare digitală a semnalelor, realizează sinteza directă a
unui circuit digital adecvat (folosind limbajul VHDL ca limbaj intermediar). Mai exact
modelul Matlab/Simulink este conceput folosind toolboxul Xilinx Blockset. Comportamentul
modelului dezvoltat cu toolboxul menţionat anterior este simulat cu Simulink şi apoi

28
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

transformat într-o descriere de tip VHDL folosind utilitarul Xilinx System Generator.
Proiectul este în cele din urmă sintetizat prin procedeul obişnuit pentru descrierile VHDL şi
implementat în FPGA [140]. Arhitectura software a mediului integrat HW/SW pentru
implementarea sistemelor de control permite pe de o parte implementare părţii software a
aplicaţiei, care constă în modelarea şi simularea comportamentului procesului controlat
(motor BLDC) respectiv a controlerului (PI), şi pe de altă parte proiectarea părţii hardware,
adică implementarea şi testarea controlerului şi a blocurilor conexe în FPGA. O simplă
enumerare a resurselor software întrebuinţate pentru dezvoltarea mediului integrat HW/SW
arată complexitatea acesteia, vezi şi figura 5.1:
Matlab – mediul de programare
utilizat pentru modelarea proces
controlat şi a controlerului, suport
pentru toolboxul Simulink;
Simulink – pentru simulare sistem
de control şi proces controlat.
System Generator – rulând în
cadrul programului Simulink,
utilizat pentru:
- modelarea cu blocuri Xilinx a
SC;
- generarea fişierelor proiect
Xilinx;
- generarea codului VHDL
sintetizabil;
- generarea unui fişier Testbench
în limbaj VHDL pentru simularea
controlerelor PID;
- generarea fişierelor de
constrângeri.
Xilinx ISE – mediul integrat
pentru sinteza şi implementarea
în FPGA, rulează împreună cu:
VHDL – folosit pentru descrierea
în totalitate a unor blocuri ale SC,
pentru includerea unor blocuri de
tip proprietate intelectuală (IP),
pentru includerea diagramelor de
stare (FSM) şi de asemenea ca
limbaj intermediar între Simulink
şi Xilinx;.
- ModelSim XE – permite
simularea în diverse etape a SC;
- Impact – folosit pentru
încărcarea fişierului de
configurare în FPGA;
- ChipScope – utilizat în faza de
Figura 5.1 Resursele software şi hardware implicate în proiectarea
depanare a proiectului, permite cu circuite FPGA a controlului unui servomotor
vizualizarea circuitului
implementat în FPGA;

29
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

5.1.2 Metoda clasică de implementare a sistemelor de control în FPGA


Metoda consacrată de implementare a sistemelor de control (SC) în FPGA cuprinde
două etape distincte una de cealaltă, vezi figura 5.2:
1. Modelarea şi simularea sistemului de control cu Matlab/Simulink;
2. Descrierea în VHDL a algoritmilor de control şi a altor componente conexe
acestuia, implementarea în hardware şi verificarea sistemului [83].
Există însă, posibilitatea ca
proiectantul sistemului de control să aibă
cunoştinţe insuficiente de limbaj VHDL
astfel că, pentru a exploata avantajele
arhitecturii FPGA şi a evita o implementare
greşită, a doua etapă trebuie să fie executată
de un proiectant FPGA. Acesta la rândul său
poate să nu fie expert în sisteme de control,
iar implementarea să nu funcţioneze exact
cum a fost concepută de către proiectantul
sistemului. De asemenea nu există
posibilitatea de a co-simula sistemul astfel
că eventualele probleme pot fi observate Figura 5.2 Metoda clasică de proiectare a SC
foarte târziu, abia după implementarea în implementabile în circuite digitale reprogramabile
FPGA şi după testarea circuitului.

5.2 Metoda hardware-software propusă pentru testarea/implementarea


controlului hardware digital
În figura 5.1 este prezentată multitudinea de programe care stau la dispoziţia
proiectantului de circuite digitale şi sisteme de control. Mediul rezultat în urma unificării
respectivelor programe poate să pară eterogen şi poate crea confuzie celor nefamiliarizaţi cu
proiectarea de circuite digitale. În continuare autorul propune un algoritm de proiectare a
sistemelor de control implementabile hardware care să exploateze la maxim facilităţile oferite
de fiecare pachet de programe prezentat în figura 5.1.
Algoritmul de proiectare a sistemelor de control propus este prezentată în figura 5.3.
Din figura se poate observa că există două modalităţi de implementare hardware a unui sistem
de control digital, notate ca algoritm I şi algoritm II. De asemenea se poate observa că
indiferent de algoritmul abordat, un proiect trebuie să parcurgă 6 etape între faza de
proiectare, simulare, implementare şi testare în hardware. În continuare vor fi prezentate cele
6 etape, urmărind diagrama din figura 5.4:
1. După faza de elaborare a unei diagrame bloc a sistemului de control (vezi capitolul 6),
în care intrările şi ieşirile unui bloc sunt bine definite de asemenea şi funcţionarea
acestuia, se poate trece la descrierea blocurilor. Astfel că, în prima etapă se va alege
modul optim de descriere a blocurilor sistemului de control. În funcţie de rolul
blocului aceste descrieri pot fi bazate pe diagrame de stare (FSM-finite state machine),
pe blocuri de tip IP (proprietate intelectuală ), pe reprezentări schematice şi cel mai
important în cod HDL (VHDL sau Verilog). Oricare ar fi modalităţile de descriere
alese iniţial, în general din prima etapă proiectul este convertit pentru următoarea
etapă sub formă de cod HDL.

30
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Figura 5.3 Metoda hardware-software propusă pentru implementarea/ testarea controlului hardware digital

2. În cea de a doua etapă descrierea HDL va trece prin faza de sinteză, după care se va
putea face o simulare funcţională folosind simulatorul logic ModelSim proprietar
firma ModelTech.
3. Dacă simularea funcţională este satisfăcătoare se va trece la implementarea blocului
proiectat, astfel că se vor executa automat fazele de translatare, mapare şi plasare a
logicii de configurare. În această fază fiind necesare bibliotecile tehnologice, de la
producătorul circuitului care urmează a fi programat.
4. După implementare se poate trece la generarea fişierului de configurare. Cel mai
frecvent de tip PROM (format .mcs) pentru programarea memoriei flash, sau de tip
bitstream (format .bit) pentru programarea directă a circuitului FPGA.
5. Pentru configurarea efectivă a circuitului FPGA se apelează la programul iMPACT,
care prin intermediul portului paralel al calculatorului şi a unui cablu JTAG va trimite
şirul de biţi către placa care conţine memoria flash şi circuitul FPGA.
6. În ultima etapă se poate face o testare a comportamentului în hardware a blocului de
control proiectat. Pentru aceasta se foloseşte programul ChipScope.

31
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Algoritmul I ale cărui etape au fost descrise, reprezintă modalitatea clasică de


implementare hardware a unui sistem digital. Avantajul acestui algoritm constă în faptul că
este bine cunoscut de proiectanţii de circuite digitale, mai puţin însă de cei de sisteme de
control. De asemenea un alt avantaj este că acest algoritm este integrat în medii complete de
proiectare, cum ar fi XILINX ISE, nefiind necesară învăţarea altor softuri suplimentare. Un
dezavantaj este faptul că proiectantul unui sistem de control, pentru a aplica acest algoritm,
trebuie să fie bun cunoscător a unui limbaj HDL şi a unui mediu de dezvoltare pentru acest
limbaj. Un alt dezavantaj este reprezentat de modalitatea destul de greoaie de simulare testare,
a proiectului. Este necesară scrierea de coduri HDL suplimentare (aşa numite testbench-uri)
necesare generării stimulilor pentru simulare. Când proiectul devine complex acesta devine
greu de administrat. Un alt dezavantaj, poate cel mai important, este reprezentat de faptul că
nu este posibil ca sistemul, în faza de testare, să interacţioneze cu modele matematice ale
procesului pe care trebuie să-l controleze. Astfel că în faza de testare în hardware pot să apară
situaţii neprevăzute. Practic urmând acest algoritm nu vom avea nici o interacţiune între
sistemul de control şi sistemul controlat decât în faza finală când sistemul de control este
implementat în hardware, vezi figura 5.1.
Algoritmul II de proiectare a unui sistem de control este dezvoltat să respecte aceleaşi
etape ca şi algoritmul I, însă are o flexibilitate mai mare şi vine să compenseze toate
dezavantajele amintite anterior. Acest algoritm se bazează pe platforma Simulink/System
Generator, care are la bază o bibliotecă cu blocuri parametrizabile, simulabile cu Simulink şi
implementabile în FPGA. În prima etapă a acestui algoritm descrierea proiectului se face
folosind blocurile din biblioteca programului sau pot să integreze coduri HDL (descrise în
algoritmul I) sub formă de blocuri numite black box. În următoare etapă, proiectantul are trei
opţiuni. Astfel, el poate să aleagă între a face o simulare folosind resursele Simulink (Scope),
semnalul va fi reprezentat analogic (amplitudine funcţie de timp, sau raportat la alt semnal). A
doua opţiune este reprezentată de aşa numita co-simulare HDL, în care se foloseşte ca
simulator programul ModelSim, semnalul va fi reprezentat digital, vizualizarea acestuia
putându-se face pentru perioade de timp relativ scurte. Ultima opţiune este reprezentată de co-
simularea HIL, în care se face direct verificare proiectului implementat în hardware. Trecerea
direct la această etapă înainte de ce de co-simulare HDL nu este recomandat deoarece există
şanse foarte mari ca proiectul implementat să conţină erori. Din diagrama 5.3 se poate
observa că algoritmul II în faza de implementare hardware se bazează tot pe algoritmul I, doar
că unele etape sunt comprimate. Cu A, B, C s-au notat cele trei zone unde algoritmul II poate
interacţiona (A) sau chiar este obligat să interacţioneze (B,C) cu algoritmul I. În faza de
descriere se poate observa că, diagrama cu blocuri System Generator poate fi convertită în
fişier HDL, şi se poate continua cu simularea şi implementarea acesteia folosind algoritmul I.
De asemenea este posibil ca după descrierea cu blocuri să se treacă direct la generarea
fişierului bitstream (punctul B) şi implementarea acestuia, lucru nerecomandat însă fără a se
face o co-simulare HDL în prealabil. Din cele expuse se pot observa uşor avantajele oferite de
cea de a doua metodă. Astfel, flexibilitate este evidenţiată prin multitudinea de opţiuni pe care
proiectantul le are încă din faza de descriere. În faza de simulare s-a putut vedea că există trei
modalităţi care acoperă atât simularea în domeniul de timp continuu, simulare necesară
deoarece sistemul de control interacţionează cu sistemul controlat care este analogic şi poate
fi descris prin funcţii de transfer continue. De asemenea este acoperită şi simularea digitală a
sistemului cu precizie ridicată, lucru foarte util pentru frecvenţe mari , respectiv testarea după
implementarea în hardware.

32
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

5.3 Metode de simulare şi testare în timp real a sistemelor de control


Simularea în timp real presupune că semnalele de intrare şi de ieşire ale sistemului
simulat prezintă aceleaşi valori raportate la timp, ca şi semnalele sistemului real. Pe durata
procesului de proiectare a sistemului de control (SC) sunt posibile diferite tipuri de simulări:
simulări fără limită de timp, practic controlul prototipului, simulări parţiale în timp real, în
care sunt simulate numai o parte a componentelor buclei de control (hardware in the loop) şi
simulări în care atât componentele buclei de control cât şi procesul controlat sunt
reprezentate prin modele matematice (software in the loop) vezi figura 5.4.a, [130]. În
această lucrare se propune un nou tip de simulare mixt, bazat pe simularea cu hardware în
buclă (HIL), vezi figura 5.4.b. La acest tip de simulare atât componentele buclei de control cât
şi sistemul controlat sunt reale. În software (Simulink) fiind achiziţionate doar semnalele de
control ale sistemului şi semnalele reprezentând răspunsul sistemului, iar simularea fiind fără
limită de timp. Această metodă de simulare este utilă la monitorizarea din interior a activităţii
sistemului şi permite şi vizualizarea acelor semnale cu o evoluţie rapidă în timp, în acest caz
răspunsul sistemului la un semnal de tip treaptă.

Figura 5.4.b Metoda propusă


Figura 5.4.a Metode cunoscute de simulare în timp real pentru simulare-testare în timp
real

5.3.1 Metoda de Co-simulare HDL


Diagrama din figura 5.1 prezintă una din modalităţile de simulare şi testare a unui sistem
de control folosind System Generator. Această metodă poartă numele de Co-simulare HDL.
Ea permite utilizarea în proiect a unor blocuri de tip Black Box care pot include coduri VHDL
dezvoltate de utilizator sau module de tip proprietate intelectuală, împreună cu blocuri Xilinx
System Generator. Avantajul folosirii acestei metode constă în faptul că pentru testarea
oricărui cod VHDL nu mai este necesară aplicarea de stimuli manuali direct în ModelSim sau
crearea de fişiere de testbench.

5.3.2 Metoda de Co-simulare în timp real cu hardware în buclă


O altă modalitate de simulare/testare a unui sistem de control folosind System
Generator este prezentată în diagramele din figurile 5.1, 5.3. Acesta este un proces tipic
pentru verificare rapidă cu hardware în buclă cunoscută sub numele de „Hardware in the loop
Co-Simulation”. În acest proces din Simulink/System Generator se generează un proiect
sintetizabil şi implementabil folosind programul Xilinx, rezultând fişierul de configurare .bit
şi un bloc „hardware in the loop” (HIL). Adăugând acest bloc proiectului, utilizatorul poate
porni simularea care încarcă fişierul de configurare în hardware şi preia în timp real răspunsul
circuitului hardware, care este reintrodus în Simulink, iar rezultatele pot fi vizualizate folosind
blocurile scope din Simulink.

33
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 6

6 IMPLEMENTAREA ÎN CIRCUITUL FPGA A


BLOCURILOR BUCLEI DE CONTROL HARDWARE
DIGITAL

În acest capitol se va prezenta arhitectura sistemului de control sub formă de diagramă


bloc şi se va face o descriere a funcţionării întregului sistem. De asemenea, se va face
proiectarea, simularea şi implementarea în hardware a fiecărui bloc în parte şi în final a
întregii bucle de control.

6.1 Structura şi funcţionarea sistemului de control implementat în FPGA

6.1.1 Descrierea structurii sistemului de control

În figura 6.1 este prezentată structura sistemului de control şi modul de interconectare


al acesteia cu modulul de putere şi cu motorul BLDC. Sistemul de control cuprinde
următoarele blocuri funcţionale: bloc introducere date intrare (ex. viteza de referinţă,
coeficienţi de amplificare), bloc conversie format date de intrare (ex. BCD / binar), regulator
sau controler (P, PI, PID sau PID-IIR), bloc de generare semnal PWM (standard sau
simetric), bloc de comutaţie, bloc de conversie frecvenţă / viteză (tahometrul), bloc de
interfaţă cu modulul de afişare (ex. conversie binar / BCD / 7 segmente). S-au demarcat prin
linie întreruptă toate acele blocuri care pot fi implementate în circuitul FPGA. Aceste blocuri
vor fi proiectate fie în cod VHDL (bloc PWM, convertor frecvenţă/viteză, modul conversie
binar-7-segmente şi altele) fie ca automat de stări (bloc de comutaţie) sau cu blocuri System
Generator ( controler PI şi alte blocuri de la nivele mai inferioare). Toate modulele vor fi
simulate funcţional, co-simulate HDL, co-simulate HIL şi implementate în hardware.

6.1.2 Descrierea funcţionării sistemului de control

După cum se poate


observa în diagrama din figura
6.1, într-un singur circuit
FPGA este implementat un
sistem complet de achiziţie de
date, de generare semnale de
control şi de asemenea, sunt
implementate interfeţe care
permit introducerea datelor şi
vizualizarea acestora. Într-o
primă fază pentru introducerea
valorilor de referinţă pentru
turaţie şi coeficienţii de
amplificare pot fi folosite
butoanele şi comutatoarele Figura 6.1 Diagrama bloc a sistemului de control pentru motorul BLDC
prezente pe placa de test.

34
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

De asemenea tot prin intermediul lor se va face selectarea valorii ce va fi afişată la un


moment dat. Formatul iniţial al vitezei de referinţă este BCD, format care va fi convertit în
binar pentru a putea fi comparat cu formatul binar al vitezei reale a motorului provenit de la
codificatorul optic de poziţie . Diferenţa dintre cele două semnale reprezintă semnalul de
eroare. Dacă semnalul este diferit de zero, prin amplificarea cu un coeficient, Kp al
controlerului şi suprapunerea lui peste un semnal generat de tip dinte de ferăstrău va duce la
modificarea factorului de umplere al semnalului PWM. Dacă eroarea este zero, factorul de
umplere al semnalului PWM rămâne neschimbat. Blocul de comutaţie are rolul de a prelua
semnalul PWM generat şi în funcţie de semnalele provenite de la senzorii de poziţie HALL,
va determina ordinea de intrare în conducţie a tranzistorilor MOS din invertor.

6.2 Proiectarea blocului de interfaţă dintre sistemul de control


implementat în FPGA şi resursele hardware de pe placa Spartan3
Acest bloc de interfaţă sau bloc introducerea/vizualizare semnale va permite
introducerea parametrilor de control şi monitorizarea sistemului controlat. Introducerea şi
vizualizarea datelor necesare buclei de control se poate face hardware sau software.

6.2.1 Bloc de introducere parametrii de control

6.2.1.1 Modalitate de introducere hardware a parametrilor de control


Acest bloc permite introducerea datelor din hardware, folosind facilităţile plăcii de
control Spartan-3. În diagrama din figura 6.2 este prezentat algoritmul ce va fi implementat cu
cod VHDL .
Mărimile de intrare în blocul de
introducere parametrii de control sunt:
en_digit - activarea unui caracter al
afişajului, inc- incrementarea valorii unui
caracter afişat, Sw5&Sw4 –selectare/afişare a
unui parametru de control;Prin intermediul
afişajului vor putea fi vizualizate următoarele
mărimi: viteza de referinţă, viteza la un
moment dat a motorului BLDC, constantele
de amplificare proporţională şi integrală a
controlerului PI şi vizualizat sensul de rotaţie
al motorului pe baza informaţiei primite de la
tahometru. Diagrama din figura 6.2 prezintă
algoritmul pentru introducerea respectiv
afişarea vitezei de referinţă, dar etapele de la
2 la 8 se repetă şi pentru introducerea/afişarea
coeficienţilor proporţional respectiv cel
integral. La fel şi etapele de la 4 la 8 se repetă
pentru activarea fiecăruia din cele patru
caractere ale afişajului. Pe baza algoritmului
prezentat s-a făcut descrierea cu cod VHDL.
şi co-simularea HDL.

Figura 6.2 Algoritm de introducere şi vizualizare


hardware a parametrilor de control

35
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

6.2.1.2 Modalitate de introducere mixtă hardware/software a parametrilor de control


În figura 6.3 este prezentată
implementarea în Simulink, ca şi
black-box (reper 1), a blocului de
introducere parametrii de control. Se
poate observa că toate mărimile de
intrare în bloc sunt multiplexate.
Această multiplexare permite
introducerea hardware sau software a
datelor. În figura 6.4 este prezentat
rezultatul implementării în FPGA a
blocului de intrare pentru co-simulare
HIL sau JTAG. Stimuli software
complecşi, vezi reper 1.

6.2.2 Monitorizarea sistemului


controlat
La fel ca şi la introducerea
parametrilor de control, sistemul
controlat poate fi monitorizat atât
hardware cât şi software. Vizualizarea
Figura 6.3 Blocul de intrare date importat în Simulink ca şi
software se poate face folosind blak-box
resursele din biblioteca Simulink, vezi
figura 6.4, reperul 2

Figura 6.4 Implementarea în FPGA blocului de intrare pentru simulare co-simulare HIL

6.3 Proiectarea şi implementarea modulului de generare semnal PWM


Strategia ce va fi implementată pentru controlul tensiunii şi implicit a turaţiei, cea mai
folosită în cazul motoarelor BLDC, este PWM (Pulse Width Modulation). În continuare este
prezentă relaţia dintre tensiunea de alimentare a invertorului şi tensiunea medie aplicată în
statorul motorului BLDC.
U med = d * U dc ; (6.1) Umed – tensiunea medie în înfăşurările statorice;
Ton T d – factor de umplere;
d= = on ; Udc – tensiunea de alimentare a invertorului;
Ton + Toff T (6.2) Ton - perioadă de conducţie a unui tranzistor;
d [%] = d *100; Toff – perioada de blocare a unui tranzistor;
T – perioada unui ciclu PWM.
Pentru ca motorul să atingă turaţia nominală este recomandat ca tensiunea aplicată
invertorului să fie cu cel puţin 10% mai mare decât tensiunea nominală a motorului.

36
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

6.3.1 Tipuri de semnale PWM

În funcţie de modul cum este poziţionată perioada de


conducţie pentru diferiţi factori de umplere, semnalul PWM
poate fi standard sau simetric.
Perioada semnalului de ieşire, mai precis a unui ciclu
PWM este dependentă de numărul de biţi ai numărătorului
care generează semnalul rampă de referinţă şi de frecvenţa la
care lucrează acest numărător. Relaţia 6.3 exprimă dependenţa
enunţată mai sus.
f in
FPWM = (6.3)
c * ( 2 b − n)
b – număr de biţi pe care se face contorizarea perioadei PWM;
c = 1 pentru PWM standard şi 2 pentru PWM simetric;
n –pentru n=0 se obţine frecvenţa maximă a semnalului PWM;
fin – frecvenţa semnalului de clock în acest caz frecvenţa
aplicată circuitului FPGA, 50 MHz.
Figura 6.5 Algoritm de generare a
semnalului PWM standard
Modul de generare a semnalului PWM, cel mai des folosit pentru controlul motoarelor
BLDC este conform referinţelor este modul standard sau “edge-aligned”. La alegerea
frecvenţei semnalului PWM trebuie avute în vedere câteva aspecte. Cu cât este mai mare
frecvenţa semnalului PWM cu atât sunt mai mari sunt pierderile la comutaţia tranzistorilor, iar
o frecvenţă prea mică a semnalului PWM va avea efect asupra curentului din înfăşurările
statorice a cărui profil va fi format dintr-o serie de impulsuri de valori mari, urmate de
intervale în care valoarea curentului este zero, aceasta putând produce o rotaţie sacadată a
motorului şi un cuplu intermitent. Frecvenţa ideală depinde de caracteristicile motorului, în
special de valoarea inductanţei înfăşurărilor statorice. O valoare rezonabilă a frecvenţei
semnalului PWM este în intervalul 10 – 20 KHz. Aceasta adaptându-se şi la valoarea
frecvenţei de intrare disponibile. Conform celor menţionate anterior, rezoluţia optimă a
generatorului de semnal rampă, în acest caz este de 12 biţi.

6.3.2 Strategii de generare a semnalului PWM


Conform literaturii de specialitate există două modalităţii de a realiza comutaţia
curentului prin ramura de invertor, acestea sunt cunoscute ca şi chopare „hard” şi chopare
„soft”. Tehnica de chopare soft nu permite numai controlul curentului prin înfăşurările
statorice ale motorului, dar contribuie şi la micşorarea riplului acestuia. În această lucrare,
implementarea hardware a acestor strategii se va face în cadrul modulului de comutaţie.

6.3.3 Implementarea generatorului de semnal PWM în circuitul FPGA


Acest bloc este descris în VHDL, ţinând cont de diagramele logice elaborate. Pentru a
putea fi utilizat în System Generator împreună cu celelalte componente acest cod va fi asociat
cu un bloc numit black box fiind necesar ca în acest cod să se folosească şi un semnal de
activare clock [140]. Înainte de implementarea codurilor VHDL în circuitul FPGA se face o
co-simulare HDL, pentru ambele variante de semnal PWM. Rezultatele acestei co-simulării se
pot vizualiza în figura 6.6. Modulele PWM simulate au mărimea de intrare pe 12 biţi, astfel că

37
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

limita maximă va avea valoarea 4095, valoare pentru care factorul de umplere este 1 sau
100%.

Figura 6.6. Formele de undă corespunzătoare blocului de generare semnal PWM, captură din ModelSim

6.3.4 Rezultatele co-simulării cu hardware în buclă şi ale implementării în FPGA


Pentru verificarea funcţionării modulelor PWM implementate în circuitul FPGA s-a
optat şi pentru simulare cu hardware în buclă. În acest mod de simulare, modulul PWM este
implementat în FPGA, iar rezultatele simulării sunt transferate în Simulink, prin cablul JTAG.
Rezultatele comparative ale implementării, în circuitul FPGA XC3s200, a blocului
PWM pentru generare semnal standard sau simetric arată că numărul de slice-uri folosite la
implementare PWM standard acest număr este mai mic faţă de implementare PWM simetric,
cu aproximativ 30%.

6.3.5 Rezultate experimentale


În figura 6.7 sunt prezentate capturile
de pe osciloscop ale semnalului PWM
standard implementat în circuitul FPGA. Se
poate observa frecvenţa, pentru o rezoluţie de
12 biţi, aproximativ 12.2 kHz .Rezultate
corespunzătoare s-au obţinut şi pentru PWM
simetric
În concluzie pentru implementarea unui
bloc de generare semnal PWM pe 12 biţi,
implementarea PWM standard este de
preferat întrucât frecvenţa semnalului generat
se încadrează în plaja recomandată de 10 – 20
kHz. Figura 6.7 Factor de umplere 80%, PWM standard

6.4 Blocul de comutaţie

6.4.1 Comutaţia curentului prin cele trei faze statorice ale motorului BLDC
După cum s-a putut vedea dintr-un capitol anterior datorită faptului că motoarele
BLDC nu au perii, comutaţia curentului în fazele statorice se realizează electronic în funcţie
de poziţia rotorului. Pe durata fiecărei secvenţe de comutaţie, în cazul unui motor trifazat,
două faze vor fi parcurse de curent, în timp ce, cea de a treia va fi flotantă. Utilizând tehnica
PWM, tensiunea medie aplicată fiecărei înfăşurări statorice poate fi controlată, controlând

38
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

astfel turaţia motorului. Rolul blocului de comutaţie fiind acela de a prelua semnalul PWM şi
de al transmite succesiv la câte o pereche de tranzistori, aflaţi pe braţe diferite ale invertorului.
Succesiunea activării perechilor de tranzistori făcându-se în funcţie de poziţia rotorului,
informaţie oferită de senzorii HALL. De asemenea prin intermediul blocului de comutaţie se
stabileşte şi sensul de rotaţie al motorului. Majoritatea producătorilor de motoare BLDC
furnizează acest tip de motoare împreună cu trei senzori cu efect Hall. Fiecare senzor
furnizează un semnal digital cu nivel logic 1 pentru o perioadă π (1800 grade electrice), iar
pentru cea de a doua perioadă π un semnal digital cu nivel logic 0. Semnalele date la ieşire de
cei trei senzori sunt defazate între ele cu 600 electrice astfel că fiecare senzor este aliniat cu
unul dintre circuitele electromagnetice. Numărul de cicluri electrice care trebuie să se repete
pentru a obţine o rotaţie mecanică complectă este determinat de numărul de poli rotorici.
Astfel că, pentru fiecare pereche de poli rotorici se execută un ciclu electric. În acest caz, între
numărul de rotaţii mecanice, cicluri electrici şi viteza motorului se stabilesc următoarele
relaţii:
f ciclu _ mecanic = p * f ciclu _ electric = p * f HALL (6.4) fciclu_mecanic - frecvenţa semnalului pentru o rotaţie
V rpm mecanică complectă;
f ciclu _ mecanic = (6.5) Vrpm - turaţia motorului exprimată în
60
rotaţii/minut;
din (6.4) şi (6.5) se obţine,
fcilcu_electric - frecvenţa cu care se realizează o
V rpm
f HALL = p * , sau (6.6) comutaţie electrică complectă;
60 fHALL - frecvenţa semnalului provenind de la
60 * f HALL
V rpm = (6.7) oricare din cei trei senzori HALL;
p p - numărul de perechi de poli rotorici.

De remarcat că, perioada unui ciclu


electric este egală cu perioada semnalului
provenind de la un senzor HALL (vezi
figura 6.8, astfel rezultă relaţia (6.5).
Relaţia (6.6) permite calcularea frecvenţei
semnalului de la un senzor HALL în
funcţie de turaţia motorului. Relaţia (6.7)
este utilă pentru calculul turaţiei
motorului, în cazul în care nu există un
codificator optic de poziţie. Această relaţie
poate fi uşor adaptată la algoritmi de
calcul prezentaţi la descrierea tahometrului
digital. Conform însă referinţelor se
reduce costul sistemului de control al
vitezei, datorită absenţei codificatorului, Figura 6.8 Semnale de tensiune din circuitul statoric şi
semnalele furnizate de senzorii HALL
dar scade şi precizia de măsurare a vitezei.
În această lucrare în partea experimentală s-a folosit un motor de curent continuu fără
perii din familia 3441 produs de firma Pittman, care conform specificaţiilor care are 2 perechi
de poli rotorici.
În figura 6.8 este prezentată o diagramă de timp care reprezintă relaţia dintre
semnalele date de senzorii Hall şi semnalele de excitaţie necesare circuitului statoric. Seria de
numere de la 1 la 6 din partea de sus a diagramei din figura 6.8 reprezintă fazele de comutaţie
a curentului prin cele trei înfăşurări statorice. De remarcat că, diagrama din figura 6.8
surprinde numai un ciclu electric din mişcarea rotorului, astfel că, conform celor menţionate
în paragraful anterior sunt necesare 4 astfel de cicluri pentru o rotaţie mecanică complectă.

39
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

6.4.2 Implementarea blocului de comutaţie folosind diagrame de stare

Plecând de la raportul dintre


stările pe care le pot avea cei trei
senzori şi secvenţa de comutaţie a
motorului s-a făcut descrierea blocului
de comutaţie folosind diagrame de
stare. Diagrama de comutaţie a fost
organizată în două zone. Starea de
reset este comună ambelor zone
asigurând tranziţia între ele în funcţie
de starea intrării Dir. Diagrama 6.9
asigură comutaţia tranzistorilor de pe
fazele statorice, astfel încât mişcarea
rotorului va fi în sensul acelor de
ceasornic (CW), dacă arborele
motorului este privit din partea opusă
codificatorului optic. Pentru mişcarea
rotorului în sens invers acelor de Figura 6.9 Blocul de comutaţie descris cu diagrame de stare,
ceasornic (CCW), diferă doar sens de rotaţie CW
succesiunea fazelor.
Semnalele de ieşire sunt şase câte unul pentru fiecare tranzistor de putere. De
asemenea se poate observa că semnalele de intrare sunt trecute printr-un registru de tip D ,
pentru a fi sincronizate cu semnalul de clock. Semnalul de la intrarea PWM se observa că este
transferat la ieşire după ce a fost trecut mai întâi printr-o poartă inversoare. Faptul că, câte o
pereche de tranzistori din etajul de putere vor primi la un moment dat acelaşi semnal modulat
PWM ne spune că este vorba despre metoda de chopare hard. Choparea soft se
implementează folosind aceeaşi tip de diagramă de stare ca şi cea din figura 6.9. Plecând de la
diagramele din figura 6.9 s-a generat codul VHDL.
Pe baza codului VHDL s-a făcut
co-simularea HDL a funcţionării
blocului de comutaţie, vezi figura 6.10.
Simularea s-a făcut pentru o turaţie a
motorului de 1000 rpm, astfel că,
conform relaţiei (6.6) a rezultat perioada
semnalelor a, b, c care provin de la
senzorii Hall ca fiind aproximativ de 30
ms, cu defazaj de 10 ms între semnale
(corespunzător la 1200).
Semnalul PWM de la intrare
având o frecvenţă de 12.2 kHz şi un
factor de umplere de aproximativ 10%,
pentru această viteză. Implementarea
acestui bloc, în circuitul FPGA
XC3s200, are ca rezultat ocuparea a
numai 2% din resursele acestuia.
Figura 6.10 Co-simularea HDL corespunzătoare blocului de
comutaţie pentru rotaţie în sens invers acelor de ceasornic

40
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

6.4.3 Rezultate experimentale

Capturile de pe osciloscop ale semnalelor de


intrare, senzorii HALL şi de ieşire, semnale de
comandă pentru invertor, corespunzătoare blocului
de comutaţie. În figura 6.11 se remarcă frecvenţa
semnalelor pentru o turaţie a motorului de 1000
rpm. În figura 6.12 sunt prezentate semnalele de
comutaţie pe fiecare ramură a invertorului, la o
turaţie a motorului de 1000 rpm.

Figura 6.12. Semnalele generate de blocul de


comutaţie pentru invertorul de putere

Figura 6.11 Semnale de la senzorii HALL pentru o


turaţie de 1000 rpm

6.5 Implementarea într-un circuit FPGA a unui tahometru digital cu


precizie ridicată şi funcţionare într-un domeniu larg de viteze
Tahometrul este o componentă esenţială în implementarea buclelor de control a vitezei
pentru acţionările de curent continuu sau alternativ. Rolul acestui dispozitiv este de a măsura
frecvenţa unui tren de impulsuri provenind de la un codificator optic montat pe arborele
motorului şi de a o convertii în informaţie de viteză.
Principiul de funcţionare al tahometrelor digitale se bazează pe măsurarea frecvenţei
unui tren de impulsuri provenind de la un codificator optic montat pe arborele motorului.
Există metode consacrate pentru determinare vitezei unui motor folosind tahometrele digitale,
în continuare vor fi prezentate două dintre cele mai folosite: 1. Măsurarea intervalului de timp
dintre două impulsuri succesive. 2. Contorizarea pe o perioadă de timp constantă a
impulsurilor provenind de la codificatorul optic, metoda este consacrată sub denumirea CET
(Constant Elapsed Time). În această lucrare vor fi implementate ambele metode în module
separate, astfel că schema de reglare a vitezei să beneficieze de o flexibilitate ridicată.

41
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Proiectarea tahometrului digital folosind metoda numărării intervalului de timp dintre două
impulsuri.
Pentru implementarea hardware a tahometrului digital bazat pe prima metodă se face
proiectarea a două blocuri unul numit bloc de interfaţă (având şi rol de filtrare) cu
codificatorul optic iar celălalt bloc de măsurare a vitezei. În figura 6.13 sunt reprezentate cele
două blocuri şi de asemenea semnalele care intră şi ies din acestea.
Semnalele Ea şi Eb provin de
la codificatorul incremental şi sunt
semnale de intrare în blocul de
interfaţă care pe baza acestora
generează trenul de impulsuri pentru
blocul de măsurare şi de asemenea
semnalul care indică direcţia. Figura 6.13. Blocurile constructive ale uni tahometru digital
Blocul de interfaţă cu codificatorul optic este construit folosind diagrame de stare pe
baza tabelelor de adevăr identificate şi prezentate în continuare.
Tabel T6.1. Tabele de adevăr asociate blocului de interfaţă
Starea Ea Eb Starea Ea Eb
S0 0 0 S0 0 0
S1 0 1 S4 1 0
S2 1 1 S5 1 1
S3 1 0 S6 0 1
Dir = 0 Dir = 1

Diagrama de stare prezentă în figura


6.14 generează trenul de impulsuri PT, pe
baza combinaţiilor celor două semnale Ea şi
Eb, eliminând totodată şi combinaţiile
nedorite. În funcţie de succesiunea
pulsurilor Ea şi Eb se va genera şi un
semnal Dir care să indice direcţia de rotaţie
a motorului. Atât semnalele de intrare cât şi
cele de ieşire sunt sincronizate cu semnalul
de tact prin intermediul unor bistabile de tip
D. Pe baza diagramei de stare din figura
6.14 s-a generat codul VHDL
implementabil şi s-a făcut co-simulare
HDL.
Cel de al doilea bloc care intră în
alcătuirea tahometrului digital este cel de
calculare a vitezei. Acest bloc presupune
implementarea unui algoritm care să
stabilească frecvenţa trenului de impulsuri
ce provine de la codificator. Figura 6.14. Diagrama de stare construită pe baza
tabelelor de adevăr
Algoritmul de stabilire a vitezei de rotaţie, pe care este bazat acest bloc este prezentat
în diagrama din figura 6.15. Conform acestei diagrame se va contoriza intervalul de timp
dintre două fronturi crescătoare ale semnalului provenind de la codificator. Valoarea obţinută
count_enc va fi inclusă în relaţia (6.12) din care se va obţine viteza la un moment dat a
motorului. Constanta din relaţia (6.12) s-a obţinut luând în considerare faptul că, codificatorul
optic furnizează 500 de impulsuri/rotaţie (vezi relaţia (6.8)), iar rata de eşantionare a fost

42
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

aleasă egală cu perioada semnalului de tact aplicat circuitului FPGA, adică 20 ns.(vezi relaţia
(6.10)).
Vrpm fcodif – frecvenţa semnalului provenind de
f codif = 500 * (6.8)
60 la codificatorul optic;
Tcodif =
1
=
60
(6.9) Tcodif – perioada semnalului provenind de la
f codif 500 * Vrpm codificatorul optic;
Tcodif 1 60 1 count_enc – valoarea contorului, în urma
count _ enc = = * − 9
(6.10) contorizării unui interval dintre două fronturi
TFPGA Vrpm 500 20 * 10
60 1
crescătoare.
const. = * = 6 * 10 6 (6.11) TFPGA – perioada semnalului de tact aplicat
500 20 * 10 −9
circuitului FPGA, în acest caz 20x10-9 s;
const. 6.000.000
Vrpm = = (6.12) Vrpm – viteza motorului, exprimată în
count _ enc count _ enc
rotaţii/minut;
Rata de eşantionare este mare în condiţiile în care oscilatorul extern conectat la
circuitul FPGA prezent pe placa Spartan 3 are frecvenţa de 50MHz [24]. Pentru această rată
de eşantionare eroarea de măsurare este minimă .
În figura 6.16 se poate observa reprezentarea grafică a distribuţiei erorii (exprimată în
rotaţii/minut) în funcţie de domeniul de viteze al motorului. Din figură se poate observa că
eroarea de măsurare este zero pentru viteze de până la aproximativ 2500 rpm, după care la
intervale de aproximativ 500-1000 rpm creşte cu 1 rpm, valoarea maximă atinsă fiind de 10
rpm în jurul turaţiei maxime a motorului, de 8000 rpm. Metoda de determinare a erorii a
constat în determinarea valorii lui count_enc în domeniul de viteze 1-8000 după care s-a
aplicat relaţia (6.12), iar din valoare vitezei astfel obţinute s-a păstrat numai partea întreagă.
Eroarea s-a obţinut ca şi diferenţă dintre viteza reală şi viteza calculată. În literatura de
specialitate, referinţa [33] o eroare între 1 - 2 rad/s (aprox. 9-19 rpm) este considerată
acceptabilă la turaţii mari, astfel că la 10 rpm (1, 047 rad/s) eroare se poate vorbii de o
precizie bună, pentru o turaţie de 8000 rpm.

Figura 6.16. Reprezentarea grafică a erorii de măsurare în


Figura 6.15. Algoritm de conversie funcţie de viteza motorului
frecvenţă/viteză

Modulul de măsurare a vitezei a fost descris în VHDL conform algoritmului din figura
6.15. Operaţia de împărţirea care se efectuează pentru determinarea valorii vitezei se face
folosind un bloc de împărţire de tip core optimizat pentru circuitul FPGA, generat cu utilitarul
Core Generator şi instanţiat ca şi componentă în codul VHDL al modulului de măsurare. În
figura 6.17 este prezentată arhitectura RTL a tahometrului digital. În această figură se
evidenţiază interconectarea celor două blocuri principale.

43
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Figura 6.17. Arhitectura RTL a tahometrului digital proiectat prin metoda măsurării intervalului de timp dintre
două impulsuri succesive

6.5.1.1 Rezultatele implementării în FPGA


S-au făcut două implementări prima optimizată pentru viteză (cu 41% resurse ocupate),
împărţirea având loc într-o singură perioadă de clock, iar cea de a doua optimizată pentru arie
(cu 19% resurse ocupate), rezultatul împărţirii fiind disponibil după 4 perioade de
clock.Verificarea funcţională a tahometrului implementat după metoda contorizării
intervalului de timp dintre două impulsuri se face cu simulatorul ModelSim integrat în mediul
Xilinx-ISE.

6.5.1.2 Rezultatele co-simulării cu hardware în buclă


În figura 6.18 este prezentat rezultatul simulării HIL pentru un sistem cu, codificator
care citeşte un singur semnal de la codificator optic. Se pot observa că pentru această rată
mare de eşantionare (20 ns) există o mulţime de valori aberante (spike-urile). Filtrarea acestor
valori se va face achiziţionând ambele semnale de la codificator, după metoda prezentată în
paragrafele anterioare. Rezultatele filtrării semnalului de la codificator se pot observa în
figura 6.19. se poate remarca şi precizia tahometrului a cărui indicaţiei este în jurul valorii de
referinţă (cu galben viteza de referinţă, cu albastru viteza măsurată de tahometru).

Figura 6.18. Rezultat al co-simulării hardware, Figura 6.19. Rezultat al co-simulării hardware,
pentru un singur semnal achiziţionat de la pentru semnal filtrat de la codificator
codificatorul optic

6.5.1.3 Rezultate experimentale


În figura 6.20 sunt vizualizate pe osciloscop semnalele Ea şi Eb de la codificatorul
optic. De remarcat valorile frecvenţelor acestor semnale în funcţie de care bazându-ne pe
relaţiile (6.8-6.12) se calculează viteza motorului astfel că o frecvenţă de aproximativ
16,65KHz corespunde unei viteze de 2000 rpm. De observat valorile uşor oscilante ale
frecvenţei semnalului PT, de aici apărând şi variaţii ale semnalului măsurat, în jurul valorii de
referinţă, vezi figura 6.21. Având în vedere performanţele dinamice foarte bune şi eroarea de

44
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

măsurare mică, se poate concluziona că s-a reuşit implementarea cu succes în FPGA a unui
tahometru digital performant, bazat pe metoda numărări intervalului de timp dintre două
impulsuri succesive. Implementarea acestui tip de tahometru într-un circuit FPGA care
lucrează la frecvenţa de 50Mhz este de dorit, făcându-l astfel adecvat pentru închiderea buclei
de viteză la motoarele BLDC.

Figura 6.20. Semnalele Ea şi Eb de la codificator Figura 6.21. Semnalul PT şi semnalul Eb pentru


pentru V = 2000rpm V = 2000rpm

6.5.2 Proiectarea tahometrului digital folosind metoda contorizării pe o perioadă de


timp constantă a impulsurilor provenind de la codificatorul optic
Cea de a doua variantă de proiectare a tahometrului digital este bazată pe aşa numita
metodă CET (Constant Elapsed Time) enunţată într-un paragraf anterior. În plus faţă de
măsurarea vitezei acest modul integrează şi blocuri pentru conversia binar-BCD şi BCD – 7
segmente. Acest modul este descris în totalitate în VHDL şi are rolul de a convertii trenul de
impulsuri de frecvenţă variabilă ce provine de la codificatorul de poziţie într-o valoarea binară
care să poată fi afişată pe blocul de afişare 7-segmente prezent pe placa Spartan3 Modulul
poate fi folosit de asemenea şi pentru a convertii valoarea vitezei de referinţă, pentru a fi
afişată. Din figura 6.22 se poate observa că acest model de tahometru digital este alcătuit din
trei blocuri. Primul dintre ele lucrează la frecvenţa de 1KHz şi are rolul de a număra într-un
interval de timp prestabilit impulsurile ce provin de la codificatorul de poziţie, valoare pe care
o va transmite mai departe blocului de conversie binar-BCD, împreună cu un semnal de start
la intervale de 1s, interval la care se face reîmprospătarea valorii afişate, cel din urmă
realizează converse bcd+7segmente şi asigură multiplexarea semnalului pentru afişaj.

Figura 6.22. Arhitectura RTL a tahometrului digital bazat pe metoda CET

Descrierea în VHDL a acestui bloc s-a făcut de asemenea după un algoritm elaborat de
autor. Spre deosebire de modulul conversie frecvenţă-viteză unde tot la al doilea impuls se
contoriza perioada de timp scursă între două fronturi crescătoare, în acest caz pentru a afişa o

45
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

valoare cât mai precisă şi mai stabilă a vitezei s-a ales varianta ca pe un interval de timp
stabilit (în acest caz 1 s)să fie numărate tranziţiile din zero în unu ale semnalului ce provine de
la codificatorul de poziţie. Eroarea s-a calculat şa fel ca şi în cazul precedent şi variază între 0
şi 8 rpm, indiferent de turaţia măsurată.

6.6 Proiectarea şi implementarea în hardware a controlerului de tip PID

6.6.1.1 Proiectarea cu blocuri System a controlerelor de tip P, PI, PID


În figura 6.23 este prezentat controlere PI, similar pentru P şi PID, proiectate cu
blocuri System Generator. Implementarea s-a făcut după relaţiile din capitolul 3, care
determină forma discretă a controlerului PID. S-a elaborat o platformă Simulink pentru
simulare a funcţionării celor trei tipuri de controlere proiectate cu blocuri System Generator,
comparativ cu controlerul PID modelat cu blocuri Simulink.

Figura 6.23 Controler de tip PI proiectat cu blocuri System Generator


În această simulare motorul
BLDC este reprezentat de funcţia sa de
transfer de ordinul I, determinată în
capitolul 2. Formele de undă rezultate în
urma simulării comparative sunt
prezentate în figura 6.24. Se poate
observa răspunsul aproape similar în
cazul controlerului modelat cu blocuri
System Generator comparativ cu cel
modelat cu blocuri Simulink. Se observă
că între răspunsul sistemului controlat PI
faţă de cel controlat PID nu există
diferenţe semnificative de eroare
staţionară, concluzia fiind că, în cazul
motorului BLDC este suficient controlul
PI, mai ales că nu apare nici un
suprareglaj al sistemului. De asemenea
pe aceeaşi diagrama s-a dorit punerea în
evidenţă a abaterii dintre răspunsul
sistemului controlat proporţional şi
proporţional-integral.
Figura 6.24 Rezultate simulării comparative

46
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

S-au făcut implementării în circuitul FPGA XC3s200, a controlerelor PI pe 32 de biţi


cu scalarea ieşirii respectiv a controlerului PI cu precizie maximă (maxim 64 biţi). S-a
observat că, între cel din urmă şi controlerul PI pe 32 de biţi diferenţa de resurse utilizate este
de 2%, însă diferă semnificativ valoarea frecvenţei maxime de lucru.

6.6.1.2 Proiectarea cu blocuri System Generator a blocului de saturaţie şi a blocului


estimator
Pentru limitarea mărimii de la ieşirea unui controler este utilă folosirea unui bloc de
saturaţie. În figura 6.25 este prezentat blocul de saturaţie şi formele de undă corespunzătoare.

Figura 6.25. Blocul de saturaţie şi formele de undă asociate Figura 6.26 Bloc Estimator

În figura 6.26 este prezentat blocul estimator, acesta generează semnalul de eroare
pentru controler. Acest bloc permite şi ponderarea referinţei cu coeficientul b şi de asemenea
limitarea valorilor extreme pe care aceasta le poate lua.

6.6.2 Implementarea în hardware a controlerului PID ca şi filtru IIR

În capitolul 3 s-au prezentat relaţiile matematice care descriu acest tip de filtre, relaţii
care dau posibilitatea implementării în FPGA a controlerelor PID ca şi filtre IIR.

6.6.2.1 Proiectarea cu blocuri System Generator şi rezultatele implementării în FPGA a


controlerului PID-IIR

Ţinând cont de arhitectura filtrului IIR şi de relaţiile determinate în capitolul 3 se face


în continuare proiectarea cu blocuri System Generator a controlerului PID-IIR. În figura 6.27
sunt prezentate rezultatele acestei proiectări.

Figura 6.27 Controler PID-IIR proiectat cu blocuri System Generator

47
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Performanţele arhitecturii din figura 6.27 au fost analizate comparativ cu cele ale
arhitecturii clasice de controler PI. S-a observat că abaterea este sub 1%. În concluzie,
datorită performanţelor evidenţiate în paragrafele anterioare şi datorită resurselor FPGA
consumate, relativ comparabile cu cele ale arhitecturii clasice de controler PI, noua arhitectură
de controler PID-IIR este o alternativă viabilă.

6.7 Închiderea buclei de control pentru motorul BLDC


În acest paragraf bucla de control a motorului BLDC va fi închisă, vezi figura 6.28, astfel
că fiecare componentă prezentată în diagrama bloc 6.1 se va regăsii în această buclă.

Figura 6.28 Sistemul de control proiectat, implementabil hardware

48
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

6.7.1 Modelarea şi simularea sistemului cu software în buclă

Pentru a se obţine un model de referinţă al comportării motorului BLDC controlat în


buclă închisă, s-a făcut mai întâi o simulare cu software în buclă. Numărul de componente al
buclei fiind minim, aceasta pentru a reduce cât mai mult durata simulării, din bucla de control
facând parte: codificatorul de poziţie, blocul de conversie frecvenţă viteză, blocul de estimare
a erorii şi controlerul de tip PID, model motor BLDC.

6.7.2 Rezultatele implementării în FPGA a întregii bucle de control şi testarea cu


hardware în buclă

Datorită numărului mare de componente al buclei şi datorită numărului mare de


stimuli ce trebuie introduşi şi sincronizaţi pentru a se obţine o simulare cât mai aproape de
realitate a comportamentului buclei de control, metoda de simulare cu software în buclă este
exclusă.
Metoda de testare abordată va fi cea propusă în capitolul 5. Sistemul de control va fi
implementat în hardware, sistemul controlat va fi chiar motorul BLDC, iar semnalele de
referinţă (viteza de referinţă), semnalele dintre FPGA şi motorul BLDC (semnalele de
comandă a tranzistorilor) şi semnalele din bucla de reacţie (de la senzorii HALL şi
codificatorul de poziţie) vor fi transmise din Simulink şi iar rezultatele capturate înapoi în
Simulink.
În tabelul T6.2 sunt prezentate Tabelul T6.2. Rezultatele implementării în circuitul
rezultatele implementării hardware în FPGA a întregii bucle de control
circuitul FPGA XC3s200, a tuturor
componentelor buclei de control prezentate în
figura 6.28. Din tabel se poate observa că
numărul de slice-uri folosite este de 1.384
dintr-un total de 1.920 astfel rezultând o
ocupare de 72% din capacitatea totală a
circuitului. De asemenea se observă că
frecvenţa maximă a întregii bucle de control
poate să fie de 150 MHz, de trei ori mai mare
decât frecvenţa la care lucrează FPGA-ul de Minimum period: 6.67 ns
pe placa de test Spartan 3. Astfel că, nu există Maximum Frequency: 150 MHz
riscul apariţiei hazardului logic.
Potrivit celor prezentate mai sus se poate concluziona că s-a reuşit implementarea cu
succes a întregii bucle de control a motorului FPGA folosind un circuit cu cost redus (aprox.
15 $) şi capacitate sub medie (200.000 porţi logice). Capacitatea de 28% rămasă nealocată
poate fi utilizată pentru implementarea altor bucle de control, cum ar fi cea de curent şi cea de
control a poziţie rotorului.

6.7.3 Testarea întregii bucle de control, rezultate experimentale

Pentru testarea buclei de control după metoda enunţată anterior este recomandat ca
introducerea datelor de intrare să se facă software. În această situaţie blocul de intrare poate fi
simplificat, prin înlăturarea multiplexoarelor şi a celorlalte blocuri ce facilitează introducerea
hardware a datelor. În figura 6.29 este prezentat blocul de testare, rezultat în urma
implementării în hardware a schemei simplificate. Prin intermediul acestui bloc şi a porturilor

49
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

sale proiectantul poate trimite în timp real stimuli din Simulink şi poate achiziţiona în timp
real răspunsul sistemului. Din figura 6.29 se poate observa că prin intermediul stimulilor din
Simulink, poate fi modificat sensul de rotaţie al motorului (intrarea Dir), pot fi introduse valori
pentru coeficienţii de amplificare ai controlerului PI (Kp, Ki), motorul poate fi pornit/oprit,
poate fi impus un palier fix pentru viteza de referinţă sau un profil aleatoriu.
În ceea ce priveşte semnalele de ieşire, poate fi vizualizat orice semnal considerat de
proiectant ca fiind de interes, cum ar fi sensul de rotaţie, semnale achiziţionate de la senzorii
Hall sau de la codificatorul de poziţie şi cel mai important, viteza de rotaţie motorului BLDC.
În figura 6.30 este prezentat răspunsul motorului BLDC la un semnal treaptă pentru
diferite valori ale vitezei de referinţă. Se poate observa că pentru valori ale coeficienţilor de
amplificare Kp=300 şi Ki=40 eroarea staţionară este de sub 0,2%, practic nulă.

Figura 6.29 Bloc de co-simulare-testare cu hardware în buclă pentru controlul software al motorului BLDC

Kp=300, Ki=40, Vref =1000 rpm Răspuns la semnal treaptă Vref=3500rpm

Figura 6.30 Răspunsul motorului (albastru) la aplicarea unei viteze de referinţă (galben) de tip treaptă

Figura 6.31 prezintă răspunsul motorului la variaţia sensului de rotaţie şi a vitezei de


referinţă, stabilite Din figura se observă că, răspunsul motorului urmăreşte strâns, chiar se
suprapune peste valoarea impusă a vitezei de referinţă. În cea de a doua diagramă din figura

50
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

este prezentată eroarea staţionară, care se poate observa că la turaţii de peste 500 rpm este sub
2%. Vârfurile negative care apar până la momentul de timp de 0,6 ms se datorează întârzierii
de un eşantion (20 ns), a răspunsului sistemului. Motorul este adus până la viteza 0 după care
pornit la o viteză mică, 200 rpm. O eroare staţionară mai mare, dar sub 10% apare la turaţii
mai mici de 200 rpm. Se observă de asemenea că motorul răspunde bine şi la schimbarea
sensului de rotaţie, ultima parte a diagramei, rezultând că este un sistem stabil. .

Figura 6.31 prezintă răspunsul motorului la variaţia sensului de rotaţie şi a vitezei de referinţă, stabilite

În concluzie implementarea întregii bucle de control a motorului BLDC într-un singur


chip (circuitul FPGA) este posibilă, performanţele obţinute fiind foarte bune, eroarea
staţionară de sub 1% pentru viteze mari, timpi de creştere de ordinul sutelor de microsecunde
şi suprareglaj 0.

51
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Capitolul 7

7 DEZVOLTAREA UNEI BIBLIOTECI SIMULINK CU


COMPONENTE PARAMETRIZABILE IMPLEMETABILE
ÎN FPGA

Proiectarea bazată pe modele sau blocuri ierarhice parametrizabile este o tendinţă a


ultimilor ani. Proiectarea bazată pe modele permite o abordare ierarhică a procesului de
proiectare, în care întregul proiect este iniţial definit la nivel conceptual, iar detaliile sunt
adăugate pe măsură ce se doreşte extinderea funcţionalităţii. Modelele create sau blocurile
parametrizabile pot fi folosite în toate etapele începând de la definirea specificaţiilor,
evaluarea prin simulare a proiectului şi a specificaţiilor acestuia, generarea automată de cod
implementabil în hardware, testarea cu hardware în buclă şi crearea unui mediu software
pentru testarea în timp real a întregului sistem hardware. Această abordare poate reduce în
mod substanţial timpul de dezvoltare conducând rapid la un proiect complet, funcţional şi
permiţând prin metode iterative optimizarea rapidă a parametrilor funcţionali.

7.1 Modalitatea de dezvoltare şi integrare în Simulink a bibliotecii cu


componente de control

7.1.1 Integrarea în Simulink şi structura bibliotecii cu componente de control


În figura 7.1 este prezentată biblioteca Simulink creată de autor, bibliotecă ce conţine
toate componentele necesare dezvoltării rapide a unui sistem de control pentru motoarele de
curent continuu.
Numele bibliotecii este Xilinx Motor
Control (by Daniel Mic). În funcţie de rolul
componentelor, biblioteca se împarte în patru
secţiuni
Secţiunea Motor Models s-au integrat
modelele matematice ale motoarelor de curent
continuu cu şi fără perii, vezi figura 7.6.
Aceste modele şi ferestrele de parametrizare au
fost deja prezentate în capitolul 2.
Secţiunea BLDC control ports, conţine
toate porturile hardware aferente pinilor
circuitului FPGA utilizaţi în aplicaţia de
control a motorului BLDC.
Secţiunea Spartan3 ports conţine toate
porturile hardware corespunzătoare pinilor
circuitului FPGA conectaţi la resursele Figura 7.1 Biblioteca Simulink creată, organizată în
hardware de pe placa Spartan3. patru secţiuni

Resurse ce permit introducerea şi vizualizarea datelor. Această secţiune din biblioteca


de componente este de uz general şi poate fi utilizată în orice aplicaţie dezvoltată cu placa
Spartan3.

52
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Secţiunea Control Blocks din biblioteca creată, conţine toate componentele buclei de
control testate în capitolele anterioare. Modalităţile de parametrizare a acestor componente
vor fi prezentate în subcapitolul următor.

7.1.2 Descrierea componentelor din biblioteca de control

În figura 7.4 sunt prezentate blocurile de control realizate. O parte dintre acestea sunt
parametrizabile, funcţionarea acestora putând fi modificată prin intermediul unei ferestre de
configurare. Cealaltă parte au un regim de funcţionare fix, blocurile cu simbol Xilinx. Primele
pot fi realizate cu primitive System Generator, sau mixt incluzând şi cod HDL, cele din urmă
sunt realizate numai în cod HDL. Biblioteca de componente de control conţine:
- Blocul de comutaţie configurabil, unde proiectantul are posibilitatea să aleagă între
comutaţie hard şi soft;
- Blocul PWM configurabil, la acesta proiectantul poate alege modul de generare a
semnalului PWM, standard sau simetric;
- Modulele de tahometru digital, unul cu filtrarea intrării şi bazat pe metoda de
contorizare a intervalului de timp dintre două impulsuri, celălalt bazat pe metoda CET şi
care asigură şi conversia binară-BCD-7-seg.
- Blocul parametrizabil de saturare semnal, aceasta permite alegerea limitelor de
saturaţie şi a timpului de eşantionare.
- Blocul parametrizabil de estimare cu ponderarea referinţei şi limitarea semnalului de
referinţă. Acest bloc permite alegerea valorii coeficientului de ponderare, a ratei de
eşantionare şi permite impunerea unor limite pentru semnalul de referinţă.
- Blocul de interfaţă cu placa Spartan 3. Acest bloc realizează interfaţarea cu hardware-
ul de pe placă şi este util la proiectarea unui sistem de control independent care nu
interacţionează cu calculatorul decât în etapa de programare;
- Blocul de interfaţă Spartan3/Simulink, care realizarea interfaţarea atât cu hardware-ul
cât şi cu software-ul, permiţând controlul şi monitorizarea mixtă Hardware-Software.
Din figura 7.4 se poate observa că sunt grupate blocurile din aceeaşi clasă şi cu porturi
identice: controlerele, blocurile de comutaţie şi blocurile PWM. Această grupare sugerează
faptul că integrarea într-un proiect a oricărui bloc din grup se poate face prin intermediul
blocului configurabil, exemplu blocul PID Configurabil, care va reprezenta grupul. Un bloc
configurabil, odată adus în fereastra de Simulink prin procedura cunoscută drag and drop, se
dă un click dreapta pe acesta şi se va deschide fereastra de configurare. Din această fereastră
prin alegerea opţiunii Block Choice, proiectantul va avea posibilitatea să aleagă între mai
multe versiuni de simulare şi implementare, în acest exemplu una dintre arhitecturile
controlerului PID. În figura 7.2 este prezentată fereastra de configurare a controlerului P. Din
figură se poate observa că aceasta este împărţită în două zone cea de parametri uzuali şi cea de
parametrii avansaţi. În zona de parametri uzuali se definesc coeficientul de amplificare, rata
de eşantionare, limitele de saturaţie şi valoarea iniţială. În zona de parametri avansaţi se
definesc precizia care poate fi maximă (64 biţi) sau poate fi definită de utilizator. În cazul
selectării celei de a doua opţiuni devin active şi următoarele câmpuri, tipul ieşirii (cu semn
sau fără semn), număr de biţi pentru precizie şi număr de biţi după virgulă, modul de tratare a
cuantizării şi a depăşirii. Efectele în hardware parametrilor avansaţi şi opţiunile pe care le are
proiectantul au fost prezentate mai pe larg în teză. doar a parţii de controler P.

53
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Figura 7.2 Parametrii de configurare uzuali Figura 7.3 Biblioteca cu blocurile de control
şi avansaţi pentru controlerul P şi PI parametrizabile

Figura 7.4 Biblioteca cu blocurile de control parametrizabile

54
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Prin activarea tabului Loock under mask click dreapta pe bloc, proiectantul poate avea
acces şi la nivelele ierarhice inferioare, unde poate face setări direct pe primitivele care
alcătuiesc controlerul (sumatoare, multiplicatoare etc.) şi de asemenea are acces şi la opţiuni
de implementare hardware. Dacă proiectantul doreşte modificarea parametrilor din fereastra
de configurare acesta are la dispoziţie opţiunea Edit Mask, pentru alte detalii vezi referinţele
[59, 140]. În situaţia controlerului PID a fost utilă dezvoltarea de blocuri separate pentru
fiecare tip de controler de la cel mai simplu la cel mai complex. Acesta datorită faptului că,
nu este deloc economic din punct de vedere al resurselor hardware, ca un controler configurat
de tip PI (18% ocupare hardware) să fie implementat ca şi controler PID, la implementare
intrând întreaga arhitectură a controlerului PID (23% ocupare hardware), rezultând o pierdere
de 5% resurse hardware. Această pierdere este şi mai mare în cazul implementării cu controler
PID.

7.2 Dezvoltarea unei interfeţe grafice pentru controlul în timp real al


motoarelor BLDC
Autorul a dezvoltat şi o interfaţă grafică pentru controlul în timp real al motoarelor de
curent continuu, cu circuite logice programabile. Interfaţa este prezentată în figura 7.5.
Această interfaţă este construită cu
programul GUI Builder, parte a platformei
Matlab. Acest program permite interacţiunea
dintre meniurile definite de utilizator în
interfaţă şi funcţiile implementate în
Matlab/Simulink. Interfaţa prezintă o
utilitate didactică deosebită la studiul
acţionărilor electrice cu circuite logice
programabile. Interfeţe similare fiind
realizate pentru acţionări cu procesoare de
semnal. Prin intermediul interfeţei grafice va
fi posibilă modificarea în timp real a
constantelor de amplificare a controlerului
PID observându-se efectul fiecăreia asupra
răspunsului motorului. De asemenea va fi
posibilă modificarea în timp real a vitezei de
referinţă şi a sensului de rotaţie.
Figura 7.5 Interfaţă grafică pentru controlul motorului
BLDC
Rezultatele acestor modificări vor putea fi observate grafic direct în fereastra de
afişare grafică a interfeţei sau într-un grafic mai explicit construit în Matlab pe baza unui
fişier cu rezultate creat în urma simulării, aceste rezultate vor putea fi comparate tot timpul cu
cele din hardware (turaţie şi sens de rotaţie afişate pe placa Spartan3 ).
Se poate concluziona că, toate componentele parametrizabile ale bibliotecii de control
se utilizează şi se configurează după metodele programului Simulink, cunoscute proiectanţilor
de sisteme de control. Astfel că utilizarea bibliotecii dezvoltate permite integrarea rapidă în
hardware a unui sistem de control cu circuite logice programabile fără a fi neapărat necesară
cunoaşterea detaliilor care se află în spatele măştilor de configurare (coduri VHDL, IP core-
uri, primitive System Generator) şi nici cunoaşterea în detaliu a arhitecturii circuitelor
programabile.

55
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

8 CONCLUZII ŞI CONTRIBUŢII

8.1 CONCLUZII STRUCTURATE PE CAPITOLE

În prima parte a capitolului 1 s-au scos în evidenţă importanţa şi avantajele aduse de


reglarea turaţiei unui motor electric: economisirea energiei electrice, controlul vitezei şi
poziţiei elementului de execuţie şi ameliorarea regimurilor tranzitorii. De asemenea, s-au
stabilit câteva criterii de clasificare a acţionărilor de putere mare şi mică care ar fi:
randamentul, dimensiunile şi o caracteristică de cuplu constantă, pentru primele, raport cuplu-
inerţie, frânarea dinamică, domeniu de viteze, pentru cele din urmă. Datorită accentului pus pe
motorul de curent continuu fără perii s-a făcut o încadrare a cestuia între celelalte motoare
electrice şi o comparaţie detailată cu motorul de curent continuu, scoţându-se în evidenţă
avantajele şi dezavantajele utilizării unuia sau a celuilalt, motivându-se totodată şi alegerea
acestui motor pentru dezvoltarea, ulterioară a aplicaţiei de control. Se poate astfel concluziona
că, motoarele de curent continuu fără perii sunt preferate faţă de cele clasice deoarece: ating
viteze mai mari decât motoarele convenţionale, au cuplu mai bun, pot fi folosite în medii mai
ostile, sunt mai fiabile şi necesită un număr mai redus de operaţii de întreţinere.
În cea de a doua parte a capitolului 1, s-a realizate o documentare aprofundată, a
utilizării circuitelor digitale în controlul motoarelor electrice. Datorită faptului că, utilizarea
circuitelor FPGA în implementarea algoritmilor de control este o tendinţă de dată recentă,
nefiind momentan foarte răspândit, s-au studiat şi prezentat selectiv lucrări legate de acest
domeniu. Ca şi rezultat al acestui studiu, bazat pe un număr consistent de referinţe
bibliografice s-au stabilit şi câteva criterii de performanţă utile în alegerea arhitecturii optime,
pentru un sistem care necesită procesarea în timp real a semnalelor, astfel că, trebuie să se
ţină cont de criterii cum ar fi, consumul de putere, flexibilitate, durata ciclului de proiectare,
performanţe, număr MAC/s. În urma comparării celor două tipuri de circuite DSP şi FPGA pe
baza acestui criteriu a rezultat clar performanţa crescută a circuitelor FPGA, chiar şi a celor
din categoria de circuite cu preţ scăzut, cum este şi circuitul Spartan 3 folosit în această
lucrare. Concluzia acestui studiu este ca circuitele FPGA au un potenţial considerabil în ceea
ce priveşte controlul motoarelor electrice, aceasta concluzie servind şi ca motivaţie pentru
elaborarea acestei lucrări şi pentru continuarea cercetării în acest domeniu.

În prima parte a capitolului 2 s-au prezentat modele matematice ale motorului de


curent continuu fără perii: modelul în coordonatele fazelor cu parametri concentraţi, modelul
cu ecuaţii de stare şi modelul bazat pe funcţia de transfer. Pentru descrierea modelului
matematic al maşinii BLDC este recomandată folosirea coordonatelor a,b,c. În acest caz
modelul este bazat pe reprezentarea fiecărei faze a motorului printr-o rezistenţă, inductivitate
şi o tensiune electromotoare. Pentru o simulare rapidă a controlului în buclă închisă a
motorului BLDC este de asemenea foarte util şi modelul bazat pe funcţia de transfer. La baza
acestui model stând constantele de timp electrică şi mecanică. S-a analizat de asemenea şi
comportamentul motorului BLDC descris de forma simplificată a funcţiei de transfer bazată
numai pe constanta de timp mecanică, ajungându-se la concluzia că este o aproximaţie bună,
aproximaţie validată prin simulare.

În capitolul 3 au fost prezentate controlerele PID. Pentru proiectarea adecvată a unui


controler de tip PID trebuie avute în vedere, filtrarea zgomotului, ponderarea referinţei,
fenomenul de saturare a actuatorului, metoda de acordare al controlerului şi modalitatea de
implementare digitală a controlerului. La implementarea unui controler cu acţiune derivativă

56
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

trebuie limitată amplificarea frecvenţelor înalte. Prin filtrarea valorii de referinţă înainte de a
fi aplicată controlerului se evită un semnal de control de tip impuls, apărut ca răspuns la
aplicarea unui semnal de referinţă de tip treaptă. Pentru a evita saturaţia procesului controlat
trebuie limitată variaţia valorii de referinţă, astfel încât valoarea de la ieşirea controlerului să
nu atingă niciodată limitele actuatorului. Există mai multe metode de acordare a controlerelor,
metode clasice, mai empirice, cum este metoda Ziegler Nicholls şi metode moderne care
necesită un calcul matematic intensiv, cum este metoda de acordare folosind alocarea polilor.
În cazul metodelor de reglare clasice cheia ajustării eficiente a celor trei constante constă în
folosirea unui proces care să permită decuplarea, cât mai mult posibil, a efectelor unei
amplificări faţă de cealaltă. Prin metoda alocării polilor se pot determina coeficienţii de
amplificare ai controlerului, impunând factorul de amortizare şi pulsaţia dorită şi cunoscând
două dintre caracteristicile motorului controlat şi anume constanta de tensiune electromotoare
şi constanta mecanică. Atât din relaţiile matematice cât şi din simulările Matlab-Simulink se
poate trage concluzia că, controlerele digitale pot fi proiectate cu succes ca şi filtre de tip
impuls cu răspuns infinit (IIR).

În capitolul 4, pentru implementarea controlului motoarelor BLDC cu circuite FPGA


se propune utilizarea a două plăci de test deja existente pe piaţă. Pentru partea de generare
semnale de control şi achiziţie semnale de la senzori, placa Spartan3 cu circuit FPGA, iar
pentru amplificarea semnalelor de control şi adaptarea nivelelor semnalelor provenind de la
senzorul optic şi de la senzorii Hall, placa PM50. Motorul BLDC folosit în experiment este
echipat cu senzorii necesari controlului. În cazul plăcii PM50 disponibilitatea acesteia pentru
implementarea părţii de comandă este cunoscută din aplicaţii anterioare. În cazul plăcii
Spartan-3, în urma unui studiu detailat a resurselor hardware s-a constata că oferă resursele
necesare implementării algoritmilor de control. S-a făcut şi o analiză a circuitului FPGA
prezent pe placă şi se apreciază că performanţele acestuia sunt optime pentru implementarea
controlului. În urma comparării performanţelor şi a costului circuitului Spartan-3 prezent pe
placa de control cu cele ale clasei superioare de circuite FPGA, Virtex, produse tot de firma
Xilinx, s-a constata că există posibilitatea dezvoltării unui sistem de control cu cost redus.În
urma studierii resurselor plăcii de comandă PM50, studiu care a urmărit compatibilitatea
semnalelor din punct de vedere electric şi logic între această placă şi modulul de control cu
circuit FPGA, se poate concluziona, că interconectarea acestora este posibilă şi că sunt
adecvate din punct de vedere hardware, implementării aplicaţiei de control.

În capitolul 5 autorul propune o metode rapidă de implementare facilă în hardware a


algoritmilor de control şi a interfeţelor conexe acestora, pentru comanda unui motor. Metoda
propusă permite proiectanţilor sistemului de control să se concentreze asupra specificaţiilor
de nivel înalt şi de asemenea obţinerea unui rezultat rapid în ceea ce priveşte performanţele
algoritmului de control ales şi costurile generate de implementarea acestuia în hardware Acest
tip de abordare permite proiectarea concurenţială, simplificând procesul de proiectare. Mediul
rezultat în urma unificării programelor de proiectare simulare, implementare şi testare poate
să pară eterogen şi poate crea confuzie, autorul propune un algoritm de proiectare a
sistemelor de control implementabile hardware care să exploateze la maxim facilităţile oferite
de fiecare pachet de programe prezentat pe parcursul acestui capitol. Metoda propusă de
autorul prezentei lucrări, foloseşte Simulink/System Generator ca şi platformă principală de
proiectare, program ce va interacţiona cu toate celelalte medii şi prin intermediul căruia se vor
parcurge toate etapele de proiectare. Se poate concluziona ca acest algoritm are avantajul de a
putea fi aplicat folosind mediul Matlab/Simulink, mediu de proiectare şi simulare familiar
proiectanţilor de sisteme de control.

57
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

Pe durata procesului de proiectare a sistemului de control (SC) sunt posibile diferite


tipuri de simulări, astfel sunt posibile simulări parţiale în timp real, în care sunt simulate
numai o parte a componentelor buclei de control (hardware in the loop) şi simulări în care atât
componentele buclei de control cât şi procesul controlat sunt reprezentate prin modele
matematice (software in the loop). În acest capitol se propune un nou tip de simulare, mai
precis testare, bazată pe simularea cu hardware în buclă. La acest tip de simulare atât
componentele buclei de control cât şi sistemul controlat sunt cele reale. Prin software
(Simulink) trecând doar semnalele de control ale sistemului şi semnalele reprezentând
răspunsul sistemului, creându-se astfel un mediu de testare software (testbench) pentru
sistemul hardware. Se poate concluziona că, această metodă de testare este utilă la
monitorizarea din interior a activităţii sistemului şi permite vizualizarea semnalelor cu o
evoluţie rapidă în timp, în acest caz răspunsul motorului la un semnal de tip treaptă.
Alte modalităţi de simulare/testare propuse şi aplicate de autor sunt: co-simularea
HDL şi co-simularea cu hardware în buclă. Prin utilizarea metodei de co-simulare HDL,
autorul concluzionează că pentru testarea oricărui cod VHDL nu mai este necesară aplicarea
de stimuli manuali direct în simulatorul ModelSim sau crearea de fişiere de testbench care
este o operaţiune consumatoare de timp în cazul proiectelor complexe. În urma co-simulărilor
cu hardware în buclă efectuate de autor s-a constatat că, durata de simulare a
comportamentului unui sistem este mult redusă, scăzând de câteva zeci de ori, executarea
algoritmilor de control mutându-se practic în hardware. În concluzie rezultatele obţinute prin
simulare HIL sunt identice cu cele de la simularea cu software în buclă, însă se câştigă un
spor de viteză, şi nu în ultimul rând sistemul se apropie din ce în ce mai mult de condiţiile
reale de funcţionare. Tot ca şi alternativă de testare a controlului implementat în hardware s-a
folosit programul ChipScope care permite vizualizarea activităţii oricărui semnal intern
circuitului FPGA. Plecând de la acest fapt se propune utilizării programului şi pentru
vizualizarea semnalelor achiziţionate în timp real din exteriorul circuitului FPGA.
În urma analizării metodelor de simulare/testare disponibile pentru verificarea
sistemului de control din etapa de proiectare până în etapa de implementare şi testare în
hardware se poate concluziona că cea mai eficientă metodă de testare, care permite testarea în
condiţii reale, este cea propusă de autor şi care derivă din metoda HIL.

În capitolul 6 s-a prezentat arhitectura şi funcţionarea întregului sistem de control


implementat cu circuite FPGA, sistem adecvat controlului motoarelor de curent continuu cu şi
fără perii. De asemenea, s-au proiectat, simulat şi implementat în hardware fiecare bloc în
parte, iar în final întreaga buclă de control. Sistemul implementat într-un singur circuit FPGA
permite generare semnalelor de control, achiziţia semnalelor reprezentând comportamentul
motorului comandat şi de asemenea facilitează vizualizarea informaţiilor mai sus menţionate
prin implementarea de interfeţe cu hardware-ul de pe placa de test.
Implementarea în circuitul FPGA a blocului care asigură interfaţa cu hardware-ul şi cu
mediul software ocupă 9% din capacitatea acestuia. Proiectarea acestui bloc este mixtă, cod
VHDL şi blocuri System Generator. S-a stabilit prin testări experimentale că o valoare
rezonabilă a frecvenţei semnalului PWM este în intervalul 10 – 20 KHz. Aceasta adaptându-
se şi la valoarea frecvenţei de intrare disponibile. Conform celor menţionate anterior rezoluţia
optimă a generatorului de semnal PWM proiectat este de 12 biţi pentru o implementare a
PWM-ului standard. La implementarea PWM-ului standard numărul de slice-uri este mai mic
faţă de implementare PWM-ului simetric, cu aproximativ 30%. Oricum în ambele cazuri
resursele consumate sunt sub 1%. Proiectarea acestui bloc s-a făcut integral în cod VHDL. În
acest capitol s-a proiecta, simulat şi implementat în hardware blocul de comutaţie, care
împreună cu blocul PWM poate implementa oricare dintre strategiile de chopare soft sau
hard. Implementarea acestui bloc, în circuitul FPGA are ca rezultat ocuparea a numai 2% din

58
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

resursele acestuia. Proiectarea acestui bloc s-a făcut folosind diagrame de stare din care s-a
generat cod VHDL. Tahometrul digital este o componentă esenţială în implementarea
buclelor de control a vitezei pentru acţionările de curent continuu sau alternativ. În acest
capitol s-au proiectat, simulat şi implementat două variante de tahometru digital: după
metodele contorizării intervalului de timp dintre două impulsuri succesive şi după metoda
contorizării numărului de impulsuri într-un interval de timp (metoda CET). Ambele variante
implementate au dat rezultate foarte bune în cea ce priveşte precizia. Se poate concluziona că
tahometrul bazat pe metoda CET va fi implementată împreună cu modulul de interfaţă cu
utilizatorul recomandat fiind acolo unde nu sunt necesare performanţe dinamice deosebite dar
beneficiind totuşi de preciziei bună neafectată de modificarea domeniului de viteze. Autorul
recomandă, implementarea tahometrului prin metoda de numărare a intervalului dintre două
fronturi crescătoare ale trenului de impulsuri, în bucla de control a vitezei unde performanţele
dinamice trebuie să fie foarte bune. În cazul celei din urmă, s-au făcut două implementări
prima optimizată pentru viteză (cu 41% resurse ocupate), a doua optimizată pentru arie (cu
19% resurse ocupate). În cazul variantei bazate pe metoda CET în plus faţă de măsurarea
vitezei fiind integrate şi blocuri pentru conversia binar-BCD şi BCD – 7 segmente, astfel că la
implementare va ocupa 37% din resursele FPGA. Având în vedere performanţele dinamice
foarte bune şi eroarea de măsurare mică, se poate concluziona că s-a reuşit implementarea cu
succes în FPGA a unui tahometru digital performant, în special cel bazat pe metoda numărări
intervalului de timp dintre două impulsuri succesive. Acest tip de tahometru pentru a avea o
precizie acceptabilă necesită o frecvenţă de lucru mare, în special pentru viteze mari ale
motorului, a se observa distribuţia erorii în funcţie de viteză. În acest caz implementarea
acestui tip de tahometru într-un circuit FPGA care lucrează la frecvenţa de 50Mhz este de
dorit, făcându-l astfel adecvat pentru închiderea buclei de viteză la motoarele BLDC. Un alt
obiectiv atins al acestui capitol a constat în proiectarea cu blocuri System Generator şi
analizarea comparativă prin simulare a mai multor variante de controlere: P, PI, PID, PID-IIR.
Pentru a avea o referinţă s-a realizat şi implementarea cu blocuri Simulink a relaţiei generale
ce descrie controlerul PID clasic. Analizând formele de undă rezultate se poate observa
răspunsul aproape similar în cazul controlerului modelat cu blocuri System Generator
comparativ cu cel modelat cu blocuri Simulink. Se observă că între răspunsul sistemului
controlat PI faţă de cel controlat PID nu există diferenţe semnificative de eroare staţionară,
concluzia fiind că, în cazul motorului BLDC este suficient controlul PI, mai ales că nu apare
nici un suprareglaj al sistemului. În funcţie de precizia (număr de biţi) controlerului PI
implementarea formei clasice a acestuia în FPGA poate consuma între 18-20% din resursele
acestuia. Implementarea sub formă de arhitectură IIR consumă cu 5% mai multe resurse, iar
performanţele sunt comparabile. În concluzie, datorită performanţelor evidenţiate în
paragrafele anterioare şi datorită resurselor FPGA consumate, relativ comparabile cu cele ale
arhitecturii clasice de controler PI, noua arhitectură de controler PID-IIR poate fi o alternativă
viabilă. Pentru a se obţine un model de referinţă al comportării motorului BLDC controlat în
buclă închisă, s-a făcut mai întâi o simulare cu software în buclă. La acest tip de simulare atât
sistemul controlat cât şi sistemul de control sunt reprezentate de modele care descriu
comportamentul acestora. În finalul capitolului este prezentată întreaga buclă de control a
vitezei, proiectată cu blocuri descrise în VHDL şi blocuri System Generator. Metoda de
testare abordată este cea propusă de autor şi permite un controlul şi o monitorizare a
funcţionării motorului BLDC în timp real, validarea metodei şi totodată a funcţionării corecte
a sistemului s-a făcut prin compararea rezultatelor cu cele de la simularea cu software în
buclă. Rezultatele implementării hardware în circuitul FPGA XC3s200, a tuturor
componentelor buclei de control reprezintă 72% din capacitatea totală a circuitului. Frecvenţa
maximă a întregii bucle de control poate să fie de 150 MHz, de trei ori mai mare decât

59
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

frecvenţa la care lucrează FPGA-ul de pe placa de test Spartan 3. Astfel că, nu există riscul
apariţiei hazardului logic.
În concluzie implementarea întregii bucle de control a motorului BLDC într-un singur
circuit FPGA este posibilă şi aceasta cu performanţe foarte bune, eroarea staţionară de sub 1%
pentru viteze mari, timpi de creştere de ordinul sutelor de microsecunde şi suprareglaj 0. De
remarcat că toate aceste performanţe au fost realizate pe un circuit FPGA familia Spartan 3,
circuit cu o capacitate mică spre medie (aprox. 200.000 logice) şi cu un preţ foarte accesibil
(aprox. 15$). Având în vedere resursele hardware ocupate de un controler PI (18%) şi de
asemenea valorile reduse ale timpilor de răspuns ai sistemului controlat în buclă, există
posibilitate extinderii performanţelor acestuia şi cu o buclă de control a curentului, folosind
acelaşi circuit FPGA. De asemenea implementând în hardware numai comanda din Simulink
sau numai comanda de pe placa Spartan3 vor rămâne la dispoziţia proiectantului şi mai multe
resurse ale circuitului FPGA, astfel încât vor putea fi adăugate facilităţi suplimentare de
control pe acelaşi circuit.

În prima parte a capitolului 7 sunt prezentate concepte ale proiectării bazate pe modele,
avantajul utilizării metodei de proiectare bazate pe modele constă în faptul că: Modelele
create pot fi folosite în toate etapele începând de la definirea specificaţiilor, evaluarea prin
simulare a proiectului şi a specificaţiilor acestuia, generarea automată de cod implementabil în
hardware, testarea cu hardware în buclă şi crearea unui mediu software pentru testarea în timp
real a întregului sistem hardware; Reduce în mod substanţial timpul de dezvoltare conducând
rapid la un proiect complet, funcţional şi permite prin metode iterative, optimizarea rapidă a
parametrilor funcţionali, toate acestea realizându-se într-un mediu unificat de proiectare
simulare şi testare. Autorul contribuie la implementarea metodei de proiectare bazată pe
modele, în controlul motoarelor electrice cu circuite logice programabile şi pune bazele unei
biblioteci de componente parametrizabile, integrate în Simulink, oferind astfel suportul
necesar aplicării metodei. Autorul propune platforma System Generator/Simulink ca mediu de
dezvoltare a blocurilor parametrizabile datorită faptului că este bine integrată în mediul
Matlab/Simulink, mediu binecunoscut proiectanţilor de sisteme de control şi care împreună
cu mediul ISE Xilinx dezvoltat de producător asigură parcurgerea tuturor etapelor de
proiectare. Fiabilitatea şi viabilitatea pes care o oferă acest toolbox au fost dovedite pe
parcursul dezvoltării unui sistem complet de control, vezi capitolele 5, 6. Parametrizarea
blocurilor de control permite pe lângă setarea parametrilor uzuali: coeficienţi de amplificare,
rate de eşantionare, limite de saturaţie etc. şi alegerea rapidă a unor parametrii avansaţi:
precizie de calcul, tipul semnalului de ieşire, modalitatea de tratare a cuantizării şi a depăşirii.
Însă modificarea acestor parametrii trebuie să se facă ţinând cont de efectul pe care îl au la
implementarea hardware.
Pentru reprezentarea valorilor semnalelor la simulare, mediul Matlab-Simulink
foloseşte reprezentarea în virgulă mobilă a numerelor pe 64 de biţi. În cazul conversiei din
virgulă mobilă în virgulă fixă apar efectele de depăşire şi de cuantizare, practic la trecerea
semnalelor generate de Simulink în System Generator, nu şi invers. În general este
recomandat să se lucreze cu numere exprimate pe un număr fix de biţi bine stabilit şi care să
fie acoperitor pentru exprimarea celei mai mari valori pe care o poate lua semnalul, astfel se
evită şi fenomenul de depăşire. Tratarea efectului cuantizării se face prin trunchiere sau
rotunjire. În cazul depăşirii opţiunile pe care le are proiectantul sunt saturarea şi descărcare.
Nu trebuie scăpat din vedere faptul că în cele din urmă, în hardware semnalele nu pot fi
reprezentate decât ca şi numere întregi. În general limbajele de descriere hardware VHDL şi
Verilog, nu oferă biblioteci pentru numerele reprezentate în virgulă. Astfel că este problema
proiectantului să stocheze separat partea întreagă şi cea zecimală a unui astfel de număr şi să
urmărească modul în care se fac operaţiile cu aceste numere, respectiv poziţia virgulei.Se

60
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

recomandă ca simularea să se facă cu numere în format dublă precizie pentru a nu fi afectate


performanţele sistemului. Odată stabilit faptul că proiectul este funcţional, se poate trece la
reprezentarea în virgulă fixă şi la impunerea numărului optim de biţi folosiţi în reprezentare,
urmărindu-se diminuarea cât mai puţin posibil a performanţelor obţinute la simularea
anterioară. Se recomandă ca rata de eşantionare pentru fiecare bloc să fie multiplu al valorii ce
reprezintă frecvenţa semnalului de tact pentru sistemul hardware sau acolo unde este posibil
se recomandă ca cele două valori să fie egale. Se simplifică astfel, conversia rată de
eşantionare în perioadă semnal de tact din hardware, iar simularea în acest caz, va fi făcută la
frecvenţă identică cu cea la care va lucra sistemul implementat în hardware, consecinţele
constau însă într-un consum mare de resurse software. În concluzie nu trebuie scăpat din
vedere faptul că, la orice setare a unui parametru, pentru a optimiza funcţionarea unui bloc,
există şanse mari să fie cheltuite resurse hardware suplimentare, astfel că impactul
modificărilor trebuie bine analizat.

8.2 CONTRIBUŢII ORIGINALE ALE AUTORULUI


1. Sistematizarea informaţiilor despre motoare electrice în general, stabilirea
performanţelor ce trebuie urmărite la acţionările de mică şi mare putere. Realizarea
unei încadrări sugestive a motorului de curent continuu fără perii între celelalte
motoare electrice, încadrare ce reflectă evoluţia acestuia din motoarele clasice.
Realizarea unei comparaţii între motoarele de curent continuu cu perii şi cele fără
perii şi identificarea similitudinilor dintre acestea. O prezentare simplă şi coerentă
a principiului de funcţionare şi a modalităţilor de control pentru motoarele BLDC,
utilă pentru o punere rapidă în funcţiune şi pentru un control optim al unui astfel
de motor
2. Stabilirea unor criterii de performanţă care să permită alegerea circuitului digital
adecvat pentru aplicaţia de control dezvoltată. Aplicarea criteriilor de performanţă
pe cele mai cunoscute circuite digitale prezente pe piaţă la ora actuală. Reducerea
ariei de selectare a circuitelor competitoare la două familii principale DSP şi
FPGA, elaborarea şi aplicarea unui criteriu suplimentar pentru departajarea
acestora. Realizarea unui studiu extins asupra principalelor soluţii de
implementarea a controlului cu circuite FPGA, în acţionări electrice sau alte
domenii.
3. Prezentarea şi implementarea în Simulink a modelului motorului BLDC în
coordonatele fazelor cu parametri concentraţi. Prezentarea şi implementarea în
Simulink a modelului motorului BLDC reprezentat de funcţia de transfer bazată pe
constantele de timp. Validarea prin simulare a modelului simplificat al motorului
BLDC bazat pe un proces de ordinul I. Analizarea răspunsului în amplitudine şi
frecvenţă a modelelor prezentate şi elaborarea unor componente uşor de
configurat, ce se vor include în biblioteca Simulink.
4. Prezentarea sistematizată privind controlere PID. Aplicarea cu rezultate bune a
metodei de acordare a controlerelor PID cu plasarea polilor în controlul motoarelor
BLDC modelate ca procese de ordinul I. Elaborarea unei metode de acordare
rapidă bazată pe răspunsul în frecvenţă. Obţinerea unor forme discrete pentru
termenii controlerului PID care să permită implementarea în hardware.
Sistematizarea materialului privind filtrele numerice şi identificarea unei forme de
filtru numeric care să modeleze comportamentul controlerelor PID. Elaborarea
relaţiilor matematice de calcul a coeficienţilor filtrului IIR, în funcţie de
coeficienţii de amplificare ai controlerului PID. Prezentarea unui exemplu de

61
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

calcul ai coeficienţilor controlerului PI prin metoda alocării polilor plecând de la


caracteristicile constructive ale motorului controlat. Validarea prin simulare
comparativă Matlab-Simulink a proiectării controlerului PID ca şi filtru IIR.
5. Prezentarea resurselor hardware necesare pentru controlul unui motor BLDC cu
circuite logice programabile, studierea modulelor de comandă şi control existente
pe piaţă. Prezentarea modulului cu circuit FPGA propus pentru implementarea
controlului şi identificarea părţilor componente ale acestuia, utile în aplicaţia de
control. Analizarea caracteristicilor şi performanţelor circuitului FPGA prezent pe
placa propusă pentru implementarea controlului şi identificarea acelor
caracteristici (nr. slice-uri, nr MAC-uri, frecvenţă de lucru) care sunt hotărâtoare
pentru alegerea unui circuit FPGA pentru o aplicaţie de control. Analizarea
comparativă a circuitului propus pentru implementarea algoritmilor de control,
Spartan3 faţă de circuite din familia Virtex, în funcţie de performanţă şi cost.
Stabilirea unor criterii pe care trebuie să le îndeplinească un invertor într-o
aplicaţie de control, studierea modulului PM50 propus pentru comanda motorului
BLDC şi prezentarea părţilor componente ale acestuia care sunt utile în aplicaţia
de control. Studierea caracteristicilor electrice şi mecanice ale motorului BLDC,
precum şi a caracteristicilor senzorilor Hall şi ale senzorului optic, aferenţi
acestuia. Realizarea practică a standului de control pentru motorul BLDC cu
circuite FPGA, prin interconectarea celor două module şi a motorului BLDC.
6. Propunerea şi prezentarea unor etape ce trebuie urmate în proiectarea unui sistem
de control implementabil cu circuite logice programabile. Identificarea,
sistematizarea şi stabilirea cu exactitate a rolului fiecărei resurse software necesare
în procesului de proiectare, simulare funcţională, implementare şi testare în
hardware a sistemului de control. Elaborarea unei metode de lucru (algoritm) care
să exploateze la maxim facilităţile oferite de unificarea programelor de proiectare,
simulare, implementare şi testare. Identificarea metodelor de simulare ce se
pretează în cazul sistemelor de control implementate cu circuite logice
programabile. Identificarea metodei de co-simulare HDL ca fiind adecvată
simulării componentelor sistemului de control. Identificare şi validarea prin
simulării a metodei de co-simulare cu hardware în buclă ca fiind adecvată simulări
şi testării sistemului de control. Propunerea unei metode de simulare, mai exact de
testare software a sistemului de control implementat în hardware, în condiţii de
control a unui motor real, metodă bazată pe metoda de co-simulare cu hardware în
buclă. Identificarea şi validarea unei metode de testarea a blocurilor sistemului de
control implementate în hardware, bazată pe programul ChipScope.
7. Autorul a proiectat la nivel de diagramă bloc întreaga buclă de control, după care a
elaborat algoritmi de funcţionare, a proiectat pe baza algoritmilor elaboraţi, a
simulat funcţional prin metodele de co-simulare HDL şi metoda clasică din
Simulink, a implementat în FPGA, a testat prin co-simulare cu hardware în buclă
şi a validat cu rezultate experimentale următoarele blocuri ale buclei de control:
bloc de interfaţă cu mediul Simulink şi cu resursele hardware ale plăcii de test,
modul de generare semnal PWM standard şi simetric, modul de comutaţie cu
facilităţi de chopare hard şi soft, două variante de tahometru digital bazate pe două
metode diferite, mai multe tipuri de controlere: P, PI, PID, PID-IIR şi blocurile de
saturaţie şi estimare. De asemenea s-au mai realizat: un model Simulink pentru
codificatorul de poziţie şi o platforma Simulink pentru simulare cu software în
buclă a întregii bucle de control. S-a realizat analiza comparativă prin simulare şi
implementare în hardware a tuturor arhitecturilor de controler propuse, şi în cele

62
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

din urmă a întregului sistem de control implementat în hardware, validându-se


astfel rezultatele obţinute prin simulări software.
8. Autorul a realizat implementarea metodei de proiectare bazate pe modele în
controlul maşinilor electrice, cu circuite logice programabile. A identificat
problemele care apar la reprezentarea informaţiei în format digital şi a oferit soluţii
aplicabile în toolboxul System Generator, care să diminueze cât mai mult efectele
acestora. A prezentat modalitatea de generare a „driverelor” pentru o placă
hardware şi încărcarea acestora în mediul de simulare, pentru a permite
comunicarea hardware-software. A prezentat modalitatea de integrare în Simulink
a bibliotecii create şi modalitatea de organizare a acesteia. A realizat biblioteci cu
modele pentru motoarele de curent continuu cu şi fără perii. A realizat o bibliotecă
cu porturile hardware specifice aplicaţiei de control a motorului BLDC şi o
bibliotecă cu porturile hardware de pe placa Spartan3 accesibile utilizatorului. Pe
baza modulelor proiectate şi testate în capitolul 6 autorul a realizat o bibliotecă cu
blocuri de control parametrizabile şi a documentat modul de utilizarea a
componentelor configurabile şi parametrizabile din biblioteca creată. A dezvoltat o
interfaţă grafică pentru controlul în timp real din Matlab/Simulink, a motoarelor
BLDC.

8.3 CONCLUZII FINALE

În urma studierii unui volum apreciabil de referinţe şi în urma experienţei acumulate de


autor pe parcursul acestei teze se poate trage concluzia că a fost aleasă implementarea
sistemului de control pentru motorul BLDC, cu circuite FPGA, datorită faptului că acestea
dispun de logică hardware reconfigurabilă, pot procesa informaţia mai rapid decât un procesor
de uz general, permit ca arhitectura controlerului să fie optimizată pentru utilizarea de resurse
minime sau pentru viteză de lucru ridicată, iar numărul de biţi ai registrelor de date poate fi
selectat în funcţie de aplicaţie. De asemenea descrierile în limbaj VHDL permit
implementarea sistemului în orice tip de circuit FPGA prezent pe piaţă. Într-un singur circuit
FPGA se pot implementa mai multe bucle de control digitale. Şi nu în ultimul rând un alt
considerent este timpul scurt de dezvoltarea şi lansare pe piaţă a aplicaţiei de control.

Autorul a realizat practic, un sistem complet şi funcţional din punct de vedere hardware şi
software pentru controlul motoarelor BLDC cu circuite FPGA, sistem care poate funcţiona
independent, sau care poate comunica bidirecţional şi în timp real cu mediul Simulink.
Autorul a creat o bibliotecă integrabilă în Simulink, cu componente parametrizabile necesare
simulării, implementării şi testării în hardware a buclei de control pentru motoarele de
curent continuu. A fost parcurs întreg lanţul de proiectare şi executare a sistemului de
control, plecând de la motorul BLDC, trecând prin modulul de control implementat în FPGA
şi ajungând la o interfaţa grafică ce facilitează introducerea parametrilor de control,
oferindu-se soluţii practice pentru fiecare etapă. Se prezintă astfel, o soluţie completă
hardware/software de implementare a controlului maşinilor electrice cu circuite logice
programabile.

63
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

9 BIBLIOGRAFIE SELECTIVĂ

[1] Åström Karl Johan, Control System Design, Lecture notes ME 155A, Department of
Mechanical & Environmental Engineering University of California, Santa Barbara,
2002.
[2] Bose B.K., Modern Power Electronics and AC Drives, Prentice HALL PTR, 2002.
[3] Brandmayr G., Humer G., Rupp M., Automatic Co-Verification of FPGA Designs in
Simulink, procedings MBDC2005, Munich, 2005.
[4] Chan Y.F., Moallem M., Wang W., Efficient Implementation of PID Control
Algorithm using FPGA Technology, 43rd IEEE Conference on Decision and Control,
Bahamas, 2004.
[5] Chen R., Chen L, System Design Consideration for Digital Wheelchair Controller,
IEEE Transactions on Industrial Electronics, vol. 47, no. 4 2000.
[6] Fratta A., Griffero G., Niedu S., Comparative Analysis among DSP and FPGA based
Control Capabilities in PWM Power Converters, The 30th Annual Conference of the
IEEE, November2-6, Busan, Korea.
[7] Galvan E., Torralba A., Franquelo L., ASIC Implementation of a Digital Tachometer
with High Precision in Wide Speed Range, IEEE Transactions on Industrial
Electronics, vol. 43, no. 6, 1996.
[8] Gavrincea, C., Mic D., Oniga, Ş., Tisan, A., VHDL Description of PIC14000
microcontroller with pipeline, Electronic and Telecommunication Symposium – 5-th
edition, Timişoara,2002.
[9] George W. Younkin, P.E., ElectricServo Motor Equations And Time Constants,
Industrial Controls Consulting, Div., Bulls Eye Marketing, Inc, Fond du Lac,
Wisconsin, 2000.
[10] Grout I., Rzan J., O’Shea T., Configuration and debug of field programmable gate
arrays using Matlab/Simulink, Journal of Physics, Limerick, Conference Series 15,
2005.
[11] Gwaltney David A., Kenneth D. King and Keary J. Smith, Implementation of
Adaptive Digital Controllers on Programmable Logic Devices, NASA Marshall
Space Flight Center, Huntsville, 2004.
[12] International Rectifier, FPGA-based High Performance AC Servo Motor Drive –
Accelerator TM configurable servo drive design platform, Author: Toshio Takahashi,
October 2002.
[13] Mathworks, Matlab The Language of Technical Computing, Simulink for Model
Based on System Level Design (www.mathworks.com).
[14] Mic D., Micu E., Oniga S., Hardware and Software Co-Design Method for
Implementation of Closed Loop Control for Brushless DC Motor, Proceedings of 10th
International Conference on Optimization of Electrical and Electronic Equipments
OPTIM’06 May 18-19, 2006, Braşov, Romania, in coop with: IEEE (IAS, IES,
PELS), IEE, VDE, vol. 3 pp. 59-66, ISBN 973-635-705-8; 978-973-635-705-3;
[15] Mic D., Implementation of Digital Hardware Control for a Brushless DC Motor on an
FPGA Board, International Workshop of Control and Information Technologies,
Ostrava, ISBN 80-248-0906-0, 2005.
[16] Mic D., Micu E., Oniga S., Gavrincea C., The FPGA Implementation of a Digital
Controller as a Digital Filter, Buletinul Ştinţific al Universităţii “Politehnica” din
Timişoara, Transaction on Electronics and Telecomunications, Tom 49(63), Fascicola
1, 2004.

64
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

[17] Mic D., S. Oniga, C. Gavrincea, A. Tisan, A. Buchman, Survey of digital tehniques
and circuits employed in motion control, Buletinul Ştiinţific, Seria C, Volumul X,
Fascicola Electronică, Electrotehnică, Automatizări, Simpozionul Ştiinţific Naţional,
Baia Mare, 8 – 9 Mai 2003, pp. 39 – 44. ISSN 1224-3272;
[18] Mic D., Implementation with FSM of some algorithms for control part of the I2C
controller, International Computer Science Conference microCAD 2002, Miskolc,
Hungary, 7-8 March 2002, Section G.
[19] Mic D., Oniga S., Contribution Regarding the VHDL Description of a Simulated
RAM Memory Used for Microprocessor Testing, Buletinul Ştiinţific Seria C Volumul
IX, Fascicola Electronică, Electrotehnică, Automatizări, Simpozionul Ştiinţific
Naţional, Baia Mare, 15-16 Mai 2001, pp. 77-82. ISSN 1224-3272.
[20] Mic D., Implementation of Stepper Motor Controller in a XILINX FPGA, Buletin
Ştinţific seria C volumul IX, Fascicola Electronica, Electrotehnica, Automatizări,
Simpozionul Stintific National, Baia Mare, 15-16 Mai 2001, pp 83-88.
[21] Mic D., Oniga S., A Study Regarding the Implementation with VHDL of a Simulated
Memory Used for Testing a Microprocessor, The 6th International Symposium for
Design and Technology for Electronic Modules - SIITME '00, Bucharest, Romania,
21-24 Sept. 2000, pp. 132-135.
[22] Mic D., Oniga Ş., Proiectare asistată cu circuite logice programabile, Editura
Risoprint, Cluj Napoca , 2002.
[23] Miller T.J.E., Brushless Permanent Magnet and Reluctance Motor Drives, Clarndon
Press OXFORD, 1989.
[24] Mulpur A., Galijasevic Z., Model based Design Shortens Development Time of
Motor Control Applications, The MathWorks Inc, Embedded Technology Journal,
2006.
[25] Omar A., Rahim N., Mekhilef S., Three Phase Synchronous PWM for Flyback
Converter with Power Factor Correction Using FPGA ASIC Design, IEEE
Transactions on Industrial Electronics, vol. 51, nr. 1, 2004.
[26] Oniga S., Sistem Senzorial pentru recunoaşterea gesturilor unei mâini utilizând reţele
neuronale implementate în FPGA, Teză de doctorat, Universitatea Politehnică
Timişoara, 2005.
[27] Oniga, S., Tisan A., Mic D., A. Buchman , Hand Postures Recognition System Using
Artificial Neural Networks Implemented in FPGA, 30th ISSE 2007 Conference
Proceedings, Emerging Technologies for Electronics Packaging, Technical University
of Cluj-Napoca, Cluj-Napoca, ROMANIA, May 9-13, 2007, pag 507- 512, IEEE
Catalog Number: 07EX1780C, ISBN: 1-4244-1218-8, 1-4244-1218-8/07/$25.00
©2007 IEEE;
[28] Oniga S., Tiponuţ V., Buchman A., Mic D., Adaptive Interface Based on FPGA
implemented Artificial Neural Network, Scientific Bulletin of the Politehnica
University of Timişoara, Tomul 49(63), Fascicola 1, 22-23 octombrie 2004, pp. 236-
240. ISSN 1583-3380;
[29] Oniga S., Mic D., Application possibilities of a development board with FPGA in
signal processing, International Computer Science Conference microCAD 2001,
Miskolc, Hungary, 1-2 March 2001, Section G.
[30] Oniga St., Mic D., Some Aspects Regarding VHDL Description for Program
Memory Used in Functional Simulation of Microcontroler, The 6th International
Symposium for Design and Technology for Electronic Modules - SIITME '00,
Bucharest, Romania, 21-24 Sept. 2000, pp. 135-139.

65
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

[31] Osama M., Liu S., Liu Z., A Phase Variable Model of BLDC based on Finite Element
Analysis and its Coupling with External Circuits, IEEE Transactions on Magnetics,
vol. 41, no. 5, 2005.
[32] Pragasan p., Krishnan R., Modeling of Permanent Magnet Motor Drives, IEEE
Transaction on Industrial electronics, vo. 35, no 4, 1988.
[33] Prodic, A. Maksimovic, D., Design of a Digital PID Regulator Based on Look Up
Tables for Control of High Frequency DC-DC Converters, Computers in Power
Electronics, IEEE Workshop, 2002.
[34] Sanvido M., Cechtickz V., Testing Embedded Control Systems Using Hardware In
The Loop Simulation and Temporal Logic, 15th Triennial World Congress, Barcelona,
2002.
[35] Shanblatt M., Foulds B., A Simulink to FPGA Implementation Tool for Enhanced
Design Flow, IEEE Internation conferences on Microelectronic Systems Education,
2005.
[36] Sokira T.J., W. Jaffe, Brushless DC Motors Electronic Comutation and Controls, Tab
Books Inc.
[37] Tisan A., Oniga S., Gavrincea C., D. Mic, A Study Regarding the Implementation
with VHDL of a Multiple Clock Gating Scheme for Low Power RTL Design,
Symposium of Electronics and Telecommunications, - Fifth Edition – Etc 2002,
September, 19-20, 2002, Timişoara, România, pp. 53-56. ISSN 1224-6034;
[38] Toshio Takahashi, International Rectifier, New Digital Hardware Control Method for
High Performance AC Servo Motor Drive – Accelerator Servo Drive Development
Platform for Military Application, Military Electronics Conference, 2002.
[39] Vasarhelyi J., Imecs M., Szabo C., Incze I., Performances of Module Library for
Vector Control using Reconfigurable Hardware, http://mazsola.iit.uni-
miskolc.hu/mazsola/ M.publications, 2002.
[40] Visser P. Groothuis M, and others, FPGA as versatile configurable I/O devices in
Hardware in the Loop Simulation, RTSS Lisbon, December 2004.
[41] Werner L., Control of Electric Drives, Editura Springer 1997.
[42] Xilinx Inc., - Nabeel Shirazi, Jonathan Ballagh, Put Hardware in the Loop with Xilinx
System Generator for DSP, Fall 2003.
[43] Xilinx Inc., Spartan-3 FPGA Family, Complete Data Sheet, DS099, 2006.
[44] Xilinx Inc., System Generator for DSP (www.xilinx.com).
[45] Xilinx Inc., FPGA Motor Control Reference Design, AN xapp808, 2005.
[46] Yong-Ho Y., Deok-Kyu K., Tae-Won L., You-Young C., Chung-Yuen W., Speed
Control System of PM Brushless DC Motor Using 2 Hall-ICs, 30th Annual
Conference of IEEE Volume 2, Issue , 2-6 Nov. 2004 Page(s): 1374 - 1379 Vol. 2.

66
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

CONTRIBUTIONS TO THE DEVELOPMENT OF A


HARDWARE-SOFTWARE INTEGRATED ENVIRONMENT FOR ELECTRIC
MOTORS CONTROL WITH PROGRAMMABLE LOGIC CIRCUITS

Doctoral Thesis Abstract

In this thesis author propose a rapid and new method to design and optimize the
electric motor control using Field Programmable Gate Array (FPGA). The elaborated
designing algorithm takes advantage of the unification of ISE Xilinx digital designing
environment with Matlab/Simulink simulation and testing environment, through System
Generator toolbox. This result in a faster and efficient design flows having the following
stages: design the model, evaluate the performance, generate and co-simulate VHDL (VHSIC
- Hardware Description Language) code and finally test the system with hardware in the loop.
So that, a unified testing software environment for electric motors operation and hardware
implemented control algorithms is obtained and arise the opportunity of optimization the
motor operation in a real time environment by iterative tuning of the control loop parameters.
Extending System Generator toolbox library with specific electric motors control
blocks (PWM, PID, Commutation blocks), a hierarchical control system design method is
achieved too, based on parameterized models.
A software and hardware operational system was realized using programmable logic
circuits for Brushless DC (BLDC) motor control. The system is able to operate independently
or to communicate in real time with Matlab/Simulink environment.

67
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

CURRICULUM VITAE

DATE PERSONALE:
Numele: MIC
Prenumele: DANIEL
Data naşterii: 31 august 1975
Locul naşterii: Baia Mare, Maramureş
Stare civilă: căsătorit, un copil
Adresa locului de muncă: Oficiul Judeţean de Telecomunicaţii Speciale Maramureş, Baia
Mare, str. 22 Decembrie, nr. 37
Adresă domiciliu: Baia Mare, str. Oituz, nr.2/18, Maramureş

STUDII PREUNIVERSITARE: Absolvent al Liceului industrial Cavnic, în anul 1993.


STUDII UNIVERSITARE : Absolvent al Universităţii de Nord Baia Mare, Facultatea de
Inginerie, specializarea electromecanică, în anul 1998. Proiect de diplomă realizat în cotutelă
la Universitatea Tehnică din Atena.
STUDII POSTUNIVERSITARE: Studii Aprofundate, Universitatea Tehnică din Cluj
Napoca, Facultatea de Electronică şi Telecomunicaţii, specializarea, Compatibilitate
Electromagnetică în Sisteme şi Aparate Electronice, în anul 1999.

ACTIVITATEA PROFESIONALĂ: preparator, asistent, şef lucrări la Universitatea de


Nord Baia Mare în perioada 1999-2004 şi colaborator în prezent, titular al mai multor cursuri
din care la ora actuală la cel de Proiectare cu Circuite Logice Programabile. Din 2004 angajat
(ofiţer) al Oficiului de Telecomunicaţii Speciale Maramureş, actualmente şef Birou
Tehnologia Informaţiei.

ACTIVITATE ŞTINŢIFICĂ:
Cărţi publicate: 1, autor principal, cu titlul: “Proiectare asistată cu circuite Logice
Programabile”, Editura Risoprint 2002.
Articole publicate: 19 (din care 7 la conferinţe internaţionale).
Proiecte şi studii de cercetare: 11.

DOMENII DE INTERES: Sisteme embedded, proiectare cu circuite logice programabile,


reţele de calculatoare.
LIMBI STRAINE CUNOSCUTE: Engleza

ALTE MENŢIUNI: 2 burse Tempus: la Universitatea Tehnică din Atena, Grecia şi la


Universitate Catolică din Leuven, Belgia, 1 bursă CEEPUS la
universitatea Tehnică din Varna, Bulgaria.

68
Contribuţii la dezvoltarea unui mediu integrat hardware-software
pentru controlul motoarelor electrice cu circuite logice programabile

CURRICULUM VITAE

PERSONAL DATA:
Surname: MIC
First name: DANIEL
Date of birth: 31 august 1975
Place of birth: Baia Mare, Maramureş
Civil status: married, one child
Work address: Special Telecommunication Service Maramureş County, Baia Mare, 22
December no. 37 street.
Home address: Baia Mare, Oituz, 2/18 street, Maramureş.

SECONDARY EDUCATION: Industrial High School from Cavnic, 1993;


UNIVERSITY EDUCATION: Graduate of North University of Baia Mare, Faculty of
Engineering, Electromechanics in 1998; Diploma Project
under joint supervision at National Technical University of
Athens
Master Studies, Technical University from Cluj Napoca,
Electronics and Telecommunications Faculty,
Electromagnetic Compatibility in Electronic Devices, 1999.

PROFESSIONAL ACTIVITIES: teaching assistant, assistant, lecturer at North University


of Baia Mare between 1999-2004 and associate staff since 2004, course leader “Designing
with Programmable Logic Circuits” Since 2004, Special Telecommunication Service
Maramureş County, head of IT department.

SCIENTIFIC ACTIVITIES:
Published books: 1, first author, title: “Assisted Designing with Programmable Logic
Circuits”, Risoprint, 2002.
Scientific papers: 19 (7 at International Conferences)
Research Studies and Projects: 11

DOMAINS OF INTERES: Embedded Systems, Designing with Programmable Logic,


Computer Networks.
KNOWN FOREIGHN LANGUAGES: English

OTHERS: 2 Tempus grants, at the National Technical University of Athens, Greece and
the Catholic University Leuven, 1 CEEPUS grant at the Technical University
of Varna, Bulgaria.

69