Sunteți pe pagina 1din 74

Universitatea Transilvania din Braşov Specializarea

Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

PROIECT DE DIPLOMĂ
CONTROLUL MOTOARELOR D.C.
FOLOSIND O PLACĂ DE
DEZVOLTARE CU DSP

BRAŞOV
2008

1
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
CUPRINS

CAPITOLUL 1. INTRODUCERE.............................................................................................4
1.1 Memoriu justificativ....................................................................................................5
1.2 Procesor de Semnal Digital şi Procesarea de Semnal Digital.....................................5

CAPITOLUL 2. MODELUL DINAMIC AL MOTORULUI DE CURENT CONTINUU


FĂRĂ PERII...............................................................................................................................9
2.1 Introducere..................................................................................................................9
2.2 Comutaţia..................................................................................................................13
2.3 Caracteristici de performanţă....................................................................................16
2.4 Sesizarea poziţiei arborelui.......................................................................................21

CAPITOLUL 3. PLACA DE DEZVOLTARE MSK2812 CU PROCESOR DE SEMNAL


DIGITAL TMS320F2812.........................................................................................................25
3.1 DSP - atunci şi acum.................................................................................................25
3.2 DSP - Generalităţi.....................................................................................................26
3.3 DSP TMS320F2812 Texas Instruments...................................................................29
3.3.1 Structura DSP-ului TMS320F2812...................................................................29
3.4 Placa de dezvoltare MSK2812 – Technosoft............................................................37
3.4.1 Hardware Placa MSK2812...............................................................................38
3.4.2 Software Placa MSK2812.................................................................................40

CAPITOLUL 4. APLICAŢIA PRACTICĂ - REGLAREA POZIŢIEI MOTORULUI DE


CURENT CONTINUU FĂRĂ PERII FOLOSIND O PLACĂ DE DEZVOLTARE CU DSP
...................................................................................................................................................44
4.1 Introducere................................................................................................................44
4.2 Structura aplcaţiei.....................................................................................................47
4.3 Resursele DSP-ului folosite de aplicaţie...................................................................48
4.3.1 Schema de măsurare a curentului.....................................................................48
4.3.2 Conectarea senzorilor Hall................................................................................49
4.3.3 Secvenţa de conexiune a fazelor motorului......................................................50
4.4 Aspecte ale implementării software..........................................................................50
4.4.1 Utilizarea timerelor şi aspecte legate de întreruperi.........................................50
4.4.2 Generarea ieşirilor PWM..................................................................................51
4.4.3 Măsurarea curentului........................................................................................52
4.4.5 Calculul unghiului electric................................................................................54
4.4.6 Controlul curentului..........................................................................................55
4.5 Implementarea schemei în Matlab Simulink............................................................56
4.5.1 Regulatoare numerice - Noţiuni introductive...................................................56
4.5.2 Controlul curentului şi implementarea controllerului.......................................58
4.5.3 Controlul poziţiei PID.......................................................................................59
4.5.4 Librăriile folosite în construcţia schemei..........................................................61
4.5.5 Scalarea factorilor utilizaţi................................................................................62
4.6 Descrierea software-ului aplicaţiei...........................................................................63
4.6.1 Proiectele non DSP/BIOS.................................................................................63
4.6.2 Proicte DSP/BIOS.............................................................................................64
4.6.3 Proiectul............................................................................................................64
4.7 Utilizarea aplicaţiei în mediul DMCD-Pro...............................................................67
4.8 Realizarea practică a aplicaţiei..................................................................................67

2
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
4.8.1 Realizarea schemei în Matlab...........................................................................67
4.8.2 Generarea codului pentru controllere................................................................68
4.8.3 Integrarea codului în proiectul DMC Developer-PRO şi complilarea
proiectului.........................................................................................................................69
4.8.4 Download-area programului şi achiziţia datelor...............................................70

CAPITOLUL 5. CONCLUZII..................................................................................................73
BIBLIOGRAFIE...................................................................................................................74

3
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

CAPITOLUL 1. INTRODUCERE

Introducerea pe scară largă a automatizării şi robotizării, realizarea noilor tipuri de maşini


unelte cu comanda program au condus la necesitatea utilizării unor sisteme de acţionare cât
mai rapide şi fiabile.
Actionarea electrică poate fi definită numai dacă se ia în consideraţie întreg ansamblul din
care face parte, adică instalaţia industrială şi dacă se ţine seama de scopul principal urmărit:
realizarea unui proces tehnologic de producţie. Instalaţia în care se utilizează actionări
electrice cuprinde în mod necesar urmatoarele trei parţi: maşina electrică, elementele de
transmisie a mişcării şi maşina de lucru. Procesul tehnologic de fabricaţie este realizat de
maşina de lucru, care este pusă în mişcare de maşina electrică de acţionare prin intermediul
elementelor de transmisie.
În instalaţiile cu acţionare electrică se realizează conversia electromecanică a energiei, maşina
electrică îndeplinind rolul de convertor al energiei electrice în energie mecanică şi uneori, în
regim de frânare prin recuperare, de convertor al energiei mecanice în energie electrică în
funcţie de condiţiile de funcţionare determinate de procesul tehnologic efectuat de
mecanismul executor sau de lucru.
În decursul dezvoltării istorice acţionarea electrică a apărut prin înlocuirea motorului
hidraulic, cu abur sau cu combustie internă printr-o maşină electrică, obţinându-se acţionarea
pe grupe, la care mai multe maşini de lucru sunt acţionate de la aceeaşi maşină electrică.
Folosirea maşinilor electrice a permis însă trecerea la acţionarea individuală, în care fiecare
maşină de lucru are motorul său de acţionare, obtinându-se avantajul dispunerii utilajelor în
flux tehnologic şi înlocuirea vechilor transmisii prin curele la distanţe mari şi voluminoase
prin transmisii compacte de angrenaje individuale.
Există diferite tipuri de motoare ce pot fi utilizate în sistemele de comandă echipate cu
dispozitive electronice şi fiecare dintre ele pot fi comandate diferit. Elementele de comandă
hardware şi software ale unui motor folosit în sistemele electrice de putere ale autoturismelor
vor fi diferite faţă de elementele de comandă şi control ale unui motor utilizat pentru sistemul
de ventilaţie din interiorul unui laptop.
Motoarele CC fără perii sunt normal mai uşoare şi mai fiabile decât cele cu perii datorită
absenţei mecanismului cu perii. Încălzirea este generată în stator astfel încât problemele sunt
mult mai simplu de rezolvat (câtă vreme, prin definiţie, într-un mediu staţionar absorbţia de
caldură se realizează mult mai uşor). Viteza se modifică prin varierea tensiunii aplicate
obţinându-se performanţe de viteză foarte bune şi datorită eliminării pierderilor de energie
cauzate de sistemul de perii. În schimb, dezavantajul motoarelor CC fără perii este dat de
cerinţa pentru comutare a rotorului ce are nevoie de un modul de comandă. Acest lucru
presupune existenţa unui modul electronic de comandă a motorului, practic costul sistemului
va creste.
Produsele tipice care folosesc motoare de curent continuu fără perii sunt ventilatoarele PC-
urilor şi disk driver-elor, maşinile de spalăt, ventilatoarele şi compresoarele frigiderelor şi
aplicaţiile auto precum modulele de tractare şi de transmisie.

4
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Există diferite tipuri de motoare ce prezintă caracteristici diferite. Pe de altă parte, există o
mulţime de tipuri de soluţii de comandă şi control al motoarelor.
Un competitor potenţial mai recent al motorului de curent continuu fără perii este motorul cu
reluctanţa în comuţaţie. Deşi acest motor poate fi reglat print-o schemă simplă de comutaţie
similară cu aceea a motorului de curent continuu fără perii cu undă dreptunghiulară, aceasta
nu are drept rezultat cuplu constant sau curent constant de alimentare. Pentru a realiza forme
de undă constante pentru aceste mărimi sunt necesare controlere mult mai complexe cu forme
de undă specifice fiecărui motor.
În prezenta lucrare am utilizat un procesor de semnal digital de la Texas Instruments
TMS320F2812 integrat pe placa de devoltare MSK2812 de la Technosoft pentru controlul şi
respectiv reglarea motoarelor. Acesată implementare poare fi utilizată cu succes în acţionări
electrice atât industriale cât şi didactice. Pentru exemplificare am ales motorul fără perii de
curent continuu de la firma Technosoft.

1.1 Memoriu justificativ

De ce utilizăm DSP-ul?
Trăim într-o lume condusă de informaţii: ştiinţifice, financiare, medicale, sportive şi de
divertisment. În zilele noastre, informaţia, fie audio, video sau scrisa este manipulata printr-un
mediu unic: tehnologia fară fir, tehnologia sateliţilor, prin cablu, sau bucle digitale de
subscriere. Aceste tipuri de media au un lucru în comun, nevoia de a procesa informaţia
digitală într-un timp cât mai scurt.
Încă de când primul TMS320 DSP a fost introdus, în 1982, Texas Instrumens a continuat să
perfectioneze tehnologia digitală de prelucrare a semnalelor şi aplicaţiile în acest sens pâna
când aceasta familie de procesoare de semnal a devenit un standard în industrie.
Caracteristicile care fac un DSP atât de util sunt:
- Operaţii de multiplicare-acumulare într-un singur ciclu
- Viteza mare de lucru
- Procesare în timp real, simulare şi emulare
- Flexibilitate
- Creste performanţele sistemului
- Preţ de cost redus

1.2 Procesor de Semnal Digital şi Procesarea de Semnal Digital

Digital signal processing (DSP) este un subdomeniu al prelucrării de semnal, apărul în urma
dezvoltării rapide a tehnologiei VLSI (Verry-Large Scale Integration) care a permis calcul
numeric în timp real. Procesarea digitală de semnal implică discretizatrea semnalelor atât în
timp (eşantioare) cât şi în amplitudine (cuantificare) şi are la bază teoria semnalelor şi a
sistemelor în timp discret.
Avantejele prelucrării de semnal numerice faţă de cea analogică sunt:
- flexibilitate datorită operaţiilor DSP programabile,
- prelucrare off-line,

5
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
- sensibilitate redusă la toleranţe/imprecizii hardware,
- capacitate mare de prelucrare a datelor din medii complexe,
- posibilitatea codificării în aplicaţiile din telecomunicaţii
Dezavantajele sunt urmatoarele:
- necesită (uzual) sisteme de bandă largă şi procesoare rapide.
Procesarea de semnale digitale este o metodă de procesare a semnalelor din lumea reală
(reprezentate numeric) utilizând tehnica matematică pentru a realiza transformarea sau
extragerea informaţiei. Nu putem comunica prin semnale digitale. Un semnal digital este o
informaţie caracterizată de două stări ”0” si ”1” care pot fi procesate matematic. Comunicarea
în lumea reală se face prin semnale analogice cum ar fi: sunetele, lumina, temperatura,
presiunea. Un semnal digital este o reprezentare numerică a unui semnal analogic. Trecerea de
la forma analogică a semnalului la cea digitală se face prin convertoare analog – numerice,
după care semnalul poate fi procesat şi dacă este nevoie readus la forma analogică prin
convertoarele numeric – analogice.
Algoritmii prelucrării semnalelor digitale:
N
1. convolutia: y (n)   h( k ) x(n  k ) , (1.1)
k 0
unde h(-k) reprezintă secvenţa pondere,
2. prelucrare recursivă-descrisă de ecuaţia cu diferenţe finite:
N M
y (n)   a k x(n  k )   bi y (n  i ) (1.2)
k 0 i 1
N 1
3. calcul TFD: X ( n)   x(n)W
nk 2
j
W e N (1.3)
n 0
N 1
4. prelucrări neliniare: y ( n)   ai ( x (i ))
p
p=întreg
i 0
(1.4)
5. prelucrări logice: y ( n)   [n(i ), x (i  1),..] (1.5)
Pornind de la aceşti algoritmi putem trage următoarele concluzii:
- algoritmii de prelucrare necesită un număr mare de operaţii simple: adunări,
scăderi, operaţii logice simple, deplasări , întarzieri;
- algoritmii de prelucrare digitală implică transformarea unor semnale analogice în
semnale digitale prin intermediul convertoarelor A/D şi D/A;
- pentru sistemele care lucrează în timp real este necesar ca viteza de lucru a
procesorului să fie foarte mare
- precizia cu care operează un sistem de proceare digitală e determinat de calitatea
semnalului prelucrat.
Aceste observaţii derivate din algoritmul de prelucrare au impus caracteristici pentru
procesoarele de semnal digital:
- adoptarea unor arhitecturi cu un grad mare de paralelism în prelucrare. Se utilizează în
mod curent arhitectura Harvard împreună cu principiul pipe-line pentru date şi coduri.
Arhitectura Harvard impune ca procesorul să aibă căi de transfer şi blocuri separate
pentru date şi coduri ceea ce permite transmiterea simultană a datelor şi codurilor.
Principiul pipe-line presupune fragmentarea unei acţiuni în subacţiuni şi executarea lor

6
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
pe unităţi distincte. Astfel vor fi executate mai multe instrucţiuni într-un singur tact şi
prin urmare creste productivitatea.
- includerea în procesor a unor module hard pentru creşterea vitezei (prezenţa unor
multiplicatoare rapide, circuite pentru realizarea deplasărilor de cuvinte binare cu una
sau mai multe deplasari într-un singur tact, prevederea de memorii interne pentru date
şi coduri, prevederea unor interfeţe specifice: controlere de întrerupere, timer-e,
porturi, includerea de convertoare A/D şi D/A în sistenul DSP-ului).
- precizia de prelucrare 16 - 32biţi şi > 32biţi. Precizia internă de lucru poate fi mai
mare decât numărul de biţi necesari pentru reprezentarea datelor. Datele sunt
reprezentate în virgulă fixă sau în virgulă mobilă.
Unitatea ALU a unui DSP este caracterizată de existenţa unui multiplicator hardware ceea ce
permite efectuarea unei operaţii de tip MAC (Multiply and Accumulate) pe durata unui singur
ciclu instrucţiune, aspect deosebit de important în implementarea algoritmilor de prelucrare a
semnalelor. O îmbunatatire importantă adusa odată cu folosirea DSP-urilor este şi existenţa
unui set de instrucţiuni orientat spre tehnicile specifice procesării semnalelor. Astfel
dimensiunea programului şi timpul de calcul se reduc considerabil.
Arhitectura DSP-urilor a cunoscut modificari importante, de fapt perfecţionări plus completări
cu implementări de noi funcţii. Dacă, spre exemplu, primul procesor al firmei Texas
Instruments, TMS320C10 conţinea doar unitatea CPU, RAM pentru date, ROM pentru
programe şi porturi I/O, unul dintre ultimele procesoare în virgulă fixă venit în cadrul
familiei, TMS320C54, conţine unitatea CPU, RAM pentru date şi pentru programe, ROM
pentru programe, porturi I/O, ceas programabil, port serial full-duplex, opţiune pentru Boot
ROM, posibilitate de a adresa un spaţiu mai mare de memorie exterioară şi altele. Adăugând
la toate aceste aspecte şi faptul că timpul pe ciclu instrucţiune a fost micşorat de la 160 ns la
6.67 ns, ne putem da seama cât de largă este gama de procesoare de semnal disponibile la
această oră. Facilitaţile de control ale întreruperilor sunt destul de limitate în cazul
procesoarelor DSP. În aceste condiţii este necesară prevederea cu un hard suplimentar, care să
se poată permite programului aplicaţiei sa depisteze rapid cine a cerut o întrerupere şi să
stabilească matricea priorităţii de tratare a întreruperilor, dacă este cazul.
Introducerea tehnicilor numerice în Procesoarele de Semnal Digital a fost stimulată de:
- evoluţia tehnologică în domeniul circuitelor integrate,
- apariţia şi dezvoltarea calcalculatoareleor numerice,
- evoluţia pe plan teoretic a algoritmilor de procesare digitală,
- dezvoltarea circuitelor integrate VLSI a dus la apariţia primului procesor specializat
pentru procesoare de semnal de ordinul 2.
Tendinţe recente în domeniul procesoarelor de semnal digital:
- adoptarea unor noi tehnologii bazate pe Ga-As, care permit realizarea unor structuri cu
timpi de propagare reduşi.
- dezvltarea în paralel cu procesoarele specializate, a unor coprocesoare orientate pe
realizarea unor operaţii aritmetice şi logice complexe (criptare, codare MPEG).
- folosirea, în locul arhitecturilor tradiţionale, a unor arhitecturi noi, bazate pe flux de
date, arhitecturi sistolice, arhitectira RISC (Reduced Instruction Set Computer
construit după arhitectura de tip load-store: operaţiile de bază sunt efectuate între
registre, operaţiile ce implică transfer cu memoria sunt efectuate după ce data a fost
încarcată într-un registru; încorporează structuri pipe-line care permit execuţia câtorva
instrucţiuni în paralel, conducând la reducerea semnificativa a timpilor de executie).
- optimizarea structurala a circuitelor.

