200361016-SAPT-Proiect

June 12, 2018 | Author: Dănuț Crivățu | Category: Documents


Comments



Description

UNIVERSITATEA POLITEHNICA BUCUREȘTI

FACULTATEA DE TRANSPORTURI















Sisteme Automate pentru Transporturi

Reprezentarea caracteristicilor MEMS prin intermediul LabVIEW



















Studenți:

Cuțurescu Cătălin Ionuț - 8413

Păpălici Constantin – 8413


Cuprins:

1. Introducere LabVIEW

2. MEMS

3. Instrumentul Virtual

4. Schema electrică

5. Cablajul imprimat

6. Bibliografie

7. Anexe






1. Introducere LabVIEW

LabVIEW (prescurtarea de la Laboratory Virtual Instrumentation
Engineering Workbench) este o platformă și un mediu de dezvoltare pentru
limbajul de programare vizuală de la National Instruments. Limbajele
grafice sunt denumite "G". Inițial lansat pentru Macintosh în 1986, LabVIEW
este frecvent folosit pentru achiziții de date,ca instrument de control, și
automatizări industriale pe o diversitate de de platforme, inclusiv
Microsoft Windows, diverse sisteme UNIX, Linux, și Mac OS.

Limbajul de programare folosit in LabVIEW este de tip data-flow.
Execuția este determinată de structura unei diagrame bloc (codul sursă
specific LabVIEW) în care programatorul conecteaza diferite noduri de
funcții prin fire. Aceste fire propagă variabilele și orice nod poate fi
parcurs deîndată ce sunt disponibile date de intrare. Deoarece acesta poate
fi cazul pentru multiple noduri, limbajul de programare grafic este capabil
de execuții paralele.

Termenul de "Instrument Virtual" se foloseşte cu referire la un
instrument de măsură sau de automatizare simulat printr-un program şi se
realizează pe baza unui software, un program de simulare şi a unui element
hardware, compus din module de prelucrare a semnalelor şi plăci de
achiziţie de date.Denumirea provine de la faptul că, în primele sale
versiuni, LabVIEW a fost strict dedicat pentru realizarea unor programe de
monitorizare a proceselor. Programele respective înlocuiau o serie de
aparate şi instrumente electronice, primind, astfel, numele de Instrumente
Virtuale. Acestea înlocuiesc instrumentele de măsură clasice, sunt de sine
stătătoare, mult mai flexibile, fiind suficientă o modificare a programului
pentru a reproduce un alt instrument, cu acelaşi sistem fizic.

În mediul de programare grafică oferit de LabVIEW, instrumentul
virtual defineşte un modul software, un program, ce constă dintr-o
interfaţă cu utilizatorul, panoul frontal (ce simulează intuitiv partea din
faţă a instrumentului clasic) şi un program de tip schemă-bloc (o diagramă,
accesibilă numai programatorului).

Panoul frontal este interfaţa dinspre utilizator a instrumentului
virtual şi elementul de bază al programelor elaborate în LabVIEW deoarece
cu ajutorul său se realizează introducerea sau extragerea datelor în/din
mediul de programare. În panoul frontal, comenzile care implică intervenţia
utilizatorului sunt în foarte mare măsură simplificate, fiind preferate
elementele de comandă şi afişare grafice, denumite controale sau
indicatoare. Controalele reprezintă intrările în instrumentul virtual, cele
care introduc datele, iar ieşirile, cele care comunică operatorului datele
rezultate din proces, poartă numele de indicatoare (elemente de afişare).


Controalele au diferite aspecte, precum: butoane, întrerupătoare,
comutatoare, cursoare, cadrane etc., fiecărui tip corespunzându-i un
element dintr-un instrument clasic.



Fig. 1. Exemple de controale

În LabVIEW pot fi tratate structuri de date de la simple până la
foarte complexe, valori numerice, şiruri de texte, grafice etc. La
indicatoare, aceste structuri de date gestionate de program îşi stabilesc
singure forma optimă a reprezentării datelor pe care le primesc.

Întrările şi ieşirile de date sunt duble, fiind destinate atât
operatorului, cât şi programului, iar distincţia între controale şi
indicatoare nu este rigidă, deşi unele sunt exclusiv elemente de afişare,
iar altele de comandă.

