Comanda Unui Brat Robotic Folosind Modulul Labview Fpga

CUPRINS

INTRODUCERE 8

CAPITOLUL I 10

ROBOTUL 10

1.1 Date cronologice 10

1.2 Definiții și particularitați ale roboților 11

1.3 Clasificarea roboților 11

1.4 Tipuri de roboți existenți 12

1.5 Sistemul senzorial al roboților 15

1.6 Aplicații ale roboților 16

CAPITOLUL II 18

CIRCUITE FPGA 18

2.1 Scurt istoric a circuitelor FPGA 18

2.2 Arhitecturi FPGA 19

2.3 Resursele hardware și software a circuitelor FPGA 20

2.3.1 Resurse hardware 21

2.3.2Resurse software 23

2.4 Modul de configurare a circuitelor FPGA 23

2.5 Etapele de proiectare cu circuite FPGA 24

2.6 Implementări cu FPGA-uri 26

2.6.1 Implementări aritmetice cu FPGA 26

2.6.2 Procesarea imaginilor 26

2.6.3 Procesarea semnalelor video 27

2.6.4 Procesarea sunetelor umane și semnalului audio 27

2.6.5 Recunoașterea obiectelor 27

2.6.6 Codificarea informațiilor 28

2.7 Comparație a FPGA cu alte tehnologii 28

2.8 Aplicații FPGA 28

CAPITOLUL III 30

LABVIEW-FPGA 30

2.1 Introducere în LabVIEW 30

2.2 Principii de programare în LABVIEW 31

2.3 Modulul de programare LabVIEW FPGA 32

CAPITOLUL IV 34

SERVOMOTOARE 34

4.1 Definiții. Caracteristici 34

4.2 Clasificarea servomotoarelor 34

CAPITOLUL V 43

BRAȚ ROBOTIC 43

5.1 Construcția brațului robotic. 43

5.2 Secvența de programare 44

5.2 Servomotor HK digital MG Micro 49

5.3 SbRIO9631 52

5.4 Configurarea IP-ului la sbRIO 9631. 54

5.5 Dashboard 56

CONCLUZII 58

BIBLIOGRAFIE 59

INTRODUCERE

Bazele roboților de azi au apărut din timpuri vechi, omul construind din aceea perioada mecanisme care să-i ușureze munca în anumite activități.

Punctul de plecare al acestei lucrări de licență îl reprezintă tendința de automatizare pe scară din ce în ce mai largă în întreaga lume și în toate domeniile. Fiecare domeniu desfașoară o anumită activitate ce urmărește satisfacerea nevoilor individuale cu un efort cât mai mic depus. Pornind de la această idee conform căreia automatizarea se desfășoara în fiecare domeniu am construit un sistem mecatronic compus dintr-o structură mecanica (un brat robotic) si un controler ce o acționează.

Roboții sunt realizați mai ales prin combinația disciplinelor mecanică, electronică si

informatică rezultând din combinația acestora mecatronica. Pentru realizarea de sisteme autonomeeste necesară legătura a cât mai multor discipline de robotică. Dezvoltarea electrotehnicii din secolul XX a adus cu sine și o dezvoltare a roboticii. Oamenii de știința afirmă că într-o jumătate de secol roboții ar putea să ne ajungă din urmă în ceea ce privește complexitatea organismelor vertebrate. Aici se pune accent și pe legătura conceptelor de inteligență artificială sau neuroinformatică, parte a informaticii, precum si idealul lor biologic biocibernetica, parte a biologiei.

Sistemele care implementează algoritmi de control devin din ce în ce mai complexe, beneficiază de un consum redus de energie și au o flexibilitate sporită care permite extinderea funcționalității în mod continuu și creșterea acurateți controlului. Circuitele logice programabile vin în întâmpinarea acestor cerințe, permițând integrarea pe un singur chip atât a algoritmilor de control cât și a celorlalte funcții periferice și aceasta la viteze ridicate datorită executării în hardware a tuturor operațiilor. Un alt avantaj adus de circuitele logice programabile fiind și timpul scurt de dezvoltarea și lansare pe piață a aplicației de control.

Lucrarea de licența este structurată în 5 capitole, și în fiecare capitol am încercat să descriu și să evidețiez diferite informații legate de secvența de programare folosită pentru controlul brațului robotic, servomotoarele folosite și placa de achiziți.

În primul capitol se descrie și clasifică robotul în general. Roboți, datorită tendinței de automatizare pe scară din ce în ce mai largă și în majoritatea domeniilor,ocupă un loc din ce în ce mai important în evoluția societății în încercarea de a ușura și înbunatați munca omului de zi cu zi.

Capitolul II prezintă arhitectura generală, specificațiile de proiectare, metodele de acordare și modalități de implementare digitală a placilor de achiziție FPGA. Un circuit FPGA este un circuit integrat digital configurabil, de către utilizator, după ce a fost fabricat, spre deosebire de dispozitvele a căror funcție este implementată in procesul de fabricație. Cea mai comună arhitectură pentru FPGA este constituită dintr-o matrice de blocuri logice configurabile cu porturi de ieșire și intrare și canale de rutare, iar în general toate canalele de rutare au aceași lățime având același număr de conexiuni.

Pe parcursul capitolului II este realizată o descriere al modulului de programare LabVIEW FPGA în care este prezentat modul de programare LabVIEW FPGA și principiile de programare LabVIEW.

În capitolul IV sunt prezentate sevomotoarele, domeniile de aplicații în care pot fi utilizate, avantajele si dezavantajele acestor servomotoare și modul de clasificare al servomotoarelor.

Capitolul V prezită modul de costrucție al brațului robotic, servomotoarele digitale folosite si caracteristicile acestora, secvența de programare realizată pentru comanda brațului robotic și descrierea placi de achiziție sbRIO 9631.

CAPITOLUL I

ROBOTUL

1.1 Date cronologice

Robotul este un produs al mecatronicii care combină tehnologia mecanică cu cea electronică fiind o componentă evaluată de automatizare care inglobează electronica de tip calculator cu sistemele avansate de acționare pentru a realiza un echipament independent de mare flexibilitate. Mecanica stabilește înfățișarea robotului și mișcările posibile pe timp de funcționare, senzorii sunt întrebuințați la interacțiunea cu mediul sistemului iar mecanismul de direcționare are grijă ca robotul să-și îndeplinească obiectivul cu succes, evaluând informațiile senzorilor. Acest mecanism reglează motoarele și planifică mișcările care trebuiesc efectuate.

Conform unor relatări, matematicianul grec Archytas a construit, unul dintre aceste prime automate și anume un porumbel propulsat cu vapori care putea zbura singur. Acest porumbel din lemn era umplut cu aer sub presiune și avea un ventil care permitea deschiderea și închiderea printr-o contragreutate.

Cu descoperirea ceasului mecanic din secolul XIV s-a deschis calea unor posibilități noi și complexe și nu mult după aceea au apărut primele mașini, care semănau îndepartat cu roboții de azi. Odata cu dezvoltarea electrotehnicii din secolul XX a apărut și o dezvoltare a roboticii. Printre primii roboți mobili se numără sistemul Elmer și Elsie construit de William Grey Walter în anul 1948 care se puteau îndrepta spre o sursă de lumină și puteau să recunoască coliziuni în împrejurimi.

Cuvântul „robot” a fost utilizat pentru prima dată în piesa „Roboții universali ai lui

Rossum” scrisa de Karel Capek (Cehia) în 1920. Termenul inventat semnifică muncă forțată,

sclavie și derivă din „robota”.

Anul 1956 este considerat ca anul nașterii a robotului industrial. În acest an George Devol împreună cu Joseph Engelberger au construit primul robot industrial numit UNIMATE(fig.1.1). Acest robot care cîntarea in jur de doua tone a fost introdus pentru prima dată în montarea de iconoscoape la televizoare, găsindu-și apoi drumul in industria automobilă.

În momentul acuat componenta cea mai importantă ale roboțiilor sunt senzorii, care permit mobilitatea acestora în mediu și o dirijare cat mai precisă. Senzorul este un dispozitiv tehnic care

reacționează calitativ sau cantitativ prin proprii mărimi măsurabile, la anumite proprietăți fizice sau chimice ale mediului din preajma lui iar ca parte componentă a unui aparat sau sistem tehnic detector poate măsura sau înregistra presiunea, umiditatea, câmpul magnetic, accelerația, forța, intensitatea sonoră și radiații.

1.2 Definiții și particularitați ale roboților

Conform ISO-8373 robotul este definit ca fiind un controlat automat, reprogramabil, manipulator multifuncțional, programabil în trei sau mai multe axe, care poate fi fix sau mobil pentru utilizarea în aplicații de automatizare industrială.

Cu toate acestea Institutul de Robotică din America definește robotul ca fiind un manipulator reprogramabil multifuncțional proiectat pentru a muta materiale, piese, scule sau dispozitive specializate prin mișcări variabile programate pentru performanța unor sarcini diferite.

Asociația de Robotică Japoneză nu prezintă o definiție clară ci împarte roboții în șase clase:

1) Manual – Manipularea dispozitivelor acționată de către un operator;

2) Fixarea secvenței robotului;

3) Variabila – Robot secvențial cu o ușoară modificare a secvenței de control;

4) Robot de redare, care poate înregistra o propunere pentru mai târziu;

5) Roboți cu comandă numerică având un program de mișcare pentru a preda acestuia sarcini manuale;

6) Robot inteligent: poate înțelege mediul său și este capabil să îndeplinească sarcinile, în ciuda schimbărilor condiților de funcționare.

Dintre particularitățile unui robot putem defini patru, considerate a fi cele mai importante,

pe care trebuie să le îndeplinească o mașină ca aceasta să poată fi încadrată în categoria ,,robot”:

1) Interacțiune – această particularitate se referă la faptul că robotul trebuie să poată interacționa cu mediul, cu alți roboți sau cu oamenii, luând decizii;

2) Autonomie – această particularitate se referă la faptul că robotul trebuie să poată opera fără intervenție umană;

3) Mobilitate – robotul trebuie să se poată deplasa corect în spațiu;

4) Reprogramare- robotul trebuie să poată fi reprogramat.

1.3 Clasificarea roboților

1. Din punct de vedere al gradului de mobilitate se clasifică în doua categorii : roboți ficși și mobili.

2. Din punct de vedere al sistemului de coordonare roboții sunt clasificați în roboți cu sistem de coordonare carteziene,cilindrice și sferice.

3. Din punct de vedere al informației de intrare ți a metodei de instuire roboții se clasifică astfel:

– roboți acțonați de om;

-roboți cu sisitem de comanda secvențiali

-roboți cu sistem secvențial cu program modificat

-roboți cu programare prin instruire

-roboți inteligenți

4.Din punct de vedere al sistemului de acționare sunt patru categorii de roboți: roboți cu acționare hidraulică,electrică,pneumatică si mixtă

5. Din punct de vedere al sistemului de comanda roboții sun clasificați:

-roboți cu comanda punct cu punct. La acești roboți nu contează traiectoria popriuzisă

-roboți cu comandă pe contur care implică coordonarea mișcării axelor

-roboți cu comandă pe ăntreaga categorie care implica toți parametrii de mișcare

Arhitectura internă a unui robot conține cinci sisteme importante, fiecare dintre acestea aparținând unui domeniu al tehnicii clasice:

-sistemul mecanic de susținere și al articulațiilor,cuple de rotație și de tranlație;

-sistemul de acționare, care poaate fi hidraulic,pneumatic,electric sau mixt;

-sistemul de transmisie al mișcării;

-sisitemul senzorial;

-sistemul decizional.

1.4 Tipuri de roboți existenți

Termenul de robot descrie un domeniu destul de vast, cauză din care roboții sunt sortați în mai multe categorii:

1) Robotul industrial. Acești roboți se definesc ca fiind o masină, unealtă programabilă, folosită în procesul de producție pentru realizarea unor funcții de acționare analogice asemanatoare cu cele realizate de mana omului pentru deplasarea unor piese sau scule din procesul tehnologic. Roboții industriali au un domeniu operațional foarte restrâns deoarece nu sunt foarte mobil. George Devol a înregistrat în anul 1954 primul patent pentru un robot industrial. Ei au fost introduși pentru prima dată pe linia de producție a General Motors în 1961. Roboții industriali au fost folosiți prima dată în Germania la lucrări de sudură începând din 1970. În fig.1.2 este prezentat un robot industrial.

Robotul industrial din punct de vedere al relației om-robot in timpul desfășurării lucrului roboților, acestia se împart in trei mari categorii:

a) roboți automațicare realizează funcțiile lor fără participarea directă a omului în procesul de comandă și având în vedere adaptibilitatea lor lacondițiile mediului în care își realizează funcțiile, roboții automați se împar în trei generații:

– roboți din generația I, se caracterizează prin program fix de funcționare, ei fiind capabili să repete în mod strict operațiile specificate în program, sub condiția invariabilității mediului în care lucrează, fără perturbații externe.Acești roboți din denerația I nu se adaptează la schimbările mediului, neavând nici o informație despre mediul extern.

– roboți din generația a II-a care cuprind roboții adaptivi, capabili să lucreze în condiții de mediu variabile sau parțial necunoscute inițial. Capacitatea acestor roboți de adaptare

la schimbările de mediu este dată de senzorii cu care se dotează acești roboți și de la care se obțin informații asupra schimbării condițiilor externe. Roboții din din generația a II-a lucrează după un

ciclu de operații definite în prealabil, dar pot să efectueze și operații sub schimbarea condițiilor de operare.

– roboți din generația a III-a care cuprinde roboții inteligenți, având caractere de inteligență artificială dar gradul lor de inteligență variaza în raport cu funcțiile care au fost dorite inițial. Roboți din generația a III-a sunt capabili să-și definească acțiunile instantanee luând în considerare informațiile obținute prin senzori tactili, vizuali sau de zgomot asupra mediului de operare, să rezolve probleme particulare și să-și modifice modul de acțiune în concordanță cu variațiile mediului de operare.

b) Roboți biotehnici. La acești roboți există o permanentă participare a operatorului uman în procesul de comandă și sunt împărțiți în trei subgrupe:

– roboți comandați pas cu pas, care este pus în mișcare prin acționarea, de către un unui buton sau manetă;