7
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
- scăderea costurilor.
- circuitele de procesarea semnalelor digitale pentru aplicaţii dedicate se vor realiza la
cerere.
Caracteristicile sistemului DSP:
1. Algoritmi: sistemele DSP sunt caracterizate de algoritmul pe care îl implementează.
Acesta specifică tipurile de operaţii care se pot efectua (adunare, multiplicare,
întarzieri), dar nu specifică aritmetica utilizată. Algoritmul poate fi implementat fie
software pe un sistem cu procesor de semnal, fie pe un sistem cu procesor de semnal
dedicat (proiectat la cerere). Selecţia modului de implementare a algoritmului este
determinată de viteza necesară şi precizia cerută de operaţia respectivă.
2. Frecvenţa de eşantionare (rata de eşantionare) este parametrul de bază în sistemul DSP.
Împreună cu gradul de complexitate al algoritmului, acesta decide viteza de prelucrare
care trebuie obţinută pentru algoritm. Există sisteme de prelucrare care pot accepta mai
multe rate de eşantionare.
3. Rata de tact - fiecare sistem digital are o rată de tact de bază, care determină viteza cu
care sistemul efectuează operaţiile de bază. În sistemele simple (aplicaţii comerciale)
sunt comune rate mai mici de 100MHz, în timp ce în aplicaţiile complexe, rata de tact
poate ajunge la 1GHz. Rata de tact depinde de tehnologia folosită pentru realizarea
procesoarelor de semnal digital.
4. Tipul de reprezentare numerică:
a) reprezentarea în virgulă fixă - numerele între [-1,1] sunt reprezentate cu număr
finit de biţi; numerele în afara domeniului de reprezentare sunt fie limitate la una
din valorile extreme(saturare), fie biţii excedentari sunt eliminati. Această
orientare oferă o gamă dinamică mai redusă de reprezentare a mărimilor. Pentru
efectuarea operaţiilor aritmetice se utilizează componente hard mai simple.
b) reprezentarea în virgulă mobilă – numerele sunt reprezentate prin mantişa şi
exponenţi: Nr  M  2 E .
Mantişa este normată (<1) şi exponentul arată cum trebuie sa obţinem corect numărul.
Realizarea calculelor cu astfel de numere este complexă.
Domeniile de utilizare ale procesoarelor digitale de semnal sunt:
- telecomunicaţiile,
- sistemele pentru transmisia de date,
- domenil instrumentelor medicinale,
- domeniul bunurilor de larg consum,
- tehnica de calcul,
- automobile,
- robotică,
- domeniul militar etc.
În general DSP-urile sunt circuite integrate dedicate anumitor aplicaţii.

8
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

CAPITOLUL 2. MODELUL DINAMIC AL MOTORULUI DE CURENT


CONTINUU FĂRĂ PERII

2.1 Introducere
Moroatele de curent continuu fără perii au fost devoltate pornind de la motoare convenţionale
cu perii de curent continuu utilizându-se materiale semiconductoare. Motoarele de curent
continuu fără perii sunt foarte asemănătoare cu motoarele asincrone de curent alternativ.
Diferenţa majoră este acea că motoarele asincrone dezvoltă o formă sinusoidală pentru
tensiunea electromotoare, în timp ce motoarele de c.c. fără perii dezvoltă o formă
dreptunghiulară sau trapezoidală. Ambele au structura bazată pe un stator creator de câmp
magnetic învârtitor care la rândul său produce cuplu printr-un rotor magnetic.
Motoarele sincrone sunt de obcei de putere mare, de ordinul kilowatilor, cu rotor
electromagnet. În cazul adevaratelor motoare asincrone se consideră că acestea nu pot lua
decât o singură viteză, aceasta reprezentând un submultiplu al frecvenţei tensiunii de
alimentare. Motarele de curent continuu fără perii sunt de puteri mici, de ordinul waţilor pănă
la câteva zeci de waţi, cu rotoare magneţi permanenţi. Viteza unui motor contiuu fără perii nu
poate fi mărită decât prin intermediul unei bucle de reglare şi a une frecvenţe de referinţă.
Există două modele de motoare de curent continuu fără perii: cilindru sau
stratificat.

Fig. 2.1 Model cilindric Fig. 2.2 Model stratificat


(a) rotor exterior (b) rotor interior (a) cu un singur stator (b) cu stator dublu.

Modelul cilindric poate lua două forme aşa cum indică şi figura de mai sus. Cel mai utilizat
model este cel cilindric cu rotorul iterior. Acest motor este folosit la construirea hard-
discurilor. De asemenea esto posibilă poziţionarea rotorului în afară, în jurul statorului.
Acestea sunt utilizate la construirea ventilatoarelor. În ambele cazuri fluxul magnetic este
radial pe axul de roataţie.

9
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Motoare stratificate de cuplu mare pot avea înfăşurări statorice pe ambele parţi ale rotorului
(figura 2.2 (b)). Motoarele de cuplu mic, cum ar fii motoarele floppy disck-urilor, au
înfăşurările statorului pe o singură parte a rotorului (figura 2.2 (a)). Direcţia fluxului magnetic
este axială, paralelă cu axa de rotaţie.
Funcţia de comutare poate fi realizată de diferiţi senzori de poziţie cum ar fii: encoder optic,
encoder magnetic, sau senzori magnetici cu efect Hall. Motoarele mici şi ieftine utilizează
senzorii cu efect Hall (figura 2.3).
Un senzor cu efect Hall este un dispozitiv semiconductor în care cursul electronilor este
afectat de un câmp magnetic penpendicular pe direcţia curentului. Este asemanător cu o reţea
de 4 rezistori variabili. Tensiunile celor două ieşiri sunt complementare. Aplicarea pe senzor a
unui câmp magnetic are ca efect apariţia unei modificări a tensiunii la ieşire. Ieşirea Hall
poate comanda un comparator astfel încât acesta să furnizeze o comandă cât mai stabilă unui
dispozitiv de putere. Senzorii Hall moderni pot conţine un amplificator integrat şi circuite
digitale. În cazul motorului de curent continuu fără perii stratificat, senzorul trebuie plasat
aproape de rotorul magnet permanent pentru a-i putea sesiza poziţia.

Fig. 2.3 Senzor cu efenct Hall pe un motor de curent Fig. 2.4 Motor de curent continuu fără perii stratificat.
continuu trfazat.

În figura 2.4 este reprezentat un motor cilindric simplu cu câte un senzor cu efect Hall pentru
fiecare fază a statorului. Poziţia schimbătoare a rotorului magnet permanent este sesizată de
senzorul Hall pe măsură ce polaritatea rotorului se schimbă. Acest semnal Hall este amplificat
astfel încât înfăşurările statorului să fie străbătute de curentul corespunzător. Semnalele Hall
pot fi prelucrate şi de logica combinaţională în scopul obţinerii unor forme de undă adecvate
de comandă.
Motorul de mai sus ar putea conduce un hard-disc dacă ar fi echipat cu o buclă pe fiecare fază
pentru a menţine viteza constantă. Un circuit similar ar putea comanda şi motorul stratificat
pentru un floppy-disc (figura 2.4), de asemenea în prezenţa unei bucle de comandă a vitezei
constante.
Motorul trifazat stratificat (figura 2.4) are 6 poli statorici şi 8 poli pe rotor. Rotorul este un
inel subţire de ferită magnetizat cu opt poli alternanţi magnetizati axial. În figură nu este
ilustrat faptul că rotorul este acoperit cu un strat fin de oţel pentru montarea în legătura din
mijlocul statorului. Stratul de oţel are şi rolul completării circuitului magnetic. Poli statorici
sunt plasaţi, de asemenea, deasupra stratului de oţel, ajutând la închiderea circuitului
magnetic. Înfăşurările subţiri ale statorului sunt trapezoidale pentru a aproxima polii rotorici.
Cele 6 înfăşurări statorice cuprind cele trei înfăşuări corespunzătoare fazelor.
Dacă cele trei faze statorice au fost alimentate cu succes, un câmp magnetic rotitor va fi
generat. Rotorul magnet permanent va funcţiona ca în cazul unui motor sincron.

10
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Un rotor cu doi poli va urmări acest câmp la viteza de rotaţie a câmpului. Totuşi, rotorul cu 8
poli se va roti la o viteză egală cu un submltiplu al acestei viteze, datorită extrapolilor pe care
îi posedă.
Motorul de curent continuu fără perii este în principal construit ca un magnet permanent
rotativ făţă de o înfăşurare parcursă de curent. În această privinţă el este echivalent cu un
motor de curent continuu inversat, în care magnetul se roteşte în timp ce conductoarele rămân
fixe.
În ambele cazuri, curentul prin conductoare trebuie să-şi reverseze polaritatea de fiecare dată
când un pol magnetic trece pe lângă conductoare, pentru a asigura unidirecţionalitatea
cuplului.
În motoarele de curent continuu clasice, cu colector, reversarea polarităţii este realizată de
către ansamblul colector-perii. La acestea, deoarece colectorul este fixat pe rotor, momentele
de comutaţie sunt sincronizate automat cu polartatea alternantă a câmpului magnetic prin care
trec conductoarele. În motorul de curent de continuu fără perii reversarea polarităţii curentului
este realizată cu tranzistoare de putere care trebuie comutate în sincronism cu poziţia
rotorului.

Fig. 2.5 Secţiunea transversală a unui motor de curtent continuu cu colector. Motorul de curent continuu fără
perii cu rotor exterior are aceeaşi secţiune transversală.
Procesul comutaţiei este similar în cele două maşini iar ecuaţiile care rezultă şi caracteristicie
mecanice (viteză-cuplu) sunt aproare identice. Când curenţii de fază din motorul de curent
continuu fără perii sunt de acest tip – adică curent continuu care comută polaritatea în
sincronism cu trecerea alternantă a polilor magnetici N şi S se spune că motorul fucţionează
cu excitaţie undă dreptunghiulară. Tensiunea contra-electromotoare în acest caz se aranjază să
fie trapezoidală. Termenii undă dreptunghilară şi triunghiulară se folosec pentru a ne referi la
motor sau controlerul său.
Există şi un alt mod de funcţionare în care curenţii de fază sunt unde sinusoidale. Tensiunea
contra-electromotoare în acest caz ar fi, ideal, sinusoidală. Fizic, motorul şi controllerul său
arată la fel ca motorul cu undă dreptunghiulară, dar există o diferenţă imporantă. Motorul cu
undă sinusoidală funcţionează cu o distribuţie rotativă a solenaţiei, similar cu câmpul
magnetic învârtitor din motorul asincron sau maşina sincronă de curent alternativ. Acest tip
de motor fără perii este un simplu motor sincron de curent alternativ cu excitaţie fizică de
magneţi permanenţi. El este mult mai asemănător cu maşina asincronă decât cu motorul de

11
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
curent continuu cu colector şi din această cauză el este adesea denumit motor de curent
alternativ fără perii.
Motorul de curent continuu fără perii se utilizează frecvent în acţionarea hard-disk-urilor de la
calculatoare.
Secţiunea transversală a unui motor de curent continuu cu colector, cu magnet permanent este
reprezentată în figura 2.5. Magneţii ficşi se montează în interiorul carcasei statorice, în timp
ce rotorul posedă o înfăşurare rotativă sau armătura. Curentul alimentează înfăşurarea
armăturii cu ajutorul periilor şi colectorului. În maşina de curent continuu câmpul magnetic
este fix în spaţiu. Datorită acţiunii colectorului modelul curentului este de asemenea fix în
spaţiu, chiar prin conductoarele care se rotesc.
În figura 2.5 nu se arată colectorul sau periile astfel că acesta ar putea reprezenta la fel de bine
şi un motor de curent continuu fără perii cu rotor exterior, cu o înfăşurare a armăturii fixată pe
stator şi magneţi rotativi în exterior.
Învelişul magnetului permanent furnizează o formă cilindrică convenabilă pe care se
montează plăcile discului iar diametrul mare măreşte momentul de inerţie ceea ce contribuie
la menţinerea constantă a vitezei de rotaţie.

Fig. 2.6 Secţiunea transvesală a motorului de curent continuu fără perii cu rotor interior.
O secţiune transversală a unui motor tipic de curent continuu fără perii cu rotor interior este
reprezentată în figura 2.6. Magneţi sunt pe rotor. Periile şi colectorul nu sunt necesare pentru
că înfăşurările sunt în stator şi nu se rotesc. Diametrul mic al rotorului reduce momentul de
inerţie, comparativ cu cel al motorului cu rotor exterior, şi această configuraţie este obişnuită
în servosisteme. Statorul este asemănător cu cel al unui motor asincron. Pentru funcţionarea la
viteze reduse este suficient să se aranjeze magneţii pe suprafaţa butucului rotorului.
Pentru funcţionarea la viteze mari, motorul cu rotor interior poate necesita, în jurul
magneţilor, un cilidru auxiliar din oţel inoxidabil subţire, nemagnetic, sau alt aliaj cu mare
rezistivitate, pentru a reduce pierderile prin curenţii turbionari.
Există foarte multe variante constructive de motoare de curent continuu fără perii (construcţii
disc cu întrefier axial, rotor interior, rotor ecterior, etc).
Magneţii pot fi lamelari, în arc sau discuri de diferite forme şi pot fi sau nu premagnetizaţi. În
mod obişnuit magneţii de mare energie se asamblează premagnetizaţi, pe când magneţii de
mică energie pot fi magnetizaţi după asamblare.

12
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
2.2 Comutaţia

Procesul de comutaţie este aşadar fundamental în funcţionarea motorului de curent continuu


fără perii şi în comanda sa. În cele ce urmează se va descrie comutaţia motorului de bază de
curent continuu fără perii, cu undă dreptunghiulară, arătând că aceasta este identică cu
comutaţia unui foarte simplu motor de curent continuu cu colector. Din aceasta se va deduce
că cele două maşini au caracteristici identice.
Câmpul este produs de un magnet permanent (figura 2.7). Acest câmp este un câmp cu doi
poli, pentru că există numai un pol N şi un pol S la fiecare rotaţie completă.
Axa unei singure bobine (figura 2.7) este reprezentată la unghiul  faţă de axa de referinţă.
Trebuie să cunoaştem mai întâi forma de undă a tensiunii electromotoare e1 în bobină când
aceasta se roteşte în interiorul magnetului. Pentru aceasta este necesar să mai întâi să găsim
forma de undă a fluxului înlănţuit 1 (figura 2.8.a).
Acesta este produsul numărului de spire N c şi a fluxului  prin suprafaţa unei spire.
Indicele 1 arată prima din cele trei bobine sau faze. Când   0 fluxul înlănţuit 1  0 ,
similar 1  0 când   180  şi din nou după o rotaţie completă când   360  .

Fig. 2.7 Secţiune transveraslă a unui motor elementar de curent continuu cu colector, cu indicarea poziţiei axei
de referinţă şi a bobinei rotative.
În intervalul 0  180  fluxul înlănţuit creşte la valoarea maximă pozitivă la 90  când vitrual
tot fluxul străbate bobina. Datorită pauzei dintre magneţii permanenţi N şi S , bobina se poate
roti câteva grade în orice poziţie faţă de 90  fără ca fluxul înlănţuit să se schimbe. Aceasta dă
creşterea din partea de sus plată din forma de undă a fluxului, figura 2.8.a. Forma de undă a
tensiunii electromotoare e1 poate fi acum deterinată din forma de undă a lui 1 cu legea
inducţiei electromagnetice. Matematic tensiunea electromotoare este:
d  d 
e    m  (2.1)
dt  dt 
Unde  m este viteza unghiulară. Dacă n este turaţia în rot/min, atunci  m  2.n / 60 .
Viteza de variaţie a fluxului în raport cu poziţia rotorului,  /  se obţine din pantele din
figura 2.8.a, rezultând forma de undă e1 reprezentată în figura 2.8.b. În practică colţurile din
această formă de undă tind să fie netezite.

13
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
La motorul classic colectorul comută curentul continuu de alimentare i1 in bobina cu aceeaşi
polaritate ca tensiunea electromotoare astfel că puterea de alimentre este e1i1 . Forma de
undă a curentului i1 este reprezentată in figura 2.8.c.
Dacă viteza unghiulară este constantă şi dacă se neglijează pierderile, puterea electrică de
intrare este convertită în putere mecanică M 1m , unde M 1 este cuplul produs de o bobină.
Forma de undă a cuplului M 1 este reprezentată de figura 2.8.d şi este clar că se obţine un
cuplu unidirectional ca rezultat al reversării curentului în sincronism cu cel al tensiunii
electromotoare.
Totuşi cuplul produs de o bobină nu este constant. Există perioade de cuplu nul care se pot
identifica în partea de sus, plata, a formei de undă a fluxului înlănţuit.Aceasta se datorează
spaţiului fizic dintre magneţii N şi S. Figura 2.9 reprezintă schematic funcţionarea motorului
de curent continuu cu colector ca cel din figura 2.7 dar cu trei bobine ale căror axe sunt
defazate simetric cu 120 una faţă de cealaltă.

Fig 2.8 Formele de undă ale fluxului înlănţuit, t.c.e.m., curentului şi cuplului într-un motor elementar de c.c. cu
colector sau motor de c.c. fără perii.
Bobinele se conectează împreună într-un punct iar celelalte capete se conectează la trei
segmente de colector, fiecare având o deschidere de 120 . Formele de undă ale cuplului
produs de bobinele 2 şi 3 sunt identice cu M 1 dar defazate cu 120 şi respectiv 240 , ca în
figura 2.8.e şi f. Cuplul total este suma M 1  M 2  M 3 , ca în figura 2.8.g. Acest cuplu este
constant.
Motorul de curent continuu cu trei segmente de colector este aproape identic cu motorul de
curent continuu trifazat fără perii cu undă dreptunghiulară. Bobinele din motorul cu colector

14
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
sunt fazele motorului fără perii. Periile şi colectorul funcţionează echivalent cu invertorul cu
tranzistoare din figura 2.10 şi formele de undă din figura 2.8 corespund motorului fără perii.

Fig. 2.9 Motorul de c.c elementar cu trei segmente de colector şi două perii.
Tranzistoarele de putere îndeplinesc funcţia de comutaţie a colectorului şi periilor, dar
necesită un traductor separat de poziţie a arborelui şi un circuit de sesizare (neindicate în
figura 2.10). Anumite caracteristici importane sunt aceleaşi în ambele motoare. Forma de
undă a curentului în faze este o undă dreptunghiulară de 120 ; în fiecare moment conduc
două faze. Comutatorul asigură constanţa curentului continuu de la sursa de alimentare ca şi
constanţa cuplului.
Forma de undă constantă a cuplului nu este importantă, în special în servoacţionări unde se
cere o precizie înaltă şi o reglare a vitezei şi poziţiei. În maşini-unelte, de exemplu, finisarea
piesei prelucrate poate fi afectată negativ de variaţiile de cuplu ale motorului de acţionare.
Variaţiile periodice de cuplu, sau ripple-ul, constituie cauza vibraţiilor care pot fi extrem de
supărătoare dacă produc rezonanţă mecanică sau structurală în echipamentul acţionat.
Importanţa unei forme de undă a curentului continuu este aceea că minimizează necesarul de
condensatoare de filtrare conectate în paralel cu sursa de alimentare de curent continuu şi în
general ajută – prin nivelul armonicilor – reducând necesităţile de filtrare.
La viteza constantă, forma de undă constantă a cuplului şi forma de undă constantă a
curentului continuu de alimentare, conversia energiei electromecanice este constantă conform
ecuaţiei:
EI  Mm (2.2)
unde:
- E este tensiunea electromotoare a două faze în serie;
- I este curentul continuu de alimentare.