Diagrama bloc însoţeşte panoul frontal şi poate fi imaginată ca fiind
un cod sursă, aşa cum este cunoscut în limbajele de programare clasice.
Componentele sale reprezintă nodurile programului, precum structurile de
decizie, operatorii matematici, funcţiile de prelucrare logice etc. Între
componente, legăturile se realizează prin fire (wire) care descriu fluxul
de date în interiorul instrumentului virtual creat de program.



Fig. 2. Exemplu de diagramă bloc

Diagrama bloc reprezintă, de fapt, o schemă prin care programatorul
descrie algoritmul după care aplicaţia va efectua calculele şi
raţionamentele necesare pentru preluarea şi prelucrarea informaţiilor. În
majoritatea cazurilor, după ce programatorul a realizat o aplicaţie şi a
livrat-o unui utilizator, acesta din urmă nu mai are acces la diagramă, aşa
cum utilizatorii altor programe nu au acces la codul sursă al acestora.

Conectorul este elementul care transformă un instrument virtual într-
un obiect pentru a fi folosit ulterior ca pe o subrutină în diagrama bloc a
altor instrumente virtuale.

Atunci când un element de control sau indicator este dispus în panou,
în diagrama bloc este inserat automat un simbol specific, numit terminal,
care va reprezenta elementul respectiv în cadrul fluxului de date.
Terminalele elementelor se diferenţiază prin culoare, în funcţie de tipul
mărimii scalare: portocaliu pentru valori numerice reale, verde pentru
valori booleene şi roz pentru valori alfanumerice (string).



Fig. 3. Exemple de terminale (dreapta) ale elementelor de control (stânga)

Paleta de controale este o fereastră (Figura 4) ce apare doar atunci
când se lucrează în cadrul panoului şi contine sub-palete cu elemente de
control şi indicatoare de diverse tipuri, precum: Numeric, Boolean,
String&Path, Array&Cluster, List&Table, Graph etc.



Fig. 4. Paleta de controale

Afişarea paletei de controale se poate efectua în două moduri: apăsând
butonul din dreapta al mouse-ului atunci când cursorul acestuia se află
într-o zonă liberă a panoului sau, selectând din meniul Windows comanda
Show Controls Palette. În primul caz, sub-paletele se deschid automat
atunci când cursorul mouse-ului trece pe deasupra lor iar paleta rămâne
vizibilă doar până la selectarea unui element. În al doilea caz, o sub-
paletă se deschide (înlocuind paleta de controale) atunci când se apasă cu
mouse-ul pe simbolul său. Paleta rămâne vizibilă şi după selectarea unui
element.

Dispunerea unui element de control sau indicator pe panou începe cu
selectarea elementului dorit din paleta de controale, apoi se deplasează
cursorul mouse-ului până în poziţia de pe panou în care se doreşte
dispunerea, iar elementul primeşte o etichetă implicită care intră automat
în modul de editare. Textul afişat de etichetă poate fi modificat imediat
pentru a fi mai sugestiv.

Paleta de unelte este o fereastră (Figura 5) ce apare atât în cadrul
panoului cât şi al diagramei. Afişarea paletei de unelte se efectuează
selectând din meniul Windows, comanda Show Tools Palette.

Uneltele din această paletă sunt utilizate pentru: operare
(modificarea valorilor unor elemente de control), selectare (poziţionare,
dimensionare), editare a textelor (în panou şi în diagramă), conectare,
afişare a meniurilor proprii, deplasare a imaginii într-o fereastră,
inserarea de puncte de oprire a rulării, inserarea de puncte de probă,
selectarea de culori şi colorarea.



Fig. 5. Afişarea paletei de unelte

Afişarea temporară a paletei de unelte se realizează ţinând apăsată
tasta Shift şi apăsând butonul drept al mouse-ului. Paleta devine vizibilă
doar până în momentul selectării uneia dintre uneltele sale.
Paleta de funcţii este o fereastră ce apare doar atunci când se
lucrează în cadrul diagramei şi conţine sub-palete cu diverse categorii de
funcţii, proceduri sau structuri specifice de programare.