– roboți copiativi, care sunt constituițidin două lanțuri cinematice deschise, primul lanț având mișcarea comandată de operatorul uman, iar al doilea copiind la scară această mișcare și efectuând operațiile de manipulare pentru care este destinat robotul

– roboți semiautomați sunt acei roboți la care operatorul uman participa nemijlocit în procesul de comandă, dar în același timp cu el lucrează și un calculator universal sau specializat.

c) roboții interactivi. Aceștia se caracterizează prin faptul că operatorul uman are numai o participare periodică în procesul de comandă, în restul timpului robotul fiind comandat automat de calculatorul electronic. Roboții interactivi pot funcționa în regim automatizat, cu alternarea permanentă a regimului biotehnic cu cel automat, cu comandă de supervizare sau cu comandă dialog. Utililizând acești roboți se ating două scopuri:

– se efectuează automat toate operațiile robotului obținânduse o productivitate maximă a lucrului acestuia;

– datorită faptului că comanda robotului se poate face de la distanță, se obține posibilitatea efectuării unor operații complexe în locuri în care omul nu poate acționa nemijlocit.

2) Robotul mobil. Acest robot este un sistem complex care se deplasează într-un anumit mediu fără intervenția umană și poate efectua diferite activități într-o varietate de situații specifice lumii reale. Robotul mobil este o combinație de dispozitive echipate cu servomotoare și senzori ce operează într-un spațiu real, marcat de o serie de proprietăți fizice și care trebuie să planifice mișcările astfel încât robotul să poată realiza o sarcina în funcție de starea inițială a sistemului. În figura 1.3 este prezentat un robot mobil.

Datorită diverselor funcții pe care le îndeplinesc roboții mobili au întrebuințari multipe:

– robot mobil teleoperat. Acest tip de robot este folosit în diverse domenii,dar mai ales în domenii care ar pune viața omului în pericol. De exeplu în distrugerea minelor

antipersonal, în inspecția zonelor contaminate nuclear, în intervenția amenințării cu bombe si a muniției neexplodate, inspecția în zone greu accesibile

-roboții subacvatici care operează uzual la adâncimi destul de mari, de până la 7000-8000 de metri adâncime iar printre aplicațiile uzuale se numărăm: cartografiere, detectarea de epave și readucerea la suprafață a diferitor obiecte.

-roboții militari mobili, cu ajutorul cărora se pot efectua operațiuni de recunoaștere, de spionaj fără riscul pierderilor de trupe, suport logistic la transport de muniție, medicamente, și combustibil, și operațiuni de căutare și de salvare.

3) Roboții autonomi mobili sunt acei roboți ce pot îndeplini sarcini în medii nestructurate fără intervenție umană continuă. Majoritatea acestor tipuri de roboți au câteva grade de autonomie. Un grad înalt de autonomie este folosit în cazuri particulare precum exploatarea spațiului, curățarea podelelor, cosit peluze, tratarea apelor uzate. Iar roboții industriei moderne sunt autonomi în limitele stricte oferite de mediu.

Un robot complet autonom are abilități precum:

– strângerea informațiilor din mediul înconjurător;

– funcționarea unei anumite periode de timp fără intervenție umană;

– mișcarea intreagă sau a unei părți din el în spațiul operațional fără asistență umană;

– evitarea situaților dăunătoare pentru oameni, proprietăți sau a lui însuși.

Un robot autonom de asemenea poate să învețe sau să acumuleze cunoștințe și abilități noi precum adaptarea strategiei pentru îndeplinirea sarcinii.

4) Roboți umanoizi. Acești roboți trebuie să acționeze și să reacționeze autonom în mediu, mobilitatea lor fiind restrânsă la cele două picioare ca locomoție. Roboții umanoizi pot fi clasificați ca roboți pășitori, abilitatea mersului biped, în poziție dreaptă, este considerată ca o condiție esențială și mai trebuie să fie capabili de a lucra cu brațele și mâinile în manipularea și prinderea de obiecte. În figura 1.4 este prezentat un robot umanoid produs de firma HONDA.

5) Robotul casnic. Acest robot lucrează autonom în gospodărie, iar printre aplicațiile cunoscute se numară: robot aspirator, robot de tuns gazonul, robot de spălat ferestrele.

6) Robot jucarie. Nu se cunoaste exact unde este granita dintre un robot si o jucarie electronica avansata iar orice jucarie cu un circuit integrat care executa cateva sarcini elementare poartă denumirea de ,,robot”.

1.5 Sistemul senzorial al roboților

Robotul trebuie să desfășoare acțiuni similare cu celeale operatorului uman iar acest lucru determină existența unor anumite dispozitive prin care să se culeagă informații din mediul de lucru și cu ajutorul cărora se poate realiza acțiunea robotului. Sistemul senzorial mai este numit și sistem de măsurare iar el asigură măsurarea unor mărimi fizice și eventual perceperea unor modificăr semnificative a acestor mărimi. Datorită sistemului senzorial se pot pune în evidență și

caracteristicile geometrice și chimice ale obiectelor din mediul de lucru. Senzorii, datorită caracteristicilor pe care le au pot explora zona de lucru, zona de contact, cea apropiată, cea îndepărtată, iar senzorii foarte puternici chiar și zone foarte îndepărtate. Informațiile culese cu ajutorul sistemului senzorial servesc la construirea unui model al lumii în care evoluează robotul. În funcție de soluția constructivă, senzorii sunt pasivi sau activi. Senzorii activi folosesc caracteristicile intrinseci ale mediului, iar cei pasivi generează modificări în mediu pentru a măsura unele caracteristic.

Alte două categorii de senzori cu care poate fi dotat un robot:

– senzori de mărimi interne ai robotului care sunt de poziție, viteză sau accelerația unor componente mecanice proprii

– senzori de mărimi externe care constă în greutate, formă, poziție, temperatură, culoare ale obiectelor asupra cărora acționează robotul.

Caracteristicile senzoriale ale unui robot depind foarte mult de gradul său de autonomie, de aplicațiile pentru care a fost proiectat și de tipul mediului de lucru iar în general percepția se realizează în două etape:

– conversia proprietăților fizice într-un semnal care este de obicei electric;

– prelucrarea acestui semnal în vederea extragerii informației necesare

Există mai multe criterii de clasificare a senzorilor utilizați în sistemele de comandă ale robotului:

1) Prima categorie constă în modul după cum vine sau nu în contact cu obiectul a cărui proprietate fizică o măsoară și distingem:

– senzori cu contact;

– senzori fără contact.

2) A doua categori constă în proprietățile pe care le pun în evidență

– senzori pentru determinarea formelor și dimensiunilor care sunt folosiți pentru evaluarea în mediu de lucru;

– senzori pentru determinarea proprietăților fizice ale obiectelor care sunt de forță, de cuplu, de densitate și elastici;

– senzori pentru proprietăți chimice care pot fi de compoziție, de concentrație și analizatoare complexe.

3) A treia categorie este după mediul de culegere a informației:

– senzorii pentru mediul extern;

– senzorii pentru funcția internă.

4)  După distanța la care sunt culese informațiile avem senzori de contact.

1.6 Aplicații ale roboților

Roboți sunt folosiți în diverse aplicații care sunt industriale sau neindustriale.

În categoria aplicațiilor neindustriale se includ construcțiile, reabilitarea bolnavilor, comerț, transport și circulația mărfurilor,administrația locală, protecția mediului înconjurător și agricultură, supraveghere, inspecție, protecția de radiații și intervenții în caz de catastrofe, hoteluri și restaurante, în medicină, gospodărie, hobby și petrecerea timpului liber.

În medicină se gasesc sisteme robotizate pentru diagnoză prin ecografie, sisteme robotizate pentru intervenții neurochirurgicale, vehicule ghidate automat pentru transportul bolnavilor imobilizați la pat, vehicule ghidate automat pentru transportul medicamentelor, alimentelor vehicule ghidate automat pentru activități de curățenie și dezinsecție în spitale, sisteme robotizate pentru pregătirea prin simulare a unor intervenții chirurgicale.

Pentru reabilitare se pot identifica diverse aplicații ale roboților: scaun cu roțile pliant, manipulator pentru deservirea persoanelor paralizate, vehicul pentru conducerea nevăzătorilor.

În construcții: vehicul ghidat automat pentru asfaltarea șoselelor; excavatoare autonome, sistem robotizat pentru compactarea și nivelarea suprafețelor turnate din beton, sistem robotizat pentru inspectarea fațadelor clădirilor, sistem robotizat pentru montarea și demontarea schelelor metalice.

Pentru protejarea mediului înconjurător se gasesc sisteme robotizate de sortare a gunoiului în vederea reciclării, sisteme automate de inspectare, curățare și recondiționare a coșurilor de fum înalte, platforme autonome mobile pentru decontaminarea clădirilor, străzilor și vehicul ghidat automat pentru decontaminarea solului.

În agricultură, există sisteme robotizate de plantare a răsadurilor, sistem robotizat de culegere a fructelor, sistem robotizat de culegere a florilor.

În comerț, transporturi, circulație se pot preciza urmatoarele aplicații ale roboților: vehicule ghidate automat pentru întreținerea curățeniei pe suprafețe mari sistem robotizat de curățire automată a fuselajului și aripilor avioanelor, sistem automatizat de alimentare cu combustibil a autovehiculelor.

Pentru siguranță și pază se gasesc roboti mobili de pază pe timpul nopții, vehicul autonom pentru stingerea incendiilor, robot mobil pentru detectarea și dezamorsarea minelor, sistem robotizat pentru intervenții în spații periculoase etc.

Pentru hobby și petrecerea timpului liber se pot preciza următoarele aplicații: robot de supraveghere copii pentru diverse intervale de vârstă, robot de gestionare și supraveghere generală a locuinței, robot mobil pentru pentru tunderea automată a gazonului instalație robotizată pentru curățirea bărcilor de agrement și sport.

În aplicațiile industriale se cuprind roboții ce acționează în medii industriale care au primit denumirea de roboți industriali iar în general sunt roboți automați și în cazuri mai rare se utilizează în industrie și roboți biotehnici sau interactivi. În special sut raspândiți roboții programați și, mai puțin, cei adaptivi. Roboții inteligenți se află în faza de încercări în laboratoare sau aplicații la unele operații de montaj automat.

Roboților industriali sunt folosiți în fabricarea automobilelor, în ambalare și paletizare de bunuri fabricate, în electronică la fabricarea de circuite,unde se realizează sute de mii de componente pe ora, depășind performanțele uni om în viteză, precizie și fiabilitate.

Roboții industriali interactivi sunt utilizați deobicei în cercetarea spațiului cosmic, a oceanului dar și în cazul unor operații complexe din mediul industria

CAPITOLUL II

CIRCUITE FPGA

Circuitele programabile FPGA (rețelelor de porți logice reconfigurabile) sunt elemente integrate VLSI (Very Large Scale Integration- Integrate la scală foarte mare) frecvent folosite în aplicații care necesită configurații hardware reconfigurabile, de mare compleexitate ,usor de reprogramat și versatile în implementarea unor algoritmi soisticați.ele repreyintă soluția ideală in multe aplicatii unde arhitectura hardware trebuie modificata frecvent,în funcție de cerințele utilizatorului.

Aceste tipuri de circuite sunt realizate sub forma unor arii programabile cu arhitecturi hardware regularizate ,flexibile și reprogramabile,dnumite blocuri logice reconfigurabile. Aceste blocuri sunt interconectate într-o matrice formând o ierarhie puternică de resurse de interconectare ,sau canale de comunicație.

2.1 Scurt istoric a circuitelor FPGA

Primul dispozitiv de tip FPGA a fost lansat de firma Xilinx în anul 1984. Acest circuit conținea 64 de blocuri logice interconectate printr-o matrice de conexiuni programabile și avea 58 de pini de intrare și ieșire și era implementat în tehnologie de 2μm, folosind 85000 de tranzistoare. Avantajul acestei arhitecturi era scalabilitatea: odată cu îmbunătățirea procesului de fabricație, mai multe elemente de bază puteau fi integrate pe același cip, crescând posibilitățile oferite de acesta și astfel, de-a lungul anilor 1980, producătorii de FPGA-uri au continuat să crească numărul de blocuri logice, numărul nivelelor de interconectare și numărul pinilor deintrare și ieșire.

Perioada 1985 – 1991 poate fi astfel considerată perioada de început a dispozitivelor FPGA. Această perioada este caracterizată prin faptul că FPGA-urile erau folosite ca logică de legătură în sisteme mai mari și programele software ce implementau circuitele proiectate în FPGA erau relativ simple și ușor de îmbunătățit.

Perioada 1992 – 1999 poate fi considerată perioada de expansiune a dispozitivelor FPGA deoarece la începutul acestei perioade, multe firme producătoare se retrag din domeniu ca și Toshiba,Motorola sau IBM pentru că arhitecturile propuse de ele nu fac față scalabilității permise de avansarea rapidă a tehnologiei de producție. În această perioadă, creșterea rapidă a complexității circuitelor pune presiune pe dezvoltarea de software de sinteză automată care să permită proiectarea ușoară și folosirea eficientă a resurselor hardware și totodată, FPGA-urile încep să fie folosite în aplicații mai complexe, în domeniul comunicațiilor și calculelor aritmetice.

Perioada 2000 – 2007 poate fi considerată perioada de acumulare a dispozitivelor FPGA.În această perioadă se integrează din ce în ce mai multe și mai sofisticate blocuri hardware: de la microprocesoare la circuite de comunicație rapidă, de la funcții aritmetice

specializate la blocuri dedicate procesării digitale de semnal bazate pe multiplicatoare hardware și acumulatoare iar în 2000 apare primul FPGA cu procesor hardware încorporat. De asemenea,

odată cu creșterea numărului de blocuri logice integrate, a apărut tendința producătorilor de FPGA-uri de a dezvolta procesoare soft, implementabile economic în blocurile logice din FPGA.

În prezent, FPGA-urile au devenit platforme sistem iar ambii mari producători de FPGA-uri își descriu dispozitivele complexe în astfel de termeni. Familia Virtex 6 de la Xilinx este descrisă ca FPGA platformă iar familia Stratix IV de la Altera este comercializată ca FPGA capabilă să implementeze un întreg sistem pe un cip .Astfel, de la epoca blocurilor logice interconectate prin conexiuni programabile, s-a ajuns la dispozitive configurabile complexe, capabile să implementeze un întreg sistem digital pe un cip un sistem ce este compus din mai multe procesoare hard sau soft, din motoare de procesare dedicate, coprocesoare matematice, periferice de control al memoriei sau de comunicație.