15
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 2.10 Invertor cu tranzistoare pentru utilizarea motorului trifazat de c.c fără perii.
Ecuaţia (2.2) s-ar putea spune că este cea mai fundamentală ecuaţie din teoria motorului. Ea
întruchipează liniaritatea esenţială şi simplitatea motorului de curent continuu din punctul de
vedere al reglării. Este foarte important că motorul de curent continuu fără perii în forma sa
ideală, are exact aceleaşi caracteristici.
Din contră, motorul de c.a de inducţie (asincron) nu poate urmări natural ecuaţia 2.2, deşi
poate fi arătat că se poate realiza aceasta – în mod indirect – cu ajutorul transformărilor
matematice care au la bază controlul vectorial sau controlul cu vectori orientaţi în câmp.
Necesitatea acestor transformări este însoţită de faptul că controlul liniar al motorului de
inducţie (ca servomotor) pretinde o electronică mult mai complexă decât a motorului de
curent continuu fără perii, deşi acţionările simple cu viteză variabilă a motorului cu inducţie
au performanţe dinamice mai reduse.
Un competitor potenţial mai recent al motorului de curent continuu fără perii este motorul cu
reluctanţa în comuţaţie. Deşi acest motor poate fi reglat print-o schemă simplă de comutaţie
similară cu aceea a motorului de curent continuu fără perii cu undă dreptunghiulară, aceasta
nu are drept rezultat cuplu constant sau curent constant de alimentare. Pentru a realiza forme
de undă constante pentru aceste mărimi sunt necesare controllere mult mai complexe cu forme
de undă specifice fiecărui motor.

2.3 Caracteristici de performanţă

Cea mai bună cale pentru a înţelege caracteristicile de performanţă ale motorului de curent
continuu fără perii este să studiem caracteristica mecanică (viteza unghiulară funcţie de
cuplu). Această caracteristică reprezintă capacitatea staţionară a motorului în acţionarea
diferitelor tipuri de sarcină. Importanţa sa are origine în faptul că această caracteristică, viteză
– cuplu, a motorului trebuie să fie compatibilă cu carcateristica similară a sarcinii. Anumite
sarcini, de exemplu, compresoare, macarale şi conveiere au un cuplu de sarcină mai mult sau
mai putin constant, care nu variază cu viteza (figura 2.11).

16
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Figura 2.11 Caracteristici mecanice tipice ale diferitelor sarcini.


Altele au un cuplu care creşte proporţional cu pătratul vitezei: tipic pentru pompe
centrifugale, ventilatoare şi suflante. Unele sarcini necesită o acţionare la cuplu constant până
la o anumită viteză de baza şi o acţionare la putere constantă la viteze mai mari. Aceasta este
tipic pentru sarcini de tracţiune, de exemplu, vehicule electice. Maşinile de spălat prezintă de
asemenea aceeaşi carcateristică, ca şi acţionarea axelor de la maşinile-unelte.
Funcţia de bază a caracteristicii mecanice este de a ne asigura că motorul posedă cuplu
suficient la toate vitezele – de la zero la viteza maximă – pentru a accelera sarcina din repaus
şi pentru a menţine viteza maximă fără a depăşi limitele electrice sau termice. Limitele
electrice sau termice apar ca graniţe în caracteristica viteză – cuplu, aşa cum vom vedea în
continuare.
Caracteristica mecanică a motorului de curent continuu fără perii poate fi determinată
experimental sau analitic. În cele ce urmează vom determina o ecuaţie a caracteristicii viteză –
cuplu în forma cea mai simplă. Referitor la ecuaţia (2.1) putem observa că viteza de variaţie a
fluxului înlănţuit (figura 2.8.a) este constantă în timpul fiecărui interval corespunzător lui
120  în timpul de conducţie a fazei 1. Rezultă că E – tensiunea electromotoare în cele două
faze în serie care conduc – poate fi scrisă:
E  k e m , (2.3)
Unde k e este o constantă numită constanata tensiune electromotoare.
Din ecuatiile (2.2) şi (2.3):
M  km I (2.4)
Prin urmare, cuplul este proporţional cu curentul. Această proporţionalitate este importantă
deoarece constanta de proporţionalitate din ecuaţia (2.4) este de obicei numită constanta
cuplului k m . Este clar din acest caz ideal că k e  k m  k .
Această egalitate este adesea scăpată din vedere, în special când nu se utilizează Sistemul
International (SI) de uniţăţi de măsură.

17
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
În aceste sisteme k e şi k m nu sunt egale numeric, ci diferă printr-un factor constant de
multiplicare.
Referitor la sistemul din figura 2.10, tensiunea de aplicare Vs este egală cu tensiunea
contraelectromotoare E şi a căderii de tensiune rezistivă în înfăşurările motorului plus căderea
de tensiune perii – colector:
Vs  E  RI  Vb (2.5)
R reprezintă rezistenţa celor două bobine (faze) în serie iar I este curentul de alimentare.
Ecuaţia este aplicabilă motorului de curent continuu fără perii. Dacă Vb reprezintă căderea
de tensiune pe tranzistoarele care conduc. În sistemele bine proiectate Vb este mai mică
decat tensiunea sursei de alimentare Vs şi în continuare se va neglija.
 M I
 1 1 , (2.6)
0 M0 I0

Înlocuind E şi I din ecuaţiile (2.3) şi (2.4) în ecuaţia (2.5) rezultă:


Vs
0  (2.7)
k
Vs
M 0  kl0  k (2.8)
R
unde
- 0 este viteza de mers în gol ideal, în rad/s şi M 0 cuplul de pornire, în Nm;
- I 0 este cuentul de pornire limitat numai de rezistenţa înfăşurării.
Conform relaţiei (2.6) caracteristica viteză – cuplu este o dreaptă (figura 2.12).

Fig. 2.12 Caracteristica mecanică şi caracteristica curentului unui motor de c.c fără perii.
Ecuaţia (2.6) este scrisă în mărimi relative (raportate). Viteza unghiulară se raportează la
viteza de mers în gol ideal în timp ce cuplul şi curentul se raportează la valorile lor de pornire
(cu rotorul blocat sau calat).
Dacă motorul funcţionează în gol, cuplul este zero şi curentul absorbit de la sursă este nul. Nu
există cădere de tensiune pe rezistenţa R şi de aceea motorul accelerează până ce E este egală

18
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
cu Vs . Aceasta rezultă din definiţia vitezei de mers în gol ideal. Ecuaţia (2.7) arată că viteza
de mers în gol ideal variază cu schimbarea tensiunii de alimentare: de fapt ea este
proporţională cu tensiunea de alimentare. Figura 2.12 include o a doua caracteristică la 1,5 x
tensiunea nominală.
Când se aplică cuplul de sarcină, curentul absorbit de la sursă este diferit de zero şi rezultă o
cădere de tensiune RI pe rezistenţa motorului. Această cădere de tensiune este posibilă numai
dacă E scade la valoarea V – RI şi de aceea viteza trebuie să scadă. Scăderea lui E este
proporţională cu curentul, deci cu cuplul, şi aceasta explică de ce caracterisică viteză – cuplu,
la tensiune constantă este liniară. Dacă se aplică un cuplu de sarcină (rezistent) foarte mare
viteza scade la zero şi motorul este blocat (în repaus). Atunci E = 0 şi toată tensiunea sursei se
aplică pe rezistenţa R. Deoarece R este de obicei o rezistenţă foarte mică, rezultă un curent de
repaos I 0 foarte mare. În mod normal nu este permisă trecerea acestui curent, chiar pentru un
timp scurt, deoarece ar demagnetiza magneţii, ar distruge tranzistoarele de putere sau ar arde
izolaţia conductoarelor.
De fapt funcţionarea normală se limitează în regiunea din partea stângă a figurii 2.13. Până la
30% din cuplul de repaus (şi din curent) se poate obţine o funcţionare în serviciu continuu şi
de aici până la circa 50% - 60% o funcţionare în serviciu de scurtă durată, deşi aceste
procentaje variază foarte mult la diferiţi proiectanţi.
Figura 2.13 reprezintă regimurile de funcţionare continuă şi de scurtă durată a motorului de
curent continuu fără perii. Caracteristica mecanică defineşte limitele de funcţionare ale
motorului şi controlerului.
Motorul nu funcţionează totdeauna într-un punct de caracteristică stationară viteză – cuplu.
De fapt, viteza şi cuplul celor mai multe motoare de curent continuu fără perii variază
continuu. În medie după o lungă perioadă de timp, punctul de funcţionare trebuie să rămână în
interiorul domeniului de funcţionare continuă.

Figura 2.13 Regiunile tipice de funcţionare continuă şi de scurtă durată.


Se permit treceri în regimul de scurtă durată, treceri solicitate de sarcină, prevăzându-se că
efectul căldurii acumulate să nu producă creşterea temperaturii motorului peste valoarea
nominală corespunzătoare regimului de scurtă durată. Calculele termice sunt extrem de
importante în evaluarea şi alegerea motoarelor de curent continuu fără perii.

19
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Răcirea forţată poate creşte puterea nominală a motoarelor de curent continuu fără perii.
Răcirea are un efect important pentru că cele mai multe pierderi care produc încălzirea apar în
stator, care este partea cea mai uşor de răcit. În anumite instalaţii aerospaţiale se utilizează un
lichid de răcire (combustibil sau ulei de ungere) pentru a răci statorul, astfel încât pentru
anumită putere nominală este necesar un gabarit mult mai mic. Există chiar tipuri care
folosesc conductoare de cuplu goale prin care trece lichidul de răcire. Unele motoare fără
perii, de foarte mare viteză, folosite la centrifuge se răcesc prin refrigerare. Aceste motoare
funcţionează frecvent în vid pentru a elimina efectele încălzirii - prin frecare cu aerul - a
parţilor care se rotesc.

Figura 2.14 Funcţionarea la viteză constantă a motorului de c.c fără perii.


Efectul temperaturii asupra cracteristicilor magnetului joacă un rol important în
caracteristicile motorului. Pe masură ce motorul se încalzeşte, temperatura magnetului creşte
şi în cele mai multe cazuri aceasta produce o reducere a fluxului disponibil al magnetului. Ca
urmare constanta de cuplu k m se reduce.
Carcateristicile viteză – cuplu reprezentate în figurile 2.12 – 2.14 sunt toate linii drepte, fiind
derivate din ecuaţia idală (2.6). În practică, caracteristica viteză – cuplu nu este dreaptă din
cauza efectului inducţiei înfăşurării - care produce distorsiuni la viteze mari – şi datorită
saturaţiei magnetice legată de efectul de demagnetizare datorat curenţilor de fază la cuplu
mare.
Mai mult, în analiza prezentă s-a ignorat efectul tututror pierderilor RI 2 în înfăşurările
statorului. Pierderile suplimentare includ şi pierderile în fier (histerezis şi curenţii turbionari),
ventilaţie şi frecările în rulmenţi.
În completare ar putea fi curenţii turbionari în cilindrul auxiliar – dacă este echipat cu unul –
sau în magneţi, în cazul în care rezistivitatea este destul de mică. Aceste pierderi suplimentare
sunt produse sau cresc cu variaţia inducţiei magnetice datorate crestăturilor statorice sau
ondulaţiei curenţilor de fază ca urmare a folosirii chopper-elor sau modulaţiei în lăţime.
Curenţii mari şi temperaturile ridicate contribuie la demagnetizare. Oricum, într-o acţionare
de curent continuu fără perii proiectată corect, demagnetizarea nu este o problemă deoarece
curentul este controlat permanent şi este limitat de controller iar detectarea temperaturii
motorului este o problemă simplă.

20
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Din caracteristica mecanică nu rezultă clar cum un motor de curent continuu fără perii poate
funtiona la viteză constantă deoarece apare că viteza scade cu creşterea cuplului de sarcină.
Carcateristica mecanică este numai o graniţă de limitare de funcţionare. Reamintind aceasta,
linia groasă din figura (2.14) arată funcţionarea la viteză constantă.
Pe masură ce cuplul de sarcină creşte, se creste tensiunea de alimentare în aceeaşi proporţie ca
şi căderea de tensiune RI, astfel încât E rămâne constantă şi prin urmare viteza ramâne
constantă. Acest lucru poate fi observat din faptul că punctul de funcţionare intersectează o
serie de caracteristici viteză – cuplu corespunzatoare creşterii tensiunii. Reglarea căderii de
tensiune RI de către controllerul de reglare a tensiunii se realizează prin reglarea vitezei.
Cuplul perfect neted al motorului ideal de curent continuu fără perii nu poate fi obţinut într-un
motor practic, deşi poate fi apropiat. Variaţia cuplului în timpul unei rotaţii apare din
comutaţia imperfectă a curenţilor fazelor; din modulaţia formei de undă a curentului produs
de chopper; şi în variaţia reluctanţei circuitului magnetic datorită crestăturilor dacă rotorul se
roteşte. Acest ultim efect este denumit uneori zimţare. El este detectabil când arborele este
rotit uşor cu mâna. Ondulaţia cuplului datorită comutaţiei imperfecte şi ondulaţia curentului
nu pot fi detectate în acelaşi mod. La viteze ridicate inerţia motorului şi sarcina micşorează
variaţia vitezei produsă de ondulaţia cuplului de o amplitudine dată. La viteze reduse, o buclă
de viteză poate elimina aproape ondulaţia cuplului dacă amplificarea şi lărgimea de bandă
sunt suficient de mari.
Zgomotul maşinii electrice a devenit o problemă de o importanţă sporită. Experienţa arată că
zgomotul audibil al motoarelor fără perii este mai mic decât cel al altor motoare. Motivele
pentru aceasta de datorează faptului că întrefierul este constant şi mai mare decât la motoarele
cu inducţie, pas-cu-pas sau cu reluctanţă variabilă şi de aceea forţele magnetice radiale nu mai
sunt concentrate ci sunt echilibrate şi distribuite pe o arie relativ largă a polului.

2.4 Sesizarea poziţiei arborelui

Tranzistoarele de putere ale invertorului trebuie să primească comenzi de conducţie şi de


blocare de la un sistem logic care se sincronizează cu poziţia rotorului. Semnalele de
sincronizare necesare provin de obicei de la un traductor care poate fi: resolver, encoder optic
sau traductor cu efect Hall.
Figura 2.15 arată esenţa unui sistem resolver. Resolverul furnizează o soluţie foarte fină a
semnalului de poziţie a arborelui. Ieşirea sa este un semnal cu două faze (sin/cos) la frecvenţa
purtătoarei, modulat sinusoidal cu roataţia rotorului faţă de stator. Ieşirea demodulată se poate
transforma într-un tren de pulsuri cu un convertor resolver – digital (RDC), care este de obicei
un simplu circuit integrat. Se obţin 1000 – 4000 pulsuri pe rotaţie.
Resolverul este un traductor de poziţie absolut pentru că furnizează un semnal la orice poziţie
sau orice viteză inclusiv viteza zero.
Sensul de rotaţie poate fi determinat din defazarea relativă dintre două canale (faze) şi se obţin
semnale analogice sau digitale. Resolverul se utilizează când este necesară o cantitate mai
mare de informaţii decât pentru pulsurile de comutaţie, îndeosebi pentru turaţie sau un semnal
precis de pozitionare a arborelui.
Resolverul este relativ scump, dar are avantajul suplimentar al rigidităţii şi poate fi folosit în
medii cu temperaturi înalte sau la viteze ridicate (cel putin 40000 rot/ min). Senzorul însăşi
este fără perii şi poate fi livrat cu sau fără rulmenţi proprii. Resolverul se montează pe o

21
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
extensie a arborelui motorului – la capătul opus acţionării – fără cuplaj. Toate circuitele
electronice necesare se montează în controller. Dacă motorul fără perii poate rezista mediului,
resolverul poate deasemenea, deoarece este constituit din aceleaşi materiale de cupru sau oţel,
fără magneţi.

Figura 2.15 Resolverul pentru reacţia de poziţie a arborelui.


Ca şi resolverul, encoder-ul optic se utilizează când este nevoie de o cantitate mai mare de
informaţii decât pulsurile de comutaţie. El constă într-un set de perechi de fototranzistoare şi
surse de lumină concentrată folosite împreună cu un disc encoder de sticlă sau metal. Modelul
fantelor pe disc defineşte frecvenţa şi forma de undă a trenurilor de undă care sunt produse de
fototranzistoare.

absolut incremental

Fig 2.16 Discuride encodere optice: complet (stânga) şi incremental (dreapta)

Encoderele se pot proiecta pentru a furniza direct pulsuri de comutaţie împreună cu un tren de
frecvenţă înaltă care poate fi folosit pentru a genera un semnal de viteză. Figura 2.16 arată
două tipuri de discuri de encoder. Encoderele incrementale comerciale cu două marcări, A şi
B, care sunt în cuadratură (ieşirea fazei la un sfert a unei distanţe dintre fante).