Fig. 6. Paleta de funcţii
Afişarea paletei de funcţii se efectuează în două moduri: apăsând
butonul din dreapta al mouse-ului atunci când cursorul acestuia este într-o
zonă liberă a diagramei, sau selectând din meniul Windows comanda Show
Functions Palette. În primul caz, sub-paletele se deschid automat atunci
când cursorul mouse-ului trece pe deasupra lor iar paleta rămâne vizibilă
doar până la selectarea unei functii. În al doilea caz, o sub-paletă se
deschide (înlocuind paleta de funcţii) doar când se face un click pe
simbolul său. Paleta rămâne vizibilă şi după selectarea unei funcţii.
În timpul lucrului, programatorul are deseori nevoie de informaţii
privind sintaxa de utilizare a elementelor din diagrama bloc, iar LabVIEW i
le oferă într-un mod foarte intuitiv, prin intermediul meniului Help
contextual. Astfel, selectarea din meniul Help a comenzii Show Context Help
conduce la deschiderea unei ferestre în care sunt afişate un minim de
informaţii referitoare la funcţia corespunzătoare simbolului deasupra
căruia este poziţionat cursorul mouse-ului. De asemenea, atunci când
utilizatorul deschide paleta de funcţii şi navighează prin subpaletele
acesteia, în fereastra Context Help apar aceste informaţii.

Fig. 7. Afişarea de informaţii referitoare la un element din Paleta de
funcţii
Dacă un simbol de funcţie a fost deja dispus în diagramă iar cursorul mouse-
ului este poziţionat deasupra acestuia, în fereastra Context Help apar
informaţii referitoare la funcţia respectivă .

Fig. 8. Afişarea informaţiilor referitoare la un simbol de funcţie
Se recomandă utilizatorilor, care vin prima oară în contact cu mediul
de programare LabVIEW, să navigheze prin întreaga structură a paletei de
funcţii, având fereastra Context Help deschisă şi să observe modul în care
informaţiile afişate se modifică atunci când cursorul mouse-ului trece pe
deasupra diverselor simboluri de funcţii.
Paleta de funcţii conţine numeroase funcţii grupate pe categorii, în
subpalete, dintre care cele mai importante şi des utilizate, în lucrul
curent, sunt: Numeric, Boolean, String, Array, Comparison, Mathematics etc.
În subpaleta Numeric se află funcţiile pentru valori numerice în care
se remarcă o primă categorie, dedicată funcţiilor aritmetice simple:
adunare (Add), scădere (Subtract), înmulţire (Multiply), împărţire
(Divide), incrementare (Increment), decrementare (Decrement), valoare
absolută (Absolute Value), rotunjire la cel mai apropiat întreg (Round To
Nearest), rotunjire la întregul inferior (Round To -Infinity), rotunjire la
întregul superior (Round To +Infinity), generator de numere aleatoare între
0 şi 1 (Random Number 0-1), rădăcina pătrată (Square Root), compunere
aritmetică (Compound Arithmetic), schimbare de semn (Negate), produsul
dintre o valoare x şi o putere a lui 2 (Scale By Power Of 2), inversare
(Reciprocal) etc.
De asemenea, tot în subpaleta Numeric se află elementul Numeric
Constant (constantă numerică), care, la momentul inserării în diagramă,
capătă implicit valoarea 0 şi intră în modul de editare, invitând
utilizatorul să introducă valoarea numerică dorită.
Dintre funcţiile pentru valori booleene, grupate în subpaleta Boolean,
se remarcă funcţiile logice simple Şi (And), Sau (Or), Sau Exclusiv
(Exclusive Or), Negare (Not), Şi Negat (Not And), Sau Negat (Not Or), Sau
Negat Exclusiv (Not Exclusive Or), Implică (Implies) etc. Subpaleta Boolean
conţine şi cele două constante logice: Adevărat (True) şi Fals (False).
" " "
"Fig. 9. Funcţiile grupate în subpaleta"Fig. 10. Funcţiile grupate în "
"Numeric "subpaleta Boolean "


Funcţiile pentru valorile alfanumerice sunt grupate în subpaleta
String a paletei de funcţii. Mai frecvent utilizate sunt cele pentru
transformarea caracterelor în majuscule (To Upper Case), pentru
transformarea caracterelor în minuscule (To Lower Case), de calculare a
lungimii unui şir de caractere (String Length), de compunere a unui şir din
două şiruri distincte (Concatenate String), de identificare şi înlocuire a
unui şir în cadrul altuia (Search and Replace String) etc.

