• Aceasta acționează ca interfață între computer și lumea de afară.
• Prima sa funcție este de a digitiza semnalele analogice de intrare astfel încât computerul să poată să le interpreteze.
A.6. Placa de achiziție
• O placă de achiziție (Data Acquisition
Hardware) are de regulă următoarele
funcțiuni:
Intrare analogică
Ieșire analogică
Intrare/ieșire(I/O) digitală
Intrări/ieșiri de numărare/cronometrare
intrarea analogică - măsurarea unui
semnal - tensiune electrică provenită de
la un traductor;
ieşire analogică – generarea unui
semnal analogic de comandă, sub
formă de tensiune sau curent;
intrări/ieşiri digitale – informaţia este
transmisă sub forma unor coduri numerice
sau se pot măsura/genera semnale de tip
on/of.
intrări/ieșiri de numărare/cronometrare–
permit primirea şi generarea de semnale
sub formă de serii de impulsuri TTL, la
care informaţia este conţinută în numărul
de impulsuri sau în frecvenţa impulsurilor.
• Sistemele cu intrări analogice, sunt
caracterizate de următorii parametri principali:
Numărul canalelor de intrarea analogice.
• Pentru a realiza creşterea numărului de intrări
pe care le poate măsura o interfaţă analog-
numerică, se poate folosi multiplexarea
intrărilor.
• Multiplexorul este un dispozitiv care dispune
de mai multe canale de intrare, un canal de
ieşire şi de intrări digitale de control.
Figura 6.12. Structura unui multiplexor analogic.
Gama (Intervalul) de măsurare
• Este determinat de valorile minimă şi
maximă ale tensiunii electrice pe care
convertorul analog – digital o poate
cuantifica. Există plăci de achiziţie de
date care au la dispoziţie mai multe
intervale de măsurare, unul dintre
acestea putând fi selectat la un moment
dat.
• Plăcile DAQ au game selectabile (tipic 0
la 10 V sau -10 la +10 V).
• Gama, rezoluţia şi amplificarea,
disponibile pe o placă DAQ, determină
cea mai mică variaţie detectabilă în
tensiune.
• Această variaţie în tensiune reprezintă
1 LSB al valorii digitale şi este numită
adesea lăţimea codului.
• Cea mai mică variaţie detectabilă este calculată
cu relația:
• De exemplu, o placă DAQ pe 12 biţi cu o gamă
de intrare 0 la 10 V şi o amplificare de 1
detectează o variaţie de 2,4 mV pe când
aceeaşi placă cu o gamă de intrare de -10 la 10
V detectează numai o variaţie de 4,8 mV.
mV8,421
20mV4,2
21
10
2eAmplificar
tensiunedeGama1212bitiinrezolutia
• De aceea este important să se selecteze
corect gama de intrare a plăcii, pentru a
corespunde semnalului. Dacă variaţiile
semnalului de intrare sunt mai mici decât
rezoluţia, trebuie să se amplifice semnalul. De
exemplu, dacă se utilizează o amplificare de
10 pe o placă cu o gamă de 10 V şi rezoluţie
de 12-biţi, rezoluţia creşte la 244 µV.
V244210
10
2eAmplificar
tensiunedeGama
12bitiinrezolutia
Rezoluţia
• Rezoluția unei plăci de achiziţie de
date reprezintă numărul de biţi utilizaţi
de către convertorul analog–digital al
acesteia pentru reprezentarea valorii
măsurate a semnalului analogic.
Dacă se notează valoarea rezoluţiei
cu n, convertorul analog – digital va
putea reprezenta numere întregi
cuprinse între 0 şi 2n-1, fapt ce este
echivalent cu aproximarea infinităţii de
valori din intervalul de măsurare printr-
o mulţime discretă de 2n valori.
Intervalul de măsurare este astfel partiţionat
în 2n subintervale. Toate valorile semnalului
măsurat aflate într-un acelaşi subinterval vor
putea fi reprezentate doar printr-un singur
număr, deci vor fi toate aproximate la o
aceeaşi valoare comună.
Cu cât rezoluţia este mai mare, cu atât creşte
numărul de subintervale în care este
partiţionat intervalul de măsurare, deci creşte
precizia de reprezentare (măsurare) a
semnalului real.
Rata de eşantionare
• Eșantionarea este metoda prin care semnalul analogic este reprezentat printr-o succesiune (secvenţă) de eşantioane de amplitudine, prelevate la momente discrete de timp.
• Considerăm un semnal analogic x(t) care este eşantionat la fiecare t secunde. Intervalul de timp t se numeşte interval (perioadă) de eşantionare, iar 1/t se numeşte frecvenţă (rată) de eşantionare, cu unitatea de măsură, eşantioane/secundă.
• Frecvenţa de eşantionare determină
calitatea conversiei semnalului
analogic, arătând cât de des are loc
conversia analog digitală (A/D).
• O frecvenţă de eşantionare mare,
determină o bună conversie a
semnalului analogic.
Teorema eşantionării, stabileşte că un semnal de bandă limitată este univoc determinat de eşantioanele sale, considerate la momente de timp echidistante, dacă distanţa t dintre două momente succesive satisface relaţia:
m2f
1t sau fs 2fm
unde fm este frecvenţa maximă din spectrul semnalului, iar fs este frecvenţa de eşantionare.
t=distanţa între 2 eşantioaneîn lungul axei timpului
t
Fig.6.13. Corespondenţa semnal analogic – semnal eşantionat
Fig.6.14. Semnal eşantionat adecvat (a); Apariţia semnalului aliat,
datorită subeşantionării (b)
a)
b)
Se pune întrebarea, “Cât de mare trebuie să fie rata de eşantionare”?. Răspunsul ar fi “La rata maximă permisă de sistemul de achiziţie”.
Totuşi, o rată de eşantionare prea mare necesită memorie multă pentru achiziţionarea datelor. Efectele eşantionării cu diferite rate sunt prezentate în Fig.6.15.
d) 10 eşantioane/1 perioadă
c) 2 eşantioane/1 perioadă
a) 1 eşantion/1 perioadă
b) 7 eşantioane/4 perioade
Fig.6.15. Efectele eşantionării cu diferite rate
• În figura de mai sus, semnalul sinusoidal de frecvenţă
f [perioade/secundă] este eşantionat cu aceiaşi
frecvenţă fs [eşantioane/perioadă], deci cu un
eşantion pe perioadă: fs = f. Reconstrucţia semnalului
din eşantioane, apare ca un semnal de curent
continuu.
• Crescând rata de eşantionare la 7 eşantioane/
4perioade (Fig.6.15.b) semnalul reconstituit
creşte în frecvenţă, dar apare tot aliat la o
frecvenţă inferioară semnalului original.
• Dacă rata de eşantionare creşte la fs = 2f,
semnalul eşantionat va avea frecvenţa corectă
(f) putând fi reconstituit ca semnalul original
(Fig.6.15.c).
Pentru procesarea în domeniul timp, este importantă creşterea ratei de eşantionare astfel încât eşantioanele să reprezinte cât mai bine semnalul original. Crescând rata la fs = 10f sau 10 eşantioane/perioadă, se obţine o reproducere mai exactă a semnalului original (Fig.6.15.d).
B. Measurement & Automatation
Explorer (MAX)
• Similar cu Windows Device Manager, care
administrează toate perifericele conectate
la un PC, MAX gestionează toate compo-
nentele hardware și software de la NI.
• MAX este un instrument software (un
utilitar) al firmei National Instruments, care
ajută la instalarea şi testarea echipamen-
telor hardware produse de firma National
Instruments.
• Acest program instalează şi monitori-
zează orice echipament al firmei National
Instruments, care a fost conectat la
calculator.
• În figura următoare se pot oberva
posibilităţiile oferite de acest utilitar
software
se poate efectua un test intern (Self-Test)
pentru a vedea dacă echipamentul selectat
funcţionează bine;
se poate efectua un test de verificare (Test
Panels);
se poate crea o activitate (Create Task) care
se poate include în program;
se poate vedea configuraţia pinilor (Device
Pinouts);
se pot vedea proprietăţiile plăcii (Properties).
• Un exemplu de Test Panels este prezentat în figura de mai jos. În acest test se pot testa intrarile analogice la care trebuie menţionat valoarea maximă şi minimă a intervalului de măsurare, frecvenţa (Rate) de eșantionare şi numărul de eșantioane (Samples To Read), ieşirile analogice, linii digitale I/O, numărătoarele (counter/timer).
• În figura
alăturată este
arătat modul
de creare a
unei activități
(task),
selectând
opţiunea
Create Task.
• În acest configurator trebuie setată valoarea maximă şi minimă a semnalului
măsurat, driverul DAQmx amplificând sau atenuând automat semnalul pentru
o rezoluţie căt mai bună a convertorului analog-numeric, astfel încât
măsurarea ce va fi efectuată va fi mult mai sensibilă pe domeniul selectat. Mai
trebuie de asemenea specificată configurarea intrărilor analogice (Terminal
Configuration), unde există mai multe posibilităţi. Se va încheia definirea task-
ului prin atribuirea unui nume. Toate activităţile pe care le definiţi se vor regăsi
în lista Data Neighborhood\NI-DAQmx Tasks.
C. Driver-ul NI-DAQmx
• Driver-ul pentru achiziție de date dezvoltat de National Instruments, NI DAQmx, este mijlocul software pentru comunicarea ușoară cu hardware-ul.
• Acesta formeaza un nivel de intermediere între aplicatia propriuzisă și hardware, permițând evitarea programarii low-level, la nivel de regiștrii.
• Deci, driver-ul formează etajul intermediar între aplicația software și hardware.
• Driverul NI DAQmx ofera unelte atât pentru utilizatorii noi în achiziție de date, cât și pentru cei experimentați oferind atât functii bazate pe configurare, cât si functii low level pentru programare avansată.
• Un exemplu este aplicatia DAQ Assistant care utilizeaza tehnologia NI Express pentru a realiza un wizard interactiv, bazat pe configurație, realizând astfel în mod simplu și rapid configurarea aplicației pentru achiziție de date, codul fiind generat automat conform selecțiilor realizate în etapa de configurare.
• Pentru aplicatii mai sofisticate, ce necesita proprietati avansate precum rutare de semnal, modificare dimensiuni memorie buffer, sincronizare avansata si altele, driver-ul NI DAQmx ofera o întreaga interfața de programare (API) ce ofera acces la funcții avansate specifice.
• În urma instalarii driver-ului DAQmx, funcțiile acestuia pot fi ușor accesate din paleta de funcții a lui LabVIEW.
• Principalele functii ale API sunt:
Creare Canal Virtual (DAQmx Create Virtual Channel) – unde se aloca resurse (intrare/iesire analogica, intrari/iesiri digitare, numaratoare) și se configurează tipul de măsuratori (de la senzori de acceleratie, termocupluri, punți tensiometrice, măsurare de frecvență, numarare de impulsuri, calculare poziție de le encodere în cuadratură, etc.)
Configurarea parametrilor de temporizare a achizitiei
Configurarea de Trigger
Citire/Scriere date in functie de modul configurat (ahiziție sau generare)
Functii de control a achiziției (Start, Stop, Dezalocare resurse).
Configurare Canal
Configurare temporizare achizitie
Configurare de trigger
Functii de control a achizitiei, start achizitie
Citire /Scriere date
Dezalocare resurse
C.1 DAQ Assistant
• Multe aplicații, care nu necesită sincronizări și timing-uri importante pot fi obținute cu ajutorul VI-ului DAQ Assistant Express. Acest VI permite o ușoară configurare a plăcii de achiziție.
• DAQ Assistant reprezintă un VI Express ce oferă o interfaţă ușoară pentru configurarea, testarea şi programarea achiziţiei de date.
• Atunci când VI-ul Express DAQ Assistant este plasat în diagrama bloc, apare o cutie de dialog în care se configurează activitatea (task-ul) pentru realizarea funcției de măsurare specifică. Prin crearea acestei aplicații locale se va specifica exact tipul de măsurare care va avea loc.
• Se pot realiza următoarele tipuri de aplicații:
Analog Input (Intrare Analogică)
Analog Output (Ieșire Analogică)
Counter Input (Intrare Contorizare)
Counter Output (Ieșire Contorizare)
Digital I/O (Intrare/Ieșire Digitală)
• Intrarea analogică este utilizată pentru
realizarea conversiilor analog-digitale (A/D)
• Tipurile de măsurare disponibile în această
aplicație sunt: tensiune, temperatură, efort
(forță), curent, rezistență, poziție, accelerație,
frecvență, e.t.c.
• Fiecare tip de măsurare are propriile
caracteristici, cum ar fi valoarea rezistenței
pentru măsurarea curentului sau parametrii
mărcii tensometrice pentru măsurarea efortului
(forței)
1. Se vor preciza limitele de intrare. Dacă nu se cunosc limitele de variație a semnalului de măsurare, se pot folosi valorile implicite (+10V pentru valoarea maximă și -10V pentru valoarea minimă).
2. Se va selecta configurația terminalelor sursei de semnal utilizată (Configurația diferențială sau Configurația cu referire la masă).
3. Se va selecta Modul de Achiziție în blocul de Configurare Timing. A fost setat modul N Eșantioane, 100 de Eșantioane Citite, la o Rată de eșantionare de 1K (1000Hz).
• Ieșirea analogică a unei plăci de achiziție este utilizată pentru realizarea conversiei digital-analogică (D/A). O aplicație (un task) de ieșire analogică este fie o tensiune fie un curent.
• Pentru realizarea unei astfel de aplicație, trebuie instalată o placă de achiziție compatibilă, care poate să genereze un astfel de semnal (tensiune sau curent).
C.2 SIMULAREA UNEI PLĂCI DE
ACHIZIȚIE • În driver-ul NI-DAQmx se pot simula diferite plăci de achiziție
de la NI.
• O placă de achiziție simulată permite:
Realizarea diferitelor aplicații, fără a dispune de hardware-ul necesar.
Evaluarea funcționalității aplicației fără a deține hardware-ul necesar.
Mai târziu, când va fi achiziționat hardware-ul, se va putea importa configurația plăcii simulate la placa de achiziție reală, utilizând utilitarul MAX.
• O placă simulată lucrează ca o placă reală. Aceasta poate fi utilizată pentru crearea diferitelor aplicații, fie cu ajutorul lui DAQ Assistant, fie cu ajutorul API.
Cum se poate crea o placă de achiziție
simulată în driver-ul NI-DAQmx
1. Deschideți Measurement & Automation
Explorer (MAX). Placa simulată în NI-DAQmx
va fi creată în MAX. Max a fost instalat odată
cu instalarea driver-ului NI-DAQmx. Dacă
MAX nu este instalat, atunci trebuie
modificată instalarea lui NI-DAQmx.
2. Click pe My System și apoi click-dreapta pe
Devices and Interfaces.
3. Selectați Create New
4. Selectați NI-DAQmx Device» NI-DAQmx Simulated Device și apoi click Finish.
5. Selectați, de exemplu, M Series DAQ » NI PCI-6221 și apoi click OK. Placa simulată va apărea în panoul de configurare din MAX.
C.3 CREAREA UNEI ACTIVITĂȚI (UNUI
TASK) ÎN NI-DAQmx
• În NI-DAQmx, o activitate (un task) este o colecție de
unul sau mai multe canale, temporizări (timing),
declanșatoare (triggering) și alte proprietăți.
Conceptual, un task reprezintă o măsurare sau o
generare pe care dorim să o efectuăm. De exemplu,
putem crea un task pentru măsurarea temperaturii de
la unul sau mai multe canale ale unei plăci de
achiziție.
• Pentru crearea și configurarea unui task care să
citească o tensiune de la o placă de achiziție
simulată, se vor parcurge următorii pași:
a. Click-dreapta
pe My
System>>Data
Neighborhood
>>NI-DAQmx
Tasks și apoi
selectare
Create New NI-
DAQmx Task.
O fereastră vă
va solicita să
selectați tipul de
măsurare
b. Faceți click pe Analog Input de sub Acquire Signals.
c. Selectați Voltage pentru a crea o aplicație (un task) de citire a unei tensiuni, pe intrarea analogică. Din cutia de dialog care va apărea se pot selecta unul sau mai multe canale ale plăcii de achiziție simulate PCI-6259.
• Pentru crearea aplicației (task-ului) sunt disponibile atât plăcile de achiziție reale cât și cele simulate. DAQ Assistant nu va face distincție între acestea. Plăcile simulate au icoana de culoare galbenă, iar cele reale, verde.
d. În lista Supported Physical Channels se vor selecta șase canale de intrare analogică și apoi se dă click pe butonul Next. Va apărea o nouă cutie de dialog, pentru denumirea aplicației.
e. Click Finish. Apoi se va deschide o nouă fereastră pentru configurarea aplicației.
f. În secțiunea Signal Input
Range a paginii de
setare, se vor introduce
valorile maxime si minime
ale tensiunii (+10 și -10V)
g. Se va selecta N Samples din meniul Acquistion
Mode al secțiunii Timing Settings.
h. Se introduc valori pentru nr. de eșantioane citite
(Samples To Read) și pentru rata de eșantionare
(Rate)
e. Click pe butonul Run situat în partea de sus a ferestrei. Atât plăcile simulate cât și cele reale pot fi testate în mediul DAQ Assistant. Plăcile simulate crează un semnal sinusoidal cu zgomot, pe toate canalele de intrare.
D. NI USB 6008
• NI USB-6008 is a simple and low-cost multifunction I/O device
from National Instruments.
• The device has the following
specifications:
8 analog inputs (12-bit, 10 kS/s)
2 analog outputs (12-bit, 150 S/s)
12 digital I/O
USB connection, No extra power-supply
neeeded
Compatible with LabVIEW,
LabWindows/CVI, and Measurement
Studio for Visual Studio .NET
NI-DAQmx driver software
• The NI USB-6008 is well suited for
education purposes due to its small size
and easy USB connection.
D.1 CONNECT NI USB-6008 TO THE PC • Configuring and testing: USB-6008 can
be configured and tested using MAX (Measurement and Automation Explorer), which is installed with the NI-DAQmx Driver Software.
• The first time you connect the USB-6008 to the PC, the Windows Hardware Installer Wizard will open.
• The wizard searches the PC for the necessary driver software for the USB-6008. This driver software was installed along with the installation of the NI-DAQ software. When the wizard has finished the installation of the driver software, the USB-6008 is ready for use.
7.1.1 TESTING THE USB-6008 IN MAX
• Before you start to use the USB-6008 in an application, you should test the device in the Measurement and Automation Explorer (MAX).
• In the MAX window, expand the “Devices and Interfaces” node
and then “NI DAQmx Devices”. Right-click on the NI USB-6008
device and select “Self-Test”.
• The Figure shows the AI0 and AO0 channels wired together.
D.2 USING NI USB-6008 IN LABVIEW
• In order to use the NI USB-6008 in LabVIEW you need to use the DAQmx functions, see Figure below.
• DAQmx – Data Acquisition palette:
D.2.1 ANALOG INPUT • The easiest ways is to
use the DAQ Assistant.
When you drag the DAQ Assistant icon on your Block Diagram, the following window appears:
• In this window you need to select either “Acquire Signals” (i.e., Input Signals) or “Generate Signals” (i.e., Output Signals).
• Select Acquire Signals → Analog Input → Voltage.
• In the next window you select which Analog Input you want to use. Select ai0 (Analog Input channel 0) and click Finish.
• The following window appears:
• In the Timing Settings Select “1 Sample (On Demand)”.
• The next step is to select the Signal Input Range. A common signal is 0-5V.
• You may also rename the name of the channel (right-click on
the name):
• You are now finished with the configuration. Click OK in the DAQ Assistant window The DAQ Assistant icon appears on the Block Diagram:
Example:
• Wire the data output to a numeric
indicator like this (and hit the Run
button):
• Then numeric indicator will show,
e.g., the following value:
Example:
• If you want a continuous acquisition, put a While loop around the DAQ Assistant like this:
• However you should not use the DAQ Assistant inside a loop because of the lack of performance. The following is therefore better:
• In this example we have put the DAQ Assistant outside the While loop. Inside the loop we have used the DAQmx Read.vi in order to read the value from the ai0 channel.
• You should also use the “DAQmx Start Task.vi” and the “DAQmx Clear Task.vi”.
Aplicația 6.1. VI-ul Voltmetru
Obiectiv: Achiziția unui semnal analogic utilizând placa de achiziție NI USB 6008.
• Se vor completa pașii de mai jos pentru realizarea unui VI care să măsoare tensiunea conectată la canalul ai0 al plăcii de achiziție
1. Se deschide un VI gol și se va realiza panoul frontal din figură.
Fig.6.1. Panoul Frontal al Voltmetrului
2. Se va realiza diagrama bloc din figură.
Fig.6.2. Diagrama Bloc a Voltmetrului
D.2.2 ANALOG OUTPUT
• Analog Output is similar.
Example:
• Or inside a loop:
• Or better, put the DAQ Assistant outside the While loop:
Aplicația 6.2. VI-ul Tensiune de Ieșire
Obiectiv: Se va realiza un VI care să genereze o
tensiune, la ieșirea analogică a unei plăci de achiziție.
Va fi generată o tensiune între 0 și 5V în pași de 0,5V
Fig.6.3. Panoul Frontal al VI-ului Tensiune Ieșire
Fig.6.4. Diagrama Bloc a VI-ului Tensiune Ieșire