22
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Un indicator de puls (o fantă pe o rotaţie) este prevăzut ca o referinţă absolută de poziţie.
Discurile de encoder mai complexe au modele speciale (de exemplu scara Grey) care pot fi
folosite pentru a furniza informaţia de poziţie cu o rezoluţie foarte fină şi cu o mare acurateţe.
O rezoluţie obişnuită utilizată în acţionari este 1000 linii/rotaţie.
Encoderele optice se montează în acelaşi mod ca şi resolverele şi sunt furnizate cu sau fără
rulmenţi proprii. Producerea directă a impulsurilor face encoderul optic atractiv pentru
conectarea cu circuitee digitale de comutaţie. Totuşi, ele sunt practic limitate. Encoderul nu
poate funcţiona la temperaturi aşa de înalte ca resolverul de asemenea cel mai ieftin encoder
incremental necesită o secvenţă de iniţializare la pornire pentru a găsi poziţia de referinţă.
Această secvenţă poate fi evitată prin utilizarea unui encoder complet, dar acesta este mai
scump.
Traductorul cu efect Hall este probabil cel mai simplu traductor de poziţie electronic utilizat
pentru generarea impulsurilor de comutaţie. Un comutator Hall este un comutator
semiconductor care închide şi deschide când este plasat într-un câmp magnetic decât o
anumită limită. El se bazează pe efectul Hall, care este producerea unei tensiuni
electromotoare proporţională cu inducţia magnetică atunci când semiconductorul este parcurs
de curent. Tensiunea electromotoare, inducţia magnetică şi curentul sunt în direcţii relative
ortogonale şi curentul (de câţiva mA) poate fi obţinut de la o sursă exterioară.
Este obişnuit să se detecteze tensiunea electromotoare trecând printr-o valoare limită utilizând
semnalul condiţionat de circuitul integrat cu un sensor Hall sau menţinându-l foarte aproape
de el. Acesta furnizează un impuls compatibil TTL, cu margini abrupte şi imun la zgomot
mare, pentru conectare , printr-un cablu ecaranat la controller. Pentru motorul trifazat fără
perii se aranjează trei comutatoare Hall decalate în spaţiu la 60  sau 120  electrice şi
montate pe carcasa statorului. Un magnet separat , cu distanţarea corectă a polilor se
montează pe arbore în apropierea comutatoarelor Hall, sau comutatoarele Hall se pot monta
destul de aproape de magneţii rotorului unde se energizează de fluxul înlănţuit în poziţia
corespunzătoare a rotorului.
Diferitele traductoare de poziţie ale arborelui par destul de simple şi piaţa este încă interesată
de utilizarea motoarelor fără perii, în multe aplicaţii, chiar dacă necesită aceste dispozitive. Pe
de altă parte se afirmă că nu periile şi colectorul afectează încrederea. Oricum acestea trebuie
înlocuite cu un traductor de poziţia arborelui, cu circuit electronic suplimentar şi cu un cablu
de interconexiune (a se vedea tabelul 2.1). Aceste componente cresc inevitabil costul şi pot
scădea siguranţa, pentru că sunt relativ fragile şi – dacă nu sunt protejate corect – pot fi
susceptibile de defect sau funcţionare incorectă la temperaturi ridicate, praf, ulei, vibraţii şi
şocuri şi chiar la interferenţa electrică.
Nu este surprinzator că, în ultimii ani s-au făcut multe eforturi pentru a elimina traductorul de
poziţionare a arborelui. În prezent cel puţin şase companii oferă comanda IC care execută
comutaţia fără niciun sensor suplimentar montat pe motor. Aceasta este numită comanda fără
sensori (sensorless control).
Alte sisteme de acţionare cum ar fi cele cu motoare asincrone nu necesită reacţie de poziţie a
rotorului.
Desigur că servosistemele necesită reacţie de poziţie a rotorului de la un traductor sau de la un
circuit de detecţie “fără senzori”, indiferent de tipul motorului utilizat.
Aceasta este însă o cerinţă a sistemului nu o cerinţă a motorului.
Tabelul 2.1
Tipul traductorului Numărul fişierelor în cablul Circuite electronice necesare în controller

23
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
de conexiune
Resolver min 6 – de obicei perechi RDC (Controller Resolver - Digital) plus
Rezistent pentru dublu ecranate oscilator.
temperaturi înalte sau Tipic S80 + EPROM şi logică de comandă.
aplicaţii de mare viteză. Avantaje: acurateţe şi semnale sigure de
Rezoluţie 12 – 16 biţi anclanşare.
Imunitate bună la zgomote.
Encoder optic absolut 2 fire de alimentare + nr. de Surse de alimentare pentru sursele de lumină
Foarte exact. biţi utilizaţi de expl. 8 5-15 V depinzând de dispozitivele optice.

Encoder optic incremental min. 5: 2 fire de alimentare Surse de alimentare pentru sursele de lumină
Tipic 1000 linii/rotaţie. + alte cel puţin 3 (A, B, 5-15 V depinzând de dispozitivele optice.
index) Necesită proceduri de pornire pentru a căpăta
impulsuri de index înainte ca informaţiile să
fie validate.
Comutator Hall 2 + nr. de biţi Sursă de alimentare pentru comutatorul Hall:
5 – 15 V.
Circuit de condiţionare a semnalului, adesea
montat în motor.

24
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

CAPITOLUL 3. PLACA DE DEZVOLTARE MSK2812 CU PROCESOR


DE SEMNAL DIGITAL TMS320F2812

3.1 DSP - atunci şi acum

În anul 1978 Intel a lansat "prodesorul de semnal anaogic". Acesta era compus dintr-un chip
ADC/DAC cu un procesor de semnal intern dar nu a avut succes pe piaţă. În anul 1979, AMI
a lansat S281. Acesta fusese conceput ca un microprocesor periferic care trebuia iniţializat de
gazdă; a fost de asemenea un eşec.
În acelaşi an, Laboratoarele Bell au lansat primul DSP cu un singur chip (single chip), numit
Microprocesorul Mac 4. După aceasta, în 1980, au apărut primele DSP-uri independente NEC
µPD7720 şi AT&T DSP1 - prezentate la IEEE International Solid-State Circuits Conference
'80. Ambele procesoare au fost realizate în urma cercetării în domeniul telecomunicaţiilor
PSTN (Public Switched Telecommunications Network).
Primul DSP produs de Texas Instruments, TMS32010 prezentat în 1983, s-a dovedit a fi un
succes. Acesta se baza pe aritectura Harvard deci avea memorii separate pentru instrucţiuni şi
date. Era dotat cu un set special de instrucţiuni, putea lucra cu numere de 16 biţi şi avea
nevoie de 390ns pentru o operaţie de înmulţire prin adunare repetată. Texas Instruments este
acum lider de piaţă în domeniul DSP-urilor. Un alt procesor de succes a fost Motorola 56000.
La apoxiativ 5 ani de la lansarea TMS32010, a doua generaţie de DSP-uri s-a extins. Acestea
conţineau 3 regiştrii pentru a procesa două operaţii simultan şi includeau hardware pentru
accelerarea buclelor. Unele DSP-uri puteau lucra cu variabile de 24-biţi, iar modelul tipic
avea nevoie de 21ns pentru o operaţie de multiplicare prin adunări repetate. Membrii acestei
generaţii au fost: AT&T DSP16A şi Motorola DSP56001.
Cea mai mare îmbunătăţire adusă de a treia generaţie a fost apariţia unităţilor şi
instrucţiunilor, specifice anumitor aplicaţii, în calea de date sau a coprocesoarelor. Aceste
unităţi permiteau accelerarea hardware directă pentru probleme matematice complexe, cum ar
fi transformata Fourier sau operaţiile cu matrici. Unele chipuri, ca Motorola MC68356,
includeau chiar mai multe nuclee de procesare care lucrau în paralel. Alte DSP-uri din 1995
au fost TMS320C541 sau TMS320C80.
A patra generaţie este caracterizată de modificările aduse setului de instrucţiuni şi modului de
codare/decodare a instrucţiunilor. Au fost adăugate extensiile SIMD şi MMX, a apărut
arhitectura superscalară VLIW. De asemenea vitezele de procesare au crescut, 3ns erau
suficiente pentru o multiplicare.
Procesoarele de semnal digital moderne au furnizat o performanţă mult mai ridicată. Aceasta
a fost posibilă datorită progreselor înregistrate în domeniul tehnologic şi cel al arhitecturii
procesoarelor cum ar fi: cache pe două niveluri cu acces rapid, circuit (E)DMA şi un sistem
de bus mai extins. Este evident faptul că nu toate DSP-urile oferă aceeaşi viteză de procesare.
Există numeroase modele de DSP-uri fiecare dintre acestea fiind potrivit anumitei aplicaţii.

25
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

3.2 DSP - Generalităţi

Un DSP (Digital Signal Processor) sau procesor de semnal numeric este un tip de procesor
optimizat pentru procesarea rapidă (în timp real) a unui flux numeric de natură diversă
precum sunet, video etc.
Caracteristici ale unui procesor de semnal numeric
 Memorie separată pentru date şi program (arhitectura Harvard).
 Instrucţiuni speciale pentru operaţii SIMD (Single Instruction, Multiple Data)
 Doar procesare paralelă, fară multitasking
 Capacitatea de a acţiona ca un device cu acces direct la memorie (direct memory
access) dacă se află într-un mediu gazduit.
 Preia semnal digital de la un convertor analog-digital şi trimite output-ul catre un
convertor digital-analog.

Fig. 3.1 Sistem simplu de procesare digitală a semnalului.


Procesoarele digitale de semnal pot fi întâlnite în aparatele de monitorizare medicale, în
aparatele auditive, supercalculatoare sau modemuri. Sunt folosite în detectoare radar, în
televizoare digitale sau combine audio, instalaţii de amplificare şi laser pentru spectacole.
DSP-urile sunt, de fapt, o parte componentă a existenţei noastre moderne, translatand
semnalele în inteligenţă şi permiţându-ne sa luăm decizii mai precise, într-un timp mult mai
scurt.

Arhitectura DSP

Deşi există o multitudine de procesoare DSP, ele conţin un set comun de caracteristici care
pot fi clasificate în trei categorii: o aritmetică specializată de mare viteză, o capacitate de
transfer de date din şi către procesul continuu şi o arhitectura de accesare multiplă a
memoriei.
Funcţionarea unui DSP constă dintr-un număr de operaţii specifice: adunări şi multiplicări,
întarzieri (delay) şi calcul matricial. Fiecare dintre aceste operaţii necesită câteva condiţii
specifice: adunările şi multiplicările presupun citirea simultană a doi operanzi, executarea
operaţiilor (de obicei în acelasi timp), salvarea rezultatului sau reţinerea lui pentru repetare;
întarzierile presupun reţinerea unei valori pentru utilizarea sa ulterioară; calculul matricial
constă în preluarea datelor din locaţii consecutive de memorie sau copierea datelor între zone
diferite de memorie.
Pentru a putea obţine aceste performanţe obligatorii, procesoarele de semnal trebuie să ofere
posibilitatea efectuării în paralel a multiplicării şi adunării, accesării multiple a memoriei şi
generării eficiente a adreselor, să conţină o multitudine de regiştri de reţinere temporară a
datelor, precum şi facilităţi speciale cum ar fi întârzierile şi adresarea circulară.

26
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Cele mai multe operaţii pe care le efectuează un DSP constau în multiple adunări şi
multiplicări. Pentru a citi doi operanzi într-un singur ciclu de instrucţiune va trebui să avem
simultan două accesări ale memoriei. De fapt, gândindu-ne că va trebui să salvăm rezultatul şi
să citim instrucţiunea însăşi, vom dori să avem mai mult de două accesări ale memoriei
într-un acelaşi ciclu de instrucţiune. Se ştie că nu se pot accesa două adrese de memorie
diferite pe aceeaşi magistrală (bus) de date. Totuşi, accesarea multiplă este posibilă în cazul
DSP folosind două tehnologii derivate din modelele arhitecturale adoptate: arhitectura
Harvard sau arhitectura von Neuman modificată.
În arhitectura Harvard, DSP are două magistrale separate de memorie. Acestea permit
accesarea simultană a două locaţii de memorie. În procesoarele de uz general, una dintre
magistrale este dedicată citirii codului instrucţiunii, iar cealaltă aducerii operanzilor.
Arhitectura Harvard-DSP permite ca magistrala de program să poată fi folosită pentru citirea
operanzilor. Deoarece avem simultan nevoie de trei informaţii, Harvard-DSP include o
memorie cache care poate stoca instrucţiunile comune ce vor fi reutilizate, lasând ambele
magistrale libere pentru operanzi.
Există şi un dezavantaj al arhitecturii Harvard. Un DSP care procesează cuvinte de 32 de biţi,
la un spaţiu de memorie cu adrese de 32 de biţi, necesită cel putin 64 de pini pentru fiecare
magistrală de date, deci un total de 128 de pini pentru conectarea cu exteriorul. Rezultatul este
un cip foarte mare, greu de amplasat în circuite dedicate.
În acelaşi timp, chiar şi cea mai simplă operaţie DSP - o adunare de doi operanzi şi o stocare a
rezultatului în memorie – necesită patru accesări ale memoriei (trei pentru aducerea
operanzilor şi instrucţiunii şi o salvare a rezultatului). Depăşirea capacităţilor oferite de
arhitectura Harvard este realizată, în unele procesoare, prin adoptarea unei alte arhitecturi,
denumită von Neuman modificată.
Arhitectura von Neuman foloseste o singură magistrală de memorie. Din acest motiv este mai
ieftină (necesitând mai puţini pini) şi mai simplu de utilizat deoarece programatorul poate
plasa instrucţiuni sau date oriunde în memoria disponibilă. În schimb, arhitectura nu permite
acces multiplu de memorie. Totuşi, structura von Neuman modificată poate permite accesul
multiplu într-un ciclu de instrucţiune folosind un simplu truc de setare a frecvenţei de
memorie mai ridicată decât cea a ciclului de instrucţiune.
În ambele cazuri, rolul programatorului este de a administra cu atenţie locaţiile de memorie
unde este amplasată informaţia: de exemplu, în cazul arhitecturii Harvard, dacă ambii
operanzi se găsesc în acelaşi banc de memorie, ei nu pot fi accesaţi simultan.

Hardware într-un cip

Deşi există multe tipuri de procesoare, majoritatea sunt proiectate pentru a deţine câteva
caracteristici comune. Nucleul arhitecturii DSP este unitatea centrală de procesare (CPU).
Aceasta este alcătuită din următoarele elemente: un multiplicator în virgulă fixă sau mobilă, o
unitate aritmetică si logică (ALU), un set de regiştri şi magistralele aferente. Primii opt dintre
regiştri suportă operaţii cu numere în virgulă mobilă de 40 de biti, sau întregi de 32 de biti.
Următorii opt sunt regiştrii auxiliari a căror funcţie principală este generarea adreselor de
memorie. Doi regiştri aritmetici auxiliari pot genera două adrese într-un singur ciclu de tact,
functionând în paralel cu multiplicatorul şi ALU. Ceilalţi regiştri sunt denumiţi regiştri de
control, având acces la o multitudine de funcţii: adresare, managementul stivelor, întreruperi
etc.
În cipul DSP se află un controler DMA (Direct Memory Access). Acesta este capabil să

27
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
citească şi să scrie în orice locaţie de memorie fară a întrerupe funcţionarea CPU-ului.
Controllerul DMA are propriile sale generatoare de adrese, regiştrii sursă şi destinaţie, un
numărător de transfer şi un mecanism de răspuns la întreruperi.
Comunicaţia DSP cu exteriorul se efectuează printr-o serie de module periferice, accesate prin
regiştrii speciali de memorie şi amplasate pe o magistrală dedicată. Cele mai importante
module periferice sunt timerele şi porturile seriale, însă ele pot fi extinse în funcţie de
aplicaţie şi sistemul în care DSP-ul este integrat. Timerele conţin cate un pin bidirecţional
care poate fi folosit ca intrare de ceas, sau ca semnal de ieşire controlat de timer. Pinii
porturilor seriale sunt configurabili pentru a îndeplini funcţii generale de intrare-ieşire.

Contactul cu realitatea

Pe langă calcule matematice, în practică, procesorul digital de semnal trebuie să comunice cu


lumea reală. Într-o aplicaţie DSP tipică, procesorul va trebui să prelucreze date provenite de la
multiple surse.
El va trebui să poată primi şi transmite date în timp real, fără a-şi întrerupe calculele
matematice interne. Majoritatea aplicaţiilor DSP implică tratarea semnalelor analogice.
Acestea trebuie convertite în formă digitală (cu ajutorul unor convertoare A/D), într-o
secventă discretă de valori măsurabile. O bună parte din informaţie este pierdută la conversia
analog – digitală datorită impreciziei de măsurare, inacurateţei în sincronizare, limitări ale
duratei de efectuare a măsurării. Aceste efecte sunt numite erori de cuantizare.
Semnalul continuu, analog, trebuie să fie reţinut înainte de a fi eşantionat. Altfel s-ar putea
modifica în timpul masurării. După ce a fost reţinut, semnalul va fi măsurat şi apoi convertit
într-o valoare digitală. Prin eşantionare obţinem o mulţime de numere în format binar ce
reprezintă mărimi ale semnalului, luate de obicei la intervale constante de timp.
Există trei moduri de interacţiune a DSP-ului cu lumea reală: prin semnale care sunt
recepţionate şi transmise direct, prin comunicarea cu un sistem de control de tip diferit sau
prin comunicarea cu alte procesoare DSP de acelaşi tip. Aceste căi de comunicaţie multiple
marchează cea mai importantă distincţie dintre procesoarele DSP şi procesoarele obişnuite.
Sistemele care contin DSP trebuie să funcţioneze în timp real, capturând şi procesând
informaţia pe masură ce se schimbă. Mai întâi convertoarele analog – digitale trebuie să ţină
pasul cu modificările continue ale datelor reale. Dacă rămân în urmă, informaţia se pierde, iar
semnalul este distorsionat. Convertorul A/D ”fotografiază” semnalul la intervale suficient de
mici pentru a observa fluctuaţiile relevante, iar DSP efectuează toate calculele necesare pană
în momentul în care o nouă ”fotografie” apare pentru a fi procesată. Semnalul audio stereo
trebuie prelucrat la frecvenţe de până la 20 kHz (20.000 de cicluri pe secundă), obligând DSP-
ul să realizeze sute de milioane de operaţii pe secundă. Alte semnale, cum ar fi transmisiile
prin satelit, sunt şi mai rapide, ajungând la ordinul gigahertzilor (miliarde de cicluri pe
secundă).
Pimele procesoare DSP apărute pe piaţa erau destul de rapide: de exemplu primul DSP -
AT&T DSP32 - funcţiona la 16 MHz, în perioada în care frecvenţa procesoarelor din PC-uri
era de 5 MHz. Într-o demonstraţie a superiorităţii de viteză a DSP, celebră la vremea
respectivă, un calcul de fractal (Mandelbrot) era rulat în paralel pe un PC obişnuit şi pe unul
în care se introdusese o placă cu DSP. Astăzi, însă, cel mai rapid procesor DSP este cel
produs de Texas Instruments, TMS 320C6201, care rulează la 200 MHz. Evident, nu este cel
mai rapid în comparaţie cu un microprocesor obişnuit, iar acelaşi fractal va rula astăzi mai