Fig. 11. Funcţiile grupate în subpaleta String
De asemenea, subpaleta String conţine un element String Constant
utilizat pentru introducerea în diagramă a valorilor alfanumerice
constante.
În LabVIEW, programarea unui instrument virtual are ca punct de
pornire dispunerea în diagrama bloc a funcţiilor şi elementelor necesare
rezolvării unei probleme şi se continuă prin realizarea legăturilor între
acestea şi stabilirea fluxului de date.
Dispunerea unei funcţii în diagramă începe cu selectarea simbolului
corespunzător din paleta de funcţii, apoi se deplasează cursorul mouse-ului
până în poziţia din diagramă în care se doreşte plasarea sa. Atât timp cât
este deplasat cu mouse-ul, simbolul funcţiei va fi reprezentat împreună cu
terminalele corespunzătoare datelor proprii de intrare şi de iesire. Dacă
în timpul deplasării simbolul funcţiei trece suficient de aproape de un
terminal sau de o zonă a fluxului de date la care se poate efectua o
legătură, la eliberarea butonului mouse-ului, aceasta este stabilită
automat.
Realizarea unei legături între două componente ale diagramei se
efectuează cu ajutorul uneltei de conectare (Connect Wire). Ordinea în care
se selectează cele două componente (sursa şi destinaţia) nu este
importantă, legătura putând fi realizată în orice sens, deoarece mediul de
programare LabVIEW identifică automat sursa şi destinaţia, stabilind sensul
de circulaţie al datelor.
Se deplasează cursorul mouse-ului, transformat în unealta de
conectare, deasupra primei componente care începe să clipească şi se face
click, stabilind primul capăt al legăturii. Din acest moment, dacă mouse-ul
este deplasat, pe ecran va apare, în timp real, imaginea unui fir cu un
capăt fixat de prima componentă şi cu un capăt legat de cursorul mouse-ului

" " "
"Fig. 12. Dispunerea unei funcţii în"Fig. 13. Realizarea legăturilor între"
"diagramă "componente "


Se deplasează cursorul mouse-ului deasupra celei de-a doua componente
care începe, la rândul său, să clipească şi se face click, fixând, astfel,
al doilea capăt al firului de această componentă.
În cazul unei legături efectuate corect, aceasta va fi afişată în
culoarea corespunzătoare tipului de date ce vor circula prin zona
respectivă a fluxului de date. În caz contrar, când legătura este
incorectă, aceasta va fi afişată cu culoarea neagră şi întreruptă.
Fluxul de date este format din totalitatea legăturilor ce conectează
diversele terminale de elemente, simboluri de funcţii sau proceduri şi
structuri de programare din cadrul diagramei. Fluxul de date reprezintă
grafic algoritmul după care aplicaţia prelucrează datele de intrare pentru
a le calcula pe cele de ieşire. Traseele ce formează fluxul de date pot fi
simple (o sursă şi o destinaţie) sau ramificate (o sursă şi mai multe
destinaţii).
Indiferent de modul sau sensul în care traseele sunt dispuse pe
diagramă, circulaţia datelor în cadrul fluxului se efectuează numai de la
surse către destinaţii. Prin sursă se înţelege, spre exemplu, terminalul
unui element de control, simbolul unei constante sau zona de ieşire a unei
funcţii sau proceduri. O destinaţie poate fi terminalul unui element
indicator sau zona de intrare a unei funcţii sau proceduri.

Fig. 14. Traseele fluxului de date
Odată ce programarea instrumentului virtual a fost încheiată, acesta
poate fi rulat, atât pentru depistarea eventualelor erori, cât, mai ales,
pentru a-l utiliza în conformitate cu scopul pentru care a fost realizat.
Pe barele de butoane ale panoului şi diagramei se află o serie de elemente
(Figura 15) ce stabilesc modul de rulare al unui program.