2.2 Arhitecturi FPGA

De obicei arhitectura FPGA consta dintr-o arie de blocuri logice configurabile CLB(abreviere din limba engleză pentru ,, configurable logic blocks”- blocuri logice configurabile), canale de intrare-iesire, I/O, și canale de rutare,iar în general toate canalele de rutare sunt de aceeași capacitate având același număr de fire. O implementare FPGA trebuie sa dispuna de resurse adecvate iar între timp ce numarul de CLB-uri si

de I/O sunt ușor de determinat din proiect, numarul de căi de rutare poate varia considerabil, chiar și în cazul unor proiecte foarte asemanatoare din punct de vedere logic. De exemplu, o matrice de comutare necesită de mult mai multe rutări decât o arie sistolică, o forma particulară de arhitectură paralelă, organizatî ca o rețea.

Caile de rutare neutilizate cresc costul și scad performanțele circuitului, fară a aduce nici un beneficiu iar din această cauză producătorii de FPGA încearcă să optimizeze numarul lor, astfel încât majoritatea proiectelor să fie posibile în termeni de LUT ( lookup tables) și I/O. Această optimizare poate fi realizată prin doua metode:

– prin experimentareă si analizareă unor proiecte semnificative

– aplicând regula lui Rent: T = t × gp; unde T este numărul de terminale, g numărul de componente interne și t si p constante.

În figura 2.2 este prezentat structura generică a unui circuit FPGA.

Construcția unui CLB clasic FPGA constă dintr-un tabel de căutare cu 4 intrari (4LUT) și un bistabil D conectate ca în figura 2.3., dar în ultimii ani a aparut o tendință de trecere înspre 6LUT, cu scopul creșterii performanțelor. În figura 2.3 sete prezentat un CLB tipic unde există

patru intrări și o intrare de sincronizare iar ieșirea este furnizată de LUT putând fi înregistrată sau neînregistrată.

Semnalele de sincronizare, precum și alte semnale sunt specifice fiecărei aplicații în parte și sunt tratate în mod separat, prin rețele de rutare dedicate. Amplasarea terminalelor sau pinilor CLB-ului este ilustrată în figura 2.4. Fiecare intrare este accesibilă dintr-o latură iar ieșirea poate fi conectată la căile de rutare atât prin canalul din dreapta cât și prin cel de jos. În general sistemele de rutare FPGA sunt nesegmentate, adică conectabile la un bloc de comutație prin cel mult un CLB, dar căile de conectare mai lungi se obțin cu ajutorul blocurilor de comutație. Totuși pentru realizarea unor interconexiuni de mare viteza unele arhitecturi sunt prevazute și cu căi de rutare care se întind pe lungimea mai multor blocuri.

Blocurile de conexiune (switching boxes) apar oriunde un canal vertical se intersectează cu unul orizontal iar un fir care intră într-un bloc de conexiuni poate fi conectat, prin trei conectoare programabile cu alte trei fire din canalele adiacente. Topologia conectoarelor programabile este topologia planară, bazată pe organizarea traseelor de rutare.

2.3 Resursele hardware și software a circuitelor FPGA

Familiile moderne FPGA extind capacitate de conectare prin realizarea cablată a unor funcții de înalt nivel, crescând astfel performanțele și scăzând efortul de proiectare. Astfel de

blocuri pot fi: blocuri generice DSP, multiplicatoare, blocuri PLL sau DLL, circuite I/O de mare viteză, memorii, registre de deplasare și numărătoare. Resursele hardware investite în FPGA sunt

extrem de diverse, în funcție de producători și de arhitectura aleasă iar pe de altă parte, resursele software, de care depind în mare măsură și performan ele hardware-ului, sunt extrem de specifice, într-o continuă dezvoltare și evoluție.

2.3.1 Resurse hardware

Resurse hardware conțin trei mari categori : -a) blocuri funcționale integrate;

-b) condiționarea semnalelor de intrare/ieșire;

-c) dispozitive speciale.

a) Blocuri funcționale integrate

1) Memorii. Aceste memorii interne permit creșterea vitezei de operare și utilizarea mai eficientă a pinilor drartnei e și ieșirș ei pe lângă acesta structura sistemului este mult simplificată. Capacitățile de memorie utilizate sunt destul de mari și se pot întâlni diferite configurații.

2) PLL/DLL. Aceste circuite PLL(Phase-Locked Loop) și DLL()Delay-Locked Loop) se pot utiliza pentru compensarea întârzierii de propagare a semnalului de sincronizare. Alte aplicații interesante sunt sintetizarea de frecvențe prin multiplicare sau divizare și condiționarea semnalului de sincronizare care se referă la factorul de umplere și defazaj. Circuitele DLL au un preș mai scăzut consumând puțină energie și sunt imune la zgomote, în timp ce PLL-urile sunt mai versatile și permit operații mai complexe cum ar fi implementarea filtrelor pe un domeniu de frecvențe mai larg.

3) Circuite aritmetice. Unele circuite FPGA dispun de un număr mare de blocuri aritmetice simple. De exemplu din familia Virtex-5 LX Xilinx include multiplicatoare, prin care se pot realiza operații de până la 25 × 18 biți.

4) Transceivere. Acestea sunt dispozitive de emisie-recepție de diferite standarde iar ca și protocoale de comunicație definite de utilizator pot fi ușor implementate prin blocuri de codare sau decodare și serializare sau deserializare a datelor.

5) Procesoare integrate. Cele mai complexe arhitecturi FPGA ajung să includă și procesoare însoțite de perifericele aferente, în vederea materializării conceptului System-on-Chip (așa numi- tele SoC solutions) prin care tot sistemul de calcul este implementat pe un singur cip de Siliciu. Un exeplu de acest fel ar putea fi circuitul Virtex-4 FX (Xilinx) care include procesoare RISC (reduced instruction set computer) de tipul IBM PowerPC 405 de 32 de biți, capabile să funcționeze la 450 MHz, cu cotrolere de acces la memorii RAM, o unitate aritmetică hardware pentru multiplicare sau divizare, trei timere diferite, interfață directă pentru rețea Ethernet, registre de configurare, o unitate de procesare auxiliară pentru interfațarea resurselor

logice FPGA în vederea conectării la acceleratoare hardware și a introducerii de instrucțiuni definite de utilizator.

b) Condiționarea semnalelor de intrare/ieșire

Resurse specifice trebuiesc alocate pinilor de intrare și iețire pentru ca FPGA-urile să poată fi conectate cu ușurință cu alte dispozitive și la tensiuni diferite fără a fi nevoie de interfețe suplimentare. Pinii de intrare și ieșire sunt de obicei grupați în funcție de diferitele standarde:

-conectare între cipuri;

– conectare de tip ,,backplane” în care mai muțli pini se conectează în paralel sau interfețe pentru memorii. În figura 2.5 este prezentată un exemplu, corespunzător familiei Virtex.

c) Dispozitive speciale

1) Dispozitive programabile o singură dată OTP (One-time-programmable). Acestea sunt dispozitivele nevolatile care utilizează celule SRAM (Static Random Access Memory). Celulele SRAM sunt cel mai des utilizate pentru că oferă o mare flexibilitate în vederea reconfigurării cu toate acestea dispozitivele OTP nevolatile sunt aplicate în anumite situații în care se evidențiază avantajele lor:

– nu au nevoie de resurse externe pentru configurarea la alimentare și din acest motiv pornesc foarte repede;

– consum foarte redus de putere, rezistențe și capacități de contact foarte mici;

– imunitate foarte bună la zgomote.

2) Dispozitive de putere mică. La aceste dispozitive scăderea puterii consumate de către circuite este un imperativ puternic, atât pentru a îmbunătăți performanțele funcționale ale produselor prin creșterea eficienței utilizării energiei cât și prin scăderea temperaturilor de funcționare. Circuitele FPGA sunt de obicei mai puțin eficiente la acest capitol din cauza resurselor alocate programării iar din acest punct de vedere soluțiile bazate pe OTP sunt cele mai avantajoase. Ele reușesc să treacă din modul de așteptare în care se consumă foarte puțină energie în modul de lucru foarte rapid de ordinul nanosecundelor și oferă și rezistențe mici de comutare.

3) Dispozitive tolerante la radiație:aceste dispozitive se folosesc în aplicațiile aerospațiale în care FPGA au fost incluse, Stația Spațială Internațională, Telescopul Spațial Hubble, Mars Pathfinder și altele, ridică probleme speciale de lucru în mediul radioactiv. Au fost dezvoltate familii de FPGA de tip antifuse, pentru a putea raspunde acestor solicitări cu rezistență sporită la

radiației. Ca exeplu sar putea preciza RTSX/RTAX sau Aeroflex Eclipse și există și versiuni protejate împotriva perturbațiilor radio ca și familiile Atmel AT40KEL040 sau Xilinx QPRO-R Virtex-II.

4) Circuite securizate. Aplicațiile în care FPGA sunt conectate în rețele ridică problema securizării IP-urilor. Pe de o parte în aplicațiile mai simple pot fi utilizați biți de securizare care previne citirea de către utilizator a configurațiilor dar în cazul aplicațiilor foarte complexe se adaugă un FPGA nonvolatil care să gestioneze accesul la componentele interne.

2.3.2Resurse software

Complexele structuri hardware ale FPGA-urilor nu ar putea fi utilizate fără un întreg arsenal de instrumente software specifice, iar acest domeniu este în plină dezvoltare dar există deja o ofertă bogată de resurse software.

Resurse software împart în trei mari categorii: a) Nuclee IP

b) Procesoare Soft

c) Instrumente software

a) Nuclee IP. Pentru a putea simplifica proiectarea sistemelor FPGA complexe s-au realizat biblioteci de funcții predefinite complexe, în majoritatea cazurilor parametrizabile, precum și circuite care au fost deja testate și optimizate. Aceste elemente sunt de regulă protejate ca nuclee de proprietate intelectuală, fiind vândute fie direct de producătorul circuitului fie de firme terțe specializate cum ar fi Modelware sau QuickFlex. Astfel de biblioteci acoperă largi domenii de aplicații: comunicațiile, multimedia, procesoare de semnal, transporturi și multe altele.

b) Procesoarele soft au fost aplicate în acest domeniu de Xilinx (PicoBlaze și MicroBlaze) și de Altera (Nios șiNios II). PicoBlaze este un microcontroler de 8 biți de capacitate mică dar implementat cu un număr redus de blocuri logice. MicroBlaze corespunde unei arhitecturi RISC de 32 biți cu un set standard de periferice și procesorul Nios are o funcționare mai complexă, cuprinzând chiar și posibilitatea adăugării de instrucțiuni noi de către client.

c) Instrumente software. Interprinderile de FPGA au dezvoltat în timp multe instrumente soft originale adresate tuturor activităților cerute de aplicarea FPGA-urilor. În general aceste produse includ nuclee IP periferice, instrumente pentru configurarea procesoarelor soft, instrumente pentru dezvoltarea de software care constă în editoare, compilatoare, asambloare, editoare de legături și depanatoare, depanatoare și testare hardware și software și instrumente software și hardware pentru plăcile de dezvoltare.

2.4 Modul de configurare a circuitelor FPGA

Producătorii de circuite FPGA au pus la dispozitie mai multe moduri de configurare a circuitelor FPGA.O prima modalitat de configurare este sceea de utilizare a unui cablu care se conecteaza între calculator și placa FPGA.Cablul este un dispozitiv activ care necesită alimentare și este de obicei alimentat de la placa ce conține circuitul FPGA.aceste cabluri sunt specifice fiecarui producător ,dar interfața de configurare a unui circuit FPGA este asemănatoare.

În momentul în care circuitul FPGA este configurat,își schimba starea din configurare în utilizare și există trei metode uzuale de a configura un FPGA:

-utilizarea cablului de încarcare dintre calculator și FPGA ce necesită rularea unui soft pentru trimiterea datelor spre FPGA;

– utilizarea unui microcontroler pe placa cu circuitul FPGA ce realizează opreția de încărcare a configurției circuitului FPGA;

-folosirea unui dispozitiv ,,de pornire” pe placa cu circuitul FPGA ,conectat la FPGA din care se încarcă automat datele de configurare la punerea sub tensiune,iar aceste tipuri de memorii sunt fabricate de producătorii de circuite FPGA.

În utilizarea circuitelor FPGA se recomandă de reținut urmatoarele aspecte:

-un circuit FPGA poate fi încarcat de un numar infinit de ori.În cazul in care se face o greșeală în proiect ,poate fi corectată ,recompilată și reîncărcată, făra a mai fi nevoie de modificări ale cablajului, sau de schimbarea de componente.

-aplicația functionează cu o viteză mai mare decât dacă ar fi realizată cu componente discrete,deoarece totul funcționează ăn interiorul circuitelor FPGA.

-circuitele FPGA ăși pierd funcția logică la întreruperea tensiunii de alimentare ,motiv pentru care ele trebuie reprogramate la punerea dinn nou sub tensiune.

Circuitele FPGA pot fi programate să implementeze aproape orice funcție digitală,iar operațiile tipice pentru lucrul cu circuitele fpga sunt urmatoarele

-se folosește un clculator pentru a descrie funcția logică dorită și se poate desena o schema electrică sau se poate crea un fișier text pentru descriere funcțieei

-se compilează funcția logică cu ajutorul calculatorului folosind un soft pus la dispoziție de producatorul circuitelor FPGA,ir apoi aceasta crează un fișier binar ce poate fi încărcat in FPGA.

-se conectează un cabu de la calculator la FPGA și se încarcă fișierul binar în FPGA.

-după încarcare, circuitul FPGA funcționeazaconform funcției logice implementate Circuitele FPGA se bazează pe o celula logică multiplicată de sute de mii de ori în aceeași capsulă.aceasta capsula logică etse de fapt o tabletă de implementare,un bistabil de ip D si un multiplexor.Fiecare celulă logică poate fi conectată la alte celule logice prin resursele de interconectare.

2.5 Etapele de proiectare cu circuite FPGA

