N NI IV VE ER RS SI IT TA AT TE EA A T TE EH HN NI IC C d di i n n C CL LU UJ J- - N NA AP PO OC CA A
FACULTATEA de INGINERIE ELECTRIC
TEMA PROIECTULUI DE DIPLOM
I. ENUNUL TEMEI:
COMANDA UNUI BRA ROBOTIC FOLOSIND MODULUL LABVIEW FPGA
II. CONINUTUL proiectului de diplom/lucrrii de disertaie a) Piese scrise b) Piese desenate
III. LOCUL DOCUMENTRII:
UNIVERSITATEA TEHNIC-CLUJ NAPOCA
IV. CONDUCTOR TIINIFIC:
CONF. DR. ING . RODICA HOLONEC
V. Data emiterii temei: 01.11.2012
VI. Termen de predare: 05.07.2013
Conductor tiinific, Absolvent,
Conf.Dr.Ing.Rodica HOLONEC Stelian Vasile TOMA
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3
Declaraie-angajament: Deoarece acest proiect de diplom/lucrare de disertaie nu ar fi putut fi finalizat() fr ajutorul membrilor departamentului de electrotehnic i msurri i a echipamentelor de la departament, m angajez s public informaiile coninute n lucrare numai cu acordul scris al conductorului tiinific i al directorului de departament.
Data: 05.07.2013 Semntura
Declaraie: Subsemnatul Toma Stelian-Vasile declar c am ntocmit prezentul proiect de diplom/lucrare de disertaie prin eforturi proprii, fr nici un ajutor extern, sub ndrumarea conductorului tiinific i pe baza bibliografiei indicate de acesta.
Data: 05.07.2013 Semntura
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5
CUPRINS
INTRODUCERE ............................................................................................................................. 7 CAPITOLUL I ................................................................................................................................ 9 ROBOTUL ...................................................................................................................................... 9 1.1 Date cronologice ................................................................................................................... 9 1.2 Definiii i particularitai ale roboilor ................................................................................ 10 1.3 Clasificarea roboilor ........................................................................................................... 10 1.4 Tipuri de roboi existeni ..................................................................................................... 11 1.5 Sistemul senzorial al roboilor ............................................................................................. 14 1.6 Aplicaii ale roboilor .......................................................................................................... 15 CAPITOLUL II ............................................................................................................................. 17 CIRCUITE FPGA ......................................................................................................................... 17 2.1 Scurt istoric a circuitelor FPGA .......................................................................................... 17 2.2 Arhitecturi FPGA ................................................................................................................ 18 2.3 Resursele hardware i software a circuitelor FPGA ............................................................ 19 2.3.1 Resurse hardware ......................................................................................................... 20 2.3.2Resurse software ........................................................................................................... 22 2.4 Modul de configurare a circuitelor FPGA ........................................................................... 23 2.5 Etapele de proiectare cu circuite FPGA .............................................................................. 23 2.6 Implementri cu FPGA-uri.................................................................................................. 25 2.6.1 Implementri aritmetice cu FPGA ............................................................................... 25 2.6.2 Procesarea imaginilor ................................................................................................... 26 2.6.3 Procesarea semnalelor video ........................................................................................ 26 2.6.4 Procesarea sunetelor umane i semnalului audio ......................................................... 26 2.6.5 Recunoaterea obiectelor .............................................................................................. 26 2.6.6 Codificarea informaiilor .............................................................................................. 27 2.7 Comparaie a FPGA cu alte tehnologii ............................................................................... 27 2.8 Aplicaii FPGA .................................................................................................................... 28 CAPITOLUL III ............................................................................................................................ 29 LABVIEW-FPGA ......................................................................................................................... 29 2.1 Introducere n LabVIEW ..................................................................................................... 29 Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
6
2.2 Principii de programare n LABVIEW ............................................................................... 30 2.3 Modulul de programare LabVIEW FPGA .......................................................................... 31 CAPITOLUL IV ........................................................................................................................... 33 SERVOMOTOARE ...................................................................................................................... 33 4.1 Definiii. Caracteristici ........................................................................................................ 33 4.2 Clasificarea servomotoarelor .............................................................................................. 33 CAPITOLUL V............................................................................................................................. 42 BRA ROBOTIC ......................................................................................................................... 42 5.1 Construcia braului robotic. ............................................................................................... 42 5.2 Secvena de programare ...................................................................................................... 43 5.2 Servomotor HK digital MG Micro..................................................................................... 48 5.3 SbRIO9631......................................................................................................................... 52 5.4 Configurarea IP-ului la sbRIO 9631. .................................................................................. 54 5.5 Dashboard ........................................................................................................................... 55 CONCLUZII ................................................................................................................................. 57 BIBLIOGRAFIE ........................................................................................................................... 58
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
7
INTRODUCERE
Bazele roboilor de azi au aprut din timpuri vechi, omul construind din aceea perioada mecanisme care s-i uureze munca n anumite activiti. Punctul de plecare al acestei lucrri de licen l reprezint tendina de automatizare pe scar din ce n ce mai larg n ntreaga lume i n toate domeniile. Fiecare domeniu desfaoar o anumit activitate ce urmrete satisfacerea nevoilor individuale cu un efort ct mai mic depus. Pornind de la aceast idee conform creia automatizarea se desfoara n fiecare domeniu am construit un sistem mecatronic compus dintr-o structur mecanica (un brat robotic) si un controler ce o acioneaz. Roboii sunt realizai mai ales prin combinaia disciplinelor mecanic, electronic si informatic rezultnd din combinaia acestora mecatronica. Pentru realizarea de sisteme autonomeeste necesar legtura a ct mai multor discipline de robotic. Dezvoltarea electrotehnicii din secolul XX a adus cu sine i o dezvoltare a roboticii. Oamenii de tiina afirm c ntr-o jumtate de secol roboii ar putea s ne ajung din urm n ceea ce privete complexitatea organismelor vertebrate. Aici se pune accent i pe legtura 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 funcionalitii n mod continuu i creterea acuratei controlului. Circuitele logice programabile vin n ntmpinarea acestor cerine, permind integrarea pe un singur chip att a algoritmilor de control ct i a celorlalte funcii periferice i aceasta la viteze ridicate datorit executrii n hardware a tuturor operaiilor. Un alt avantaj adus de circuitele logice programabile fiind i timpul scurt de dezvoltarea i lansare pe pia a aplicaiei de control. Lucrarea de licena este structurat n 5 capitole, i n fiecare capitol am ncercat s descriu i s evideiez diferite informaii legate de secvena de programare folosit pentru controlul braului robotic, servomotoarele folosite i placa de achizii. n primul capitol se descrie i clasific robotul n general. Roboi, datorit tendinei de automatizare pe scar din ce n ce mai larg i n majoritatea domeniilor,ocup un loc din ce n ce mai important n evoluia societii n ncercarea de a uura i nbunatai munca omului de zi cu zi. Capitolul II prezint arhitectura general, specificaiile de proiectare, metodele de acordare i modaliti de implementare digital a placilor de achiziie FPGA. Un circuit FPGA este un circuit integrat digital configurabil, de ctre utilizator, dup ce a fost fabricat, spre deosebire de dispozitvele a cror funcie este implementat in procesul de fabricaie. Cea mai comun arhitectur pentru FPGA este constituit dintr-o matrice de blocuri logice configurabile cu porturi de ieire i intrare i canale de rutare, iar n general toate canalele de rutare au aceai lime avnd acelai numr de conexiuni.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
8
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 aplicaii n care pot fi utilizate, avantajele si dezavantajele acestor servomotoare i modul de clasificare al servomotoarelor. Capitolul V prezit modul de costrucie al braului robotic, servomotoarele digitale folosite si caracteristicile acestora, secvena de programare realizat pentru comanda braului robotic i descrierea placi de achiziie sbRIO 9631.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
9
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 acionare pentru a realiza un echipament independent de mare flexibilitate. Mecanica stabilete nfiarea robotului i micrile posibile pe timp de funcionare, senzorii sunt ntrebuinai la interaciunea cu mediul sistemului iar mecanismul de direcionare are grij ca robotul s-i ndeplineasc obiectivul cu succes, evalund informaiile senzorilor. Acest mecanism regleaz motoarele i planific micrile care trebuiesc efectuate. Conform unor relatri, 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 posibiliti noi i complexe i nu mult dup aceea au aprut primele maini, care semnau ndepartat cu roboii de azi. Odata cu dezvoltarea electrotehnicii din secolul XX a aprut i o dezvoltare a roboticii. Printre primii roboi mobili se numr 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. Cuvntul robot a fost utilizat pentru prima dat n piesa Roboii universali ai lui Rossum scrisa de Karel Capek (Cehia) n 1920. Termenul inventat semnific munc forat, sclavie i deriv din robota. Anul 1956 este considerat ca anul naterii 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 cntarea in jur de doua tone a fost introdus pentru prima dat n montarea de iconoscoape la televizoare, gsindu-i apoi drumul in industria automobil. n momentul acuat componenta cea mai important ale roboiilor sunt senzorii, care permit mobilitatea acestora n mediu i o dirijare cat mai precis. Senzorul este un dispozitiv tehnic care Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 0
reacioneaz calitativ sau cantitativ prin proprii mrimi msurabile, la anumite proprieti fizice sau chimice ale mediului din preajma lui iar ca parte component a unui aparat sau sistem tehnic detector poate msura sau nregistra presiunea, umiditatea, cmpul magnetic, acceleraia, fora, intensitatea sonor i radiaii. 1.2 Definiii i particularitai ale roboilor
Conform ISO-8373 robotul este definit ca fiind un controlat automat, reprogramabil, manipulator multifuncional, programabil n trei sau mai multe axe, care poate fi fix sau mobil pentru utilizarea n aplicaii de automatizare industrial. Cu toate acestea Institutul de Robotic din America definete robotul ca fiind un manipulator reprogramabil multifuncional proiectat pentru a muta materiale, piese, scule sau dispozitive specializate prin micri variabile programate pentru performana unor sarcini diferite. Asociaia de Robotic Japonez nu prezint o definiie clar ci mparte roboii n ase clase: 1) Manual - Manipularea dispozitivelor acionat de ctre un operator; 2) Fixarea secvenei robotului; 3) Variabila - Robot secvenial cu o uoar modificare a secvenei de control; 4) Robot de redare, care poate nregistra o propunere pentru mai trziu; 5) Roboi cu comand numeric avnd un program de micare pentru a preda acestuia sarcini manuale; 6) Robot inteligent: poate nelege mediul su i este capabil s ndeplineasc sarcinile, n ciuda schimbrilor condiilor de funcionare.
Dintre particularitile unui robot putem defini patru, considerate a fi cele mai importante, pe care trebuie s le ndeplineasc o main ca aceasta s poat fi ncadrat n categoria ,,robot: 1) Interaciune - aceast particularitate se refer la faptul c robotul trebuie s poat interaciona cu mediul, cu ali roboi sau cu oamenii, lund decizii; 2) Autonomie aceast particularitate se refer la faptul c robotul trebuie s poat opera fr intervenie uman; 3) Mobilitate - robotul trebuie s se poat deplasa corect n spaiu; 4) Reprogramare- robotul trebuie s poat fi reprogramat.
1.3 Clasificarea roboilor
1. Din punct de vedere al gradului de mobilitate se clasific n doua categorii : roboi fici i mobili. 2. Din punct de vedere al sistemului de coordonare roboii sunt clasificai n roboi cu sistem de coordonare carteziene,cilindrice i sferice. 3. Din punct de vedere al informaiei de intrare i a metodei de instuire roboii se clasific astfel: - roboi aconai de om; Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 1
-roboi cu sisitem de comanda secveniali -roboi cu sistem secvenial cu program modificat -roboi cu programare prin instruire -roboi inteligeni
4.Din punct de vedere al sistemului de acionare sunt patru categorii de roboi: roboi cu acionare hidraulic,electric,pneumatic si mixt 5. Din punct de vedere al sistemului de comanda roboii sun clasificai: -roboi cu comanda punct cu punct. La aceti roboi nu conteaz traiectoria popriuzis -roboi cu comand pe contur care implic coordonarea micrii axelor -roboi cu comand pe ntreaga categorie care implica toi parametrii de micare Arhitectura intern a unui robot conine cinci sisteme importante, fiecare dintre acestea aparinnd unui domeniu al tehnicii clasice: -sistemul mecanic de susinere i al articulaiilor,cuple de rotaie i de tranlaie; -sistemul de acionare, care poaate fi hidraulic,pneumatic,electric sau mixt; -sistemul de transmisie al micrii; -sisitemul senzorial; -sistemul decizional.
1.4 Tipuri de roboi existeni
Termenul de robot descrie un domeniu destul de vast, cauz din care roboii sunt sortai n mai multe categorii: 1) Robotul industrial. Aceti roboi se definesc ca fiind o masin, unealt programabil, folosit n procesul de producie pentru realizarea unor funcii de acionare analogice asemanatoare cu cele realizate de mana omului pentru deplasarea unor piese sau scule din procesul tehnologic. Roboii industriali au un domeniu operaional foarte restrns deoarece nu sunt foarte mobil. George Devol a nregistrat n anul 1954 primul patent pentru un robot industrial. Ei au fost introdui pentru prima dat pe linia de producie a General Motors n 1961. Roboii industriali au fost folosii prima dat n Germania la lucrri de sudur ncepnd din 1970. n fig.1.2 este prezentat un robot industrial. Robotul industrial din punct de vedere al relaiei om-robot in timpul desfurrii lucrului roboilor, acestia se mpart in trei mari categorii: a) roboi automaicare realizeaz funciile lor fr participarea direct a omului n procesul de comand i avnd n vedere adaptibilitatea lor lacondiiile mediului n care i realizeaz funciile, roboii automai se mpar n trei generaii: - roboi din generaia I, se caracterizeaz prin program fix de funcionare, ei fiind capabili s repete n mod strict operaiile specificate n program, sub condiia invariabilitii mediului n care lucreaz, fr perturbaii externe.Aceti roboi din deneraia I nu se adapteaz la schimbrile mediului, neavnd nici o informaie despre mediul extern. Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 2
- roboi din generaia a II-a care cuprind roboii adaptivi, capabili s lucreze n condiii de mediu variabile sau parial necunoscute iniial. Capacitatea acestor roboi de adaptare la schimbrile de mediu este dat de senzorii cu care se doteaz aceti roboi i de la care se obin informaii asupra schimbrii condiiilor externe. Roboii din din generaia a II-a lucreaz dup un ciclu de operaii definite n prealabil, dar pot s efectueze i operaii sub schimbarea condiiilor de operare.
- roboi din generaia a III-a care cuprinde roboii inteligeni, avnd caractere de inteligen artificial dar gradul lor de inteligen variaza n raport cu funciile care au fost dorite iniial. Roboi din generaia a III-a sunt capabili s-i defineasc aciunile instantanee lund n considerare informaiile obinute prin senzori tactili, vizuali sau de zgomot asupra mediului de operare, s rezolve probleme particulare i s-i modifice modul de aciune n concordan cu variaiile mediului de operare. b) Roboi biotehnici. La aceti roboi exist o permanent participare a operatorului uman n procesul de comand i sunt mprii n trei subgrupe: - roboi comandai pas cu pas, care este pus n micare prin acionarea, de ctre un unui buton sau manet; - roboi copiativi, care sunt constituiidin dou lanuri cinematice deschise, primul lan avnd micarea comandat de operatorul uman, iar al doilea copiind la scar aceast micare i efectund operaiile de manipulare pentru care este destinat robotul - roboi semiautomai sunt acei roboi la care operatorul uman participa nemijlocit n procesul de comand, dar n acelai timp cu el lucreaz i un calculator universal sau specializat. c) roboii interactivi. Acetia 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. Roboii interactivi pot funciona n regim automatizat, cu alternarea permanent a regimului biotehnic cu cel automat, cu comand de supervizare sau cu comand dialog. Utililiznd aceti roboi se ating dou scopuri: - se efectueaz automat toate operaiile robotului obinnduse o productivitate maxim a lucrului acestuia; - datorit faptului c comanda robotului se poate face de la distan, se obine posibilitatea efecturii unor operaii complexe n locuri n care omul nu poate aciona nemijlocit.
2) Robotul mobil. Acest robot este un sistem complex care se deplaseaz ntr-un anumit mediu fr intervenia uman i poate efectua diferite activiti ntr-o varietate de situaii specifice lumii reale. Robotul mobil este o combinaie de dispozitive echipate cu servomotoare i senzori ce opereaz ntr-un spaiu real, marcat de o serie de proprieti fizice i care trebuie s planifice micrile astfel nct robotul s poat realiza o sarcina n funcie de starea iniial a sistemului. n figura 1.3 este prezentat un robot mobil.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 3
Datorit diverselor funcii pe care le ndeplinesc roboii mobili au ntrebuinari multipe:
- robot mobil teleoperat. Acest tip de robot este folosit n diverse domenii,dar mai ales n domenii care ar pune viaa omului n pericol. De exeplu n distrugerea minelor
antipersonal, n inspecia zonelor contaminate nuclear, n intervenia ameninrii cu bombe si a muniiei neexplodate, inspecia n zone greu accesibile
-roboii subacvatici care opereaz uzual la adncimi destul de mari, de pn la 7000-8000 de metri adncime iar printre aplicaiile uzuale se numrm: cartografiere, detectarea de epave i readucerea la suprafa a diferitor obiecte. -roboii militari mobili, cu ajutorul crora se pot efectua operaiuni de recunoatere, de spionaj fr riscul pierderilor de trupe, suport logistic la transport de muniie, medicamente, i combustibil, i operaiuni de cutare i de salvare.
3) Roboii autonomi mobili sunt acei roboi ce pot ndeplini sarcini n medii nestructurate fr intervenie uman continu. Majoritatea acestor tipuri de roboi au cteva grade de autonomie. Un grad nalt de autonomie este folosit n cazuri particulare precum exploatarea spaiului, curarea podelelor, cosit peluze, tratarea apelor uzate. Iar roboii industriei moderne sunt autonomi n limitele stricte oferite de mediu. Un robot complet autonom are abiliti precum: - strngerea informaiilor din mediul nconjurtor; - funcionarea unei anumite periode de timp fr intervenie uman; - micarea intreag sau a unei pri din el n spaiul operaional fr asisten uman; - evitarea situailor duntoare pentru oameni, proprieti sau a lui nsui. Un robot autonom de asemenea poate s nvee sau s acumuleze cunotine i abiliti noi precum adaptarea strategiei pentru ndeplinirea sarcinii.
4) Roboi umanoizi. Aceti roboi trebuie s acioneze i s reacioneze autonom n mediu, mobilitatea lor fiind restrns la cele dou picioare ca locomoie. Roboii umanoizi pot fi clasificai ca roboi pitori, abilitatea mersului biped, n poziie dreapt, este considerat ca o condiie esenial i mai trebuie s fie capabili de a lucra cu braele i minile 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 gospodrie, iar printre aplicaiile cunoscute se numar: robot aspirator, robot de tuns gazonul, robot de splat ferestrele.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 4
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 roboilor
Robotul trebuie s desfoare aciuni similare cu celeale operatorului uman iar acest lucru determin existena unor anumite dispozitive prin care s se culeag informaii din mediul de lucru i cu ajutorul crora se poate realiza aciunea robotului. Sistemul senzorial mai este numit i sistem de msurare iar el asigur msurarea unor mrimi fizice i eventual perceperea unor modificr semnificative a acestor mrimi. 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 ndeprtat, iar senzorii foarte puternici chiar i zone foarte ndeprtate. Informaiile culese cu ajutorul sistemului senzorial servesc la construirea unui model al lumii n care evolueaz robotul. n funcie de soluia constructiv, senzorii sunt pasivi sau activi. Senzorii activi folosesc caracteristicile intrinseci ale mediului, iar cei pasivi genereaz modificri n mediu pentru a msura unele caracteristic. Alte dou categorii de senzori cu care poate fi dotat un robot: - senzori de mrimi interne ai robotului care sunt de poziie, vitez sau acceleraia unor componente mecanice proprii - senzori de mrimi externe care const n greutate, form, poziie, temperatur, culoare ale obiectelor asupra crora acioneaz robotul. Caracteristicile senzoriale ale unui robot depind foarte mult de gradul su de autonomie, de aplicaiile pentru care a fost proiectat i de tipul mediului de lucru iar n general percepia se realizeaz n dou etape: - conversia proprietilor fizice ntr-un semnal care este de obicei electric; - prelucrarea acestui semnal n vederea extragerii informaiei necesare Exist mai multe criterii de clasificare a senzorilor utilizai n sistemele de comand ale robotului: 1) Prima categorie const n modul dup cum vine sau nu n contact cu obiectul a crui proprietate fizic o msoar i distingem: - senzori cu contact; - senzori fr contact. 2) A doua categori const n proprietile pe care le pun n eviden - senzori pentru determinarea formelor i dimensiunilor care sunt folosii pentru evaluarea n mediu de lucru; - senzori pentru determinarea proprietilor fizice ale obiectelor care sunt de for, de cuplu, de densitate i elastici; - senzori pentru proprieti chimice care pot fi de compoziie, de concentraie i analizatoare complexe. Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 5
3) A treia categorie este dup mediul de culegere a informaiei:
- senzorii pentru mediul extern; - senzorii pentru funcia intern. 4) Dup distana la care sunt culese informaiile avem senzori de contact.
1.6 Aplicaii ale roboilor
Roboi sunt folosii n diverse aplicaii care sunt industriale sau neindustriale. n categoria aplicaiilor neindustriale se includ construciile, reabilitarea bolnavilor, comer, transport i circulaia mrfurilor,administraia local, protecia mediului nconjurtor i agricultur, supraveghere, inspecie, protecia de radiaii i intervenii n caz de catastrofe, hoteluri i restaurante, n medicin, gospodrie, hobby i petrecerea timpului liber. n medicin se gasesc sisteme robotizate pentru diagnoz prin ecografie, sisteme robotizate pentru intervenii neurochirurgicale, vehicule ghidate automat pentru transportul bolnavilor imobilizai la pat, vehicule ghidate automat pentru transportul medicamentelor, alimentelor vehicule ghidate automat pentru activiti de curenie i dezinsecie n spitale, sisteme robotizate pentru pregtirea prin simulare a unor intervenii chirurgicale. Pentru reabilitare se pot identifica diverse aplicaii ale roboilor: scaun cu roile pliant, manipulator pentru deservirea persoanelor paralizate, vehicul pentru conducerea nevztorilor. n construcii: vehicul ghidat automat pentru asfaltarea oselelor; excavatoare autonome, sistem robotizat pentru compactarea i nivelarea suprafeelor turnate din beton, sistem robotizat pentru inspectarea faadelor cldirilor, sistem robotizat pentru montarea i demontarea schelelor metalice. Pentru protejarea mediului nconjurtor se gasesc sisteme robotizate de sortare a gunoiului n vederea reciclrii, sisteme automate de inspectare, curare i recondiionare a courilor de fum nalte, platforme autonome mobile pentru decontaminarea cldirilor, strzilor i vehicul ghidat automat pentru decontaminarea solului. n agricultur, exist sisteme robotizate de plantare a rsadurilor, sistem robotizat de culegere a fructelor, sistem robotizat de culegere a florilor. n comer, transporturi, circulaie se pot preciza urmatoarele aplicaii ale roboilor: vehicule ghidate automat pentru ntreinerea cureniei pe suprafee mari sistem robotizat de curire 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 nopii, vehicul autonom pentru stingerea incendiilor, robot mobil pentru detectarea i dezamorsarea minelor, sistem robotizat pentru intervenii n spaii periculoase etc. Pentru hobby i petrecerea timpului liber se pot preciza urmtoarele aplicaii: robot de supraveghere copii pentru diverse intervale de vrst, robot de gestionare i supraveghere general a locuinei, robot mobil pentru pentru tunderea automat a gazonului instalaie robotizat pentru curirea brcilor de agrement i sport.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 6
n aplicaiile industriale se cuprind roboii ce acioneaz n medii industriale care au primit denumirea de roboi industriali iar n general sunt roboi automai i n cazuri mai rare se utilizeaz n industrie i roboi biotehnici sau interactivi. n special sut raspndii roboii programai i, mai puin, cei adaptivi. Roboii inteligeni se afl n faza de ncercri n laboratoare sau aplicaii la unele operaii de montaj automat.
Roboilor industriali sunt folosii 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, depind performanele uni om n vitez, precizie i fiabilitate. Roboii industriali interactivi sunt utilizai deobicei n cercetarea spaiului cosmic, a oceanului dar i n cazul unor operaii complexe din mediul industria
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 7
CAPITOLUL II
CIRCUITE FPGA
Circuitele programabile FPGA (reelelor de pori logice reconfigurabile) sunt elemente integrate VLSI (Very Large Scale Integration- Integrate la scal foarte mare) frecvent folosite n aplicaii care necesit configuraii hardware reconfigurabile, de mare compleexitate ,usor de reprogramat i versatile n implementarea unor algoritmi soisticai.ele repreyint soluia ideal in multe aplicatii unde arhitectura hardware trebuie modificata frecvent,n funcie de cerinele 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 formnd o ierarhie puternic de resurse de interconectare ,sau canale de comunicaie.
2.1 Scurt istoric a circuitelor FPGA
Primul dispozitiv de tip FPGA a fost lansat de firma Xilinx n anul 1984. Acest circuit coninea 64 de blocuri logice interconectate printr-o matrice de conexiuni programabile i avea 58 de pini de intrare i ieire i era implementat n tehnologie de 2m, folosind 85000 de tranzistoare. Avantajul acestei arhitecturi era scalabilitatea: odat cu mbuntirea procesului de fabricaie, mai multe elemente de baz puteau fi integrate pe acelai cip, crescnd posibilitile oferite de acesta i astfel, de-a lungul anilor 1980, productorii de FPGA-uri au continuat s creasc numrul de blocuri logice, numrul nivelelor de interconectare i numrul pinilor deintrare i ieire. 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 legtur n sisteme mai mari i programele software ce implementau circuitele proiectate n FPGA erau relativ simple i uor de mbuntit. Perioada 1992 1999 poate fi considerat perioada de expansiune a dispozitivelor FPGA deoarece la nceputul acestei perioade, multe firme productoare se retrag din domeniu ca i Toshiba,Motorola sau IBM pentru c arhitecturile propuse de ele nu fac fa scalabilitii permise de avansarea rapid a tehnologiei de producie. n aceast perioad, creterea rapid a complexitii circuitelor pune presiune pe dezvoltarea de software de sintez automat care s permit proiectarea uoar i folosirea eficient a resurselor hardware i totodat, FPGA-urile ncep s fie folosite n aplicaii mai complexe, n domeniul comunicaiilor i calculelor aritmetice.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 8
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 comunicaie rapid, de la funcii aritmetice specializate la blocuri dedicate procesrii digitale de semnal bazate pe multiplicatoare hardware i acumulatoare iar n 2000 apare primul FPGA cu procesor hardware ncorporat. De asemenea, odat cu creterea numrului de blocuri logice integrate, a aprut tendina productorilor 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 productori 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 comunicaie.
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 aceeai capacitate avnd acelai numr de fire. O implementare FPGA trebuie sa dispuna de resurse adecvate iar ntre timp ce numarul de CLB-uri si de I/O sunt uor de determinat din proiect, numarul de ci 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 rutri dect o arie sistolic, o forma particular de arhitectur paralel, organizat ca o reea. Caile de rutare neutilizate cresc costul i scad performanele circuitului, far a aduce nici un beneficiu iar din aceast cauz productorii de FPGA ncearc s optimizeze numarul lor, astfel nct 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 - aplicnd regula lui Rent: T = t gp; unde T este numrul de terminale, g numrul de componente interne i t si p constante. n figura 2.2 este prezentat structura generic a unui circuit FPGA.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
1 9
Construcia unui CLB clasic FPGA const dintr-un tabel de cutare 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 creterii performanelor. n figura 2.3 sete prezentat un CLB tipic unde exist
patru intrri i o intrare de sincronizare iar ieirea este furnizat de LUT putnd fi nregistrat sau nenregistrat.
Semnalele de sincronizare, precum i alte semnale sunt specifice fiecrei aplicaii n parte i sunt tratate n mod separat, prin reele de rutare dedicate. Amplasarea terminalelor sau pinilor CLB-ului este ilustrat n figura 2.4. Fiecare intrare este accesibil dintr-o latur iar ieirea poate fi conectat la cile de rutare att prin canalul din dreapta ct i prin cel de jos. n general sistemele de rutare FPGA sunt nesegmentate, adic conectabile la un bloc de comutaie prin cel mult un CLB, dar cile de conectare mai lungi se obin cu ajutorul blocurilor de comutaie. Totui pentru realizarea unor interconexiuni de mare viteza unele arhitecturi sunt prevazute i cu ci 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 funcii de nalt nivel, crescnd astfel performanele i scznd efortul de proiectare. Astfel de
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 0
blocuri pot fi: blocuri generice DSP, multiplicatoare, blocuri PLL sau DLL, circuite I/O de mare vitez, memorii, registre de deplasare i numrtoare. Resursele hardware investite n FPGA sunt extrem de diverse, n funcie de productori i de arhitectura aleas iar pe de alt parte, resursele software, de care depind n mare msur i performan ele hardware-ului, sunt extrem de specifice, ntr-o continu dezvoltare i evoluie.
2.3.1 Resurse hardware
Resurse hardware conin trei mari categori : -a) blocuri funcionale integrate; -b) condiionarea semnalelor de intrare/ieire; -c) dispozitive speciale.
a) Blocuri funcionale integrate
1) Memorii. Aceste memorii interne permit creterea vitezei de operare i utilizarea mai eficient a pinilor drartnei e i ieir ei pe lng acesta structura sistemului este mult simplificat. Capacitile de memorie utilizate sunt destul de mari i se pot ntlni diferite configuraii.
2) PLL/DLL. Aceste circuite PLL(Phase-Locked Loop) i DLL()Delay-Locked Loop) se pot utiliza pentru compensarea ntrzierii de propagare a semnalului de sincronizare. Alte aplicaii interesante sunt sintetizarea de frecvene prin multiplicare sau divizare i condiionarea semnalului de sincronizare care se refer la factorul de umplere i defazaj. Circuitele DLL au un pre mai sczut consumnd puin energie i sunt imune la zgomote, n timp ce PLL-urile sunt mai versatile i permit operaii mai complexe cum ar fi implementarea filtrelor pe un domeniu de frecvene mai larg.
3) Circuite aritmetice. Unele circuite FPGA dispun de un numr mare de blocuri aritmetice simple. De exemplu din familia Virtex-5 LX Xilinx include multiplicatoare, prin care se pot realiza operaii de pn la 25 18 bii.
4) Transceivere. Acestea sunt dispozitive de emisie-recepie de diferite standarde iar ca i protocoale de comunicaie definite de utilizator pot fi uor 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 nsoite de perifericele aferente, n vederea materializrii conceptului System-on-Chip (aa 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 bii, capabile s funcioneze la 450 MHz, cu cotrolere de acces la memorii RAM, o unitate aritmetic hardware pentru multiplicare sau divizare, trei timere diferite, interfa direct pentru reea Ethernet, registre de configurare, o unitate de procesare auxiliar pentru interfaarea resurselor Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 1
logice FPGA n vederea conectrii la acceleratoare hardware i a introducerii de instruciuni definite de utilizator.
b) Condiionarea semnalelor de intrare/ieire
Resurse specifice trebuiesc alocate pinilor de intrare i ieire pentru ca FPGA- urile s poat fi conectate cu uurin cu alte dispozitive i la tensiuni diferite fr a fi nevoie de interfee suplimentare. Pinii de intrare i ieire sunt de obicei grupai n funcie de diferitele standarde: -conectare ntre cipuri; - conectare de tip ,,backplane n care mai muli pini se conecteaz n paralel sau interfee pentru memorii. n figura 2.5 este prezentat un exemplu, corespunztor 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 reconfigurrii cu toate acestea dispozitivele OTP nevolatile sunt aplicate n anumite situaii n care se evideniaz avantajele lor: - nu au nevoie de resurse externe pentru configurarea la alimentare i din acest motiv pornesc foarte repede; - consum foarte redus de putere, rezistene i capaciti de contact foarte mici; - imunitate foarte bun la zgomote.
2) Dispozitive de putere mic. La aceste dispozitive scderea puterii consumate de ctre circuite este un imperativ puternic, att pentru a mbunti performanele funcionale ale produselor prin creterea eficienei utilizrii energiei ct i prin scderea temperaturilor de funcionare. Circuitele FPGA sunt de obicei mai puin eficiente la acest capitol din cauza resurselor alocate programrii iar din acest punct de vedere soluiile bazate pe OTP sunt cele mai avantajoase. Ele reuesc s treac din modul de ateptare n care se consum foarte puin energie n modul de lucru foarte rapid de ordinul nanosecundelor i ofer i rezistene mici de comutare.
3) Dispozitive tolerante la radiaie:aceste dispozitive se folosesc n aplicaiile aerospaiale n care FPGA au fost incluse, Staia Spaial Internaional, Telescopul Spaial 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 solicitri cu rezisten sporit la Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 2
radiaiei. Ca exeplu sar putea preciza RTSX/RTAX sau Aeroflex Eclipse i exist i versiuni protejate mpotriva perturbaiilor radio ca i familiile Atmel AT40KEL040 sau Xilinx QPRO-R Virtex-II.
4) Circuite securizate. Aplicaiile n care FPGA sunt conectate n reele ridic problema securizrii IP-urilor. Pe de o parte n aplicaiile mai simple pot fi utilizai bii de securizare care previne citirea de ctre utilizator a configuraiilor dar n cazul aplicaiilor 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 fr 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 funcii 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 vndute fie direct de productorul circuitului fie de firme tere specializate cum ar fi Modelware sau QuickFlex. Astfel de biblioteci acoper largi domenii de aplicaii: comunicaiile, 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 bii de capacitate mic dar implementat cu un numr redus de blocuri logice. MicroBlaze corespunde unei arhitecturi RISC de 32 bii cu un set standard de periferice i procesorul Nios are o funcionare mai complex, cuprinznd chiar i posibilitatea adugrii de instruciuni noi de ctre client. c) Instrumente software. Interprinderile de FPGA au dezvoltat n timp multe instrumente soft originale adresate tuturor activitilor 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 legturi i depanatoare, depanatoare i testare hardware i software i instrumente software i hardware pentru plcile de dezvoltare.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 3
2.4 Modul de configurare a circuitelor FPGA
Productorii 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 conine circuitul FPGA.aceste cabluri sunt specifice fiecarui productor ,dar interfaa de configurare a unui circuit FPGA este asemnatoare. 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 opreia de ncrcare a configuriei 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 productorii de circuite FPGA. n utilizarea circuitelor FPGA se recomand de reinut urmatoarele aspecte: -un circuit FPGA poate fi ncarcat de un numar infinit de ori.n cazul in care se face o greeal n proiect ,poate fi corectat ,recompilat i rencrcat, fra a mai fi nevoie de modificri ale cablajului, sau de schimbarea de componente. -aplicaia functioneaz cu o vitez mai mare dect dac ar fi realizat cu componente discrete,deoarece totul funcioneaz n interiorul circuitelor FPGA. -circuitele FPGA i pierd funcia 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 funcie digital,iar operaiile tipice pentru lucrul cu circuitele fpga sunt urmatoarele -se folosete un clculator pentru a descrie funcia logic dorit i se poate desena o schema electric sau se poate crea un fiier text pentru descriere funcieei -se compileaz funcia logic cu ajutorul calculatorului folosind un soft pus la dispoziie de producatorul circuitelor FPGA,ir apoi aceasta creaz un fiier binar ce poate fi ncrcat in FPGA. -se conecteaz un cabu de la calculator la FPGA i se ncarc fiierul binar n FPGA. -dup ncarcare, circuitul FPGA funcioneazaconform funciei logice implementate Circuitele FPGA se bazeaz pe o celula logic multiplicat de sute de mii de ori n aceeai 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 mprit n mod obinuit n urmtoarele etape generale:
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 4
1) Partiionarea. Sistemul proiectat, care de multe ori nu poate fi implementat ntr-un singur circuit FPGA, trebuie divizat n mai multe pri, astfel nct fiecare parte s poat fi implementat ntr-un singur circuit FPGA, i s poat fi gestionat independent de celelalte, iar partiionarea circuitelor FPGA multiple trebuie s satisfac restricii suplimentare asupra dimensiunii subcircuitelor i a numrului terminalelor de intrare i ieire. Partiionarea reprezint n acelai timp i o metod algoritmic pentru rezolvarea problemelor complexe de optimizare care apr n sintez logic sau n proiectarea fizic a circuitelor.
2) Maparea tehnologic. Pentru fiecare poriune a sistemului care va fi implementat ntr-un singur circuit FPGA, logic trebuie divizat suplimentar n fragmente,astfel nct 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 operaia de transformare a unei reprezentri logice cu nivele multiple ntr-o interconexiune de elemente logice dintr-o bibliotec dat de elemente. Aceast operaie este o etap important a sintezei sistemelor numerice cu ajutorul circuitelor FPGA iar calitatea circuitelor sintetizate depinde n mare msur de aceast etap. Maparea tehnologic implic dou operaii distincte:
- recunoaterea echivalenei logice ntre dou funcii logice i mai este numit i potrivire care implic i testarea echivalenei i asignarea intrrilor ct i determinarea setului optim de pori echivalente din punct de vedere logic, ale cror interconexiuni reprezint circuitul original. - iar a doua operaie, care mai este numit i acoperire, impli gsirea unei reprezentari alternative a unei reele booleene utiliznd elemente logice care au fost selectate dintr-un set disponibil
3) Plasarea. n cadrul plasrii, fiecrui 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 funcii obiectiv, cu condiia respectrii unor restricii impuse de proiectant, de procesul de implementare sau de stilul de proiectare. Cea mai important funcie obiectiv este lungimea total a conexiunilor,care reprezint o metric utilizat pe scar larg pentru aprecierea calitii plasrii iar exemple de restricii sunt evitarea suprapunerii celulelor sau cerina c celulele s fie plasate ntr-o anumit suprafaa rectangulara.O plasare este acceptabil dac se poate obine o rutare complet a circuitului n cadrul suprafeei date.
4) Rutarea.Const n determinarea cailor adecvate pentru interconexiunile dintre seturile de pini. Aceste ci adecvate minimizeaz funcia obiectiv data, supus unor restricii iar estriciile pot fi impuse de proiectant, de procesul de implementare, de tipul circuitului sau de stilul de proiectare. C exemple de funcii obiectiv se pot aminti reducerea lungimii totale a interconexiunilor, sau evitarea problemelor datorate ntrzierilor semnalelor.Problem de rutare este divizat de obicei n dou subprobleme: - rutarea global - rutarea detaliat.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 5
Obiectivul rutrii globale este de a se elabora un plan de rutare astfel nct fiecare conexiune s fie asignata unor regiuni particulare de rutare,n timp ce se ncearc minimizarea unei funcii obiectiv date iar rutarea detaliat se aplic apoi pentru fiecare regiune de rutare, i fiecrei conexiuni i se asigneaz piste particulare de rutare.
2.6 Implementri cu FPGA-uri
2.6.1 Implementri 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 abordrilor legate de filtrare presupun folosirea adunrii i nmulirii, atenia este orientat n direcia implementrii eficiente i n virgul fix, ct i n virgul mobil. Multe din implementrile de nceput pe FPGA ale nmulitoarelor foloseau structuri adaptate dup cele din nceputurile LSI (Large Scale Integration) i aveau restricii de arie chiar din primele dispozitive FPGA. Pe msur ce capacitile FPGA-urilor au crescut, tipurile nmulitoarelor s-au diversificat, devenind astfel dou categorii importante: n virgul fix i n virgul mobil. De cnd s-au introdus FPGA-urile, aritmetica bit-serial a fost folosit intens pentru realizarea adunrilor i nmulirilor. Multiplicarea bit-serial este implementat folosind o matrice liniar sistolic, ce este potrivit pentru granularitatea ridicat a FPGA-ului. Cele 2 valori sunt intrri n nmulitor, incluznd o magistral paralel n care toi biii sunt introdui simultan i una serial sau secvenial n care biii sunt introdui n mod serial. Avantajul abordrilor bit-seriale este c necesitile de comunicaie sunt independente de lungimea cuvintelor i din acest motiv i FPGA-urile de capacitate sczut le pot folosi. Datorit naturii lor pipeline, nmulitoarele 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 funcionaliti 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 fcnd posibil pre-calcularea eficient a tuturor ieirilor posibile. Astfel, poate fi folosit un sumator rapid pentru sumarea produselor pariale obinute din urma citirii. n unele situaii, este util ca LUT-urile s fie implementate ca RAM astfel nct noile constante s poat fi scrise n timpul execuiei 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. Implementri specifice ale nmulitoarelor paralele includ implementri fr transport i pipeline paralel. Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 6
2.6.2 Procesarea imaginilor n procesarea imaginilor structura pipeline de prelucrare al informaiei i granularitatea ridicat a hardware-ului reconfigurabil este ndeosebi util deoarece procesarea imaginilor n timp real are nevoie de ci de date specializate i pipeline-uri, ce pot fi implementate n structuri
FPGA. Aplicaii ca i compresia imaginilor bazat pe filtrarea imaginilor cu transformate 1D i 2D i conversia imaginilor folosind operaii DFT( Discrete Fourier Transform) sunt abordate frecvent. Construcia distribuit a acestui sistem cu numeroase porturi de intrare i ieire s-a dovedit c este deosebit de util n obinerea ratelor de transfer mari i datorit eficienei mari n implementarea sistolic a algoritmilor ce necesit operaii repetate cu date deplasate n matrici liniare, imaginile pot propaga rapid prin pipeline-ul sistemului. Un sistem multi-FPGA este folosit pentru procesarea vizualizrii obiectelor 3D prin proiecia razelor luminoase. Aceste implementri au caracteristici bune n comparaie cu arhitecturile clasice bazate pe sistemle cu microprocesor. 2.6.3 Procesarea semnalelor video Procesarea semnalelor video necesit o lrgime de band mare i capacitate de procesare mare a datelor obinute de la echipamentul video analog sau digital, la fel ca i procesarea imaginilor. Pentru ndeplinirea acestor cerine, platformele reconfigurabile au fost special modificate. 2.6.4 Procesarea sunetelor umane i semnalului audio Procesarea audio necesit o lime de band mai mic dect cea al videourilor i al imaginilor, de aceea aplicaiile audio pot beneficia de specializarea cii de date i a pipeline-ului. Producerea ecoului audio este facilitat de schimbarea coeficienilor n mod dinamic a filtrelor i a parametrilor din memoria SRAM. Dispozitive auxiliare DSP sunt folosite doar pentru generarea acestor coeficieni. Acest sistem poate atinge rate de pn la 250 MHz n cadrul FPGA prin pipeline-izarea optim i intens a fiecrui calcul. 2.6.5 Recunoaterea obiectelor Un alt aspect important al aplicaiilor DSP aplicate pe platforme coninnd circuite FPGA este recunoaterea 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 comunicaiei inter-vecini, pixelii parcuri sunt comparai cu template- urile stocate n memorie sub form de sume pariale. Dup ce o imagine este spart n buci mai mici, sistemul realizeaz o detecie de nivel prin identificarea seciunilor de imagine ce Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 7
corespund din templateuri obiectelor cutate. Folosirea FPGA-urilor ofer o ans important i unic de a adapta rapid recunoaterea obiectelor la noi algoritmi. Pentru a obinerea performanelor ridicate, abloanele sunt adaptate la detaliile tehnologiei folosite. 2.6.6 Codificarea informaiilor n sistemele de comunicaie moderne, raportul semnal-zgomot (Signal-Noise Ratio, SNR) face din codarea datelor un aspect important al comunicaiei. De aceea, codarea convoluional poate fi folosit pentru a mbuntirea acestui raport SNR, innd cont de constrngerile asupra lungimii codificrii fr afectarea consumului de putere. Una din aplicaiile ale arhitecturilor reconfigurabile n comunicaii a implicat proiectul PAM - sistemul era folosit pentru urmrirea celor 214 stri posibile ale unui codificator Viterbi, permind calculul a 4 stri 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 pn la 1Mbit/s.
2.7 Comparaie a FPGA cu alte tehnologii
Tehnologia ASIC (Application Specic Integrated Circuit) este conceptul cel mai apropiat de FPGA. Primele FPGA-uri erau mai lente, mai puin eficiente energetic i n general mai puin funcionale dect echivalentele lor fixe ASIC dar n urma creterii volumului produciei i aplicaiilor, a eforturilor de cercetare-dezvoltare si a perfecionarilor tehnologice, performanele 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 testrii directe a prototipurilor, caz n care fiecare greeala 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 dect a circuitelor FPGA. Unitatea lor componenta de baza este macrocelula, care implementeaza funcii logice booleene n forma canonic disjunctiva, precum si alte operaii logice mai specializate. Circuitele CPLD,n comparaie cu circuitele FPGA, au o capacitate mai redusa, circuitele CPLD avnd zeci de mii de pori faa de sute de mii sau chiar milioane cte pot avea circuitele FPGA. Dar se poate afirma ca FPGA continua linia de dezvoltare a PAL i CPDL,nu att prin creterea numarului de arii ct mai ales prin atenia acordata circuitelor de reconfigurare, care sunt de mare complexitate si performana.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 8
2.8 Aplicaii FPGA
Aplicaiile FPGA includ unele domenii eseniale pentru electronica moderna: a) DSP (digital signal processing) care uprinde o categorie vasta de aplicaii 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; - telecomunicaii; -procesarea semnalelor biomedicale; - seismice. b)Aplicaii n aviatic, aparatura militar, criptografie i radioastronomie; c) Realizarea rapid a prototipurilor ASIC; d) Imagistic FPGA se utilizeaza cu bune rezultate i n cazul aplicaiilor de calcul de nalta performan, cum ar fi n cazul calculului convoluional i procesrilor paralele, avnd performane superioare microprocesoarelor convenionale. De obicei circuitele FPGA sunt recomandabile aplicaiilor de tip vertical, care nu sunt obiectul produciei 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 aplicaie 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 usurina produse hardware si software eterogene. Datorit usurinei circuitelor FPGA de adaptare la orice tip de periferice i se confer statutul de principala platforma de dezvoltare a aplicaiilor SoC (system on chip).
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
2 9
CAPITOLUL III
LABVIEW-FPGA
2.1 Introducere n LabVIEW
LabVIEW este un limbaj grafic de programare care permite dezvoltarea de aplicaii utiliznd pictograme, spre deosebire de limbajele de programare textuale, n cadrul crora instruciunile sunt cele care determin execuia programului, LabVIEW-ul folosete, fluxul de date evideniat printr-o prezentare grafic adecvat. Numele utilitarului provine din faptul c National Instruments, corporaia care a introdus programele LabVIEW, a denumit generic aplicaiile 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 imitnd 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 afirii datelor iar utilizarea acestui limbaj s-a remarcat n special in cazul instrumentaiei de msurare bazat pe tehnica de calcul. Programarea unui sistem de msurare cu ajutorul calculatorului intr-un limbaj clasic consum foarte mult timp iar interfeele acestor limbaje clasice sunt de multe ori neclare i greu de ineles. Prin utilizarea limbajului grafic LabVIEW, rapiditatea programrii crete foarte mult datorit introducerii unei interfee grafice mai intuitive iar LabVIEW este unul dintre primele limbaje de programare grafic utilizate in aplicaii de achiziii de date cu tehnic de calcul.Cu ajutorul plcilor de achiziie 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 msur i control numite si instrumente virtuale. Principalul avantaj al instrumentaie virtuale fa de un instrument clasic de msurare const in faptul c instrumentaia virtual poate fi uor transformat prin programare iar instrumentele virtuale create prin programare pot fi simple aparate de msur sau diferite dispozitive care permit controlul unor instalaii de automatizare. Instrumentaia virtual reprezint ceea ce era acum un deceniu lanul de msurare, 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 dorina utilizatorului. Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 0
LabVIEW dispune de numeroase instrumente care asigur o configurare uoar a unui anumit tip de VI. De asemenea, include sute de exemple de VI-uri corespunztoare unor variate domenii de aplicaii, pe care utilizatorul poate s le foloseasc ca atare i s le ncorporeze n VI-uri de mai mare complexitate potrivit scopului urmrit, sau le poate modifica pentru a le adapta particularitilor aplicaiei. LabView este un sistem complet pentru programare tiinific i include posibiliti extinse de analiz, utile ntr-o arie larg de aplicaii. Acest sistem de operare ofer o multitudine de funcii integrate i module adiionale dedicate special analizei msurtorilor i procesrii semnalelor iar cu aceste unelte, putem analiza msurtorile pe msur ce le efectum, extrage si procesa date, i putem nzestra aplicaiile cu capacitatea de a lua decizii bazate pe rezultatele msurrilor. Folosind aceste funcii, cu LabView nu mai este necesar s scriem propriul nostru algoritm pentru transformarea datelor brute n informaie utilizabil. Funciile incluse sunt distribuite astfel: a) primitive: -aperaii aritmetice, operaii logice -concatenare, formatare, partajare -data, timpul, alertarea utilizatorului -sin, cos,tg,ctg b) funcii statistice: -medie, abatere standard, variant, median, histograme -regresie liniar, polinomial, exponenial, rezidual c) procesarea numeric a semnalelor: -transformata lui Fourrier, putere spectral, convoluia, corelare -integrarea, diferenierea, interpolarea, decimarea -generare impuls, puls, dreptunghi, triunghi, exponenial, ramp d) filtre: -trece jos, trece sus, trece band, oprete band e)metode numerice: - analiz factorial - adunare, scdere, 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 msur virtuale iar utilizatorul acestora lucrand cu ele la fel ca i cu instrumentele de msur obinuite.Fiecare program in LABVIEW are dou componente principale: - o component ce reprezinta panoul frontal al aparatului de msur virtual.Aceast componenta va permite citirea respectiv afiarea valorilor mrimilor msurate i introducerea unor date de intrare. Aceast component poart numele de fereastra panoului cu instrumente (Panel) - o component care va descrie operaiile pe care le realizeaz programul pornind de la datele de intrare i valorile mrimilor achiziionate pe diferite canale, iar aceast component poart numele de fereastra blocului diagram.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 1
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 fiier cu extensia vi iar apelarea unui fiier cu extensia vi va determina deschiderea ferestrei panel. Pentru prima vizualizarea a ferestrei blocului diagram este necesar selectarea opiunii 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 msurare i control sofisticat iar pentru a putea configura FPGA se folosete modulul de programare grafic LabVIEW i modulul LabVIEW FPGA pentru NI RIO. Un FPGA este un cip care este conceput din mai multe pori logice neconfigurate. Flexibil arhitectural i cu software programabil de FPGA ofer beneficii, cum ar fi executarea de nalt performan de algoritmi personalizai, capacitatea de luare a deciziilor rapide, i executarea simultan a sarcinilor paralele. Astzi, 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, funcionalitatea FPGA nu a fost anterior accesibile n domeniul de control industrial. n figura 3.1 este prezentat modul n care interacioneaz o secven de program FPGA cu diferite placi de achizie NI RIO.
Fig.3.1
Dup terminarea secvenei de programare, se va compila pe placa de achizie FPGA, iar n funcie de complexitatea codului i specificaiile 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 regitri 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 prezentai schmatic pai care trebuie urmai pentru compilare pe FPGA. Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 2
n prima etapa (fig.3.1.a) se creaz un IV, n care se creaz secvena de programare, pe urm n a doua etap (fig.3.2.b) se realizeaz testul de rulare a secvenei de programare pentru a se evidenia, 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 dorete realizarea de modificri n secvena de programare existent se reiau n totalitate etapele de compilare.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 3
CAPITOLUL IV
SERVOMOTOARE
4.1 Definiii. Caracteristici
Servomotoarele sunt micromaini electrice al cror principiu de funcionare este identic cu al mainilor electrice dar care din punct de vedere constructiv prezint o serie de caracteristici specifice, aceasta din considerentulde a realize anumii indici de performana solicitai de servosistem. Servomotoarele sunt motoare electrice speciale care pot fi de curent continu sau curent alternativ ce au o vitez de rotaie reglabil ntr-o gam larg n ambele sensuri avnd ca scop deplasarea ntr-un timp prescris a unui sistem mecanic de-a lungul unei traiectorii date, realiznd totodat i poziionarea acestuia la sfritul cursei cu o anumit precizie.
Un servomotor este caracterizat de urmtoarele caracteristici: - caracteristici mecanice i de reglaj liniare n tot domeniul de funcionare; - moment de inerie ct mai redus posibil; - inductiviti foarte mici astfel nct constantele electromagnetice de timp ale acestora s fie ct mai mici; - reversibilitatea n funcionare; - lipsa fenomenului de ambalare spontan,prin acest fenomen nelegnduse continuarea funcionri unui motor atunci cnd comanda nceteaz; - rapoarte putere-greutate ct mai mari; - turaii de funcionare ct mai mari care sunt de ordinu zecilor i a sute de mii de rot/min;
- funcionare silenioas lipsit de zgomote i vibraii.
4.2 Clasificarea servomotoarelor
Servomotoarele electrice sunt folosite n cele mai diverse aplicaii cum ar fi acionarea roboilor industriali universali, a mainilor unelte cu comand numeric, a perifericelor de Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 4
calculator, n acionarea imprimantelor rapide, n tehnica aerospaial, instalaii medicale i multe alte domenii datorit preciziei i lejeritai 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 poziionare i care n general sunt de puteri reduse pn la puteri de ordinul ctorva [kW]. Sistemele de reglare automat moderne impun servomotoarelor urmtoarele performane: -gam larg de modificare a vitezei n ambele sensuri; - funcionare stabil la vitez foarte mic; -constante de timp ct mai reduse; -fiabilitate i robustee ridicate; -raport cuplu/moment de inerie ct 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 micare de rotaie a arborelui sau, care antreneaz mecanismul ce realizeaz operaia dorit. Acesta se poate clasific n funcie de sistemul automat n care funcioneaz: - caracterul sarcinii; - vitez; - puterea; - tensiunea; - frecvena de alimentare. Pentru alegerea unui servomotor se are n vedere cerinele impuse de sistemul automat n care funcioneaz iar principalele caliti care trebuie s le aib un servomotor sunt : -posibilitatea reglajului de vitez ; - stabilitatea i siguran n exploatare ; - liniaritatea caracteristicilor de reglare - absena autopornirii ; - cuplu electromagnetic mare la pornire ; - putere de comand mic ; - vitez de rspuns mare ; - gabarit i greutate mic ;
Conform principiului lor de funcionare, 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 pri de comand electronic relativ simpl. Aceste servomotoare de curent continuu au caracteristici mecanice i de reglaj practic liniare, cuplu de suprancrcare mare, greutate specific mic, moment de inerie redus iar dezavantajele sunt legate de colector, fenomene de comutaie, uzur i scnteiere. Acest gen de servomotoare este preferat acolo unde se cere un reglaj continuu de vitez, cnd sarcina prezint variaii cu ocuri frecvente.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 5
Din punct de vedere constructiv servomotoarele de curent continuu prezint aceleai elemente c i mainile de curent continuu clasice iar particularitile constructive se regsesc n: - gabarit redus ; - moment de inerie redus ; - gama mare de vitez la care poate funciona
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 construcie asemntoare cu cea a mainii clasice, singura diferen fiind forma alungit cu diametru mic. Performanele realizate de aceste servomotoare sunt relativ reduse iar valorile minime pentru constanta de timp electromecanic, care este dependent i de gabaritul mainii sunt aproximativ 20 30 ms. Capacitatea de evacuare a cldurii este mic deoarece nfurrile sunt amplasate n crestturile oelului rotoric. Din acelai 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 realizndu-se dintr-o singur prindere. Excitaia este realizat cu magnei din pmnturi rare pe baz de Teluriu,Alnico,magnetite,Stroniu, Neobimium i altele. Cmpurile coercitive ale acestor magnei sunt extrem de mari, asigurnd cmpuri de excitaie foarte puternice. Colectorul acestui tip de servomotor este realizat din aliaje de Cu i Ni, iar periile din electrografit i coninut ridicat de Ag. Rulmenii utilizai sunt de construcii speciale cu frecri i zgomot minim.Acest tip de servomotor cu rotor cilindric, funcioneaz pn la turaii de ordinul maxim 20 000 rot/min datorit greutii nfurrilor i dificultilor de echilibrare.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 6
Servomotoarele cu rotor cilindric se mpart astfel: -cu excitaie electromagnetica, care sunt construite n general pentru puteri mai ridicate iar cestea sunt nlocuite tot mai frecvent cu motoare care au magnei permaneni i circuitul magnetic al acestui tip de motor este realizat din tole de oel electrotehnic.
- cu magnei permaneni care se deosebesc constructiv n funcie de materialul magnetului utilizat iar datorit cmpului coercitiv redus,magneii au lungimi mari i ,n cele mai multe cazuri, magnetizarea se face ninteriorul mainii cu ajutorul unor bobine speciale plasate n jurul magneilorpermaneni.
- hibride, avnd ambele tipuri de excitaie. Motoarele din categoria hibrid cu magnei permaneni i excitaie electromagnetica sunt utilizate unde se cere c coeficientul de tensiune-cuplu al servomotorului s fie variabil n anumite limite. Geometria rotorului acestor servomotoare este ntructva diferit de aceea a mainilor clasice, pentru reducerea momentului de inerie. Comand servomotoarelor de curent continuu se face prin modificarea tensiunii de alimentare rotoric iar tensiunea variabil se obine cu tranzistoare de putere sau tiristoare. Semnalele de comand a servomotoarelor sunt amplificate de urmtoarele tipuride circuite care sunt numite i amplificatoare -liniare; -cu modulaie n lime; -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 rin epoxidic n care sunt nglobate nfurrile indusului. Acest disc este solidar cu arborele 1 iar ctre centrul discului Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 7
este realizat colectorul din lamelele ce formeaz nfurarea. 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 cuntrefier axial. Cmpul de excitaie al servomotorului cu rotor disc este realizat cu ajutorul unor magnei permaneni cu magnetizare axial i plasai pe inelele feromagnetice. Pe captul dinspre rotor exist piesele polare ce au rolul de a uniformiza cmpul magnetic n ntrefier.La fel ca i la servomotorul cu rotor cilindric, ntrefierul este dublu i relativ mare, rezultnd perfomane energetic mai slabe. La acest servomotor lipsete fierul de pe indus, rezultnd de aici moment de inerie i inductiviti mici.
Grosimea discului nu depete 3-4 mm, i din aceast cauta rezult o bun ventilaie a conductoarelor, motiv pentru care densitile de curent adoptate sunt ridicate de odinul a 3040 A/mm2 , iar de multe ori ventilaia este forat. Aceste servomotoare sunt caracterizate de o sensibilitate crescut la ocuri i vibraii. Toate tipurile de servomotoare au periile realizate din electrografit cu coninut mare de Cu i Ag. Rulmenii acestui tip de servomotor sunt de construcie special cu frecri 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 prevzut la interior magneii permaneni, magnetizai radial. Aceti magnei sunt realizai din materiale magnetice ce realizeaz cmpuri colective foarte puternice iar circuitul magnetic al acestor magnei permaneni ce formeaz cmpul de excitaie 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 prevzut la interior magneii permaneni, magnetizai radial. Aceti magnei sunt realizai din materiale magnetice ce realizeaz cmpuri colective foarte puternice iar circuitul magnetic al acestor Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 8
magnei permaneni ce formeaz cmpul de excitaie 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 nfurrile indusului. Servomotorul cu rotor n form de pahar are ca particularitate nfurrile care sunt realizate din conductoare nglobate de regul ntr-o rin epoxidic. Acest rotor se rotete n ntrfierul creeat ntre magneii permaneni, ce constituie un stator exterior i circuitul magnetic realizat din piesele polare ce constituie un stator interior iar capetele nfurrilor sunt conectate la colectorul pe care calc periile. Rotorul se rotete n carcasa servomotorului datorit rulmenilor i datorit acestui fapt nfurrile indusului nu sunt plasate n crestturile 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 fabricaie trebuie s fie bine echilibrat,de regul au nevoie de rcire forat. Uzual constantele de timp sunt de ordinul milisecundelor pn la maxim cteva zeci de milisecunde.
2) Servomotoare asincrone sunt n prezent n tot mai mare msur rspndite deoarece elimin dezavantajele servomotoarelor de curent continuu legate de sistemul colector-perii, fiind de asemenea atractive prin robusteea, simplitatea i preul lor. Dezavantaje servomotoarelor asincrone este legate de randament, factor de putere, greutate i nu n ultimul rnd procedee de comand mai complicate dect cele ale servomotorului de curent continuu. Servomotoarele asincrone se asociaz cu convertoare statice, obinndu-se domenii largi de variaie a turaiei,n aplicaii speciale la puteri mici s-au obinut turaii de peste 100.000 [rot/min].
Servomotoare asincrone trifazate: servomotoarele asincrone trifazate sunt similare cu mainile asincrone trifazate clasice, dar prezint unele particulariti constructive impuse de natura aplicaiei industriale n care sunt folosite, de regimul dinamic la care trebuie s rspund, de domeniul frecvenelor la care trebuie s funcioneze.Servomotoare asincrone trifazate: servomotoarele asincrone trifazate sunt similare cu mainile asincrone trifazate clasice, dar prezint unele particulariti constructive impuse de natura aplicaiei industriale n care sunt folosite, de regimul dinamic la care trebuie s rspund, de domeniul frecvenelor la care trebuie s funcioneze. Un exemplu unde sunt utilizate servomotoarele asincrone este la acionarea platformelor giroscopice, iar rotorul trebuie s aib un moment de inerie mare i din aceast cauz se adopt o construcie inversat, cu rotorul n exterior cu colivie i statorul interior, conform figurii 4.4.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
3 9
Servomotoarele asincrone bifazate se utilizeaz ca elemente de execuie n sistemele de automatizare, datorit unor avantaje pe care le prezint n raport cu alte tipuri de servomotoare, i anume: - constructie simpl i robust; - absena parazitilor radiofonici; - stabilitate bun n timp a caracteristicilor de funcionare; - prezena fenomenulul de autofrnare.
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 sczute; - cuplul de pornire relativ mic n comparaie cu servomotoarele de current continu. Particulariti constructive ale servomotoarelor asincrone bifazate. Din punct de vedere constructiv, statorul este realizat din tole, cu crestturi, n care se introduc dou nfurri decalate la 90 grade electrice. Una din nfurri, numit nfaurare de excitaie, este conectat la reeaua monofazat, iar cealalt, numit de comand, se alimenteaz de la aceeai surs sau de la o surs separat. Cele dou surse sunt de aceeai frecven, dar pot fi i de frecvene diferite, dac se cere o comand reversibil. La motoarele de foarte mic putere, statorul poseda o nfurare continu, iar din patru puncte, situate la periferie, la unghiul electric de /2 radiani se scot prize, dou pentru nfurarea de excitaie ,la p radiani respectiv, alte dou pentru nfurarea 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 cmp se utilizeaz un stator interior din tole feromagnetice. ntrefierul total al mainii, compus din ntrefierul dintre statorul exterior
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 0
i rotorul pahar, grosimea paharului, respectiv, ntrefierul dintre rotorul pahar i statorul interior, are valori mari: 0,7-1 mm. Din acest motiv, solenaia necesar meninerii fluxului n main este destul de mare, curentul de magnetizare ajungnd la 90% din curentul nominal. Avantajul principal al servomotoarelor cu rotor n form de pahar const n absena miezului feromagnetic i a crestturilor rotorice, fapt ce duce la eliminarea cuplurilor parazite i a fenomenelor de prindere magnetic i totodat, la un reglaj fin al vitezei, fr 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 oel care joac rolul att de inel de scurtcircuitare ct i de cale de nchidere a liniilor de cmp magnetic. Cu toate c ntrefierul este mic curentul de magnetizare are valori mari din cauza saturaiei puternice a cilindrului rotoric.. Deoarece, la astfel de maini pot aprea cupluri de atracie magnetic unilateral, cupluri parazite, vibraii, iar momentul lor de inerie este mrit fa de soluia cu rotor pahar, utilizarea servomotoarelor cu rotor feromagnetic n sistemele de automatizri este restrnsa i aplicat doar acolo unde nu se cer viteze de rspuns prea mari. 3) Servomotoarelor sincrone construiesc ntr-o gam foarte larg de puteri, de la zecimi de watt pn la zeci de kilowatti i ntr-o plaj larg de turaie. Din aceast categorie mai fac parte i servomotoarele de curent continu fra perii ct si servomotoarele pas cu pas. Principala caracteristic a servomotoarelor sincrone este dat de faptul c frecvena tensiunii de alimentare se afl n raport constant cu viteza lor de rotaie, indiferent de gradul de ncrcare al mainii i ca urmare a acestei proprieti, utilizarea servomotoarelor sincrone este indicat n sisteme automate de poziionare la care viteza de rotaie a mainii se dorete a fi meninut riguros constant sau direct proporional cu frecvena de comand. Categoria servomotoarelor sincrone cuprinde toate tipurile mainilor sincrone asociate cu convertoare statice iar clasificarea acestora se poate face dup diverse criterii: a)dup principiul de conversie al energiei: - servomotoare sincrone cu magnei permaneni; - maini sincrone cu reluctan variabil; - maini sincrone cu histerezis. b) dup felul alimentrii: - 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: - absena contactelor alunectoare, ceea ce mrete viteza de funcionare, reduce frecarea, nivelul de zgomot i uzura, mbuntind fiabilitatea; - ntreinere uoar i posibilitatea funcionrii n medii explozive. Servomotorul pas cu pas este un convertor electromecanic ce transformun impuls de tensiune intr-o deplasare incremental. n funcie de tipul constructiv, aceast deplasare poate fi unghiular n cazul servomotoarelor rotative i axial n cazul servomotoarelor liniare.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 1
Servomotoarele pas cu pas sunt insoite de circuite electronice de procesare a impulsurilor aplicate i de comand a fazelor servomotorului. Prin cuantificarea acestor deplasri incrementale se pot realiza poziionri de precizie fr a utiliza bucle de reacie dup poziie sau traductoare incrementale de poziie. Servomotoarele pas cu pas se intalnesc in 3 variante: servomotoare pas cu pas cu magnei permaneni sau rotor active; servomotoare pas cu pas cu reluctan variabil; servomotoare pas cu pas hibrid.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 2
CAPITOLUL V
BRA ROBOTIC
Un bra robotic este un tip de bra mecanic, de obicei, programabile, cu funcii similare unui bra de om. Braul poate fi suma total a mecanismului sau poate fi parte a unui robot mult mai complex. Braul robotic este realizat prin mbinari ce permit fie micare de rotaie, cum ar fi cazul unui robot articulat, sau de translaie
Clasificare:
- Robot Cartezian. Este un robot al crui bra are trei articulatii prismatice i a cror axe coincide cu un coordonator cartezian. - Robotul cilindric: folosit pentru operaiunile de asamblare, manipulare la maini-unelte, i sudare, - Robotul Polar (cum ar fi Unimate). Este folosit pentru manipulare de maini-unelte, de sudare cu gaz i sudarea cu arc electric. Este un robot, a cror axe formeaz un sistem de coordonate polare. - Robot SCARA: folosit la aplicaii de hidroizolare, operaiuni de asamblare i manipulare de maini-unelte. - Robotul articulat: folosit pentru operaiunile de asamblare, de sudare cu gaz, sudarea cu arc i vopsire prin pulverizare. Este un robot al crui bra are cel puin trei articulaii rotative. -Robotul paralel: Este un robot ale crui brae au articulatii prismatice sau rotative.
5.1 Construcia braului robotic.
Braul robotic a fost confecionat din comatex, datorita maleabilii de modelare a acestui tip de material. n costrucia braului robotic sa folosit cinci servomotoare digitale, o plac de achiziie sbRIO 9631, riglete pentru a realiza conexiunile iar petru acionarea mechanic a degetelor s-a folosit fire de oel datorit rigiditii pe care le ofer. Rigleta este o banda dreptunghiular sau patrat din carton, metal sau plastic care
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 3
este folosit la realizarea conexiunilor. Prin intermidiul acestei riglete sa realizat conexiunile de la cele cinci motore la placa de achizii. n figura 5.1 este prezentat rigleta folosita la realizrea conexiunilor.
n figura 5.2 este prezentat braul robotic.
Fig.5.2 5.2 Secvena de programare
Secvena de programare a braului 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 fiierelor. De la lansarea iniial 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 secvenei de programare.
-a-reprezint ,,arborele secvenei de programare i numele generic al secvenei de programare; -b-reprezint subIV-urile reprezentative secvenei de programare; -c-reprezint placa de achiziie sbRIO i este afiat IP generat placii de achiziie, n momentul realizrii secvenei de programare. n momentul n care placa poate fi utilizat i se realizeaz conexiunile, utilizatorul va fi informat prin trecerea placii de achiziie din starea neconectat n starea conectat; -d- reprezint locul unde se realizeaz compilarea i locul unde se Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 4
realizeaz IV principal; -e-reprezint ieirile i intrarile analogice; -f-reprezint ieirile i intrrile digitale -g-reprezint IV principal al secvenei de programare.
Secvena de programare a controlului celor cinci motoare este prezentat panoul frontal n figura 5.4. i respectiv diagrama bloc ce aparine secvenei de programare n figura 5.5.
-a- reprezint indicatorii afereni diagramei bloc; -b- reprezint controale i se gasesc n paleta ,,Controale respectiv subpaleta ,,Numeric.
Componetele aferete secvenei de programare din diagram bloc sunt urmatoarele:
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 5
-a-While Loop,care este prezentat in figura 5.1, se gasete in paleta ,,Funcii i subpaleta,,Structuri. Structura de control repetitivwhile permite efectuarea calculului iterativ atunci cnd nu se cunoate numrul de repetri. Oprirea ciclului de iteraii este condiionat
boolean: repetarea se executa cnd valoarea boolean este adevrat iar oprirea executrii structurii este comandat de o variabil tip boolean oprete dac este fals. Prin intermediul registrelor de transfer se permite furnizarea rezultatelor ntre iteraii seccesive al instruciunii repetitive. Definirea i utilizarea registrelor de transfer pentru structura Do-While este identic cu cea prezentat la instruciunea For. Auto indexarea nu se aplic implicit pentru un tunel de pe structura Do-While, ca i n cazul instruciunii For: programatorul trebuie s indice explicit pentru fiecre tunel, dac se dorete utilizarea auto-indexrii. Numrul de repetri ale corpului modului Do-While este controlat, n primul rnd, de valoarea logic Adevrat a expresiei de oprire i mai puin de dimensiunea unui tablou furnizat subdiagramei printr-un tunel de intrare, care folosete auto indexarea.
-b- Structura secvenial (Sequence). Este prezentat n figura 5.3,i se gsete n paleta ,,Funcii, subpaleta ,,Structuri. Atunci cnd dispune de mai multe ferestre, fiecare dintre acestea cu propriul flux de date, o structur secvenial execut n ordine ferestrele respective. Atunci cnd este dispus n diagram, o structur secvenial conine o singur fereastr, aceasta fiind totodat i fereastra curent .Deschiznd meniul propriu al structurii i alegnd una din opiunile ,,Adauga cadru dupa sau ,,Adauga cadru naonte, se poate adaug o fereastr dup sau naintea celei curente. Dac o structura secveniala conine mai mult de o fereastr, atunci ferestrele primesc indici ncepnd cu 0, iar pe latura superioar a conturului structurii apare un selector prin intermediul cruia se poate trece de la o fereastr la alt. Se poate crea o dublur a ferestrei curente, selectnd din meniul propriu al structurii opiunea,,dubleaz cadru. Fereastr curent poate fi tears, cu opiunea ,,tergere cadru. Atunci cnd o structura secvenial conine cel puin dou ferestre, ordinea acestora poate fi schimbat: se modific indicele ferestrei curente, selectnd opiunea ,,Make This Frame apoi noul indice. Atunci cnd se dorete transferul unei valori ntre dou ferestre ale unei structuri secveniale,prin selectarea opiunii,,adauga structura secvenial localse 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 conine o fereastr ndreptat spre exteriorul structurii. n ferestrele anterioare ferestrei surs, simbolul variabilei locale devine haurat, semn c valoarea variabilei locale nu este accesibil n acele ferestre. n ferestrele de dup fereastr surs, simbolul variabilei locale va conine o sgeata ndreptat spre interiorul structurii. n aceste ferestre, valoarea transferat prin intermediul variabilei locale poate fi utilizat n fluxul de date. O structura secvenial poate dispune de mai multe variabile locale. ntr-o structura secvenial pot fi utilizate valori provenite din fluxul de date exterior. O valoare introdus din exterior ntr-o structura secvenial va putea fi utilizat n oricare dintre ferestrele structurii. Dac, ntr-o anumit fereastr, se face o legtur din structura secvenial n exteriorul acesteia, la ieirea respectiv nu va mai putea fi legat o alt valoare din Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 6
alt fereastr. Indiferent de indicele ferestrei n care s-a fcut o legtur spre exterior, valoarea va prsi ieirea de pe conturul structurii Sequence doar dup executarea ultimei ferestre. Indicator (f) i control (c): efectul acestora fiind de adugare , n diagram sau n panou, dup caz,a unei constante sau a unui element de control sau indicator de acelai tip cu elementul al crui meniu propriu a fost deschis -d- Tick Count: se gsete in paleta cu ,,Funcii, subpaleta ,,Time & Dialog.Aceast opiune are rolul de a determin numrul de milisecunde indicat de ceasul intern al computerului, considerat de la momentul la care calculatorul a fost pornit. -e- Nod de intrare i ieire FPGA. Se gsesc n ,,arborele secvenei de programare i se folosete ca nod de intrare i ieire digitale. -g- Reprezint o operaie de tip boolean care poate lua doua valori: adevrat i fals. -h- Wait (ms): Se gsete in paleta cu ,,Funcii, subpaleta ,,Time & Dialog i are rolul de a ntrerupe execuia 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: afieaz reprezentri grafice ale obiectelor 3D. O scena 3D este un obiect sau o colecie de obiecte 3D care se pot vedea n controlul imagine 3D sau ntr-o fereastr separat iar caracteristicile acestora pot fi setate. Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 7
-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 numrul de terminale. Cele mai multe grupuri de pe diagrama bloc au conectorii de culoare roz . -d- reprezint un control : efectul acestuia fiind de adugare , n diagram sau n panou, dup caz, a unei constante sau a unui element de control de acelai tip cu elementul al crui meniu propriu a fost deschis.
n figura 5.7 este reprezentat diagrama bloc a simulrii 3D a sistemului mechanic.
-a- Invoke Node: Invoc o metod sau aciune de referin. Cele mai multe metode au parametrii asociai. -b- Variabil global: O variabil global este un IV care are numai fereastr panou ce conine toate elementele care se dorete s fie accesibile i altor subIV-uri. Pentru crearea unei variabile globale se procedeaz astfel:
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 8
- din caseta de structuri se selecteaz structura global i se poziioneaz pe fereastra diagram iar la eliberarea mouse-ului va aprea pe fereastra diagram acelai simbol ca i al variabila local;
- se selecteaz din meniu-ul contextual asociat variabilei opiunea deschide panou frontal care are ca urmare crearea unei ferestre panou asociat variabilei globale; - se poziioneaz elementele de intrare i ieire specifice variabilei cu aceleai etichete sau etichetate specifice i se salveaz variabila global;
Pentru utilizarea elementelor de intrare-ieire dintr-o variabil global ntr-un alt IV se selecteaz din caseta de funcii opiunea Select a VI i se selecteaz numele IV-ului n care a fost salvat variabila global i se poziioneaz 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 poziie efectuat la poziia iniial a obiectului; -d- reprezint stiluri de controale i indicatoare; -e- reprezint grupul de clustere prezente pe panoul frontal; -f- reprezint operaii cu variabile. Cu variabilele stabilite ntr-o aplicaie, se pot realiza diverse operaii n funcie de necesitaile aplicaiei. Pentru fiecare operaie exist cte un simbol specific. Toate simbolurile pentru operaii sunt grupate npaleta ,,Funciisubpaleta ,,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. Funcia Bundle se refer la elemente de cluster i de poziia lor n grup. Din acest motiv, utiliznd funcia Bundle pentru a nlocui elemente de cluster existente presupune c numrul de terminale de intrare s corespund cu numrul de elemente din cluster de intrare.
5.2 Servomotor HK digital MG Micro
Pentru acionarea modulelor sistemului robotic, una din soluiile fiabile o constituie servomotoarele. n aceast etap, s-a proiectat, realizat practic i s-a testat o schema original avnd 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.
Caracteristicile servomotorului HK digital MG Micro
Gabarit (mm)
Mas (g) Cuplul la 4.8 V (kg/cm)
Viteza de tranziie Material angrenaj servo
Tensiunea (V) 28x13x30 19 2.5 0.17sec/60 metal 4.8-6 Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
4 9
n figura 5.10 este prezentat dimensiunile servomotorului HK digital MG Micro
Ultimii ani au fost marcati de evoluii reprezentative n ceea ce privete dimensiunile, viteza de rotaie i cuplul motor al motoarelor de tip servo, a caror structur de baz este dat n figura5.10. Ultima mbuntire o constituie dezvoltarea servomotoarelor digitale ce au avantaje functionale semnificative fa de servomotoarele standard. n principiu, un servo digital este asemntor cu un servomotor standard, cu excepia unui microprocesor care analizeaz semnalele de intrare i controleaz motorul. Una din diferene const n modul de procesare a semnalelor de intrare i transmiterea puterii iniiale de la servomotor, reducnd timpul mort, crescnd rezoluia i genernd un cuplu de meninere superior. La motoarele servo convenionale, n faza de repaus, nu se alimenteaz servomotorul dar n cazul servomotoarelor digitale, cnd este primit o comanda de pornire a servo-motorului, sau cnd se aplic un cuplu la axul de ieire, servo-ul rspunde 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, genernd mici impulsuri de tensiune. Prin creterea duratei fiecrui impuls se creeaz un control al vitezei, pn cnd se aplic motorului tensiunea maxim, accelernd servo-braul spre noua poziie. Captul 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 pn cnd nu mai exista tensiune i servomotorul se oprete.
A(mm) 33 B(mm) 28 C(mm) 30 D(mm) 13 E(mm) 40 F(mm) 19 Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 0
n conformitate cu cele prezentate n figura 5.11, un impuls de lime scurt On,urmat de o pauza scurt, nu constituie pentru motor o comanda s se ntoarc, cu condiia s nu fie mai lunga pauza. Aceasta nseamn un control al micrii, care la ntoarcere trimite mici impulsuri iniiale spre motor, este foarte ineficient, si de aceea este denumitbanda moart.
Caracteristica moment/impuls a servomotoarelor este prezentat n figura 5.12 i se poate observa comparativ variaia momentului n timp pentru servomotoarele standard i servomotoarele digitale.
Avantajele evidente ale servo-digitalelor sunt:
- n primul rnd, este posibil primirea de semnale de intrare i s aplice parametrii prezeni la acest semnal, nainte de a-l trimite in impuls spreservomotor. Aceasta nseamn c Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 1
durata impulsului, datorat nsumrii tensiunii trimise s activeze motorul, poate fi ajustat prin programarea microprocesorului pentru a potrivi funciile cerute i mai mult pentru a optimiza performanele servo-ului.
-n al doilea rnd, un servomotor digital trimite impulsuri ctre motor la o frecven semnificativ mai mare. Aceasta nseamn c, motorul n loc s primeasc 50 de impulsuri /secunda va primii 300 impulsuri/secunda. Dei durata pulsurilor se reduce direct proporional cu frecvena, pentru c tensiunea la motor se schimb mult mai frecvent, motorul are tendine mai mari de a se ntoarce. Acest lucru nseamn c servomotoarele digitale vor rspunde mai rapid la comenzi.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 2
5.3 SbRIO9631
n figura 5.13 este prezentat placa de achiziie SbRIO9631.
Placa de control i achiziie NI sbRIO-9631
conine un procesor n timp real, un FPGA reconfigurabil de ctre utilizator i o plac de baz. Din specificaii menionm 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 difereniale pe 16 bii, i patru canale de ieire analogice pe 16 bii la 100 [kS/s] (100.000 eantioane pe secund). De asemenea, conine 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 operaii 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 conine drivere interne pentru manipularea transferului de date dintre FPG i procesorul n timp real Figura 5.14 evideniaz fiecare compotent ce se gasete pe plca de achizie sbRIO.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 3
1-conector C Serial 11- port Enternet 2-gaura de montareplac 12-port serial 3-conectori pentru ieiri i intrri analogice 13-comutatoare 4-conector C Serial 14-buton de reset 5-intarri digitale, 24 V 15-clem pentru nul 6-conector C Serial 16-LED-uri 7-ieiri digitale, 24 V 17-sursa de alimentare 8-ieiri i intrri digitale, 3.3 V 18-ieiri i intrridigitale, 3.3 V 9-baterie de rezerv 19-ieiri i intrridigitale, 3.3 V 10- intrriiieiridigitale, 3.3 V
Placa de achiziie sbRIO este prevzut cu 4 LED-uri care au rolul de a confirma, sau infirma buna funcionalitate a placii de achiziie dup cum urmeaz: - dac un sigur LED lumineaz la cteva secunde nseamn ca placa de achiziie nu este configurat; - dac lumineaz doua LED-uri nseamn c placa de achiziie a detectat o eroare n software-ul su. Aceasta eroare apare de obicei atunci cnd 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 prbuit de dou ori fr a fi resetat. Aceasta eroare apare de obicei atunci cnd aparatul rmne fr memorie; -cnd 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.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 4
Fig.5.14
Pentru a se putea realiza conexiunea celor cinci servomotoare sa folosit portul 8, respectiv intrrile i ieirile de la DIO1 pn la DIO5. Alimentarea servomotoarelor sa relizat la portul 9,respectiv intrrile i ieirile 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, plcii de achiziie 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 opiunea ,,RT Single-Board RIO i se selecteaz opiunea ,,Proprieti moment n care va aprea 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 evideniat IP-ul propriu pentru fiecare plac de achiziie sbRIO care este conectat, i va aparea o fereastr ca i n figura 5.18.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 5
Fig.5.18
n momentul n care apare o eroare, la lansarea unei secvee 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 informaiile eseniale pentru meninerea unei afaceri n mers, pe traiectoria dorit i n condiii optime. Dei menirea tablourilor de bord este de a face via mai uoar oricrei companii, implementarea i design-ul dashboard-urilor necesit atenie, deoarece dincolo de aspectul facil al problemei, trebuie urmrit o strategie coerent. Conceptul de dashboard implic existena unor puncte de colectare a datelor care sunt organizate n funcie 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 aceti indicatori, n general pe baza de grafice sintetice.
Dashboard-ul permite crearea de vizualizri particularizate i portabile asupra aplicaiilor LabVIEW. Utiliznd aceast aplicaie, se poate crea tablouri de bord pentru a afia valorile- Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 6
publicate n reea, variabile, partajate i implementate n LabVIEW pe indicatori diferite opiuni, 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 aplicaiilor NI LabVIEW. Acest lucru se face prin reele utilizate NI LabVIEW . Caracteristici ale dashboard-ului: - Controla de la distan, precum i aplicaii de monitorizare LabVIEW; - Posibilitatea de a alege aspectul, culoare avnd teme personalizate pentru obiecte tablou de bord; - Datele de acces ramn stocate; - Abilitatea de a avea mai multe tablouri de bord cu mai multe pagini; - Controale i indicatori; - Capacitatea de interfaare cu servicii sigure LabVIEW web, precum i NI variabile comune.
n figura 5.20 este ilustrat o interfa de dashboar .
Fig.5.21
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 7
CONCLUZII
n lucrarea prezent sunt afiai toi paii efectuai pentru construcia unei platforme robotice i controlul acesteia. Inovaia const n simplitatea construciei, att a structurii mecanice ct i a plcii de control, oferind posibilitatea unei nelegeri mai uoare, a modului de funcionare a roboilor, i n general, a oricrei structuri mecatronice. Braul robotic este realizat din comatex datorita maleabiliti de a lucra cu acest tip de material, i comanda servomotoarelor a fost realizat cu modulul de programare LabVIEW FPGA folosind placa de achiziie sbRIO 9631. Acest modul de programare poate fi utilizat n diverse domenii, ncepnd de la aplicii uoare, pna la cele mai complicate aplicaii. Dezavantajul acestui bra robotic const n faptul c nu se poate realiza i micari de rotaie, doar micari de tranzlaie. Pentru a putea face i micarile de rotaie ar fi nevoie de modificarea complet a construciei mecanice ale braului robotic. O alt mbunatre al braului robotic ar putea fi, modificarea fiecrui deget prin ataarea la fiecare nbinare a degetului, un servomotor ca micarea de translaie s fie mult mai evident. Dar la fel ca i la braul robotic care ar putea face micarea de rotaie, ar nsema modificarea total a construciei mechanice Cu toate acestea braul robotic construit ofer avantaje prin faptul c este controlat cu ajutorul circuitelor FPGA, circuite care sunt din ce n ce mai folosite i prin construcia acestui bra se poate nva pas cu pas modul de funcionare al circuitelor FPGA i modul de programare a placilor de achiziie, sbRIO.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 8
BIBLIOGRAFIE
1. Costin I.O.,,Acionari Electrice Funcionarea si comanda roboilor industriali, Editura Todesco 2008 2. Gheorghe I Gheorghe, Valentin Pau, Doru Dumitru Palade, Mecatronica, Editura Cefin, Bucureti, 2002. 3. Psl D.,, Modelarea i simularea roboilor industriali. 4. Chircor, M. Noutai in cinematica i dinamica roboilor industriali,Editura Fundaiei Andrei aguna, Constana, 1997. 5. Breaz R., Bogdan L. Automatizari in sisteme de productie Editura Universitatii Lucian Blaga Sibiu, 2003 6. Cojocaru G., Fr.Kovaci Roboii in aciune, Ed.Facla, Timioara,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, Romnia, august 2009. 14 Alecsa B.C., Onea A., An FPGA implementation of the time domain deadbeat algorithm for control applications, Norvegia, noiembrie 2009.
Comanda unui bra robotic folosind modulul LabVIEW FPGA
P a g i n a
5 9
15. Alecsa B., Onea A.,,An FPGA implementation of a brushless DC motor speed controller, SIITME 2010, Piteti, Romnia, 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. Blanger. ,,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/