28
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
repede pe un PC decât pe un DSP. Totuşi, de ce procesoarele DSP prezintă încă un atât de
mare interes? Motivaţia este dublă: în primul rând DSP poate efectua mai multe operaţii în
paralel şi, mai ales, poate lucra cu semnale externe mult mai bine decât cel mai performant
Pentium.
Avantajele proiectării cu DSP sunt multiple, dintre care putem aminti:
Cost - Cu un hardware foarte simplu, în absenţa unor elemente electronice sofisticate, şi cu un
chip DSP cu preţul între 2$ şi 100$ pentru performanţe variînd între 10 MFLOPS (FLoating
point Operations Per Second) până la 500 MFLOPS, putem construi dispozitive cu o putere
de procesare extrem de mare.
Fiabilitate - Orice circuit electronic este supus modificărilor de performanţă, datorate
variaţiilor termice, îmbatrânirii, care pot duce la o funcţionare incorectă. Un DSP, însă, va
putea să funcţioneze perfect în următorii 50 de ani.
Flexibilitate - Prin folosirea tehnologiei DSP putem concepe un produs cu o anumită funcţie,
care, printr-o modificare de software, se transformă într-un cu totul alt produs, cu noi
functionalităţi. Poate că aţi avut ocazia să folosiţi un simplu modem care încearcă să fie, la
început, unul foarte rapid, dupa care îşi încetineşte rata de transfer până când ajunge la o
viteza convenabilă pentru comunicarea pe liniile RomTelecom. În realitate software-ul este
reconfigurat în timp real, astfel încât vom avea succesiv mai multe modemuri (şi o factură mai
mare către operatorul de telefonie).

3.3 DSP TMS320F2812 Texas Instruments

Familia TMS320 este alcătuită din procesoare digitale de semnal (DSP) în virgulă mobilă si în
virgulă fixă. Arhitectura TMS320 este destinată în special pentru procesare de semnal în timp
real. Posibilitatea de procesare în timp real a TMS320 împreună cu perifericele controllerului
oferă o soluţie optimă pentru sistemul de control al aplicaţiilor. Următoarele caracteristici face
ca familia TMS320 să fie o bună alegere pentru procesarea unei game largi de aplicaţii:
- setul de instrucţiuni foarte flexibil
- performanţe la viteze mari
- flexibilitate în operare
- cost redus.

3.3.1 Structura DSP-ului TMS320F2812

Structura DSP-ului TMS320F2812 este prezentată în figura 3.2. Structura memoriei DSPului
TMS320F2812 este prezantată în figura 3.3.
Generaţia DSP F281x este membră a familiei TMS320 produsă de Texas Instruments.
Procesorul F2812 este compatibil din punct de vedere al codului sursă cu dispozitivele DSP
24x/240x. În plus, procesorul F2812 este un motor C/C++ foarte eficient, permiţând
utilizatorilor să dezvolte, pe lângă aplicaţiile de control al sistemului, şi algoritmi matematici
complecşi. Procesorul F2812 este la fel de eficient în dezvoltarea sarcinilor matematice cât
este şi în dezvoltarea aplicaţiilor tipice de control al sistemelor. Capacitatea 32x32-bit MAC a
F2812 cât şi capacitatea de procesare pe 64biţi, permit acestuia să trateze probleme care în
mod mormal ar necesita un procesor în virgulă mobilă, mult mai scump. Adăugând la aceasta

29
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
şi respunsul rapid la cererile de întrerupere cu salvarea automată a contextului regiştilor
critici, va rezulta un dispozitiv pregătit să întreţină o multitudine de evenimente asincrone cu
latenţă minimă.
F2812 conţine un pipeline protejat de 8 nivele adâncime cu acces la memorie. Acest sistem
permite execuţia aplicaţiilor la viteze ridicate fără a necesita memorii scumpe.

Fig. 3.2 Structura DSP-ului TMS320F2812 de la Texas Intruments

Magistrala de memorie

F2812 utilizează multiple magstrale pentru a deplasa datele între memorii, CPU şi periferice.
Arhitectura magistralelor de memorie conţine o magistrală a programului citit, o magistrală a
datelor citite cât şi o magistrală a datelor scrise.

30
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Magistrala programului citit constă în 22 de linii de adresă şi 32 de linii de date. Magistralele
de date citite, respectiv scrise constau fiecare în 32 de linii de adresă şi 32 de linii de date.
Magistrala de date de 32 de biţi permite operaţii pe un singur ciclu de 32 de biţi. Arhitectura
magistralelor multiple, denumită ”Arhitectura Harvard”, permite procesorului F2812
extragerea unei instrucţiuni, citirea unei date şi scrierea unei date într-un singur ciclu. Toate
perifericele şi memoriile ataşate magistralei de memorie vor avea o anumită prioritate în
accesarea memoriei. În general priorităţile pot fi însumate după cum urmează:
Cea mai mare prioritate: - Scrierea de date (scrierea simultană a datelor şi programului nu
poate apărea)
- Scrierea programului
- Citirea de date
- Citirea programului(nu se pot executa simultan citirea
programului şi extragerea unei instrucţiuni)
Cea mai mică prioritate: - Extragerea instrucţiunilor

Fig. 3.3 Structura memoriei DSP-ului TMS320F2812

31
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Magistrala perifericelor

Texas Instruments a stabilit un standard pentru magistrala perifericelor a DSP-urilor din


familiile F281x şi C281x. Magistrala perifericelor multiplexează diferitele magistrale care
formează ”Magistrala de Memorie” a procesorului într-o singură magistrală constând în 16
linii de adresă şi 16 sau 32 linii de date şi semnale de control asociate. C281x şi F281x
suportă două versiuni de magistrale periferice. O versiune suportă accesul numai pe 16biţi
(denumită şi frame-ul periferic 2). Cealaltă versiune suportă şi accesul pe 16 biţi şi pe 32 biţi
(denumită şi frameul periferic 1).

JTAG în timp real şi Analiza

F281x şi C281x implementează interfaţa JTAG (Joint Test Action Group) 1149.1 din
standardul IEEE. În plus acestea suportă modul de operare în timp real (real-time) prin
intermediul căruia conţinutul memoriei, perifericelor şi locaţiile regiştrilor pot fi modificate în
timp ce procesorul funcţionează, execută cod şi serveşte întreruperile. F281x şi C281x
implementează hardware modul real-time în cadrul procesorului. Aceasta este o caracteristică
unică a DSP-urilor C281x şi F281x, nu este necesar un monitor software. În plus, este furnizat
şi un hardware de analiză specială care permite utilizatorului setarea punctului de întrerupere
hardware sau a punctelor de urmărire a datelor sau adreselor şi generarea evenimentelor de
întrerupere.

Interfaţa Externă (XINTF)

Această interfaţă asincronă constă în 19 linii de adresă, 16 linii de date, şi 3 linii de chip-
select. Aceste 3 linii sunt mapate în cinci zone externe, Zonele 0, 1, 2, 6 şi 7. Zonele 0 şi 1
împart o singură line chip-select, Zonele 6 şi 7 de asemenea împart o singură linie. Fiecare
dintre aceste cinci zone poate fi progamată cu un număr diferit de stări de aşteptare, setup
pentru semalul de strobe şi fiecare zonă poate fi programată pentru stări de aşteptare externe
sau nu.

Flash

F2812 conţin 128K x 16 chipuri de memorie flash intergrate, izolate în sectoare 8K x 16, şi
şase sectoare 16K x 16. De asemenea acesta conţine o singură memorie OTP 1K x 16 în
banda de adrese 0x3D 7800 – 0x3D 7BFF. Utilizatorul poate şterge, programa şi valida un
sector de memorie flash în timp ce restul de sectoare rămân nemodificate. Totuşi, nu este
posibilă utilizarea unui sector de flash sau OTP-ul pentru executarea algoritmilor flash care
şterg sau prtogramează alte sectoare de flash. Pepelining-ul special de memorie este furnizat
pentru ca modulul de memorie să atingă o performanţă ridicată. Flash-ul/OTP-ul sunt mapate
în spaţiile de program şi date; în consecinţă poate fi utilizată la executarea codului şi stocarea
informaţiilor.

SARAM L0, L1, H0

F281x conţine în plus o memorie RAM 16K x 16 cu acces singular, împărţită în 3 blocuri (4K
+ 4K + 8K). Fiecare bloc poate fi accesat independent, în consecinţă se obţine minimizarea
dimensiunii pipeline-urilor. Fiecare bloc este mapat în spaţii de date şi de program.

32
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
ROM-ul de Boot

ROM-ul de boot este programat din fabrică cu un soft-ware de încărcare la boot. Programul
de boot din ROM se execută după ce dispozitivul a fost resetat şi verifică pinii de GPIO
pentru stabilirea modului de boot. De exemplu, userul poate alege să execute codul care există
deja în flash-ul intern sau să downloadeze un nou software în memoria internă RAM, prin
intermediul porturilor seriale. Există de asemenea şi alte moduri de boot. ROM-ul de boot
conţine de asemenea funcţii standard, cum ar fi forme de undă SIN/COS, pentru utilizarea în
algoritmii matematici.

Securitate

F281x suportă niveluri ridicate de securitate pentru a proteja utilizatorul firmware-ului.


Acesta acceptă o parolă de 128-biţi, pe care userul o poate programa în flash. Un modul de
securitate (CSM) este utilizat pentru protejarea flash-ului/ROM/OTP şi a blocurilor
L0/L1/SARAM. Caracteristica de securitate previne examinarea conţiutului memoriei de către
useri neautorizaţi prin intermediul portului JTAG, executând codul din memoria externă.
Pentru a avea acces la blocurile de memorie, userul trebuie să scrie corect valoarea parolei de
128-biţi, care se potriveşte cu valoarea stocată în locaţiile de parolă din Flash-ROM.

Blocul de expansiune a întreruperilor periferice (PIE – Peripheral Interrupt Expansion)

Blocul PIE serveşte la multiplexarea numeroaselor surse de întreruperi într-un set restrâns de
intrări. Blocul PIE poate suporta până la 96 de întreruperi. În cadrul procesorului F281x
dintre cele 96 de întreruperi 45 sunt utilizate de periferice. Cele 96 de întreruperi sunt grupate
în 8 blocuri, şi fiecare bloc conţine de la 1 la 12 linii de întrerupere (INT1 – INT12). Fiecare
dintre cele 96 de întreruperi este susţinută de propriul vector stocat într-un bloc RAM dedicat
care poate fi suprascris de utilizator. Vectorul este extras automat de CPU când apare
întreruperea. Sunt necesare opt cicluri de ceas de CPU pentru a extrage vectorul şi a salva
regiştri critici. În concluzie procesorul poate răspunde repede evenimentelor de întrerupere.
Priorităţile întreruperilor sunt controlate atât hardware cât şi software. Fiecare întrerupere
individuală poate fi activată/dezactivată în blocul PIE.

Întreruperi externe

F281x suportă trei întreruperi externe mascate (XINT1, 2, 13). XINT13 este combinată cu o
întrerupere externă nemascată (XNMI). Numele semnalului combinat este XNMI_XINT13.
Fiecare dintre întreruperi poate fi selectată pentru lansarea pe frontul pozitiv sau negativ, şi de
asemenea poate fi activată sau dezactivată (inclusiv XNMI). Întreruperile mascate conţin de
asemenea un numărător crescător liber pe 16 biţi, care este resetat la zero în momentul în care
frontul de întrerupere valid este detectat.

PLL-ul şi Oscilatorul

F281x poate fi sincronizat de un oscilator extern sau de un cristal ataşat de circuitul oscilator
de pe chip. De asemenea este furnizat şi un PLL care suportă până la 10 rapoarte de scalare a
clock-ului. Rapoartele PLL pot fi modificate software, permiţând utilizatorului să micşoreze
frecvenţa de operare, dacă se doreşte efectuarea operaţiilor de putere scăzută. Blocul PLL
poate fi setat în modul bypass. Figura 3.4 ilustrează oscliatorul şi blocul PLL.

33
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 3.4 OCS şi blocul PLL

Circuitul oscilator on-chip permite ataşarea unui cristal la F281x prin intermediul pinilor X2
X1/XCLKIN. Dacă acesta nu este utilizat atunci se poate conecta direct un oscilator extern la
pinul XCLKIN în timp ce X2 rămâne neconectat.

Wachdog

F281x suportă un timmer wachdog. Softwareul utilizator trebuie să reseteze regulat


numărătorul wachdog într-o anumită perioadă de timp; altfel wachdog-ul va genera semnale
de reset ale procesorului. Acesta poare fi dezactivat dacă este necesar.

Clocking-ul perifericelor

Clock-ul fiecărui periferic în parte poate fi activat/dezactivat în scopul reducerii consumului


de energie dacă perfericul nu este utilizat.

Module de putere scăzută

Dispozitivele F281x sunt dispozitive CMOS în întregime statice. Sunt furnizate trei module
de putere mică.
IDLE: Plasează CPU-ul în modul low-power. Ceasurile periferice sunt oprite sectiv şi numai
acele periferice care trebuie să funcţioneze pe perioada de IDLE sunt lăsate în fucţiune. O
cerere de întrerupere provenită de la un periferic poate scoate procesorul din modul IDLE.
STANDBY: Se opresc ceasurile procesorului şi ale perifericelor. Acest mod păstrează în
funcţiune oscilatorul şi PPL-ul. Un eveniment de întrerupere din exterior va scoate din această
stare procesorul şi perifericele. Execuţia va începe la următorul ciclu valid după detectarea
evenimentului de întrerupere.
HALT: Scoate din funcţiune oscilatorul intern. Acest mod practic opreşte dispozitivul şi îl
plasează modul cu cea mai mare economie de energie. Numai reset-ul poate repune în
funcţiune dispozitivul din acest mod.

34
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Frameuri Periferice 0, 1, 2 (PFn)

F281x împarte perifericele în trei secţiuni. Maparea perifericelor este urătoarea:


PF0: XINTF: Regiştri de configurare a interfeţei externe.
(external INTerFace configuration registers)
PIE: Activarea întreruperii PIE şi Control Registers Plus PIE Vector
Table.
FLASH: Controlul Flash, Programare, Ştergere, Verificarea Regiştrilor.
Timere: Timerele de procesor 0, 1, 2, Regiştri.
CMS: Code Securit Module KEY Registers.
PF1: eCAN: Mailbox-ul eCAN şi Regiştri de control.
PF2: SYS: Regiştri de control al sistemului (System Control Registers).
GPIO: Configuraţia MUX a GPIO şi Regiştrii de Control.
EV: Managerul de Evenimente şi Regiştrii de Control.
McBSP: Controul McBSP şi Regiştrii TX/RX.
SCI: Controlul Interfeţei de comunicare serială (Serial
Communications Interface) şi regiştrii RX/TX.
SPI: Controlul Interfeţei Periferice Serialeb (Serial Peripheral
Interface) şi regiştrii RX/TX.
ADC: Regitrii ADC(Convertor Analogic Digital) de 12 biţi.

Multiplexorul Intrărilor/Ieşirilor cu Scop General (GPIO – General-Purpose


Input/Output)

Majoritatea semnalelor de intrare/ieşire sunt multiplexate prin intermediul semnalelor GPIO.


Această mutiplexare permite utilizarea unui pin ca un GPIO dacă semnalul perferic sau
funcţia nu sunt utilizate. La reset, toate GPIO sunt configurate ca şi intrări. Utilizatorul poate
programa individual fiecare prin pentru modul GPIO sau pentru modul semnalelor periferice.

Timerele de 32 de biţi ale procesorului (0, 1, 2)

Timerele procesorului 0, 1, 2 sunt timere de 32 de biţi identice, cu perioade presetabile şi cu


prescalare de 16 biţi de clock. Timerele au un registru numărător descrescător de 32 de biţi,
care generează o întrerupere atunci când acesta ajunge la valoarea 0. Numărătorul este
decrementat la viteza de clock a procesorului împărţită la valoarea setată pentru prescalare.
Atunci când numărătorul ajunge a valoarea zero, acesta este automat încărcat cu o valoare de
32 de biţi. Timerul 2 este rezervat pentru Sistemul de Operare în Timp Real DSP/BIOS, şi
este conectat la INT14 a CPU-ului. Dacă DSP/BIOS nu este utilizat, Timerul 2 este
disponibil. Timerul 1 este pentru uz general şi se poate conecta pe INT13 a CPU-ului.
Timerul 0 este de asemenea pentru uz general şi este conectat la blocul PIE.

Perifericele de Control

F281x suportă următoarele periferice utilizate pentru control şi comunicaţie:


EV: Modulul Manager de Eveniment(Event Manager) include timere de uz general,
unităţi de comparare/PWM, intrări de captură (CAP) şi circuite QEP
(quadrature-encoder pulse). Sunt furnizate două managere de evenimente care
permit controlul a două motoare trifazate sau a patru motoare bifazate.

35
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
ADC: Blocul ADC este un convertor pe 12 biţi, cu o singură ieşire, şi 16 canale.
Acesta conţine două unităţi eşantion-şi-aşteptare (sample-and-hold) pentru
eşantionări simultane.

Perifericele Portului Serial

F281x suportă următoarele periferice pentru comunicarea serială:


eCAN: Aceasta este versiunea dezvoltată a perifericului CAN. Suportă 32 de
mailboxes, şi de asemenea este compilator de CAN 2.0B.
McBSP: Multichannel buffered serial port conectează la liniile E1/T1 codec-uri phone-
quality pentru aplicaţiile de modem sau pentru dispozitivele DAC audio-stereo.
Regiştrii McBSP de recepţie şi transmitere sunt suportaţi de o FIFO de 16
nivele.
SPI: SPI este un port I/O serial asincron, de mare viteză care permite mutarea în
interiorul şi în afara dispozitivului a unui şir serial de biţi de lungime
programabilă, la o rată de transfer programabilă. În mod normal, SPI-ul este
utilizat pentru a realiza comunicaţia între controllerul DSP şi perifericele
externe sau alt procesor.
SCI: Interfaţa de comunicare serială este un port serial asincron, denumit UART.
Portul suportă o FIFO de 16 nivele pentru recepţie şi transmisie.

Interfaţa externă, (XINTF)