Procesul de proiectare este împărțit în mod obișnuit în următoarele etape generale:

1) Partiționarea. Sistemul proiectat, care de multe ori nu poate fi implementat într-un singur circuit FPGA, trebuie divizat în mai multe părți, astfel încât fiecare parte să poată fi implementată într-un singur circuit FPGA, și să poată fi gestionată independent de celelalte, iar partiționarea circuitelor FPGA multiple trebuie să satisfacă restricții suplimentare asupra dimensiunii subcircuitelor și a numărului terminalelor de intrare și ieșire. Partiționarea reprezintă în același timp și o metodă algoritmică pentru rezolvarea problemelor complexe de optimizare care apăr în sinteză logică sau în proiectarea fizică a circuitelor.

2) Maparea tehnologică. Pentru fiecare porțiune a sistemului care va fi implementată într-un singur circuit FPGA, logică trebuie divizată suplimentar în fragmente,astfel încât fiecare fragment să aibă o dimensiune suficient de mică pentru a putea fi implementată într-un singur bloc logic al circuitului. Această divizare se realizează în cadrul etapei de mapare tehnologică.Maparea tehnologică reprezintă operația de transformare a unei reprezentări logice cu nivele multiple într-o interconexiune de elemente logice dintr-o bibliotecă dată de elemente. Această operație este o etapă importantă a sintezei sistemelor numerice cu ajutorul circuitelor FPGA iar calitatea circuitelor sintetizate depinde în mare măsură de această etapă. Maparea tehnologică implică două operații distincte:

– recunoașterea echivalenței logice între două funcții logice și mai este numită și potrivire care implică și testarea echivalenței și asignarea intrărilor cât și determinarea setului optim de porți echivalente din punct de vedere logic, ale căror interconexiuni reprezintă circuitul original.

– iar a doua operație, care mai este numită și acoperire, impliă găsirea unei reprezentari alternative a unei rețele booleene utilizând elemente logice care au fost selectate dintr-un set disponibil

3) Plasarea. În cadrul plasării, fiecărui fragment care va fi implementat într-un bloc logic trebuie să i se asigneze un bloc liber din cadrul circuitului. Plasarea este o etapă importantă a procesului de proiectare, deoarece în această etapă se iau cele mai importante decizii.Pentru plasare trebuie minimizate anumite funcții obiectiv, cu condiția respectării unor restricții impuse de proiectant, de procesul de implementare sau de stilul de proiectare. Cea mai importantă funcție obiectiv este lungimea totală a conexiunilor,care reprezintă o metrică utilizată pe scară largă pentru aprecierea calității plasării iar exemple de restricții sunt evitarea suprapunerii celulelor sau cerința că celulele să fie plasate într-o anumită suprafața rectangulara.O plasare este acceptabilă dacă se poate obține o rutare completă a circuitului în cadrul suprafeței date.

4) Rutarea.Constă în determinarea cailor adecvate pentru interconexiunile dintre seturile de pini. Aceste căi adecvate minimizează funcția obiectiv data, supusă unor restricții iar estricțiile pot fi impuse de proiectant, de procesul de implementare, de tipul circuitului sau de stilul de proiectare. Că exemple de funcții obiectiv se pot aminti reducerea lungimii totale a interconexiunilor, sau evitarea problemelor datorate întârzierilor semnalelor.Problemă de rutare este divizată de obicei în două subprobleme: – rutarea globală

– rutarea detaliată.

Obiectivul rutării globale este de a se elabora un plan de rutare astfel încât fiecare conexiune să fie asignata unor regiuni particulare de rutare,în timp ce se încearcă minimizarea unei funcții obiectiv date iar rutarea detaliată se aplică apoi pentru fiecare regiune de rutare, și fiecărei conexiuni i se asignează piste particulare de rutare.

2.6 Implementări cu FPGA-uri

2.6.1 Implementări aritmetice cu FPGA

Actualmente s-a creat un interes foarte crescut în folosirea sistemelor FPGA pentru DPS abreviere din limba engleză de la Digital Signal Processor, în special pentru filtrarea digitală, implementarea de filtre FIR (Finite Impulse Response) și IIR (Infinite Impulse Response) ce poate folosi avantajul unor constante dedicate implementate în hardware. Din cauză că majoritatea abordărilor legate de filtrare presupun folosirea adunării și înmulțirii, atenția este orientată în direcția implementării eficiente și în virgulă fixă, cât și în virgulă mobilă. Multe din implementările de început pe FPGA ale înmulțitoarelor foloseau structuri adaptate după cele din începuturile LSI (Large Scale Integration) și aveau restricții de arie chiar din primele dispozitive FPGA. Pe măsură ce capacitățile FPGA-urilor au crescut, tipurile înmulțitoarelor s-au diversificat, devenind astfel două categorii importante: în virgulă fixă și în virgulă mobilă. De când s-au introdus FPGA-urile, aritmetica bit-serială a fost folosită intens pentru realizarea adunărilor și înmulțirilor. Multiplicarea bit-serială este implementată folosind o matrice liniară sistolică, ce este potrivită pentru granularitatea ridicată a FPGA-ului. Cele 2 valori sunt intrări în înmulțitor, incluzând o magistrală paralelă în care toți biții sunt introduși simultan și una serială sau secvențială în care biții sunt introduși în mod serial. Avantajul abordărilor bit-seriale este că necesitățile de comunicație sunt independente de lungimea cuvintelor și din acest motiv și FPGA-urile de capacitate scăzută le pot folosi. Datorită naturii lor pipeline, înmulțitoarele bit-seriale au un raport arie-timp excelent și din acest motiv multe din aceste structuri bit-seriale pot fi folosite în filtrarea impulsurilor finite. Din cauza dublei funcționalități a tabelelor lookup – ca și memorii, aritmetica distribuită a fost și ea o implementare importantă pentru FPGA-urile bazate pe LUT-uri. În general, aritmetica distribuită necesită includerea unor constante fixe de intrare în circuitul hardware, astfel făcând posibilă pre-calcularea eficientă a tuturor ieșirilor posibile. Astfel, poate fi folosit un sumator rapid pentru sumarea produselor parțiale obținute din urma citirii. În unele situații, este util ca LUT-urile să fie implementate ca RAM astfel încât noile constante să poată fi scrise în timpul execuției programului. În general, multiplicatoarele paralele implementate în FPGA-uri bazate pe LUT-uri au o viteză de 6 ori față de cele bit-seriale, dar cu o arie de 2.5 ori mai mare a siliciului. Implementări specifice ale înmulțitoarelor paralele includ implementări fără transport și pipeline paralel.

2.6.2 Procesarea imaginilor

În procesarea imaginilor structura pipeline de prelucrare al informației și granularitatea ridicată a hardware-ului reconfigurabil este îndeosebi utilă deoarece procesarea imaginilor în timp real are nevoie de căi de date specializate și pipeline-uri, ce pot fi implementate în structuri

FPGA. Aplicații ca și compresia imaginilor bazată pe filtrarea imaginilor cu transformate 1D și 2D și conversia imaginilor folosind operații DFT( Discrete Fourier Transform) sunt abordate frecvent. Construcția distribuită a acestui sistem cu numeroase porturi de intrare și ieșire s-a dovedit că este deosebit de utilă în obținerea ratelor de transfer mari și datorită eficienței mari în implementarea sistolică a algoritmilor ce necesită operații repetate cu date deplasate în matrici liniare, imaginile pot propaga rapid prin pipeline-ul sistemului. Un sistem multi-FPGA este folosit pentru procesarea vizualizării obiectelor 3D prin proiecția razelor luminoase. Aceste implementări au caracteristici bune în comparație cu arhitecturile clasice bazate pe sistemle cu microprocesor.

2.6.3 Procesarea semnalelor video

Procesarea semnalelor video necesită o lărgime de bandă mare și capacitate de procesare mare a datelor obținute de la echipamentul video analog sau digital, la fel ca și procesarea imaginilor. Pentru îndeplinirea acestor cerințe, platformele reconfigurabile au fost special modificate.

2.6.4 Procesarea sunetelor umane și semnalului audio

Procesarea audio necesită o lățime de bandă mai mică decât cea al videourilor și al imaginilor, de aceea aplicațiile audio pot beneficia de specializarea căii de date și a pipeline-ului. Producerea ecoului audio este facilitată de schimbarea coeficienților în mod dinamic a filtrelor și a parametrilor din memoria SRAM. Dispozitive auxiliare DSP sunt folosite doar pentru generarea acestor coeficienți. Acest sistem poate atinge rate de până la 250 MHz în cadrul FPGA prin pipeline-izarea optimă și intensă a fiecărui calcul.

2.6.5 Recunoașterea obiectelor

Un alt aspect important al aplicațiilor DSP aplicate pe platforme conținând circuite FPGA este recunoașterea obiectelor. Pentru aceasta, imaginile trebuie să fie separate în coloane și comparate cu templateuri pre-calculate și stocate într-o memorie locală împreună cu datele video din pipeline. Cu ajutorul comunicației inter-vecini, pixelii parcurși sunt comparați cu template-urile stocate în memorie sub formă de sume parțiale. După ce o imagine este „spartă” în bucăți mai mici, sistemul realizează o detecție de nivel prin identificarea secțiunilor de imagine ce

corespund din templateuri obiectelor căutate. Folosirea FPGA-urilor oferă o șansă importantă și unică de a adapta rapid recunoașterea obiectelor la noi algoritmi. Pentru a obținerea performanțelor ridicate, șabloanele sunt adaptate la detaliile tehnologiei folosite.

2.6.6 Codificarea informațiilor

În sistemele de comunicație moderne, raportul semnal-zgomot (Signal-Noise Ratio, SNR) face din codarea datelor un aspect important al comunicației. De aceea, codarea convoluțională poate fi folosită pentru a îmbunătățirea acestui raport SNR, ținând cont de constrângerile asupra lungimii codificării fără afectarea consumului de putere. Una din aplicațiile ale arhitecturilor reconfigurabile în comunicații a implicat proiectul PAM – sistemul era folosit pentru urmărirea celor 214 stări posibile ale unui codificator Viterbi, permițând calculul a 4 stări într-o perioadă de tact. Evaluarea rapidă a noilor algoritmi de codare facea posibilă flexibilitatea sistemului de procesare. Un decodificator Viterbi a fost creat și implementat folosind 36 FPGA-uri, fiind capabil de rate de decodificare de până la 1Mbit/s.

2.7 Comparație a FPGA cu alte tehnologii

Tehnologia ASIC (Application Specific Integrated Circuit) este conceptul cel mai apropiat de FPGA. Primele FPGA-uri erau mai lente, mai puțin eficiente energetic și în general mai puțin funcționale decât echivalentele lor fixe ASIC dar în urma creșterii volumului producției și aplicațiilor, a eforturilor de cercetare-dezvoltare si a perfecționarilor tehnologice, performanțele FPGA s-au apropiat tot mai mult de cele ASIC. FPGA-urile reprezinta modalitatea cea mai sigura de validare a sistemelor complexe, care poate fi validari pre-siliciu și post-siliciu și a dezvoltarilor de tip firmware. Producatorii în acest fel pot evita costurile asociate testării directe a prototipurilor, caz în care fiecare greșeala de proiectare necesita realizarea unui nou prototip.

Un alt concept asemanator este circuitelor FPGA sunt circuitele CPLD (Complex Programmable Logic Device) care au o complexitate mai mică decât a circuitelor FPGA. Unitatea lor componenta de baza este macrocelula, care implementeaza funcții logice booleene în forma canonică disjunctiva, precum si alte operații logice mai specializate.

Circuitele CPLD,în comparație cu circuitele FPGA, au o capacitate mai redusa, circuitele CPLD având zeci de mii de porți fața de sute de mii sau chiar milioane câte pot avea circuitele FPGA. Dar se poate afirma ca FPGA continua linia de dezvoltare a PAL și CPDL,nu atât prin creșterea numarului de arii cât mai ales prin atenția acordata circuitelor de reconfigurare, care sunt de mare complexitate si performanța.

2.8 Aplicații FPGA

Aplicațiile FPGA includ unele domenii esențiale pentru electronica moderna:

a) DSP (digital signal processing) care uprinde o categorie vasta de aplicații de procesare digitala a semnalelor, dintre care cele mai cunoscute sunt:

– procesarea semnalelor audio si radio;

– recunoasterea vorbirii,a vocilor si a sunetelor;

– radar si sonar;

– procesarea ariilor de senzori;

– analiza spectrala;

– analiza statistica a semnalelor;

– telecomunicații;

-procesarea semnalelor biomedicale;

– seismice.

b)Aplicații în aviatică, aparatura militară, criptografie și radioastronomie;

c) Realizarea rapidă a prototipurilor ASIC;

d) Imagistică

FPGA se utilizeaza cu bune rezultate și în cazul aplicațiilor de calcul de înalta performanță, cum ar fi în cazul calculului convoluțional și procesărilor paralele, având performanțe superioare microprocesoarelor convenționale.

De obicei circuitele FPGA sunt recomandabile aplicațiilor de tip „vertical”, care nu sunt obiectul producției de masa.dar în cazul produselor de masa este preferabila apelarea la ASIC, deoarece FPGA utile doar în faza de realizare și testare a prototipurilor.

FPGA pot înlocui cu succes orice aplicație de tip microprocesor care nu necesită prelucrari în virgula mobila. Avantajele lor strategice ale circuitelor FPGA sunt calculul hardware paralel, reconfigurarea și capacitatea de a îngloba cu usurința produse hardware si software eterogene. Datorită usurinței circuitelor FPGA de adaptare la orice tip de periferice i se conferă statutul de principala platforma de dezvoltare a aplicațiilor SoC (system on chip).

CAPITOLUL III

LABVIEW-FPGA

2.1 Introducere în LabVIEW

LabVIEW este un limbaj grafic de programare care permite dezvoltarea de aplicații utilizând pictograme, spre deosebire de limbajele de programare textuale, în cadrul cărora instrucțiunile sunt cele care determină execuția programului, LabVIEW-ul folosește, fluxul de date evidențiat printr-o prezentare grafică adecvată.

