Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
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
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
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.
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
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
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.
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
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 1m , 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 Mm (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.
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
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
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ă.
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.
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.
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.
absolut incremental
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
Î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
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.
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.
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
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).
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.
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.
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
31
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Magistrala perifericelor
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.
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.
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
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
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
Clocking-ul perifericelor
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)
Perifericele de Control
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.
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.
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.
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.
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.
38
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
39
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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.
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.
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
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 10s ), ş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.
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.
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.
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.
47
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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
48
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
49
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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.
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.
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).
52
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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.
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
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
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.
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.
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:
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 RnTs (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 RnTs u
ki Ki
el k
K p _ crt R 1 u (4.9)
Ts 2 2 2 ki
59
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Regulatorul PID:
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)
60
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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:
Măsurarea curentului
Simularea măsurării curentului este realizaă prin multiplicarea valorii măsurate pe braţul
morotului cu un factor de scalare.
61
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Modulul de putere
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.
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.
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.
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
65
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
66
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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.
67
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
68
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
69
Universitatea Transilvania din Braşov Specializarea
Automatică
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
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.
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.
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
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