Interfaţa externă este o magistrală asincronă ne-multiplexată. Interfaţa externă este mapată în
cinci zone fixe ilustrate în figura 3.4. Aceasta prezintă semnalele XINTF (eXternal
INTerFace) pentru procesorul F2812.

Fig. 3.5 Diagrama bloc a interfeţei externe

36
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Întreruperi

Figura 3.5 ilustrează variatele surse de întreruperi multiplexate în cadrul dispozitivului F2812.
Opt întreruperi solicitate de blocul PIE sunt grupate într-o singură întrerupere a CPU. În total,
12 grupuri de întrerupere, cu 8 întreruperi pe grup rezultă 96 posibile întreruperi. În cazul
procesorului F281x, 45 dintre acetea sunt utilizate de periferice.

Fig. 3.6 Surse de întreruperi.

3.4 Placa de dezvoltare MSK2812 – Technosoft

Acest subcapitol furnizează informaţii asupra plăcii MSK2812 cât şi asupra următoarelor
kituri de dezvoltare:
- Platforma de dezvoltare MSWIN2812
- Librăria Matlab Simulink DMCode-MS(BL).
Aceste kituri se bazează pe placa DSP MSK2812 şi permit experimentarea şi utilizarea
controllerului DSP TMS320F2812 (’F2812) pentru aplicaţii de control digital (DMC).

37
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Controlerul DSP F2812 este un dipozitiv de tensiune mică, 3.3V, conceput pentru
implementarea aplicaţiilor DMC avansate, prin integrarea unui nucleu DSP performant,
descris în subcapitolul 3.3, şi a perifericelor on-chip ale microcontrolerului pe un singur chip.
F2812 are toate perifericele necersare pentru controlul simultan a două motoare alternative
trifazate.

3.4.1 Hardware Placa MSK2812

Figura 3.7 prezintă schema bloc a plăcii DSP MSK2812. Placa include o interfaţă RS-232,
utilizată pentru comunicarea cu PC-ul şi un emiţător-recepror CAN care permite conectarea
mai multor plăci DSP MSK2812 prin intermediul reţelei CAN.
Placa DSP MSK2812 este echipată cu o memorie SRAM de 256-kword externă care poate fi
utilizată fie ca memorie de date, fie ca memorie de program, şi un E2ROM serial de 8kword
conectat-SPI. Pentru evaluarea performanţei şi depanare MSK2812 include un convertor D/A
serial pe 12biţi cu două canale conectat-SPI cu update simultan.
Conectorul JTAG oferă compatibilitate cu toate programele ce utilizează emulatorul XDS510
sau XDS510PP.
Placa DSP MSK2812 oferă acces direct la toate semnalele I/O ale F2812 prin intermediul
celor 4 conectori. Doi dintre ei conţin magistrala de date, magistrala de adresă şi semnalele de
control necesare pentru adăugarea unor noi interfeţe. Celalţi doi conectori sunt utilizaţi în
interfaţarea cu modulele de alimentare. Fiecare dintre aceşti conectori includ toate semnalele
I/O necesare comenzii motoarelor de curent alternativ, de curent continuu şi a celor pas-cu-
pas. Prin intermediul acestor conectori placa DSP MSK2812 poate fi conectată la una sau
două module de putere externe de tipuri şi puteri diferite, adaptate anumitor aplicaţii.

Fig. 3.7 Diagrama bloc a plăcii MSK2812.


În figura 3.8 este reprezetată conectarea plăcii MSK2812 la modulul de putere PM50,
utilizând unul dintre aceşti conectori.

38
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 3.8 Diagrama bloc a modului de putere PM50.

Figura 3.9 ilustreză placa MSK2812 cu conectorii specifici acesteia.

Fig. 3.9 Conectorii plăcii MSK2812.

39
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

3.4.2 Software Placa MSK2812

3.4.2.1 Platforma de dezvoltare MSWIN2812

Placa MSK2812 conţine mai multe aplicaţii software, ce constituie o platformă de dezvoltare
numită MSWIN2812.
Această platformă intergrează un program de monitorizare a comunicaţiei, cât şi aplicaţii de
evaluare a controllerului DSP F2812. Utilizând modulul de comunicaţie cu PC-ul, se poate
accesa palaca MSK2812, se pot evalua aplicaţiile şi se pot executa progarame pe pacă.
MON2812 – programul monitor al plăcii DSP MSK2812 – utilizează interfaţa SCI a F2812
pentru comunicaţia serială cu PC-ul.
Programul este structurat pe două nivele:
1. Funcţii de comunicaţie de nivel scăzut, conţinând funcţii ca: iniţializare SCI, rutine de
întreruperi pentru recepţia şi transmisia SCI, citirea unui caracter(byte) de la SCI,
trimiterea unui caracter (byte) către SCI.
2. Funcţii de comunicaţie de nivel înalt, conţinând interpretorul monitor de comandă.
Acesta permite scrierea memoriei program (PM)/memoriei de date (DM), citirea
datelor din aceste memorii, stabilirea lungimii blocului de date de scriere/citire,
executarea unui program de la o adresă specifică din PM, modificarea protocolului de
comunicaţie etc.
Monitorul MONPC2812 – interpretorul comenzilor din programul implementat pe PC, care
permite: afişarea conţinutului memoriei de date şi memoriei program, scrierea în aceste
memorii, modificarea conţinutului memoriei de proram şi al memoriei de date, evaluarea
conţinutului memoriei de date, ajustarea conţinutului memoriei de date, modificarea
protocolului de comunicare, încărcarea programelor în memoria RAM sau în memoria flash,
executarea programelor, etc.

Fig. 3.9 Structura programelor de comunicaţie de bază.

40
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
MONWIN32.DLL Toate funcţiile de comunicaţie ale Monitorului MONPC2812 sunt incluse
într-un fişier .DLL denumit monwin32.dll. Acesta permite definirea aplicaţiilor Windows care
pot apela oricare dintre funcţiile de comunicaţie disponibile.

Fig. 3.10 Structura software a comunicaţiei între PC şi MSK2812.


MSK2812 include platforma DMC28x Developer Pro un mediu Windows IDE care oferă
posibilitatea asamblării şi depanării codului C, funcţii trace bazate pe achiziţia datelor în timp
real, plug-in-uri specifice controlului digital al motoarelor, cum ar fi generatorul de referinţă,
windows watch, panoul de control, etc.
DSPMOT este un instrument de analiză în mediu grafic integrat pentru aplicaţiile DSP. Oferă
posibilitatea analizării variabilelor programului DSP utilizând observatoarele on-line sau
urmărirea off-line a datelor stocate în timp real.

3.4.2.2 Librăria DMCode-MS(BL) pentru Matlab Simulink

Aceasta se poate utiliza pentru implementarea schemei de reglare a motorului în Matlab


Simulink, pentru a simula reglarea şi pentru a obţine rezultate în condiţii teoretice. Odată ce
simularea a fost realizată modelul poate fi testat pe Kitul DMC Developer Pro MSK2812 de
la Tehnosoft.
Figura 3.11 ilustrează procesul de implementare a aplicaţiilor DMC, de la simularea software
până la implementarea DSP.

41
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 3.11 Procesul de implementare a aplicaţiilor DMC, de la simularea software până la implementarea DSP.
Această librărie permite:
- pornirea cu un model complet al sistemului;
- conceperea blocurilor de control şi analizarea comportamentului prin intermediul
simulării;
- generarea automată a codului executabil pentru sitemul de control;
- testarea pe un sistem real.

Simularea sistemului

În primul nivel, librăria Matlab DMCode-MS(BL) permite simularea unui întreg sistem de
control digital al motorului fără perii. Sunt furnizate blocuri pentru: motor (motor sincron,
motor fără perii şi motor de inducţie), senzori, converoare de putere, cât şi pentru structurile
de control digital.

Generarea Codului C

Odată ce sistemul a fost simulat, şi s-au obţinut rezultate satisfăcătoare se poate trece la
următorul nivel: generarea codului C/C++ pentru blocurile de control ale sistemului cu scopul
de a-l implementa şi testa pe controlerul DSP F2812. Pentru generarea codului se utilizează
unealta Real Time Workshop din mediul Matlab. Selectând o componentă a schemei de
control, şi apoi alegând opţiunea Build Subsystem, se poate genera codul C, care poate fi
folosit în sistemul de control în timp real.

42
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Implementarea Aplicaţiei DSP în timp real

Codul generat în Matlab este introdus într-o aplicaţie de întreruperi în timp real, care poate fi
executată pe un controler DSP TMS320F2812. Utilizând platforma IDE Digital Motor
Control Developer PRO (DMCD-Pro), se pot descărcă şi rula aplicaţiile în mediul real de
control digital.
În acest moment se pot compara rezultatele obţinute de la simularea sistemului cu cele
obţinute în cazul aplicaţiei în timp real.

43
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

CAPITOLUL 4. APLICAŢIA PRACTICĂ - REGLAREA POZIŢIEI


MOTORULUI DE CURENT CONTINUU FĂRĂ PERII FOLOSIND O
PLACĂ DE DEZVOLTARE CU DSP

4.1 Introducere

Acest capitol prezintă principalele aspecte a unei apicaţii dezvoltată pe cotroller-ul DSP
TMS320F2812. Este vorba de structua de control a motorului de curent continuu trifazat fără
perii.
Această aplicaţie implementează controlul digital al poziţiei motorului în timp real. În cadrul
acestei aplicaţii s-a utilizat informaţia furnizată de senzorii Hall incluşi în pachetul motorului,
pentru comutarea fazelor invertorului.
Aplicaţia poate fi utilizată la două nivele, în funcţie de experienţa utilizatorului:
1. Începător: aplicaţia poate fi utilizată pentru a avea prinul contact cu o aplicaţie de
control digital. Utilizatorul poate evalua efectul modificării parametrilor
(coeficienţii de control, perioada de eşantionare), cât şi cel al modificării referinţei
de poziţie.
2. Avansat: se pot adăuga sau înlocui anumite funcţii de blocuri cum ar fi
controlerele şi/sau generatorl de referinţă. Astfel, porind de la această aplicaţie se
pot găsi algoritmi de control noi.
Curenţii din motor sunt măsuraţi prin intermediul tensiunii de pe şunturile plasate pe laturile
invertorului. Sincronizate cu semnalele generatorului PWM, aceste tensiuni măsurate dau
valoarea masurată a curenţilor pe faze ai motorului, şi pot fi utilizate pentru închiderea buclei
de curent.
Informaţia encoderului este utilizată pentru reglarea poziţiei în bucla lentă a sistemului de
control al motorului.
Pentru reglarea poziţiei motorului sunt utilizate două bucle de relare: o buclă rapidă (la o rată
de sampling 10s ), şi o buclă lentă de control al poziţiei (la o rată de sampling de 1ms ). Se
presupune ca după 10 bucle rapide curentul este stabilizat şi se poate efectua o buclă de
reglare de poziţie.
Toate calculele matematice sunt realizate în formatul IQ. Există de asemenea o serie de funcţii
din librăria IQMath utilizate pentru realizarea unor operaţii matematice între astfel de numere.
Ambele bucle de reglare utilizează controlere discrete. Proporţional-Integrator(PI) pentru
curent şi Proporţional-Integrator-Derivativ(PID) pentru poziţie. Aceste controlere utilizează
coeficienţi de control scalaţi pentru a putea acoperi o gamă largă de valori ale parametrilor de
control.
Aplicaţia DSP/BIOS este bazată pe structura software prezentată în figura 4.1. Această
structură reprezintă structura sofware modulară a aplicaţiilor de control.

44
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
În vârful structurii bloc de funcţionare, modulul de comunicaţie va transmite către sistemul de
mişcare comenzile generate pe un alt computer (PC sau, în plicaţiile industriale, un alt modul
de control, conectat prin intermediul unei magistrale la DSP). Acest bloc pate fi reprezentat în
cadrul aplicaţiei de interpretorul de comandă integrat al plăcii DSP.
Un interpretor al comenzii de mişcare, adaptat la diferitele comenzi necesare unui control
industrial, va interpreta comenzile de mişcare în cazul general. Pe baza comezilor de mişcare,
interpretorul comenzilor de mişcare va genera comenzile prin intermediul blocului de
generare a referinţei. La nivelul aplicaţiei acest bloc nu este implementat.

Figura 4.1 Structura software modulară a aplicaţilor de control al mişcării.


Blocul Generator de referinţă va impune motorului valoarea de referinţă – semnalul de
referinţă de poziţie.
Referinţa motorului reprezintă intrarea blocului de control al motorului. Acesta conţine
controlerul de poziţie. Blocul va genera referinţa curentului în quadratură ( iq ), care
furnizează cuplul motorului.
Blocul de control al curentului/cămpului implementează controlul curentului. Ieşirle acestui
bloc de control sunt semnalele de referinţă ale PWM-ului.
În final, semnalele PWM sunt utiizate, în blocul generator PWM, pentru a comanda invertorul
de putere. Este utilizată o tehnică simetrică de generare a PWM-ului.
Din punctul de vedere al structurii programului, aplicaţia este configurată după reprezentarea
din figura 4.2.
După cum se poate observa, în această configuraţie se pot sublinia mai multe nivele logice,
care reprezintă mai mult sau mai putin configuraţia de bază a unui kernel.
În cadrul nivelului interfeţei I/O aplicaţia utilizează următoarele resurse ale chipului TMS
320F2812:
- interfaţa SCI pentru comunicaţia serială,

45
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
- interfaţa ADC (Analogic to Digital Conversion – Conversia Analogică Digitală)
pentrul măsurarea curenţilor pe fazele motorului,
- blocul de generare PWM pentru comanda invertorului (utilizând timerul 1 al
chipului DSP-ului)
- Timerul 1 cu scop general pentrul generarea perioadelor de eşantionare pentru
controlul poziţiei şi al curentului ( Tcrt şi Tctrl )
- interfaţa encoderului QEP în cuadratură pentru măsurarea poziţiei de la encoder
(utilizând Timerul 2 al chipului DSP)
- trei biţi de intrare de la interfaţa GPIO (General Purpose Input/Output) pentru
citirea sezorilor Hall.

Fig. 4.2 Structura de bază a kernelului de mişcare în timp real.


Aşa cum se poate observa în figura 4.2 blocul de generare PWM va porni conversia
analogică/digitală bazată pe schema de măsurare a curentului care a fost implementată.
În cadrul stratului ISR sunt implementate mai multe funcţii de întrerupere în timp-real:
- ISR trs: modului de comunicaţie serială. Activat de întreruperea TxINT,
- ISR rec: modului de recepţie în comunicarea serială. Activat de întreruperea
RxINT,
- ADC ISR: modulul de măsurare a conversiei ANALOGIC/DIGITAL. Activat de
sfârşitul conversiei realizată de modului de conversie ANALOGIC/DIGITAL,
- ISR kernel: rutina de întrerupere a kernelului de control al mişcării. Activat de
deficitul de întrerupere al Timerului 2. Face apel la rutinele de curent şi poziţie.
Stratul de schimb al datelor I/O necesită o serie de variabile de bază:
- Buff trs: bufferul de transmisie pentru transmiterea datelor pe canalul de
comunicaţie,
- Buff rec: bufferul de recepţie pentru datele recepţionate de pe canalul de
comunicaţie,
- I mas : curenţii măsuraţi ai motorului

46
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
- I  : curenţii de referinţă ai motorului
-  mas : poziţia măsurată a motorului
-  : poziţia de referinţă a motorului.
Figura 4.2 indică conecsiunile logice de bază între componentele diferite ale straturilor în
cadrul acestui kernel de control al mişcării.

4.2 Structura aplcaţiei

Aplicaţia constă în regalrea poziţiei unui motor de curent continuu fără perii care operează cu
undă trapezoidală.
Schema de control este prezentată în figura 4.3. După cum se observă, schema se bazează pe
măsurarea curenţilor pe două faze şi a poziţiei motorului. Curenţii de fază măsuraţi, ia şi ib ,
sunt utilizaţi la calcularea curentului echivalent în motor, bazată pe informaţiile de poziţie
furnizate de senzorii Hall. Este de reţinut faptul că senzorii Hall furnizează o informaţie de
poziţii pe 60 electrice. Controlerele de poziţie şi de curent sunt discrete. În acest caz este
necesar numai un controller de curent. Blocul de comutare a tensiunii implementează
  
(software) calculul tensiunilor de referinţă pe fiecare fază, v as , vbs şi v cs , aplicate
invertorului.

Fig. 4.3 Schema de control a plicaţiei.

Această schemă va comuta pe o configuraţie specifică de comandă, pentru fiecare sector de


poziţie de 60 , în funcţie de informaţia citită de la senzorii Hall.
Pe baza acestei aplicaţii, se pot construi alte aplicaţii mai complexe. Codul este dezvoltat
numai în limbajul C.

47
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

4.3 Resursele DSP-ului folosite de aplicaţie

Această aplicaţie utilizează diferite resurse ale controlerului DSP specifice controlului
motorului:
- Măsurarea poziţiei: utilizează intrările QEP1 şi QEP2 ale DSP-ului pentru
conectarea semnalelor în cuadratură ale encoderului A şi B.
- Măsurarea curentului: utilizează intrările analog-to-digital ADCIN6 şi ADCIN5
pentru măsurarea curentului motorului pe fazele A şi B.
- Comanda de invertor: utilizează ieşirile PWM1 şi PWM6 pentru comandarea a
şase tranzistoare ale invertorului trifazat.
- Informaţia de la senzorii Hall: senzorii Hall ai motorului trebuie conectaţi la
ieşirile IOPB7, IOPB11 şi IOPB12 ale DSP-ului TMS320F2812

4.3.1 Schema de măsurare a curentului

Schema de măsurare a curentului implementată pe MCK2812 şi PM50 este bazată pe


şunturile montate pe fiecare ramură joasă a invertorului. Tensiunea disipată pe şunt este
amplificată şi trimisă către canalele ANALOGIC/DIGITAL ale TMS320F2812. Figura 4.4
prezintă principiul de măsurare.
De asemenea se ia în considerare faptul că citirea valorii de 12biţi în TMS320F2812 se
realizează cu o shiftare de 4biţi la stânga, de exemplu 12biţi ai valori măsurate sunt stocaţi în
12 cei mai semnificativi biţi ai unei valori de 16biţi.
Pentru această schemă de reglare a curentului, conversia ANALOGIC/DIGITAL trebuie să fie
sincronizată cu comanda PWM a tranzistoarelor invertorului, pentru o măsrare corectă a
curentului pe fiecare fază a motorului.