Numele utilitarului provine din faptul că National Instruments, corporația care a introdus programele LabVIEW, a denumit generic aplicațiile Instrumente Virtuale, prescurtat VI abrevierea de la Virtual Instruments. LabVIEW-ul a avut în vedere, în primele sale versiuni, realizarea de programe care să substituie prin intermediul calculatorului o serie de instrumente și aparate electronice, adesea imitând imaginile și modurile de operare ale acestora.Denumirea limbajului grafic „LabVIEW” provine dintr-o prescurtare din limba engleză: „Laboratory Virtual Instrument Engineering Workbench”. Acest limbaj grafic este un mijloc de programare destinat controlului, analizei și afișării datelor iar utilizarea acestui limbaj s-a remarcat în special in cazul instrumentației de măsurare bazată pe tehnica de calcul.

Programarea unui sistem de măsurare cu ajutorul calculatorului intr-un limbaj clasic consumă foarte mult timp iar interfețele acestor limbaje clasice sunt de multe ori neclare și greu de ințeles. Prin utilizarea limbajului grafic LabVIEW, rapiditatea programării crește foarte mult datorită introducerii unei interfețe grafice mai intuitive iar LabVIEW este unul dintre primele limbaje de programare grafică utilizate in aplicații de achiziții de date cu tehnică de calcul.Cu ajutorul plăcilor de achiziție de date, fluxul de date numerice sau analogice provenite de la diverse traductoare poat fi prelucrate sau analizate. Prelucrarea datelor numerice sau analogice prin intermediul limbajului de programare, permite crearea sau simularea unor aparate de măsură și control numite si instrumente virtuale. Principalul avantaj al instrumentație virtuale față de un instrument clasic de măsurare constă in faptul că instrumentația virtuală poate fi ușor transformată prin programare iar instrumentele virtuale create prin programare pot fi simple aparate de măsură sau diferite dispozitive care permit controlul unor instalații de automatizare.

Instrumentația virtuală reprezintă ceea ce era acum un deceniu lanțul de măsurare, la care s-a înlocuit partea de instrumente fizice cu instrumente virtuale. Un instrument virtual este compus dintr-o parte hardware și o parte software care permite configurarea instrumentului după dorința utilizatorului.

LabVIEW dispune de numeroase instrumente care asigură o configurare ușoară a unui anumit tip de VI. De asemenea, include sute de exemple de VI-uri corespunzătoare unor variate domenii de aplicații, pe care utilizatorul poate să le folosească ca atare și să le încorporeze în

VI-uri de mai mare complexitate potrivit scopului urmărit, sau le poate modifica pentru a le adapta particularităților aplicației.

  LabView este un sistem complet pentru programare științifică și include posibilități extinse de analiză, utile într-o arie largă de aplicații. Acest sistem de operare oferă o multitudine de funcții integrate și module adiționale dedicate special analizei măsurătorilor și procesării semnalelor iar cu aceste unelte, putem analiza măsurătorile pe măsură ce le efectuăm, extrage si procesa date,  și putem înzestra aplicațiile cu capacitatea de a lua decizii bazate pe rezultatele măsurărilor. Folosind aceste funcții, cu LabView nu mai este necesar să scriem propriul nostru algoritm pentru transformarea datelor brute în informație utilizabilă. Funcțiile incluse sunt distribuite astfel:

primitive:

-aperații aritmetice, operații logice

-concatenare, formatare, partajare

-data, timpul, alertarea utilizatorului

-sin, cos,tg,ctg

b) funcții statistice:

-medie, abatere standard, variantă, mediană, histograme

-regresie liniară, polinomială, exponențială, reziduală

c) procesarea numerică a semnalelor:

-transformata lui Fourrier, putere spectrală, convoluția, corelare

-integrarea, diferențierea, interpolarea, decimarea

-generare impuls, puls, dreptunghi, triunghi, exponențială, rampă

d) filtre: -trece jos, trece sus, trece bandă, oprește band

e)metode numerice:

– analiză factorială

– adunare, scădere, trecere de la forma algebrică la forma polară și invers

2.2 Principii de programare în LABVIEW

Mediul de programare LABVIEW este un mediu de programare grafică orientat pe obiecte, ce permite realizarea unor programe care să reprezinte instrumente de măsură virtuale iar utilizatorul acestora lucrand cu ele la fel ca și cu instrumentele de măsură obișnuite.Fiecare program in LABVIEW are două componente principale:

– o componentă ce reprezinta panoul frontal al aparatului de măsură virtual.Această componenta va permite citirea respectiv afișarea valorilor mărimilor măsurate și introducerea unor date de intrare. Această componentă poartă numele de fereastra panoului cu instrumente (Panel)

– o componentă care va descrie operațiile pe care le realizează programul pornind de la datele de intrare și valorile mărimilor achiziționate pe diferite canale, iar această componentă poartă numele de fereastra blocului diagramă.

Fiecare din cele două componente este disponibilă simultan la realizarea și rularea unui program în LabVIEW, programul fiind conceput să lucreze sub sistemul de operare WINDOWS,

trecerea de la o fereastră la alta se realizează cu ajutorul „mouse-ului”. Atunci cand se face salvarea programului ambele componente sunt salvate intr-un fișier cu extensia „vi” iar apelarea

unui fișier cu extensia „vi” va determina deschiderea ferestrei panel. Pentru prima vizualizarea a ferestrei blocului diagramă este necesară selectarea opțiunii „arată diagrama” din meniul „windows” din bara de meniuri a ferestrei panoului cu instrumente.

2.3 Modulul de programare LabVIEW FPGA

Tehnologia NI RIO oferă o platformă flexibilă pentru a crea sisteme de măsurare și control sofisticat iar pentru a putea configura FPGA se folosește modulul de programare grafic LabVIEW și modulul LabVIEW FPGA pentru NI RIO.

Un FPGA este un cip care este conceput din mai multe porți logice neconfigurate. Flexibil arhitecturală și cu software programabil de FPGA oferă beneficii, cum ar fi executarea de înaltă performanță de algoritmi personalizați, capacitatea de luare a deciziilor rapide, și executarea simultană a sarcinilor paralele. Astăzi, FPGA-uri apar în dispozitive, cum ar fi instrumente de masurare ți control, automobile, avioane, copiatoare, și multe alte domenii. În timp ce FPGA sunt adesea folosite în produsele de control industrial, funcționalitatea FPGA nu a fost anterior accesibile în domeniul de control industrial. În figura 3.1 este prezentat modul în care interacționează o secvență de program FPGA cu diferite placi de achizițe NI RIO.

Fig.3.1

După terminarea secvenței de programare, se va compila pe placa de achizițe FPGA, iar în funcție de complexitatea codului și specificațiile sistemului, compilarea poate varia de la minute la cateva ore. În momentul în care codul LabVIEW este compilat se crează o ,,gazdă a IV-ului, iar gazda IV-ului utilizează comenzile și indicatoarele de pe panoul frontal al IV-ului

FPGA pentru a transfera date între FPGA, de pe dispozitivul aferent și motorul de procesare ,,gazdă”. Aceste obiecte pe panoul frontal sunt reprezentate ca regiștri de date din cadrul FPGA.

Calculatorul gazdă poate fi un PC pe care este instalat sistemul de operare Windows iar în figura 3.2 sunt prezentați schmatic pași care trebuie urmați pentru compilare pe FPGA.

În prima etapa (fig.3.1.a) se crează un IV, în care se crează secvența de programare, pe urmă în a doua etapă (fig.3.2.b) se realizează testul de rulare a secvenței de programare pentru a se evidenția, eventual, erorile existente, și de a putea trece la pasul urmator(fig 3.1.c) unde se realizează compilarea. În ultima etapă (fig.3.1.d) se crează, după ce sa realizat compilarea, un IV bine definit,iar în momentul în care se dorește realizarea de modificări în secvența de programare existentă se reiau în totalitate etapele de compilare.

CAPITOLUL IV

SERVOMOTOARE

4.1 Definiții. Caracteristici

Servomotoarele sunt micromașini electrice al căror principiu de funcționare este identic cu al mașinilor electrice dar care din punct de vedere constructiv prezintă o serie de caracteristici specifice, aceasta din considerentulde a realize anumiți indici de performanța solicitați de servosistem.

Servomotoarele sunt motoare electrice speciale care pot fi de curent continu sau curent alternativ ce au o viteză de rotație reglabilă într-o gamă largă în ambele sensuri având ca scop deplasarea într-un timp prescris a unui sistem mecanic de-a lungul unei traiectorii date, realizând totodată și poziționarea acestuia la sfârșitul cursei cu o anumită precizie.

Un servomotor este caracterizat de următoarele caracteristici:

– caracteristici mecanice și de reglaj liniare în tot domeniul de funcționare;

– moment de inerție cât mai redus posibil;

– inductivități foarte mici astfel încât constantele electromagnetice de timp ale acestora să fie cât mai mici;

– reversibilitatea în funcționare;

– lipsa fenomenului de ambalare spontană,prin acest fenomen înțelegânduse continuarea funcționări unui motor atunci când comanda încetează;

– rapoarte putere-greutate cât mai mari;

– turații de funcționare cât mai mari care sunt de ordinu zecilor și a sute de mii de rot/min;

– funcționare silențioasă lipsită de zgomote și vibrații.

4.2 Clasificarea servomotoarelor

Servomotoarele electrice sunt folosite în cele mai diverse aplicații cum ar fi acționarea roboților industriali universali, a mașinilor unelte cu comandă numerică, a perifericelor de

calculator, în acționarea imprimantelor rapide, în tehnica aerospațială, instalații medicale și multe alte domenii datorită preciziei și lejeritați cu care se poate realiza comanda servomotoarelor.

În literatura, sub denumirea de servomotoare sunt cuprinse motoarele electrice executate special pentru a fi utilizate în sistemele automate de poziționare și care în general sunt de puteri reduse până la puteri de ordinul câtorva [kW].

Sistemele de reglare automată moderne impun servomotoarelor următoarele performanțe:

-gamă largă de modificare a vitezei în ambele sensuri;

– funcționare stabilă la viteză foarte mică;

-constante de timp cât mai reduse;

-fiabilitate și robustețe ridicate;

-raport cuplu/moment de inerție cât mai mare;

-suprasarcină dinamică admisibilă mare;

-caracteristici de reglare liniare.

Servomotorul într-un sistem automat, are rolul de a transformă un semnal electric de comandă într-un cuplu electromagnetic ce se finalizează într-o mișcare de rotație a arborelui sau, care antrenează mecanismul ce realizează operația dorită. Acesta se poate clasifică în funcție de sistemul automat în care funcționează: – caracterul sarcinii;

– viteză;

– puterea;

– tensiunea;

– frecvența de alimentare.

Pentru alegerea unui servomotor se are în vedere cerințele impuse de sistemul automat în care funcționează iar principalele calități care trebuie să le aibă un servomotor sunt :

-posibilitatea reglajului de viteză ;

– stabilitatea și siguranță în exploatare ;

– liniaritatea caracteristicilor de reglare

– absența autopornirii ;

– cuplu electromagnetic mare la pornire ;

– putere de comandă mică ;

– viteză de răspuns mare ;

– gabarit și greutate mică ;

Conform principiului lor de funcționare, servomotoarele electrice pot fi clasificate în:

1) Servomotoare de curent continuu, care se caracterizează prin posibilitatea de reglare a vitezei în limite largi, prin intermediul unei părți de comandă electronică relativ simplă. Aceste

servomotoare de curent continuu au caracteristici mecanice și de reglaj practic liniare, cuplu de supraîncărcare mare, greutate specifică mică, moment de inerție redus iar dezavantajele sunt legate de colector, fenomene de comutație, uzură și scânteiere. Acest gen de servomotoare este preferat acolo unde se cere un reglaj continuu de viteză, când sarcina prezintă variații cu șocuri frecvente.

Din punct de vedere constructiv servomotoarele de curent continuu prezintă aceleași elemente că și mașinile de curent continuu clasice iar particularitățile constructive se regăsesc în: – gabarit redus ;

– moment de inerție redus ;

– gama mare de viteză la care poate funcționa

Există trei tipuri constructive de servomotoare de curent continuu:

a) cu rotor cilindric;

b) cu rotor disc;

c) cu rotor în formă de pahar

a) Servomotoare cu rotor cilindric au o construcție asemănătoare cu cea a mașinii clasice, singura diferență fiind forma alungită cu diametru mic. Performanțele realizate de aceste servomotoare sunt relativ reduse iar valorile minime pentru constanta de timp electromecanică, care este dependentă și de gabaritul mașinii sunt aproximativ 20¸ 30 ms. Capacitatea de evacuare a căldurii este mică deoarece înfășurările sunt amplasate în crestăturile oțelului rotoric. Din același motiv rezultă valori mari pentru constanta de timp electrică. Aceste motoare se utilizează de regulă la puteri sau cuplri mari.

În figura 4.1 este prezentat un servomotor cu rotor cilindric si componentele aferente lui.

.

Fig.4.1

Din punct de vedere constructiv, carcasa acestui servomotor se realizează din metal, prelucrarea realizându-se dintr-o singură prindere. Excitația este realizată cu magneți din pământuri rare pe bază de Teluriu,Alnico,magnetite,Stronțiu, Neobimium și altele. Câmpurile coercitive ale acestor magneți sunt extrem de mari, asigurând câmpuri de excitație foarte puternice. Colectorul acestui tip de servomotor este realizat din aliaje de Cu și Ni, iar periile din electrografit și conținut ridicat de Ag. Rulmenții utilizați sunt de construcții speciale cu frecări și zgomot minim.Acest tip de servomotor cu rotor cilindric, funcționează până la turații de ordinul maxim 20 000 rot/min datorită greutății înfășurărilor și dificultăților de echilibrare.

Servomotoarele cu rotor cilindric se împart astfel: -cu excitație electromagnetica, care sunt construite în general pentru puteri mai

ridicate iar cestea sunt înlocuite tot mai frecvent cu motoare care au magneți permanenți și circuitul magnetic al acestui tip de motor este realizat din tole de oțel electrotehnic.

– cu magneți permanenți care se deosebesc constructiv în funcție de materialul magnetului utilizat iar datorită câmpului coercitiv redus,magneții au lungimi mari și ,în cele mai multe cazuri, magnetizarea se face îninteriorul mașinii cu ajutorul unor bobine speciale plasate în jurul magnețilorpermanenți.