Fig. 15. Elementele de rulare ale programului
Apăsarea butonului Run conduce la rularea o singură dată a
programului, fiind parcurs întreg fluxul de date din diagramă, apoi
programul se va opri. În timpul rulării, butonul Run îşi schimbă aspectul
şi se aprinde un buton roşu, Abort execution, iar apăsarea sa va determina
întreruperea rulării programului. Apăsarea butonului Run Continuously
conduce la rularea repetată, fără oprire, a programului. Întreruperea
rulării continue are loc numai la comanda utilizatorului, prin apăsarea
butonului Abort execution. Indiferent de modul de rulare, utilizatorul are
posibilitatea de a o suspenda prin apăsarea butonului Pause. În plus, în
orice mod de rulare, prin apăsarea butonului Highlight Execution,
utilizatorul va urmări o animaţie ce sugerează deplasarea valorilor prin
fluxul de date.
În momentul în care o valoare părăseşte o componentă a diagramei ce
este o sursă a unei legături, valoarea respectivă va fi afişată în
diagramă.
2. MEMS
Sistemele microelectromecanice (MEMS) este tehnologia de dispozitive
foarte mici, proiectate la nano-scară în sistemele nanoelectromecanice
(NEMS) și nanotehnologice. MEMS sunt, de asemenea, menționate ca
micromașini (în Japonia), sau tehnologia de sisteme micro - MST (în
Europa).

În timp ce elementele funcționale ale MEMS sunt miniaturizate
(structuri, senzori, elemente de acționare), cele mai notabile elemente
sunt microsenzorii și microactuatorii.

Aceste sisteme pot simți, controla și activa procesele mecanice de pe
scara microscopică, funcționează în mod individual sau în matrice pentru a
genera efecte pe scara mare. Aplicațiile acestuia sunt numeroase și pot fi
regăsite in diferite domenii, sub formă de accelerometre, micro-roboți,
senzori de presiune, micro-motoare etc.

MEMS-ul ales de noi pentru implementarea proiectului este un giroscop
pe două axe(LPR530AL). Giroscopul este format dintr-un actuator și un
accelerometru, integrate într-o singură structură de dimensiuni
microscopice.

El are următoarele proprietăți și caracteristici:

1. Tensiuni de lucru: 2,7-3,6V;

2. Temperatură de lucru: -4 oC - +40 oC

3. Ieșiri separate pentru fiecare axă (semnal neamplificat și semnal
amplifcat de patru ori)

4. Filtre trece-jos integrate

5. Rezistență la șocuri și vibrații puternice

6. Consum scăzut de energie

Acest tip de MEMS este utilizat în aplicații precum:

1. Sisteme de navigație GPS

2. Controlul mișcării

3. Telecomenzi și controllere de joc


3. Instrumentul virtual

Detectarea mișcării pe cele două axe va fi ilustrată și interpretată
cu ajutorul unui instrument virtual personalizat creat in LabVIEW.

Mișcarea MEMS-ului pe cele două axe va fi evidențiată prin variatia a
doua semnale de ieșire la bornele LPR. Cele două semnale vor condiționa ,
in urma prelucrării acestora in LabView, aprinderea respctiv stingerea a
două LED-uri menite să detecteze comportamentul MEMS-ului.Conexiunea MEMS –
Labview este posibilă datorită existenței blocului DAQ Assistant.

Funcția VI-ului este aceea de detectare, comparare și semnalizare a
deplasării memsului pe cele două axe.

Detectarea semnalelor se realizează prin intermediul sectorului de
achiziții de date reprezentat de DAQ Assistant. Acesta recepționează în
timp real semnalele analogice de pe placa de achiziții de date.



Fig. 16. Schema bloc a montajului



Fig. 17. Diagrama bloc a instrumentului virtual




Fig. 18. VI Front panel

Instrumentul virtual conține elemente dublate, fiecare din cele două
structuri fiind destinate detectării mișcării pe una din cele două axe.

Pentru ca DAQ Assistant să fie capabil sa primească semnale, se fac
următoarele setări:

- Acquire Signals

- Analog Input

- Voltage

- Se aleg pinii de conectare la placa de achiziții

- DMM

- Finish

Celelate setări rămân neschimbate.



Fig 19. Configurare DAQ Assistant Analogic Input


Pentru reprezentarea grafică a semnalelor recepționate se folosește blocul
Waveform Chart. Gradațiile graficului vor fi setatefuncție de plaja de
valori detectate la intrare.

Linia de date care iese din primul bloc DAQ Assistant are două
destinațtii:

1. Waveform Chart

2. Amplitude and levels

Blocul Amplitude and levels este un VI express care furnizează
amplitudinea, si stările High și Low ale unui semnal. Semnalul recepționat
la intrare este analizat si sunt identificate cele două praguri ale
acestuia. Cele două valori vor fi reprezentate numeric, separat, conectând
la iesirile "High State level", respectiv "Low State Level" o variabilă de
tip double, reprezentată de blocul Numeric.



Fig. 20. Amplitude and Levels

Numeric indicator este prezent în diagrama bloc ca urmare a
selectării acestuia din lista "Controls" și plasării pe Front Panel.
Valorile vor varia rapid pentru că blocul indică fiecare modificare a
semnalului de intrare.

O altă linie de date, de la fiecare dintre ieșirile blocului
"Amplitude and Levels" face să compare valoarea detectată cu o valoare
predefinită, constantă, pentru a semnaliza pragurile low și high ale
semnalului. Ilustrarea se face cu ajutorul a două LED-uri.

Funcția DBL Numeric Constant este regăsită in cadrul diagramei bloc, in
meniul Programming, rubrica Numeric. Funcțiile pentru comparare sunt
plasate, de asemenea, din diagrama bloc însă din categoria Comparison.

LED-urile sunt plasate din front panel și se aprind doar atunci când
condițiile de inegalitate sunt adevărate. Funcționarea MEMS-ului la nivel
de VI este completă însă, pentru aprinderea acestora în realitate este
necesară existența unui al doilea DAQ Assistant2, care, în momentul ce
primește un semnal de TRUE, va aprinde unul dintre LED-urile conectate la
ieșirile digitatele ale plăcii de achiziții de date. Tipul de date
acceptate de DAQ2 este array de booleene, de aceea, rezultatul comparării
va fi convertit din constantă de tip boolean într-un array uni-dimensional
de tip boolean, din motive de compatibilitate a tipului de date.


Setarea celui de-al doilea DAQ Assistant se face asemănător cu primul
însă, cu un număr mai mic de setări

"Generate Signals " "
"Digital Output "Fig. 21. Configurare DAQ Assitant "
"Line Output "Digital Output "
"Se aleg pinii de conectare la placa" "
"de achiziții " "
"Finish " "


Pinii pentru datele de intrare/ieșire vor fi aleși in funcție de
configurația plăcii de achiziție. Descrierea pinilor este găsită cu
ajutorul aplicației NI MAX, aplicație care ține evidența dispozitivelor
conectate/folosite sau consultând ghidul NI USB-6008/6009 User Guide and
Specifications.



Fig. 22. Descrierea pinilor NI USB-6008/6009

Rularea programului in mod continuu este asigurată de încadrarea
elementelor componente ale diagramei bloc într-o buclă While. Controlul
buclei și al programului în sine, este făcut cu butonul de Run al VI-ului
și cu butonul de Stop din Front Panel.


4. Schema electrică a montajului

Pentru funcționarea MEMS-ului, este necesară conectarea la portul USB
al calculatorului.

Modul de conectare MEMS – placă de achiziții de date este subiectiv.
NI USB -6008/6009 dispune de 8 intări analogice (AI0-AI7). Semnalul OUT1
este conectat la intrarea analogică 0 (pinul 2) iar OUT2 la intrarea
analogica 1 (pinul 5). Ieșirile digitale ce vor aprinde ledurile sunt
configurate pe ieșirile P0.0 și P0.1 (pinii 17, respectiv 18).

LED-urile folosite sunt lucrează la tensiuni de 5V iar rezistențele au
valori nominale de 330 .



Fig. 23. Schema electrică a montajului



5. Cablajul imprimat



Fig. 24. Cablajul imprimat al plăcuței de semnalizare


6.Bibliografie

1. http://ni.com

2. http://en.wikipedia.org/wiki/LabVIEW

3. http://www.catia.ro/articole/labview1/

4. https://www.sparkfun.com/datasheets/Sensors/IMU/lpr530al.pdf

5. http://www.csa.com/discoveryguides/mems/overview.php

6. http://www.ni.com/pdf/manuals/371303m.pdf
Copyright © 2024 DOKUMEN.SITE Inc.