Fig. 4.4 Schema de măsurare a curentului.

48
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

4.3.2 Conectarea senzorilor Hall


Această aplicaţie utilizează informaţia senzorilor Hall. Acest lucru presupune conectarea celor
trei senzori Hall ai motorului la trei biţi de intrare ai DSP-ului. Pe baza informaţiilor furnizate
de aceste trei semnale, schema de comutare va funiza corespunzător fazele motorului.
Această aplicaţie utilizează senzori Hall care furnizează o informaţie de comutare de 60º, 6
tranzistoare pentru o perioadă electrică a motorului. De asemenea, comutaţia este decisă de
patternul de informaţii Hall. Sunt disponibile până la 12 combinaţii posibile, deci este
necesară o detecţie a combinaţiei specifice motorului.
Descrierea algoritmul, care poate fi utilizat pentru deducerea distribuţiei senzorilor Hall
specifică motorului utilzat de aplicaţie este următoarea:
- Pasul 1. Se alimentează fazele motorului cu trei tensiuni: U a  U , U b   U 2 şi
U c   U 2 , unde U este o tensiune continuă, şi se citesc semnalele de la ieşirea
senzorilor Hall ( H1, H 2 , H 3 ). În acest pas rotorul motorului este poziţionat în faţa
fazei A.
- Pasul 2. Se alimentează fazele motorului cu trei tensiuni: U a   U 2 , U b  U şi
U c   U 2 şi se citesc semnalele de la ieşirea senzorilor Hall ( H1, H 2 , H 3 ). În
acest pas rotorul motorului este poziţionat în faţa fazei B.
- Pasul 3. Se utilizează tabelul de mai jos pentru determinarea cazului distribuţiei
senzorilor Hall, pe baza semnalelor H1, H 2 , H 3 citite la paşii 1 şi 2.
Tabelul 4.1 Tabelul semnalelor Hall.

Caz crt. P1( P2(


H1, H 2 , H 3 ) H1, H 2 , H 3 )
Caz 1 (0, 1, 0) (1, 0, 0)

Caz 2 (0, 0, 1) (1, 0, 0)

Caz 3 (1, 0, 0) (0, 1, 0)

Caz 4 (1, 0, 0) (0, 0, 1)

Caz 5 (0, 0, 1) (0, 1, 0)

Caz 6 (0, 1, 0) (0, 0, 1)

Caz 7 (1, 0, 1) (0, 1, 1)

Caz 8 (1, 1, 0) (0, 1, 1)

Caz 9 (0, 1, 1) (1, 0, 1)

Caz 10 (0, 1, 1) (1, 1, 0)

Caz 11 (1, 1, 0) (1, 0, 1)

Caz 12 (1, 0, 1) (1, 1, 0)

Motorul utilizat în această aplicaţie se încadrează în cazul 1.

49
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

4.3.3 Secvenţa de conexiune a fazelor motorului

Este necesară o conectare corectă a fazelor motorului ţinându-se cont de semnalele A şi B ale
encoderului. Pentru o conectare corectă este necesară citirea fişei tehnice a motorului.

4.4 Aspecte ale implementării software

4.4.1 Utilizarea timerelor şi aspecte legate de întreruperi

Această aplicaţie utilizează un mediu specific de timp real, structurat pe trei nivele (Figura
4.2):
- O funcţie de întrerupere cu prioritate mare, în principal pentru controlul curentului.
- O funcţie de întrerupere de prioritate mică, pentru referinţa poziţiei şi pentru
controlul poziţiei.
- O funcţie fără întrerupere, care conţine iniţializări de aplicaţii şi o buclă infinită de
aşteptare.
Aplicaţia pentru controlerul DSP TMS320F2818 uilizează două timere ale DSP-ului.
- TIMER 1 (GPT1) este utilizat pentru generarea PWM. Timerul operează în modul
continuu sus-jos, generează semnale PWM simetrice.
- TIMER 2 (GPT2) este utilizat pentru stocarea poziţiei encoderului (GPT2 este
utilizat în modul QEP).

Figura 4.5 Generarea întreruperilor în timp real pentru aplicaţiile pentru TMS320F2812.

Timerul 1 este programat, implicit, să genereze un PWM de 20kHz. Acelaşi timer este utilizat
şi pentru generarea întreruperilor în timp real, pentru a activa întreruperile rapide şi cele lente
(pentru implementarea buclelor de curent şi a celei de poziţie). Pentru o frecvenţă a PWM-

50
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
ului de 20-kHz, acesta cere o întrerupere la 50 s . Utilizând un numărător software, rutina de
control a curentului este executată la fiecare două perioade PWM (la fiecare 100 s ). Un alt
numărător software este utilizat la executarea rutinei de control al poziţiei la fiecare 10
perioade (la fiecare ms ).
Este de reţinut faptul că întreruperea lentă poate fi întreruptă de întreruperea rapidă, deoarece
controlul curentului are o prioritate mai mare decât cel al poziţiei.
Execuţia rutinei de întrerupere a curentului durează aproximativ între 50 şi 60ms. Acest lucru
implică faptul că nu sunt recomandate perioade de eşantionare mai mici de 100 s pentru rata
de eşantionare a curentului şi de asemenea trebuie testate cu atenţie.
Timerului 2 numără pulsurile encoderului. Codul utilizează această informaţie, corelată cu
numărul de pulsuri de la encoder per pereche de poli ai motorului, pentru calculul unghiului
electric.
Conversia ANALOGIC/DIGITAL este pornită automat de timerul PWM. Rezultatele
conversiei sunt citite şi stocate în două variabile globale. Numai curenţii motorului sunt
măsuraţi ca mărimi analogice, în consecinţă aceleaşi canale sunt mereu utilizate.

4.4.2 Generarea ieşirilor PWM

Ieşirile PWM-ului sunt generate pe baza valorilor de referinţă ale tensiunii, calculate la ieşirea
rutinei de control al curentului. Referinţele tensiunii, reprezentate în format IQ, sunt utilizate
pentru a calcula valorile regiştrilor de comparare corespunzători celor trei faze ale motorului.
Următoarea figură ilustrează modul în care valorile de comparare stocare în regiştrii de
comparare sunt calculate pornind de la valoarea de referinţă a tensiunii.

Fig. 4.6 Calculul valorilor de comparare pentru generarea PWM-ului, pornind de la tensiunile de referinţă.
În cadrul acestei aplicaţii este utilizată o schemă specială de comutaţie pentru generarea
comenzilor PWM pentru fazele motorului. Pe baza imformaţiilor de la senzori Hall, numai

51
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
două dintre fazele motorului sunt furnizate, în timp ce a treia nu este alimentată, pentru fiecare
combinaţie a semnalelor Hall. După fiecare schimbare de 60º electrice ale poziţiei motorului,
o nouă combinaţie a fazelor motorului este furnizată (Figura 4.7).

Fig. 4.7 Genararea PWM.

4.4.3 Măsurarea curentului


Tensiunile aplicate pe fazele motorului sunt impulsuri dreptughiulare, care generează o
ondulare a curenţilor pe fază ai motorului. Prin închiderea buclei de curent şi impunerea unui
curent continuu în motor controllerul de curent va reuşi să impună un curent care urmăreşte
forma referinţei. Nu în ultimul rând, va exista o ondulare a curenţilor motorului. (Figura 4.8)
Valoarea acestuia este în conformitate cu parametrii motorului (constanta electrică de timp),
cu frecvenţa PWM-ului, şi cu lăţimea benzii controllerului de curent.
Având în vedere această ondulare moştenită a curentului, pentru a obţine cea mai apropiată
valoare măsurată a curentului pentru implementarea buclei de regrare în curent, cel mai bun
moment de măsurare este la mijlocul pulsului PWM (Figura 4.8).
Figura 4.9 prezintă metoda de măsurare a curentlui utilzată în cazul MCK2812. Un şunt pe
fiecare latură joasă a PWM-ului permite măsurarea curentului pe fiecare fază a motorului, de
la căderea de tensiune pe şunt. Pentru o măsurare corectă, indiferent de semnul curentului,
aceasta trebuie efectuată în momentul în care tranzistorul de pe latura joasă este ON. În
concluzie, corelând această restricţie cu cea de mai sus (măsurarea la mijlocul pulsului PWM-
ului), se poate spune că măsurarea curentului trebuie realizată la mijlocl perioadei PWM (în
cazul unui PWM simetric). Această măsurare este prezentată în figura 4.10.

52
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 4.8 Ondularea curentului datorită tensiuni PWM aplicată motorului.

Fig. 4.9 Măsurarea curentului pe latura joasă a PWM-ului.


Ieşirile PWM-ului trebuie să rămână stabile pe durata conversiei ANALOGIC/DIGITAL.
Acest lucru va impune o valoare maximă a valorii tensiunii de referinţă, pentru a evita
comutaţia pulsului PWM pe durata eşantionării curentului.
Figura 4.10 indică toate aceste aspecte. Pentru ca măsurarea să se realizeze corect trebuie
respectaţi următorii paşi:
- pornirea ADC-ului se face la TPWM ,
- se măsoară U Rx  Rx  ix
Metoda de măsurare utilizată de această aplicaţie are următoarele caracteristici:
- Furnizează o măsurare corectă indiferent de semnul curentului.
- Funizează o valoare pentru curent apropiată de curentul mediu (în relaţie cu
constanta de timp electrică a circuitului de fază a motorului şi cu frecvenţa
PWM-ului)

53
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
- Zona de limitare de siguranţă pentru S&H impune o limitare pe tensiunea maximă
care poate fi plicată pe motor.

Fig. 4.10 Măsurarea curentului la mijlocul perioadei PWM.


De reţinut este faptul că pe controllerul DSP TMS320F2812 este posibilă o pornire automată
a conversiei ANALOGIC/DIGITAL de la generatorul PWM, în centrul perioadei PWM, fără
a fi necesară o intervenţie sotfware. În consecinţă numai la finalul conversiei, în timpul rutinei
de întrerupere activată în acel moment, programul va citi direct valorile convertite ale
curentului.

4.4.5 Calculul unghiului electric


Poziţia măsurată de la encoder este utilizată la calculul unghilui electric al motorului. Acest
unghi se calculează prin împărţirea unghiului de poziţie la numărul de perechi de poli ai
motorului. Informaţia unghiului electric va fi utilizaztă pentru calculul sinusului şi cosinusului
necesare pentru implementarea transformărilor de coordoate.
În acest sens, informaţia de poziţie a motorului trebuie să fie transformată urmând mai mulţi
paşi succesivi (Figura 4.11):
- citirea informaţiei interfeţie QEP stocată în registrul numărător asociat timerului,
- calculul modulo din informaţie ( 4  N enc ), unde N enc este numărul linilor
encoderului; aceasta este informaţia de poziţie mecanică redusă în interiorul unui
tur al motorului,
- calculul unghilui de poziţie electrică, prin împărţirea acestui număr la numărul de
perechi de poli ai motorului; valoarea maximă a unghiului electric este
elp max  4  N enc p ,

54
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
- rescalarea acestui număr ca o valoare Q16, prin înmulţirea cu  65536 elp max 

Fig. 4.11 Calculul unghiului electric din informaţia encoderului.

4.4.6 Controlul curentului

Aplicaţia utilizează pentru implementarea reglării curentului motorului un contrler PI. Este
folosită o formă discretă a controlerului. Principiile de bază ale implementării controlerului PI
sunt prezentate mai jos.
Controler PI
t
y (t )  k p  (t )  ki  (t ) dt
0

Implementare
i  yi  yi
U p   i  k p ; Sat( U p )
U i   ( i  k i ) ; Sat( U i )
u i  Sat (U p )  Sat (U i )

Parametrii controlerului sunt valori în virgulă mobilă. Aceste valori sunt reprezentate în
formatul IQ.

55
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

4.5 Implementarea schemei în Matlab Simulink

Acest subcapitol prezintă implemantarea schemei de control al poziţiei pentru un motor de


curent cotinuu fără perii. Controlul poziţiei se realizează cu un controller PID. Acesta are la
ieşire un semnal de refeinţă a curentului pentru controllerul PI de curent. Parametrul de intrare
al controllerului PID este dat de blocul ” Speed Reference”.

Fig. 4.12 Implematarea schemei de reglare a poziţiei în Matlab Simulink.

4.5.1 Regulatoare numerice - Noţiuni introductive

Această aplicaţie utilizează o structură de control în cascadă cu o buclă rapidă interioară


pentru controul curentului şi o buclă exterioară de reglare a poziţiei. Pentru a respinge
perturbaţiile externe sunt utilizate regulatoare PI standard. Funcţia de transfer utilizată pentru
regulatoarele digitale este următoarea:
K1
R( z )  K p  (4.1)
1  z 1
unde k p este factor de amplificare proporţional şi ki este factorul de amplificare integrativ.
Schema de reglare a fost realizată pornind de la următoarele presupuneri:
- Lărgimea de bandă operaţională a controllerului este mult mai mică decât
frecvenţa de eşantionare.
- Fiecare buclă de control operează cvasi-independent; pasul buclei externe este
mult mai mic decât ce al buclei interne şi reglarea curentului este mult mai rapidă
decât obţinerea referinţei de poziţie.
Se consideră n pulsaţia naturală de oscilaţie a sistemului de control, şi  factorul de
amortizare. Factorul de amortizare poate fi ales după mai multe criterii:

56
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
-   0.707 4.3% supraregraj la intrare treaptă unitară.
-   0.5 - lărgimea de bandă maximă pentru funcţia de transfer, 16% supraregrajul
la intrarea treaptă unitară.
-   0.1 - răspuns neperiodic, cel mai rapid răspuns fără suprereglaj.

La alegerea pulsaţiei naturale n următorii factori ar trebui luaţi în considerare:


- Dinamica dorită
- Dinamica proprie a sistemului
- Rezerva de tensiune
- Acurateţea de eşantionare.
În practică, pulsaţia naturală este invers proporţională cu răspunsul în timp al sistemului.
Pulsaţia naturală pentru bucla de reglare a curentului poate fi evaluată cu următoarea relaţie:
40
n  (4.2)
4  Ts

De asemenea ar trebui ales un timp de eşantionare Ts adecvat pentru bucla de curent.


Considerâd perioada de eşantionare Ts , pulsaţia limită pentru un proces digital este:

max  (4.3)
Ts

Această limită teoretică este îndeplinită în practică prin alegerea unei pulsaţii de oscilaţie cu
un ordin mai mică decât amplitdinea.
Pentru simplificarea comutaţiei am ales:
1
n  (4.4)
4  Ts

Este evident faptul că dinamica dorită şi perioada de eşantionare sunt condiţionate mutual.
Pentru sistemul electric banda de pas este limitată de asemenea şi de rezerva de tensiune.
Tensiune mai mare implică răspuns mai rapid şi banda de pas mai largă.
În consecinţă, banda de pas care poate fi atinsă este:
R 1
n  min{ , }
 U DC  4  Ts (4.5)
L  ln 
 U DC  2  R  I n 
Construirea unui controller digital se face în următorii paşi:
- Se consideră o schemă de control echivalentă în analogică.
- Se aleg performanţele dorite şi perioada de eşantionare potrivită.
- Se calculează parametrii de acord în funcţie de indicii de calitate impuşi pentru un
controller analogic.
- Se discretizează controllerul.
- Se calculeză parametrii noului controller ţinând seama de relaţiile dintre aceştea şi
cei ai controlerului analogic şi de asmenea de tipul de procesare numerică a DSP-
ului (în virgulă fixă în cazul de faţă).
- Evaluarea performanţelor obţinute.

4.5.2 Controlul curentului şi implementarea controllerului

57
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Controlul curentului
Circuitul RL
Se consideră un circuit RL alimentat cu o sursă de tensine variabilă definit de ecuaţia:
di
u  R i  L E (4.6)
dt
Dacă tensiunea elecromotoare este considerată a fi perturbaţie, curentul printr-un asemenea
circuit poate conţine un controller PI ca în schema următoare:

Fig. 4.13 Schema cu controller PI.

Dacă circuitul electric are constanata de timp el  4  Ts următoarele relaţii pot fi utilizate
pentru controlul curentului:
ku
Ki _ crt  R  2n  el  Ts
ki


K p _ crt  R 2    2n  el  1  kk
u (4.7)
i

Aceste relţii alocă polii sistemului în buclă închisă în funcţie de indicatorii de calitate impuşi (
n ,  ) . În plus, pentru a obţine un sistem în buclă închisă stabil, este important ca:

K p _ crt  0

Circuitul rezistiv

Dacă constanta electrică de timp a circuitului este mai mică decât perioada de eşantionare,
trebuie considerat un circuit rezistiv. În acest caz este necesar numai un regulator PI. După
distretizare şi calcularea coeficienţilor, elementul integrativ va avea parametrul:
Ku
Ki _ crt  RnTs (4.8)
Ki

Circuitul rapid RL

În cazul în care constanta electrică de timp este importantă ( el  Ts ), dar circuitul este foarte
rapid ( el  4  Ts ), circuitul de curent poate deveni instabil datorită sensibilităţii ridicate. O
soluţie hardware a acestei probleme o constituie adăugarea în serie a unei inuctanţe la
circuitul electric. Dezavantajul acestei soluţii este costul ridicat. O soluţie mai simplă este
utilizarea unui controller PI cu o componentă proporţională fără zerou. În termenii

58
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
comportamentului dinamic, adăugarea unui element proporţional este echivalentă cu
adăugarea unei rezistenţe înseriată cu circuitul electric. Constanta electrică de timp scade,
astfel că acest circuit poate fi echivalat cu un circuit rezistiv. Luând în cosiderare condiţia de
limitare, sunt utilizate următoarele relaţii pentru calcului paramarilor de acord ai
regulatorului:
ku K
Ki _ crt  ( R  K p )  n  Ts  RnTs u
ki Ki
 el k
K p _ crt  R    1 u (4.9)
 Ts  2  2 2  ki