– hibride, având ambele tipuri de excitație. Motoarele din categoria ‘’hibridă’’ cu magneți permanenți și excitație electromagnetica sunt utilizate unde se cere că coeficientul de tensiune-cuplu al servomotorului să fie variabil în anumite limite. Geometria rotorului acestor

servomotoare este întrucâtva diferită de aceea a mașinilor clasice, pentru reducerea momentului de inerție.

Comandă servomotoarelor de curent continuu se face prin modificarea tensiunii de alimentare rotorică iar tensiunea variabilă se obține cu tranzistoare de putere sau tiristoare. Semnalele de comandă a servomotoarelor sunt amplificate de următoarele tipuride circuite care sunt numite și amplificatoare -liniare;

-cu modulație în lățime;

-redresor comandat.

b) Servomotor cu rotor disc. Principiul constructiv al servomotorului cu rotor disc este prezentat în figura 4.2

Fig.4.2

Rotorul servomotorului este realizat dintr-un disc din rășină epoxidică în care sunt înglobate înfășurările indusului. Acest disc este solidar cu arborele 1 iar către centrul discului

este realizat colectorul din lamelele ce formează înfășurarea. Pe acest colector calcă periile. Periile sunt plasate axial și nu radial ca la motorul de c. c. obisnuit ,de unde și denumirea de servomotor cuîntrefier axial. Câmpul de excitație al servomotorului cu rotor disc este realizat cu

ajutorul unor magneți permanenți cu magnetizare axială și plasați pe inelele feromagnetice. Pe capătul dinspre rotor există piesele polare ce au rolul de a uniformiza câmpul magnetic în întrefier.La fel ca și la servomotorul cu rotor cilindric, întrefierul este dublu și relativ mare, rezultând perfomanțe energetic mai slabe. La acest servomotor lipsește fierul de pe indus, rezultând de aici moment de inerție și inductivități mici.

Grosimea discului nu depășește 3-4 mm, și din această cauta rezultă o bună ventilație a conductoarelor, motiv pentru care densitățile de curent adoptate sunt ridicate de odinul a 30÷40 A/mm2 , iar de multe ori ventilația este forțată.

Aceste servomotoare sunt caracterizate de o sensibilitate crescută la șocuri și vibrații. Toate tipurile de servomotoare au periile realizate din electrografit cu conținut mare de Cu și Ag. Rulmenții acestui tip de servomotor sunt de construcție specială cu frecări interne foartemici și care asigură în acest fel o tensiune de dezlipire foarte mică.

c) Servomotor cu rotor în formă de pahar

Servomotorul cu rotor în forma de pahar este realizat dintr-o carcasă ce are prevăzută la interior magneții permanenți, magnetizați radial. Acești magneți sunt realizați din materiale magnetice ce realizează câmpuri colective foarte puternice iar circuitul magnetic al acestor magneți permanenți ce formează câmpul de excitație este format din piesele polare realizate din fier moale și care servesc la închiderea circuitului magnetic

Fig.4.3

Servomotorul cu rotor în forma de pahar este realizat dintr-o carcasă ce are prevăzută la interior magneții permanenți, magnetizați radial. Acești magneți sunt realizați din materiale magnetice ce realizează câmpuri colective foarte puternice iar circuitul magnetic al acestor

magneți permanenți ce formează câmpul de excitație este format din piesele polare realizate din fier moale și care servesc la închiderea circuitului magnetic.

Rotorul servomotorului cu rotor în forma de pahar este plasat pe arbore și este constituit din colector și înfășurările indusului. Servomotorul cu rotor în formă de pahar are ca particularitate înfășurările care sunt realizate din conductoare înglobate de regulă într-o rășină epoxidică. Acest rotor se rotește în întrfierul creeat între magneții permanenți, ce constituie un

stator exterior și circuitul magnetic realizat din piesele polare ce constituie un stator interior iar capetele înfășurărilor sunt conectate la colectorul pe care calcă periile.

Rotorul se rotește în carcasa servomotorului datorită rulmenților și datorită acestui fapt înfășurările indusului nu sunt plasate în crestăturile unui miez magnetic ci sunt ,,în aer”. Inductivitatea indusului acestui servomotor cu rotor în forma de pahar este foarte mică, la fel și cu constanta de timp electromagnetică .

Dezavantajele acestui servomotor constau în aceea că este sensibil la șocuri mecanice și în procesul de fabricație trebuie să fie bine echilibrat,de regulă au nevoie de răcire forțată. Uzual constantele de timp sunt de ordinul milisecundelor până la maxim câteva zeci de milisecunde.

2) Servomotoare asincrone sunt în prezent în tot mai mare măsură răspândite deoarece elimină dezavantajele servomotoarelor de curent continuu legate de sistemul colector-perii, fiind de asemenea atractive prin robustețea, simplitatea și prețul lor. Dezavantaje servomotoarelor asincrone este legate de randament, factor de putere, greutate și nu în ultimul rând procedee de comandă mai complicate decât cele ale servomotorului de curent continuu. Servomotoarele asincrone se asociază cu convertoare statice, obținându-se domenii largi de variație a turației,în aplicații speciale la puteri mici s-au obținut turații de peste 100.000 [rot/min].

Servomotoare asincrone trifazate: servomotoarele asincrone trifazate sunt similare cu mașinile asincrone trifazate clasice, dar prezintă unele particularități constructive impuse de natura aplicației industriale în care sunt folosite, de regimul dinamic la care trebuie să răspundă, de domeniul frecvențelor la care trebuie să funcționeze.Servomotoare asincrone trifazate: servomotoarele asincrone trifazate sunt similare cu mașinile asincrone trifazate clasice, dar prezintă unele particularități constructive impuse de natura aplicației industriale în care sunt folosite, de regimul dinamic la care trebuie să răspundă, de domeniul frecvențelor la care trebuie să funcționeze. Un exemplu unde sunt utilizate servomotoarele asincrone este la acționarea platformelor giroscopice, iar rotorul trebuie să aibă un moment de inerție mare și din această cauză se adoptă o construcție inversată, cu rotorul în exterior cu colivie și statorul interior, conform figurii 4.4.

Servomotoarele asincrone bifazate se utilizează ca elemente de execuție în sistemele de automatizare, datorită unor avantaje pe care le prezintă în raport cu alte tipuri de servomotoare, și anume:

– constructie simplă și robustă;

– absența parazitilor radiofonici;

– stabilitate bună în timp a caracteristicilor de funcționare;

– prezența fenomenulul de autofrânare.

Principalele dezavantaje ale servomotoarele asincrone bifazate sunt:

– dimensiuni de gabarit mai mari pentru o putere egală cu a altor tipuri de servomotoare;

– randament și factor de putere scăzute;

– cuplul de pornire relativ mic în comparație cu servomotoarele de current continu.

Particularități constructive ale servomotoarelor asincrone bifazate.

Din punct de vedere constructiv, statorul este realizat din tole, cu crestături, în care se introduc două înfășurări decalate la 90 grade electrice. Una din înfășurări, numită înfașurare de excitație, este conectată la rețeaua monofazată, iar cealaltă, numită de comandă, se alimentează de la aceeași sursă sau de la o sursă separată. Cele două surse sunt de aceeași frecvență, dar pot fi și de frecvențe diferite, dacă se cere o comandă reversibilă. La motoarele de foarte mică putere, statorul poseda o înfășurare continuă, iar din patru puncte, situate la periferie, la unghiul electric de π/2 radiani se scot prize, două pentru înfășurarea de excitație ,la p radiani respectiv, alte două pentru înfășurarea de comandă.

Rotorul servomotoarelor asincrone poate fi:

– cu colivie (figura 4.5 a);

– în formă de pahar neferomagnetic ( figura 4.5 b);

· -sub forma de cilindru gol feromagnetic(figura 4.5 c).

Servomotoareor asincrone cu rotor pahar din material neferomagnetic.Grosimea paharului este de 0,2-0,3 mm iar pentru închiderea liniilor de câmp se utilizează un stator interior din tole feromagnetice. Întrefierul total al mașinii, compus din întrefierul dintre statorul exterior

și rotorul pahar, grosimea paharului, respectiv, întrefierul dintre rotorul pahar și statorul interior, are valori mari: 0,7-1 mm. Din acest motiv, solenația necesară menținerii fluxului în mașină este destul de mare, curentul de magnetizare ajungând la 90% din curentul nominal.

Avantajul principal al servomotoarelor cu rotor în formă de pahar constă în absența miezului feromagnetic și a crestăturilor rotorice, fapt ce duce la eliminarea cuplurilor parazite și a fenomenelor de „prindere magnetică” și totodată, la un reglaj fin al vitezei, fără șocuri.

Servomotoareor asincrone cu rotor din material feromagnetic, paharul cilindric are o grosime de 2 – 3 mm și este fixat de arbore cu ajutorul unor rondele din oțel care joacă rolul atât

de inel de scurtcircuitare cât și de cale de închidere a liniilor de câmp magnetic. Cu toate că întrefierul este mic curentul de magnetizare are valori mari din cauza saturației puternice a cilindrului rotoric..

Deoarece, la astfel de mașini pot apărea cupluri de atracție magnetică unilaterală, cupluri parazite, vibrații, iar momentul lor de inerție este mărit față de soluția cu rotor pahar, utilizarea servomotoarelor cu rotor feromagnetic în sistemele de automatizări este restrânsa și aplicată doar acolo unde nu se cer viteze de răspuns prea mari.

3) Servomotoarelor sincrone construiesc într-o gamă foarte largă de puteri, de la zecimi de watt până la zeci de kilowatti și într-o plajă largă de turație. Din această categorie mai fac parte și servomotoarele de curent continu făra perii cât si servomotoarele pas cu pas. Principala caracteristică a servomotoarelor sincrone este dată de faptul că frecvența tensiunii de alimentare se află în raport constant cu viteza lor de rotație, indiferent de gradul de încărcare al mașinii și ca urmare a acestei proprietăți, utilizarea servomotoarelor sincrone este indicată în sisteme automate de poziționare la care viteza de rotație a mașinii se dorește a fi menținută riguros constantă sau direct proporțională cu frecvența de comandă. Categoria servomotoarelor sincrone cuprinde toate tipurile mașinilor sincrone asociate cu convertoare statice iar clasificarea acestora se poate face după diverse criterii:

a)după principiul de conversie al energiei:

– servomotoare sincrone cu magneți permanenți;

– mașini sincrone cu reluctanță variabilă;

– mașini sincrone cu histerezis.

b) după felul alimentării:

– servomotoare cu alimentare continuă;

– servomotoare cu alimentare discontinuă ,motoarele pas cu pas.

c) după tipul comenzii:

– servomotoare cu comandă din exterior;

– servomotoare autopilotate.

Servomotoarele sincrone prezintă cateva avantaje față de motoarele sincronice clasice:

– absența contactelor alunecătoare, ceea ce mărește viteza de funcționare, reduce frecarea, nivelul de zgomot și uzura, îmbunătățind fiabilitatea;

– întreținere ușoară și posibilitatea funcționării în medii explozive.

Servomotorul pas cu pas este un convertor electromecanic ce transformăun impuls de tensiune intr-o deplasare incrementală. În funcție de tipul constructiv, această deplasare poate fi unghiulară în cazul servomotoarelor rotative și axială în cazul servomotoarelor liniare.

Servomotoarele pas cu pas sunt insoțite de circuite electronice de procesare a impulsurilor aplicate și de comandă a fazelor servomotorului. Prin cuantificarea acestor deplasări incrementale se pot realiza poziționări de precizie fără a utiliza bucle de reacție după poziție sau traductoare incrementale de poziție.

Servomotoarele pas cu pas se intalnesc in 3 variante:

– servomotoare pas cu pas cu magneți permanenți sau rotor active;

– servomotoare pas cu pas cu reluctanță variabilă;

– servomotoare pas cu pas hibrid.

CAPITOLUL V

BRAȚ ROBOTIC

Un braț robotic este un tip de braț mecanic, de obicei, programabile, cu funcții similare unui braț de om. Brațul poate fi suma totală a mecanismului sau poate fi parte a unui robot mult mai complex. Brațul robotic este realizat prin îmbinari ce permit fie mișcare de rotație, cum ar fi cazul unui robot articulat, sau de translație

Clasificare:

– Robot Cartezian. Este un robot al cărui braț are trei articulatii prismatice și a căror axe coincide cu un coordonator cartezian.

– Robotul cilindric: folosit pentru operațiunile de asamblare, manipulare la mașini-unelte, și sudare,

– Robotul Polar (cum ar fi Unimate). Este folosit pentru manipulare de mașini-unelte, de sudare cu gaz și sudarea cu arc electric. Este un robot, a căror axe formează un sistem de coordonate polare.

– Robot SCARA: folosit la aplicații de hidroizolare, operațiuni de asamblare și manipulare de mașini-unelte.

– Robotul articulat: folosit pentru operațiunile de asamblare, de sudare cu gaz, sudarea cu arc și vopsire prin pulverizare. Este un robot al cărui braț are cel puțin trei articulații rotative.

-Robotul paralel: Este un robot ale cărui brațe au articulatii prismatice sau rotative.

5.1 Construcția brațului robotic.

Brațul robotic a fost confecționat din comatex, datorita maleabiliți de modelare a acestui tip de material. În costrucția brațului robotic sa folosit cinci servomotoare digitale, o placă de achiziție sbRIO 9631, riglete pentru a realiza conexiunile iar petru acționarea mechanică a degetelor s-a folosit fire de oțel datorită rigidității pe care le oferă.

Rigleta este o banda dreptunghiulară sau patrată din carton, metal sau plastic care

este folosită la realizarea conexiunilor. Prin intermidiul acestei riglete sa realizat conexiunile de la cele cinci motore la placa de achiziți. În figura 5.1 este prezentată rigleta folosita la realizrea conexiunilor.

În figura 5.2 este prezentat brațul robotic.

Fig.5.2

5.2 Secvența de programare

Secvența de programare a brațului robotic s-a realizat cu ajutorul modulului de programare LabVIEW FPGA.

Proiectul ,,Explorer” a fost introdus în LabVIEW pentru a oferi utilizatorilor o mai buna modalitate de organizare a fișierelor. De la lansarea inițială Proiectul ,,Explorer”, National Instruments a inclus mai multe caracteristici noi, ca urmare a feedback-ul clientului. În figura 5.3 este prezentat Proiectul ,,Explorer” denumit și ,,arborele” secvenței de programare.

-a-reprezintă ,,arborele” secvenței de programare și numele generic al secvenței de programare;

-b-reprezintă subIV-urile reprezentative secvenței de programare;

-c-reprezintă placa de achiziție sbRIO și este afișat IP generat placii de achiziție, în momentul realizării secvenței de programare. În momentul în care placa poate fi utilizată și se realizează conexiunile, utilizatorul va fi informat prin trecerea placii de achiziție din starea neconectat în starea conectat;

-d- reprezintă locul unde se realizează compilarea și locul unde se

realizează IV principal;

-e-reprezintă ieșirile și intrarile analogice;

-f-reprezintă ieșirile și intrările digitale

-g-reprezintă IV principal al secvenței de programare.

Secvența de programare a controlului celor cinci motoare este prezentată panoul frontal în figura 5.4. și respectiv diagrama bloc ce aparține secvenței de programare în figura 5.5.

-a- reprezintă indicatorii aferenți diagramei bloc;

-b- reprezintă controale și se gasesc în paleta ,,Controale” respectiv subpaleta ,,Numeric”.

Componetele aferete secvenței de programare din diagram bloc sunt urmatoarele:

-a-While Loop,care este prezentată in figura 5.1, se gasește in paleta ,,Funcții” și subpaleta,,Structuri”. Structura de control repetitiv„while” permite efectuarea calculului iterativ atunci când nu se cunoaște numărul de repetări. Oprirea ciclului de iterații este condiționată

boolean: repetarea se executa când valoarea booleană este adevărată iar oprirea executării structurii este comandată de o variabilă tip boolean „oprește dacă este fals”. Prin intermediul

registrelor de transfer se permite furnizarea rezultatelor între iterații seccesive al instrucțiunii repetitive. Definirea și utilizarea registrelor de transfer  pentru structura „Do-While” este identică cu cea prezentată la instrucțiunea „For”.

Auto indexarea nu se aplică implicit pentru un tunel  de pe structura „Do-While”, ca și în cazul instrucțiunii For: programatorul trebuie să indice explicit pentru fiecre tunel, dacă se dorește utilizarea auto-indexării.

 Numărul de repetări ale corpului modului „Do-While” este controlat, în primul rând, de valoarea logică „Adevărat” a expresiei de oprire și mai puțin de dimensiunea unui tablou furnizat subdiagramei printr-un tunel de intrare, care folosește auto indexarea.

-b- Structura secvențială (Sequence). Este prezentată în figura 5.3,și se găsește în paleta ,,Funcții”, subpaleta ,,Structuri”. Atunci când dispune de mai multe ferestre, fiecare dintre acestea cu propriul flux de date, o structură secvențială execută în ordine ferestrele respective. Atunci când este dispusă în diagramă, o structură secvențială conține o singură fereastră, aceasta fiind totodată și fereastra curentă .Deschizând meniul propriu al structurii și alegând una din opțiunile ,,Adauga cadru dupaă” sau ,,Adauga cadru înaonte”, se poate adaugă o fereastră după sau înaintea celei curente. Dacă o structura secvențiala conține mai mult de o fereastră, atunci ferestrele primesc indici începând cu 0, iar pe latura superioară a conturului structurii apare un selector prin intermediul căruia se poate trece de la o fereastră la altă.

Se poate crea o dublură a ferestrei curente, selectând din meniul propriu al structurii opțiunea,,dublează cadru”. Fereastră curentă poate fi ștearsă, cu opțiunea ,,Ștergere cadru”. Atunci când o structura secvențială conține cel puțin două ferestre, ordinea acestora poate fi schimbată: se modifică indicele ferestrei curente, selectând opțiunea ,,Make This Frame” apoi noul indice. Atunci când se dorește transferul unei valori între două ferestre ale unei structuri secvențiale,prin selectarea opțiunii,,adauga structura secvențială locală”se dispune pe conturul structurii o variabilă locală a acesteia.

Dacă, în una din ferestrele structurii, se conectează o valoare la variabilă locală, fereastră respectivă devine fereastră sursă pentru acea variabilă. În acea fereastră, simbolul variabilei locale conține o fereastră îndreptată spre exteriorul structurii. În ferestrele anterioare ferestrei sursă, simbolul variabilei locale devine hașurat, semn că valoarea variabilei locale nu este accesibilă în acele ferestre.

În ferestrele de după fereastră sursă, simbolul variabilei locale va conține o săgeata îndreptată spre interiorul structurii. În aceste ferestre, valoarea transferată prin intermediul variabilei locale poate fi utilizată în fluxul de date. O structura secvențială poate dispune de mai multe variabile locale. Într-o structura secvențială pot fi utilizate valori provenite din fluxul de date exterior. O valoare introdusă din exterior într-o structura secvențială va putea fi utilizată în oricare dintre ferestrele structurii. Dacă, într-o anumită fereastră, se face o legătură din structura secvențială în exteriorul acesteia, la ieșirea respectivă nu va mai putea fi legată o altă valoare din altă fereastră. Indiferent de indicele ferestrei în care s-a făcut o legătură spre exterior, valoarea va părăsi ieșirea de pe conturul structurii Sequence doar după executarea ultimei ferestre.

Indicator (f) și control (c): efectul acestora fiind de adăugare , în diagramă sau în panou, după caz,a unei constante sau a unui element de control sau indicator de același tip cu elementul al cărui meniu propriu a fost deschis

-d- Tick Count: se găsește in paleta cu ,,Funcții”, subpaleta ,,Time & Dialog”.Această opțiune are rolul de a determină numărul de milisecunde indicat de ceasul intern al computerului, considerat de la momentul la care calculatorul a fost pornit.

-e- Nod de intrare și ieșire FPGA. Se găsesc în ,,arborele” secvenței de programare și se folosește ca nod de intrare și ieșire digitale.

-g- Reprezintă o operație de tip boolean care poate lua doua valori: adevărat și fals.

-h- Wait (ms): Se găsește in paleta cu ,,Funcții”, subpaleta ,,Time & Dialog” și are rolul de a întrerupe execuția programului pentru intervalul de timp specificat.

-i- Constante de tip "Numere intregi". Constantele numerice sunt foarte des utilizate pentru a seta o serie de parametri pentru diverse functii si controale utilizate in aplicatiile LabView.

În figura 5.6 este prezentat un panou frontal al unui subIV care reprezintă simularea 3D a sistemului mechanic.

-a- Controlul imaginii 3D: afișează reprezentări grafice ale obiectelor 3D. O scena 3D este un obiect sau o colecție de obiecte 3D care se pot vedea în controlul imagine 3D sau într-o fereastră separată iar caracteristicile acestora pot fi setate.

-b,c- Grup de Clustere: reprezintă elementele de date de tipuri mixte. Un exemplu de un cluster este pachetul de erori LabVIEW, care combină o valoare Boolean, o valoare numerică, și un șir. Un grup este similar cu o înregistrare sau o structură în limbaje de programare bazate pe

text. Gruparea mai multor elemente de date în grupuri elimină dezordinea pe diagrama bloc și reduce numărul de terminale. Cele mai multe grupuri de pe diagrama bloc au conectorii de culoare roz .

-d- reprezintă un control : efectul acestuia fiind de adăugare , în diagramă sau în panou, după caz, a unei constante sau a unui element de control de același tip cu elementul al cărui meniu propriu a fost deschis.

În figura 5.7 este reprezentată diagrama bloc a simulării 3D a sistemului mechanic.

-a- Invoke Node: Invocă o metodă sau acțiune de referință. Cele mai multe metode au parametrii asociați.

-b- Variabilă globală: O variabilă globală este un IV care are numai fereastră panou ce conține toate elementele care se dorește să fie accesibile și altor subIV-uri.

Pentru crearea unei variabile globale se procedează astfel:

– din caseta de structuri se selectează structura global și se poziționează pe fereastra diagramă iar la eliberarea mouse-ului va apărea pe fereastra diagramă același simbol ca și al variabila locală;

– se selectează din meniu-ul contextual asociat variabilei opțiunea “deschide panou frontal” care are ca urmare crearea unei ferestre panou asociată variabilei globale;

– se poziționează elementele de intrare și ieșire specifice variabilei cu aceleași etichete sau etichetate specifice și se salvează variabila globală;

Pentru utilizarea elementelor de intrare-ieșire dintr-o variabilă globală într-un alt IV se selectează din caseta de funcții opțiunea “Select a VI” și se selectează numele IV-ului în care a fost salvată variabila globală și se poziționează acest IV pe fereastra diagramă și se selectează elementele utilizate;

-c- șterge toate comenzile aplicate anterior la un obiect într-o scenă 3D și efectuează o trecere absolut de la o poziție efectuată la poziția inițială a obiectului;

-d- reprezintă stiluri de controale și indicatoare;

-e- reprezintă grupul de clustere prezente pe panoul frontal;

-f- reprezintă operații cu variabile. Cu variabilele stabilite într-o aplicație, se pot realiza diverse operații în funcție de necesitațile aplicației. Pentru fiecare operație există câte un simbol specific. Toate simbolurile pentru operații sunt grupate înpaleta ,,Funcții”subpaleta ,,Numeric” . 

-g- reprezintă pictograma graficului 3D de pe panoul frontal.

-h- reprezintă stiluri de controale și indicatoare

-j-este folosit pentru a asambla un grup de elemente individuale sau înlocui elemente într-un cluster existent. Funcția Bundle se referă la elemente de cluster și de poziția lor în grup. Din acest motiv, utilizând funcția Bundle pentru a înlocui elemente de cluster existente presupune că numărul de terminale de intrare să corespundă cu numărul de elemente din cluster de intrare.

5.2 Servomotor HK digital MG Micro

Pentru acționarea modulelor sistemului robotic, una din soluțiile fiabile o constituie servomotoarele. În această etapă, s-a proiectat, realizat practic și s-a testat o schema originală având în structura un servomotor HK digital MG Micro. Caracteristicile mecanice, electrice și cele geometrice ale acestui servomotor sunt prezentate în tabelul 1 și figura 5.8 respectiv figura 5.9.

Tabel1.

În figura 5.10 este prezentat dimensiunile servomotorului HK digital MG Micro

Ultimii ani au fost marcati de evoluții reprezentative în ceea ce privește dimensiunile, viteza de rotație și cuplul motor al motoarelor de tip servo, a caror structură de bază este dată în figura5.10. Ultima îmbunătățire o constituie dezvoltarea servomotoarelor digitale ce au avantaje functionale semnificative față de servomotoarele standard. În principiu, un servo digital este asemănător cu un servomotor standard, cu excepția unui microprocesor care analizează semnalele de intrare și controlează motorul. Una din diferențe constă în modul de procesare a semnalelor de intrare și transmiterea puterii inițiale de la servomotor, reducând timpul mort, crescând rezoluția și generând un cuplu de menținere superior. La motoarele servo convenționale, în faza de repaus, nu se alimentează servomotorul dar în cazul servomotoarelor digitale, când este primit o comanda de pornire a servo-motorului, sau când se aplică un cuplu la axul de ieșire, servo-ul răspunde prin alimentarea cu tensiune a motorului. Această putere care este de fapt tensiunea maxima, este pulsată sau transmisă on/off cu o rată fixă de 50 de cicluri pe

secunda, generând mici impulsuri de tensiune. Prin creșterea duratei fiecărui impuls se creează un control al vitezei, până când se aplică motorului tensiunea maximă, accelerând servo-brațul spre noua poziție. Capătul de cursa a servo-ului este semnalat și transmis componentelor electronice ale servo-ului, și astfel se reduc impulsurile de putere prin scurtarea duratei lor până când nu mai exista tensiune și servomotorul se oprește.

În conformitate cu cele prezentate în figura 5.11, un impuls de lățime scurtă „On”,urmat de o pauza scurtă, nu constituie pentru motor o comanda să se întoarcă, cu condiția să nu fie mai

lunga pauza. Aceasta înseamnă un control al mișcării, care la întoarcere trimite mici impulsuri inițiale spre motor, este foarte ineficient, si de aceea este denumită„banda moartă”.

Caracteristica moment/impuls a servomotoarelor este prezentat în figura 5.12 și se poate observa comparativ variația momentului în timp pentru servomotoarele standard și servomotoarele digitale.

Avantajele evidente ale servo-digitalelor sunt:

– În primul rând, este posibil primirea de semnale de intrare și să aplice parametrii prezenți la acest semnal, înainte de a-l trimite in impuls spreservomotor. Aceasta înseamnă că durata impulsului, datorat însumării tensiunii trimise să activeze motorul, poate fi ajustată prin programarea microprocesorului pentru a potrivi funcțiile cerute și mai mult pentru a optimiza performanțele servo-ului.

-În al doilea rând, un servomotor digital trimite impulsuri către motor la o frecvență semnificativ mai mare. Aceasta înseamnă că, motorul în loc să primească 50 de impulsuri /secunda va primii 300 impulsuri/secunda. Deși durata pulsurilor se reduce direct proporțional cu frecvența, pentru că tensiunea la motor se schimbă mult mai frecvent, motorul are tendințe mai mari de a se întoarce. Acest lucru înseamnă că servomotoarele digitale vor răspunde mai rapid la comenzi.

5.3 SbRIO9631

În figura 5.13 este prezentată placa de achiziție SbRIO9631.

Placa de control și achiziție NI sbRIO-9631 conține un procesor în timp real, un FPGA reconfigurabil de către utilizator și o placă de bază. Din specificații menționăm un procesor industrial de 266 [Mhz], un FPGA 2M Xilinx Spartan, 110 linii digitale de 3.3[V] (tolerant 5[V]/compatibil TTL), 32 canale de intrare analogică individuale/16 diferențiale pe 16 biți, și patru canale de ieșire analogice pe 16 biți la 100 [kS/s] (100.000 eșantioane pe secundă). De asemenea, conține trei conectoare pentru extensie I/O folosind module de I/O NI C Series. Placa sbRIO-9632 oferă o gamă de operare a temperaturii între -20 și 55[°C] și include o sursă de tensiune cu interval între 19 și 30V, 68 [MB] DRAM pentru operații incorporate și 256[MB] memorie nevolatilă pentru stocarea programelor și pentru logarea datelor.