4.5.3 Controlul poziţiei PID

Controllerul de poziţie este utilizat în schema cu feedback în care poziţia mecanică a


sistemului trebuie să se identifice cu referinţa. Următoarea relaţie decrie sistemul mecanic:
d
J  T  KI (4.10)
dt
sau:
d 2
 I (4.11)
dt 2
Unde  este factorul de acceleraţie, definit cantitav de:
K
 (4.12)
J
Acest sistem este definit de următoarea funcţie de transfer:

H (s)  (4.13)
s2

59
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Regulatorul PID:

( s 2  Kd pos  s  Kp pos  Ki pos )  


R( s)  (4.14)
s3
Utilizând un controller PID funcţia de transfer devine:
( s 2  Kd pos  s  Kp pos  Ki pos )  
H 0 (s)  (4.15)
s 3  s 2  Kd pos    s  Kp pos    Ki pos  

Expresiile pentru Kp pos , Ki pos şi Kd pos sunt identificate asociind polii funcţiei de transfer
cu cei ai sistrmului de ordinul 3:
P( s)
H 03 ( s )  (4.16)
( s  n )( s  2    n  s  2n )
2

Vor rezulta:
3n
Ki pos 

2n
Kp pos  ( 2    1) 

n (4.17)
Kd pos  ( 2    1) 

Regulatorul disctret va avea relaţia:


Ki pos  Ts 1  z 1
R( z )  Kp pos   Kd pos (4.18)
1  z 1 Ts

În calculul parametrilor controllerului trebuie luaţi în cosiderare factorii de scalare ai


curentului şi poziţiei. Controllerul digital de poţizie este identificat folosind relaţiile care iau
în considerare în scalarea coeficienţilor şi parametrii senzorilor:
3n K
Ki _ pos   Ts  i
 Kp
2n Ki
K p _ pos  (2    1)  
 Kp
n 1 Ki (4.19)
K d _ pos  (2    1)   
 Ts K p

60
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

4.5.4 Librăriile folosite în construcţia schemei

Librăria Motor

Din această librărie am utilizat blocul DC Motor. Modelul dinamic al acestuia este
caracterizat de următoarele ecuaţii:
di di
u  R i  L  e  u  R  i  L  k 
dt dt
M  K  i
M r  F    B  2
d
j  M  Mr (4.20)
dt
Parametrii în Matlab ai acestui bloc sunt:

Fig. 4.14 Paramerii Matlab pentru motorul DC.

Măsurarea curentului

Simularea măsurării curentului este realizaă prin multiplicarea valorii măsurate pe braţul
morotului cu un factor de scalare.

Fig. 4.15 Blocul de simulare a măsurării curentlui.

61
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Modulul de putere

Acest bloc simulează modelul simplificat al convertorului de putere utilizat pentru


alimentarea morotului. Este considerată o sursă ideală: tensiunea primită de la ieşirea blocului
de transformare de coordonate TDQ2ABC fiind amplificată în concordanţă cu trecerea de la
reprezentarea digitală la valorile reale aplicate pe fazele motorului. Parametrul acestui bloc
trebuie să fie facorul de scalare a tensiunii s_u_crt [V/bit].
Factorul de scalare se înmulţeşte cu fiecare semnal de tensiune de la blocul de transformare de
coordonate. Rezultatele sunt tensiunile de control pentru motor (figura 4.16).

Fig. 4.16 Blocul de putere.

4.5.5 Scalarea factorilor utilizaţi

La utilizarea DMCode-MS(BL) MATLAB Library, valorile tuturor variabilelor trimise sau


primite sunt binare.
Conversia unei variabile din unităţi de măsură în valoribinare şi vice versa trebuie realizată
utilizând factorii de scalare corespunzători fiecărei variabile. Aceşti factori depind de
hardwareul acţionării, cât şi de parametrii specifici senzorilor, şi trebuie calculaţi pentru
fiecare configuraţie utilizată.

Factorii de scalare a poziţiei

Variabila de poziţie de la structura de date ENCODER furnizează poziţia motorului. Dacă


este utilizat featback-ul de la un encoder în quadratură, Poziţia este măsurată în unităţi de
encoder (1 unitate de encoder = 1 bit).
Factorul de scalare este:

62
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
1
Motor _ position[revolutions ]   Position[bits ] (4.21)
4  N [lines]

unde:
- N este numărul de linii ale encoderului pe o rotaţie.
- 4 este rata de multiplicare a rezoluţiei poziţiei realizată de interfaţa encoderului.

Factorii de scalare a curentului / cuplului

Curenţii pe fază sunt măsuraţi pe şunturile laturilor inferioare ale PWM-ului. Curenţii sunt
măsuraţi prin intermediul intrărilor A/D cu un factor de aplificare a curentului specific
reglării. Dacă nu se specifică altceva, variabila I q furnizează compnenta curentului
motorului care produce cuplul. Variabila I d indică componenta de flux. I a , I b şi I c
indică curenţii pe fazele morului.
Factorul de scalare al curentului este:
U ad [V ]
Motor _ current [ A]   Current [bits ] (4.22)
32760[bits ]  Kcrt[V / A]
unde:
- U ad  1.5  este intervalul de tensiune de intrare a canalului [A/D] senzor de
curent.
- Kcrt  0.237[V / A]  este factorul de amplificare al canalului de măsurare a
curentului.
- 32760 factolul de scalare la IQMath.
Notă Conversia A/D rezultată are o rezoluţie de 12 biţi şi este utilizată după ce în prealabil a fost aplicată
operaţia de shiftare la stânga cu 4. Cuplul motorului poate fi calculat utilizând constanta de cuplu a motorului
care, înmulţită cu valoarea curentului, va furniza valoarea cuplului motorului.

4.6 Descrierea software-ului aplicaţiei


4.6.1 Proiectele non DSP/BIOS

Aplicaţiile non DSP/BIOS sunt structurate ca proiecte DMCD-Pro, care conţin toate codurile
necesare implementării plicaţiei de control al mişcarii pe un modul DSP TMS320F2812 ca
MCK2812 de la Technosoft.
Primele două pagini ale memoriei flash a DSP-ului conţin programul de monitorizare a
comunicaţiei, MON2812. Având în vedere faptul că toţi vectorii de întrerupere sunt de
asemenea poziţionaţi în partea iniţială a memoriei flash, orice întrerupere petrecută în DSP va
implica execuţia începutului rutinei ISR asociate din monitor. În monentul detectării
întreruperii, monitorul va trece controlul rutinei ISR asociată userului. De asemenea specifică
acestui proces este şi partea de ieşire din ISR, în care programul utilizatorului trebuie să
refacă contextul procesorului, să îl aducă în starea salvată de programul moitor la intrarea în
întrerupere.
Datorită performanţelor sporite ale DSP-ului implementarea aplicaţiilor poate fi realizată
utilizând numai limbajul de programare C.

63
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Codul C conţine toate rutinele de iniţializare, cât şi kernelul principal al aplicaţiei. Acest fapt
oferă fiabilitate maximă a structurii software-ului. Utilzatorlui îi va fi uşor să înţeleagă
funcţionarea programului, cât şi să modifice, să înlăture sau să adauge funcţii noi în această
configuraţie cu scopul adaptării aplicaţiei la cazuri specifice. Codul C conţine şi toate funcţiile
apelate în rutinele de întreruperi în timp real.

4.6.2 Proicte DSP/BIOS

DSP/BIOS este un kernel în timp real dezvoltat de Texas Imstruments care furizează un
multi-threading, programare şi sincronizare, şi unelte de analiză în timp-real. DSP/BIOS-ul
înglobează un set de module care pot fi incluse în aplicaţia userului. Kernelul de control al
mişcării este intergat în structura DSP/BIOS-ului.
Aplicaţia construită cu DSP/BIOS este independentă de monitorul MON2812 păstrat în
memoria flash a DSP-ului, fiind creată să funcţioneze din memoria externă a plăcii
MSK2812. În consecinţă înainte de rularea aplicaţiilor, utilizatorul trebuie să configureze
DSP-ul să booteze din memoria externă în loc de memoria flash.
Diferenţele dintre aplicaţiile DSP/BIOS şi cele non DSP/BIOS sunt:
- DSP-ul trebuie să boot-eze din memoria externă şi nu din memoria flash,
- principalele funcţii sunt utilizate numai pentru iniţializare, iar la sfârşitul acesteia
programul intră în bucla IDL,
- rutinele de servire a întreruperilor sunt asociate vectorului PIE, utilizând
DSP/BIOS-ul,
- întreruperile sunt activate de DSP/BIOS în consecinţă achiziţia intrărilor analogice
este realizată după execuţia funcţiei main utilizând un task al DSP/BIOS,
- comunicaţia serială nu este implementată.

4.6.3 Proiectul
Vesiunea non DSP/BIOS a plicaţiei are structura de bază descrisă în figura 4.17.

64
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 4.17 Funcţia main a plicaţiei non DSP/BIOS pentru TMS320F2812.


Aplicaţia construită utilizând DSP/BIOS-ul prezentat în figura 4.18. Programul începe cu
iniţializarea DSP/BIOS, continuând cu execuţia funcţiei main. La sfârşitul funcţiei main,
DSP/BIOS porneşte, activând întreruperile, şi începe execuţia task-urilor IDL. În bucla IDS
task-ul GetADOffset_Tsk, executat odată, apelează rutina pentru detecţia offset-ului
intrărilor analogice. La finalul rutinei buclele de control în timp real sunt activate.

65
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 4.18 Structura aplicaţiei construită cu DSP/BIOS.


Structura înreruperilor pentru ambele versiuni de proiecte este aceeaşi, aceasta putând fi
observată în figura 4.19. Este de remarcat faptul că această configuraţie utilizează numai o
întrerupere de la timerul GPT1, generată la mijlocul formei de undă a PWM-ului. Utilizând
numărătoare software, această rutină de întrerupere execută rutinele de control al curentului
sau al poziţiei atunci când counterele devin 0.

66
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 4.19 Funcţiile de întrerupere pentru aplicaţia implementată pe TMS320F2812.

4.7 Utilizarea aplicaţiei în mediul DMCD-Pro

Pentru a putea rula şi urmări rezultatele aplicaţiei aceasta trebuie rulată în mediul DMCD-Pro.
Pentru aceasta aplicaţia conţine un fişier proiect (*.prf) care trebuie încărcat în acest mediu.
Acest lucru se realizează urmărind următorii paşi:
1. Instalarea pachetului DMCD-Pro
2. Instalarea uneltelor de dezvoltare ale ’F2812 şi configurarea DMCD-Pro
3. Executarea comenzii de meniu “Project | Open” şi selectarea fişierului *.prf din
directorul în care a fost stocat. DMCD-PRO va reconstrui dependenţele pentru
program, şi va deschide workspace-ul programului aşa cum a fost salvat ultima oară
(figura 4.20).
4. În acest moment plicaţia se poate examina, modifica şi compila.

4.8 Realizarea practică a aplicaţiei

4.8.1 Realizarea schemei în Matlab


După cum am arătat în subcapitolul 4.5 se construieste schema de reglare în cascadă şi se
calculează parametrii de acord pentru cele două regulatoare de control al curentului şi poziţiei
PI şi respectiv PID. Schema de reglare va fi:

67
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 4.20 Schema de reglare în Matlab Simulink.


Se realizează simularea utilizând butonul Run Simulation din meniul Simulation. În urma
acesteia se va obţine:

Fig. 4.21 Rezultatul simulării (- referinţa; - poziţia).

4.8.2 Generarea codului pentru controllere


Pentru a putea implementa proiectul pentru platforma DMC Developer-PRO este necesară
generarea codului pentru fiecare controller în parte. Codurile pentru blocurile de transformare
de coordoate şi cel pentru PWM sunt cele implicite, incluse în platforma DMC Developer-
PRO.
Generarea codului se face cu click dreapta pe bloc şi Real-Time Workshop/Build Subsystem
(figura 4.22).

68
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Fig. 4.22 Generarea codului pentru controllere.

4.8.3 Integrarea codului în proiectul DMC Developer-PRO şi complilarea proiectului


În acest moment se poate deschide mediul DMCD-PRO. Cu comanda “Project | Open” se va
încărca proiectul specific aplicaţiei.(Figura 4.23)

Figura 4.23 Încărcarea proiectului.


După alegerea din fereastra de browse a proiectului corespunzător aplicaţiei workspace-ul va
arăta ca în figura 4.24.

69
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

Figura 4.24 Proiectul încărcat în mediul DMCD-Pro.


Odată ce proiectul a fost încărcat, pe baza acestuia se poate construi aplicaţia pentru a putea fi
încărcată în DSP cu comanda: ”Project | Build” sau Shift + F8.

Figura 4.26 Construirea aplicaţiei pentru DSP.

4.8.4 Download-area programului şi achiziţia datelor


Pentru a putea achiziţiona date de la motor trebuie mai întâi realizată conexiunea motorului cu
placa de dezvoltare MSK2812 cu procesorul TMS320F2812, după care trebuie realizată
conexiunea cu PC, şi în final trebuie alimentate motorul şi placa.

70
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Conexuinea între placă şi PC se realizează prin cablu şi porturi seriale. Conexiunea între
motor şi placa a fost detaliată în capitolul 3. Alimentarea plăcii se realizează la 19V (tensiune
continuă).
Urmează descărcarea programului în memoria externă (figura 4.27) a DSP-ului, care se
realizează cu comanda “Project | Download Program” sau Ctrl+D, şi executarea programului
(figura 4.28), care se realizează cu comanda “Project | Execute” sau Ctrl + F5.

Fig. 4.27 Descărcarea programului în memoria extenă a DSP-ului.

Fig. 4.28 Executarea programului.


În acest moment se poate începe achiziţia datelor în timp real. Aceasta se face utilizând
comanda “Upload Trace” din meniul de click dreapta pe fereastra Trace. Avem posibilitatea
achiziţiei atât a poziţiei de referinţă şi a celei reglate, cât şi a curentului iq (referinţă + reglat)
şi a U qref .

71
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Figura 4.29 ilustrează o asemenea achiziţie de date în timp real.

Figura 4.29 Achiziţia datelor în timp real.


4.8.5 Compararea rezultatelor
Comparând rezultatele obţinute în urma simulării cu cele obţnute în urma execuţiei
programului pe DSP şi achiziţiei datelor se poate observa faptul că reglarea a fost
implementată cu succes.

Fig. 4.30 Rezultatul simulării. Fig. 4.31 Datele obţinute în urma achiziţiei.

72
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

CAPITOLUL 5. CONCLUZII

Utilizarea plăcii MSK2812 cu procesorul digital de semnal TMS320F2812 în comanda


digitală şi reglarea motoarelor electrice s-a dovedit foarte eficientă, reducând munca necesară
reglarii clasice.
Lucrul cu aceasta nu este foarte complicat deoarece uneltele si platformele de lucru cu care
este dotată placa MSK2812 minimizează lucrul inginerului proiectant al sistemul de reglare,
permiţându-i atât verificarea teoretică, off-line a implemantării, cât şi verificarea în timp real.
De asemenea este la îndemână îmbunătăţirea sistemului de control.
Un alt avantaj îl constituie faptul că programul scris în cod C, specific aplicaţiei conţine toate
rutinele de iniţializare, cât şi kernelul principal al aplicaţiei. Acest fapt oferă fiabilitate
maximă a structurii software-ului. Utilzatorlui îi va fi uşor să înţeleagă funcţionarea
programului, cât şi să modifice, să înlăture funcţii sau să adauge funcţii noi în această
configuraţie cu scopul adaptării aplicaţiei la cazuri specifice.
Principalul dezavantaj al utilizării plăcii MSK2812 cu procesorul TSM320F2812 este
compiatorul. Acesta trebuie achiziţionat direct de la Texas Instruments la un preţ destul de
ridicat.
În concluzie, există nenumarate soluţii de comandă a motoarelor pentru sistemele utilizate în
acest moment. Sistemele simple sau complexe tind să folosească microcontrolerele, iar
sistemele cu un grad sporit de complexitate utilizează arhitectura DSP-urilor. Recent,
disponibilitatea arhitecturilor hibride ce includ caracteristicile microcontrolerelor şi DSP-
urilor a oferit proiectanţilor de sisteme noi opţiuni. În general, arhitectura hibridă reprezintă o
bună soluţie atât timp cât sunt utilizate doar cateva componente (acesta este un factor de
creştere a fiabilităţii deoarece mai puţine componente înseamnă o sursă mai mică de posibile
defecte), proiectarea software se realizează simplu şi rapid, iar costul întregului sistem se
micşorează.
Astăzi, cel mai rapid procesor DSP este cel produs de Texas Instruments, TMS 320C6201,
care rulează la 200 MHz. Evident, nu este cel mai rapid în comparaţie cu un microprocesor
obişnuit. Totuşi, de ce procesoarele DSP prezintă încă un atât de mare interes? Motivaţia este
dublă: în primul rând DSP poate efectua mai multe operaţii în paralel şi, mai ales, poate lucra
cu semnale externe mult mai bine decât cel mai performant Pentium.
Procesoarele digitale de semnal pot fi întâlnite în aparatele de monitorizare medicale, în
aparatele auditive, supercalculatoare sau modemuri. Sunt folosite în detectoare radar, în
televizoare digitale sau combine audio, instalaţii de amplificare şi laser pentru spectacole.
DSP-urile sunt, de fapt, o parte componentă a existenţei noastre moderne, translatând
semnalele în inteligenţă şi permiţându-ne să luăm decizii mai precise, într-un timp mult mai
scurt.

73
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor

BIBLIOGRAFIE

[1] Prof. Dr. Ing. Vasile Comnac, Universitatea ”Transilvania” Braşov, Catedra
Automatică, Curs Servomotoare 2007.
[2] Prof. univ. Dr. Ing. Iulian Ţopa, Elemente de execuţie electric, Matrix Rom, Bucureşti
2005
[3] DMCode-MS(BL) MATLAB Library – User Manual, Technosoft 2004
[4] MSK2812&MCK2812 – User Manual, Technosoft 2007
[5] Prof. Ddr. Iing.Vasile Lazarescu, Curs Sisteme Electronice Programabile, Universitatea
Politehnica din Bucureşti, Catedra Electronică.

74

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