FPGA-ul reconfigurabil poate fi programat rapid folosind modulul LabVIEW FPGA pentru control de mare viteză, temporizare I/O modificată și procesare de semnal paralelă. LabVIEW conține drivere interne pentru manipularea transferului de date dintre FPG și procesorul în timp real

Figura 5.14 evidențiază fiecare compotentă ce se gasește pe plca de achizițe sbRIO.

1-conector C Serial 11- port Enternet

2-gaura de montareplacă 12-port serial

3-conectori pentru ieșiri și intrări analogice 13-comutatoare

4-conector C Serial 14-buton de reset

5-intarări digitale, 24 V 15-clemă pentru nul

6-conector C Serial 16-LED-uri

7-ieșiri digitale, 24 V 17-sursa de alimentare

8-ieșiri și intrări digitale, 3.3 V 18-ieșiri și intrăridigitale, 3.3 V

9-baterie de rezervă 19-ieșiri și intrăridigitale, 3.3 V

10- intrărișiieșiridigitale, 3.3 V

Placa de achiziție sbRIO este prevăzută cu 4 LED-uri care au rolul de a confirma, sau infirma buna funcționalitate a placii de achiziție după cum urmează:

– dacă un sigur LED luminează la câteva secunde înseamnă ca placa de achiziție nu este configurată;

– dacă luminează doua LED-uri înseamnă că placa de achiziție a detectat o eroare în software-ul său. Aceasta eroare apare de obicei atunci când încercarea de actualizare a softwar-ului este întreruptă și necesită reinstalrea acestuia;

– dacă lumineaza trei LED-uri înseamnă că dispozitivul este în modul de siguranță;

– dacă luminează patru LED-uri înseamnă că software-ul dispozitivului sa prăbușit de două ori fără a fi resetat. Aceasta eroare apare de obicei atunci când aparatul rămâne fără memorie;

-când LED-urile luminează continuu indică faptul că dispozitivul a detectat o eroare irecuperabil și dispozitivul are nevoie de reformatare .

În figura 5.14 ste prezentat modul în care sa realizat conectivitatea la pini.

Fig.5.14

Pentru a se putea realiza conexiunea celor cinci servomotoare sa folosit portul 8, respectiv intrările și ieșirile de la DIO1 până la DIO5. Alimentarea servomotoarelor sa relizat la portul 9,respectiv intrările și ieșirile DIO7.

5.4 Configurarea IP-ului la sbRIO 9631.

În monentul în care se accesează modulul LabVIEW FPGA este necesar configurarea adresei IP. Modul de configurare a IP-ului va fi explicat în cele ce urmează.

Schimabarea adresei IP, plăcii de achiziție sbRIO 9631 se realizează în trei etape:

-a- în prima etapă se lansează modulul de programare LabVIEW FPGA și pe urmă se accesează ,,arborele” aferent noului proict, prezentat în figura 5.15;

-b- în a doua etapa, după ce sa realizat noul proiect, în proiectul ,,Explorer” se face click dreapta pe opțiunea ,,RT Single-Board RIO” și se selectează opțiunea ,,Proprietăți” moment în care va apărea o fereastră în care se poate modifica IP-ul, prezentată în figura 5.16

-c- în noua fereastră se va trece IP-ul generat de National Instrument

Fig.5.15 Fig.5.16

Determinarea IP-ului se realizează prin deschiderea ,,Measurement & Automation Explorer” care se instaleaza deodată cu instalrea pe calculator a modulului LabVIEW FPGA, și pictograma aferentă este prezentată în figura 5.17. Fig.5.17

În momentul în care se accesează ,,Measurement & Automation Explorer” va fi evidențiat IP-ul propriu pentru fiecare placă de achiziție sbRIO care este conectată, și va aparea o fereastră ca și în figura 5.18.

Fig.5.18

În momentul în care apare o eroare, la lansarea unei secvețe de program, sub forma prezentată în figura 5.18, înseamnă că numele targhetului FPGA-ului a fost schimbat.

Fig.5.19

5.5 Dashboard

Dashboard-ul este instrumentul care livrează informațiile esențiale pentru menținerea unei afaceri în mers, pe traiectoria dorită și în condiții optime. Deși menirea tablourilor de bord este de a face viață mai ușoară oricărei companii, implementarea și design-ul dashboard-urilor necesită atenție, deoarece dincolo de aspectul facil al problemei, trebuie urmărită o strategie coerentă.

Conceptul de dashboard implică existența unor puncte de colectare a datelor care sunt organizate în funcție de anumite criterii, a unor algoritmi de analiză a datelor și de calcul a unor indicatori pe baza acestora și “ecranul” (dashboard-ul) care permite vizualizarea rezultatelor pentru acești indicatori, în general pe baza de grafice sintetice.

Dashboard-ul permite crearea de vizualizări particularizate și portabile asupra aplicațiilor LabVIEW. Utilizând această aplicație, se poate crea tablouri de bord pentru a afișa valorile-publicate în rețea, variabile, partajate și implementate în LabVIEW pe indicatori diferite opțiuni, cum ar fi diagrame, indicatoare, casete, și LED-uri.

Dashboard-ul pentru LabVIEW permite crearea uni tablou de bord personalizat, care poate controla de la distanță și monitorizarea rularea aplicațiilor NI LabVIEW. Acest lucru se face prin rețele utilizate NI LabVIEW .

Caracteristici ale dashboard-ului:

– Controla de la distanță, precum și aplicații de monitorizare LabVIEW;

– Posibilitatea de a alege aspectul, culoare având teme personalizate pentru obiecte tablou de bord;

– Datele de acces ramân stocate;

– Abilitatea de a avea mai multe tablouri de bord cu mai multe pagini;

– Controale și indicatori;

– Capacitatea de interfațare cu servicii sigure LabVIEW web, precum și NI variabile comune.

În figura 5.20 este ilustrat o interfață de dashboar

.

Fig.5.21

CONCLUZII

În lucrarea prezentă sunt afișați toți pașii efectuați pentru construcția unei platforme robotice și controlul acesteia. Inovația constă în simplitatea construcției, atât a structurii mecanice cât și a plăcii de control, oferind posibilitatea unei înțelegeri mai ușoare, a modului de funcționare a roboților, și în general, a oricărei structuri mecatronice.

Brațul robotic este realizat din comatex datorita maleabilități de a lucra cu acest tip de material, și comanda servomotoarelor a fost realizată cu modulul de programare LabVIEW FPGA folosind placa de achiziție sbRIO 9631. Acest modul de programare poate fi utilizat în diverse domenii, începând de la aplicții ușoare, pâna la cele mai complicate aplicații.

Dezavantajul acestui braț robotic constă în faptul că nu se poate realiza și mișcari de rotație, doar mișcari de tranzlație. Pentru a putea face și mișcarile de rotație ar fi nevoie de modificarea completă a construcției mecanice ale brațului robotic.

O altă îmbunatățre al brațului robotic ar putea fi, modificarea fiecărui deget prin atașarea la fiecare înbinare a degetului, un servomotor ca mișcarea de translație să fie mult mai evidentă. Dar la fel ca și la brațul robotic care ar putea face mișcarea de rotație, ar însema modificarea totală a construcției mechanice

Cu toate acestea brațul robotic construit oferă avantaje prin faptul că este controlat cu ajutorul circuitelor FPGA, circuite care sunt din ce în ce mai folosite și prin construcția acestui braț se poate învăța pas cu pas modul de funcționare al circuitelor FPGA și modul de programare a placilor de achiziție, sbRIO.

BIBLIOGRAFIE

1. Costin I.O.,,Acționari Electrice Funcționarea si comanda roboților industriali”, Editura

Todesco 2008

2. Gheorghe I Gheorghe, Valentin Pau, Doru Dumitru Palade, Mecatronica, Editura Cefin,

București, 2002.

3. Pâslă D.,, Modelarea și simularea roboților industriali.”

4. Chircor, M. – „Noutați in cinematica și dinamica roboților industriali”,Editura Fundației Andrei Șaguna, Constanța, 1997.

5. Breaz R., Bogdan L. „Automatizari in sisteme de productie” Editura Universitatii „Lucian Blaga” Sibiu, 2003

6. Cojocaru G., Fr.Kovaci „Roboții in acțiune”, Ed.Facla, Timișoara,1998

7. Bahri I., Monmasson E., Verdier F., Ben Khelifa M.E.-A., ,,SoPC-based current controller for permanent magnet synchronous machines drive”, Proceedings of the 2010 IEEE International Symposium on Industrial Electronics, ISIE 2010, Bari, Italia, iulie 2010

8. Kung Y.-S., Huang C.-C., Huang L.-C., “FPGA-realization of a sensorless speed

control IC for IPMSM drive”, Proceedings of the 36th Annual Conference of the IEEE Industrial

Electronics Society, IECON 2010, Phoenix, Arizona, SUA, noiembrie 2010.

9. Monmasson E., Idkhajine L., Cirstea M.N., Bahri I., Tisan A., Naouar M.W.,,FPGAs in industrial control applications”, IEEE Transactions on Industrial Informatics, vol. 7, no. 2, mai 2011.

10. Pellerin D., Thibault S.,, Practical FPGA programming in C”, Prentice Hall, 2005.

11. Chu P.P.,,FPGA prototyping by Verilog examples”, John Wiley and Sons, 2008.

12. Onea A.,,Prelucrarea semnalelor”, Politehnium, 2006.

13 Alecsa B., Onea A.,,An FPGA implementation of an all digital phase locked loop for control applications”, Cluj-Napoca, România, august 2009.

14 Alecsa B.C., Onea A., “An FPGA implementation of the time domain deadbeat algorithm for control applications”, Norvegia, noiembrie 2009.

15. Alecsa B., Onea A.,,An FPGA implementation of a brushless DC motor speed controller”, SIITME 2010, Pitești, România, septembrie 2010.

16. Alecsa B., Onea A. ,,Design, validation and FPGA implementation of a brushless DC motor speed controller”, Proceedings of the 17th IEEE International Conference on Electronics, Circuits, and Systems, ICECS2010, Atena, Grecia, decembrie 2010.

17. Cottet, F., Ciobanu, O.,,Bazele Programarii in LabVIEW”, Editura Matrix Rom Bucuresti, 1998.

19. Maier, V., Maier, C.D.,, LabVIEW in Calitatea Energiei Electrice”, Editura Albastra Cluj-Napoca, 2000.

20.,, Graphical Programming for Instrumentation”,National Instruments, 1996.

21. C. Dufour, S. Abourida, J. Bélanger. ,,Real-time simulation of permanent magnet motor drive on

FPGA chip for high-bandwidth controller tests and validation,” Proc. IEEE ISIE, iul. 2006

22. Atanansiu Gheorghe ,, Servomotoare sincrone pentru actionari electrice”, 2003

23. http://romania.ni.com/

Similar Posts

  • Relația Dintre Stres Si Personalitate

    „ RELAȚIA DINTRE STRES SI PERSONALITATE ” CUPRINS : ABSTRACT……………………………………………………………………………… 4 CAPITOLUL 1: Cadru teoretic…………………………………………………………. 1.1 Introducere…………………………………………………………………………… 5 1.2 Scopul lucrării………………………………………………………………………………………………… 5 1.3 Stresul…………………………………………………………………………………………………………… 5 1.3.1 Definiții……………………………………………………………………………………………………… 5 1.3.3 Factori stresori……………………………………………………………………………………………. 5 1.4 Personalitatea…………………………………………………………………………………………………. 7 1.4.1 Definiții ale personalității……………………………………………………………………………… 7 1.4.2 Delimitări conceptuale…………………………………………………………………………………. 8 1.5 Relația dintre stres și personalitate…………………………………………………………………….. 9 1.5.1 Studii care demonstrează relația…

  • Aplicarea Conditionarii Eletrochimice la Prepararea Minereului Complex Burloaia Proectarea Instalatiei la Captare

    INTRODUCERE Teoria flotației ca și teoria altor discipline aplicative se află în perioada în care analiza datelor experimentale, pe lângă folosirea noțiunilor de bază din chimia și fizica clasică, necesită aplicarea noilor descoperiri din domeniul teoriei corpului solid, a chimiei-fizice, a teoriei forțelor superficiale și nu în ultimul rând al electrochimiei. Sarcina principală actuală a…

  • Norme de Tehnica Securitatii Muncii

    CUPRINS INTRODUCERE Cap. 1 Dispozitive de control 1.1 Elementele caracteristice ale dispozitivelor de control Cap. 2 Calitatea Cap. 3 Metode și mijloace de măsurare 3.1 Metode de măsurare 3.2 Mijloace de măsurare Cap. 4 Dispozitivul de control poziție alezaj Ø5,1 4.1 Componența dispozitivului 4.2 Utilizarea dispozitivului Cap. 5 Itinerarul tehnologic pentru executarea reperului DP-02. 00….

  • Tehnica Iluminatului Urban

    CAPITOLUL I NOȚIUNI FUNDAMENTALE DE TEHNICA ILUMINATULUI 1.1 NOȚIUNI ȘI DEFINIȚII Radiația electromagnetică emisă în spectru vizibil, receptată de organul vederii, datorită căreia este posibilă vederea, se numește radiație vizibilă. Din teoria ondulatorie a radiațiilor electromagnetice se știe că acestea se caracterizează prin frecvență (v- măsurată în Hz) și lungime de undă ( -măsurată în…

  • Proiectarea Optima a Retelei Xyz In Functie de Trafic

    CAPITOLUL I INTRODUCERE 1.1 Prezentare generală Sistemul de telefonie celulară pan-european, cunoscut sub denumirea GSM (sistem global de telecomunicații mobile – Global System for Mobile Communications), reprezintă, în momentul de față, una mai complexe rețele de radiocomunicații din lume, luând în considerație chiar și realizările din domeniul militar. El a început să fie utilizat din…

  • Elaborarea Unei Metodologii de Reconditionare a Pompelor Centrifuge

    Introducere În domeniul industrial utilajele dinamice reprezentate de pompe, compresoare și motoare electrice, sunt foarte întâlnite, mai ales în industria chimică, cea farmaceutică sau în prelucrarea petrolului și a gazelor. Astfel, se poate considera că un studiu asupra acestor utilaje este necesar, mai ales dacă vrem să ajungem să studiem, odată cu analiza acestor utilaje,…