Documente Academic
Documente Profesional
Documente Cultură
SISTEME DE ACHIZIŢIE ŞI
PRELUCRARE A DATELOR
- NOTE DE CURS –
2013
CUPRINS
CAPITOLUL I
Generalităţi privind sistemele de achiziţie
şi prelucrare a datelor
1.1. Introducere
În ziua de astăzi tot mai mulţi oameni de ştiinţă şi ingineri folosesc porturile PC-ului
(paralel, serial, PCI, PCMCIA, USB, ISA) pentru a realiza achiziţia de date în laboratoarele
de cercetare, pentru teste şi măsurători, precum şi pentru automatizarea diferitelor procese din
industrie. Multe din aplicaţiile ce presupun achiziţia de date folosesc plăci de tipul plug-in
(plug-in boards), pentru culegerea datelor şi trimiterea acestora direct în memoria
calculatorului. Alte tipuri de aplicaţii folosesc echipamente hardware specializate în achiziţia
de date, care sunt cuplate la calculator / PC folosindu-se pentru aceasta portul paralel sau cel
serial.
Obţinerea unor rezultate cât mai performante în cazul achiziţiei de date ce foloseşte
metoda bazată pe componente hard dedicate procesului de achiziţie depinde direct de
elementele unui astfel de sistem prezentate în fig.1.1:
• PC-ul
• echipamentul hard destinat achiziţiei şi analizei datelor
• software-ul
• instrumentele de prelucrare a semnalelor
• traductoare
Hardware pentru
achiziţie şi analiză
Traductoare
Condiţionare
semnal
PC Software
1
Generalităţi privind sistemele de achiziţie şi prelucrare a datelor
semnalelor cu un nivel mai ridicat, izolarea semnalelor, filtrarea semnalelor pentru o mai bună
utilizare, fig.1.2.
2
Sisteme de achiziţie şi prelucrare a datelor
3
Generalităţi privind sistemele de achiziţie şi prelucrare a datelor
Un alt factor care ar putea limita viteza de achiziţie în cazul prelucrării unei cantităţi
mari de informaţie îl reprezintă hard-disk-ul. Timpul de acces la disk precum şi gradul de
fragmentaţie al acestuia, vor determina viteza la care datele pot fi culese şi stocate pe disk.
Motiv pentru care se recomandă utilizarea unor disk-uri de capacitate mare şi viteză ridicată
care să nu îngreuneze procesul de achiziţie.
Aplicaţiile care necesită achiziţia de date în timp real a semnalelor de frecvenţă ridicată
au nevoie de procesoare de 32 de biţi rapide şi de coprocesoarele acestora, sau prezenţa unui
procesor de digital (DSP) de prelucrarea a semnalelor. Alegerea sistemului de operare al PC-
ului precum şi a softului care gestioneze desfăşurarea procesului de culegere de date trebuie
făcută cu grijă.
Software-ul este cel care transformă PC-u şi echipamentul de achiziţie într-un adevărat
sistem de achiziţie, analiză şi vizualizare a datelor. Un echipament de achiziţie de date este
practic inutil fără soft-ul aferent care să gestioneze procesul de achiziţie, precum aproape
inutil este şi un echipament de achiziţie cu un soft neadecvat sau slab din punct de vedere
calitativ. Majoritatea aplicaţiilor de culegere şi prelucrare a datelor folosesc programe de tip
drive. Acest tip de software lucrează direct cu regiştrii echipamentului de achiziţie (placa)
realizând tot odată gestionarea transferului de informaţie dintre PC şi placă. Programele de tip
driver ascund detaliile complicate ale programării, oferind utilizatorului o interfaţă uşor de
utilizat.
Un driver bun din punct de vedere calitativ va determina o combinaţie optimă între
flexibilitatea şi performanţele sistemului; aceste caracteristici diminuându-se în cazul un
driver mai puţin performant.
4
Sisteme de achiziţie şi prelucrare a datelor
SISTEM DE DISPOZITIVE
TRADUCTOARE SAD SPN DISTRIBUŢIE MEMORARE
DATE ŞI REDARE
Acţiuni
Mărimi fizice
fizice
PROCES ELEMENTE
FIZIC DE EXECUŢIE
5
Generalităţi privind sistemele de achiziţie şi prelucrare a datelor
• amplificare,
• filtrare,
• izolare,
• conversie curent-tensiune.
Semnalele numerice sunt obţinute în continuare prin prelevarea unui eşantion la anumite
momente de timp a valorii semnalului analogic şi atribuirea unui cod numeric în funcţie de
nivelul (mărimea) acestui eşantion. Conform acestei funcţii a SAD rezultă că elementele de
bază în structura acestuia sunt circuitul de eşantionare şi memorare respectiv convertorul
analog numeric. Circuitul de prelucrare numerică are rolul de a reprezenta sub o anumită
formă impusă de aplicaţia respectivă a informaţiilor culese din proces sub formă de semnale.
Reprezentarea acestora se poate face prin:
• identificarea semnalului purtător al informaţiei,
• reprezentarea tabelară a valorilor acestuia,
• reprezentarea grafică a evoluţiei în timp,
• reprezentarea în domeniul frecvenţei.
Se obţin astfel semnale numerice prelucrate care conţin informaţii despre starea şi evoluţia
procesului în reprezentări corespunzătoare aplicaţiilor. Aceste sunt utile de asemenea pentru
generarea comenzilor în vederea reglării sau conducerii procesului şi aceste comenzi generate
de sistemul de prelucrare sunt reprezentate sub formă numerică astfel că este necesară
conversia acestora în semnale analogice. Această funcţie este realizată de convertoarele
numeric analogice care se găsesc în componenta de distribuţie de date a sistemului. Semnalele
numerice şi analogice pot fi utilizate pentru memorarea şi redarea informaţiilor sau pentru
comanda elementelor de execuţie (motoare, relee, electrovalve, etc.) prin care se realizează
controlul procesului fizic.
Sistemul de achiziţie de date după rolul şi poziţia pe care o are în cadrul sistemului de
control poate fi asimilat împreună cu traductorul cu un sistem de măsurare pentru că acestea
sunt cele care culeg informaţia şi o transmit sub forma corespunzătoare sistemului de
prelucrare.
Îndeplinirea cerinţelor impuse unor astfel de sistemelor impune utilizarea
microelectronicii (microprocesoare, microcontrolere) în structura lor ceea ce a atras după sine
dezvoltarea atât a tehnicilor cât şi a mijloacelor de măsurare permiţând pe lângă
implementarea unor funcţii matematice şi îmbunătăţirea preciziei de măsurare prin efectuarea
corecţiilor corespunzătoare precum şi automatizarea operaţiilor de măsurare. Evoluţiile în
ceea ce priveşte componenta hard a sistemelor de măsurare sunt corelate cu aplicaţiile soft
corespunzătoare.
Sistemele de comanda şi control cu posibilităţi de utilizare şi în tehnica măsurărilor
pot fi grupate astfel:
• sisteme universale în care sunt utilizate microprocesoare sau microcontrolere
programabile;
• sisteme orientate pe aplicaţii;
• sisteme dedicate realizate în logică cablată.
Dintre acestea primele două prezintă un interes major în aplicaţii de acest gen, ultima
grupă cu tot avantajul oferit de viteza mare de lucru are aplicaţii restrânse datorită flexibilităţii
nule, a numărului mare de componente ceea ce atrage după sine un consum energetic care
devine restrictiv în cadrul instrumentaţiei portabile precum şi o fiabilitate mai redusă.
6
Sisteme de achiziţie şi prelucrare a datelor
b1b2…bN
ui Amplificator Circuit de Convertor
Filtru de
cu câştig eşantionare/ analog /
intrare
programabil memorare numeric
A E/M start stare
conv conv
Sistem de Prelucrare Numerică (SPN)
7
Limbajul de programare grafică LabVIEW
CAPITOLUL II
Limbajul de programare grafică LabVIEW
2.1. Introducere în LabVIEW
LabVIEW reprezintă un limbaj grafic de programare (denumit şi limbaj G) şi conţine
unelte necesare pentru achiziţia, citirea, prelucrarea, stocarea şi afişarea datelor. Cu
LabVIEW, programatorul proiectează virtual foarte repede interfaţa cu utilizatorul (GUI) şi
asamblează grafic soluţia, după propriile necesităţi. LabVIEW accelerează obţinerea soluţiei
cu un factor de cel puţin 4 sau 10 ori, fata de mediile tradiţionale de programare. Limbajul
grafic de programare a evoluat de la o alternativa în programare la un standard industrial.
Avantajele utilizării instrumentaţiei virtuale sunt reducerea considerabila a costurilor capitale
şi cu dezvoltarea sistemului, şi a timpului de realizare a măsurătorilor
Se prezintă în continuare conceptul de instrumentaţie virtuală, caracteristicile mediului
de programare LabVIEW şi structura unui instrument virtual.
LabVIEW este un mediu de programare utilizat mai ales pentru realizarea
măsurătorilor şi monitorizarea unor procese automatizate. Pentru scrierea programelor în
LabVIEW, se utilizează limbajul grafic G, limbaj de programare de generaţia a 5-a, mediul
LabVIEW conţinând mai multe biblioteci de funcţii predefinite pentru achiziţia, prelucrarea,
afişarea şi transmiterea datelor.
Programele realizate în LabVIEW se numesc instrumente virtuale (Virtual Instruments
- VI), la baza acestora stând conceptele de modularizare şi ierarhie arborescentă (fig.2.1).
Când se proiectează şi se implementează un VI, trebuie să se ţină cont de natura modulară a
acestuia, să poată fi utilizat atât ca program principal cât şi ca subrutină în componenţa unui
alt VI. Un VI folosit la realizarea unui alt VI se numeşte subVI, având rolul unei subrutine.
Prin crearea şi utilizarea de subVI la realizarea altor VI, utilizatorul defineşte ierarhii de VI.
8
Sisteme de achiziţie şi prelucrare a datelor
Pictograma
Conectorul Diagrama
Panou frontal
9
Limbajul de programare grafică LabVIEW
Odată cu lansarea
programului din Start » Programs
» National Instruments »
LabVIEW, pe ecranul
calculatorului apare meniul
prezentat în fig.2.5 prin intermediul
căruia se poate crea un instrument
nou plecând fie de o pagină albă fie
de la de la o pagină de ajutor sau se
poate
Prin lansare în execuţie a
programului şi prin alegerea
opţiunii New VI, se observă că
pentru crearea unui nou VI s-au
deschis două ferestre. Prima este
fereastra Panoului frontal iar cea
de-a doua este fereastra Diagramei
bloc, după cum se observă şi în
Fig.2.5. Meniul LabVIEW
exemplele prezentate mai sus.
Ferestrele
Panoului frontal
a b c d e f g h şi ale Diagramei
bloc din VI
posedă fiecare
câte o bară
Indicator de Enter i j k l orizontală cu
atenţionare
unelte. Aceste
Butoanele suplimentare care apar în bara de unelte în cadrul diagramei
bare cu unelte
Fig.2.6. Bara de unelte sunt
implementate
prin intermediul unor butoane, liste derulante sau indicatoare de stare, utilizate pentru
editarea, trasarea şi execuţia unui VI (fig.2.6.). O parte din opţiunile celor două bare cu unelte
sunt comune şi anume cele dispuse în partea dreapta a barei.
Semnificaţia butoanelor din bara de meniuri este următoarea :
• a – rulare VI
• b – rulare continua a unui VI
• c – oprirea rulării unui VI
• d – pauza în rularea unui VI
• e – font control
• f ÷ h – butoane utilizate pentru ordonarea şi configurarea panoului frontal
• i – regim de rulare cu afişarea fluxurilor
• j ÷ l – trasare interactiva (programul aşteaptă ca utilizatorul sa indice execuţia următoarei
instrucţiuni)
Bara orizontală de
meniuri conţine opţiuni
Fig.2.7. Bara de meniuri Windows pentru realizarea unor
acţiuni obişnuite
(gestiune fişiere, editare), implementate în majoritatea aplicaţiilor Windows (fig.2.7.), a căror
semnificaţie şi utilizare va fi prezentată ulterior. Mai există de asemenea o serie de opţiuni
noi, specifice acestui mediu de programare, care de asemenea vor fi prezentate ulterior.
10
Sisteme de achiziţie şi prelucrare a datelor
• unealta de defilare
• unealta de colorare
11
Limbajul de programare grafică LabVIEW
12
Sisteme de achiziţie şi prelucrare a datelor
13
Limbajul de programare grafică LabVIEW
14
Sisteme de achiziţie şi prelucrare a datelor
15
Limbajul de programare grafică LabVIEW
a) b)
Fig.2.16. Setare format şi precizie
Tabel 2.2.
Valoare Scientific Automation formatting SI notation
3.000
0,003
16
Sisteme de achiziţie şi prelucrare a datelor
• Controale şi indicatoare
numerice
• Controale şi indicatoare
slide
• Controale şi indicatoare
rotative
• Controale şi indicatoare
rezervor, termometru, scroll
La acestea se adaugă controale şi indicatoare corespunzătoarele variabilei
independente timp şi anume:
• Time Stamp - marca de timp (fig.2.18.) care conţine
Time Stamp Control şi Time Stamp Indicator prin
Fig.2.18. Marca de timp intermediul cărora se pot trimite sau primi informaţii
despre intervale de timp către şi de la diagrama bloc.
Pentru obiectul de tip control setarea valorii timpului şi datei se poate face prin selecţia
controlului şi cu clic – dreapta alegerea opţiunii
Format & Precision sau prin utilizarea
butonului Time/Date Browse situat în dreapta
controlului care deschide o fereastră de selecţie a
timpului real al calculatorului, fig.2.19. Aceiaşi
fereastră se deschide şi prin selecţia controlului,
clic – dreapta şi alegerea opţiunii Data
Operations » Set Time and Date din meniul
pull - down. Dacă se alege opţiunea Data
Operations » Set Time to Now este preluat
automat timpul real al calculatorului.
Pe lângă parametrii menţionaţi se pot seta şi
atribute specifice componentei de interfaţă a
controlalelor şi indicatoarelor de tip numeric ce pot
Fig.2.19. Utilizarea butonului să difere în funcţie de tipul controlului sau
Time/Date Browse indicatorului, prin intermediul clasei de atribute
Appearance, conform fig.2.20.
• Label – validarea afişării etichetei controlului;
• Caption – validarea afişării numelui controlului numai pe panoul frontal;
• Enable State – vadidarea apariţiei controlui pe panoul frontal (Enabled), invalidarea
funcţionării controlului (Disabled), invalidarea funcţionării şi estomparea conturului
controlului.
17
Limbajul de programare grafică LabVIEW
18
Sisteme de achiziţie şi prelucrare a datelor
19
Limbajul de programare grafică LabVIEW
20
Sisteme de achiziţie şi prelucrare a datelor
21
Limbajul de programare grafică LabVIEW
22
Sisteme de achiziţie şi prelucrare a datelor
rezidente în memorie, ele se pierd automat atunci când se selectează alt şir de caractere din
listă.
În aceeaşi categorie a controalelor de tip şir de caractere sunt şi File Path Control
respectiv File Path Indicator prin intermediul cărora se poate indica respectiv se poate citi
calea unui fişier aflat pe hard – discul calculatorului sau pe un suport de memorie ataşat
calculatorului.
1,5 index
1
0 1 2 3 4 5 6 7 8 9
0,5
04 09 14 08 0 1 0 03 02 0
0 Tablou (array) cu 10 elemente
1 2 3 4 5 6 7 8 9 10
-0,5
-1
23
Limbajul de programare grafică LabVIEW
2,5
index coordonate x
2
0 1 2 3 4 5 6
1,5 0,4 2,2 3,3 3,2 2,4 1,8 1,9
0,2 0,5 1,3 2,3 2,6 1,9 1,2
1
0,5
0
coordonate y
0 0,5 1 1,5 2 2,5 3 3,5
⇒ ⇒
a)
b)
b)
24
Sisteme de achiziţie şi prelucrare a datelor
indicator sau control după tipul elementelor ce le conţine. Construirea unei variabile de tip
tablou care să conţină elemente de tip control se realizează în mod similar cu deosebirea că
este selectat din bibliotecile LabVIEW elementul control şi acesta care se va trage cu mouse –
ul în fereastra obiectului Array. Este logic să se deducă concluzia prin care elementele unui
tablou sunt toate controale sau toate indicatoare. Definirea tipului elementelor tabloului se
poate modifica printr-un click – stânga cu mouse – ul pe elementul tabloului şi schimbarea
acestui element din indicator în control sau invers.
Pentru componenta tablou sunt afişate două căsuţe şi anume căsuţa indicelui, din
partea stângă şi căsuţa valoare din partea dreapta. Intre acestea este relaţia prin care într-o
căsuţă valoare se afişează valoarea elementului tabloului corespunzătoare poziţiei prezentată
în căsuţa indice. Cu unealta de editare se poate mari dimensiunea căsuţei valoare. Dacă se
măreşte dimensiunea căsuţei valoare, se afişează simultan mai multe elemente ale tabloului şi
dispunerea acestor element este pe orizontală
sau pe verticală.
Reducerea dimensiunilor unui tablou se
realizează în mod asemănător. Pentru un tablou
cu mai multe dimensiuni (matrice), se poate
mări zona valorilor atât pe orizontală cât şi pe
verticală: se obţine o afişare matricială a
elementelor.
Acestor elemente de pe panoul frontal le
sunt asociate funcţii corespunzătoare tipului de
date tablou şi acestea sunt grupate în caseta cu
funcţii Array, redat în fig.2.34. La majoritatea
funcţiilor, care operează cu tablouri, se
Fig.2.34. Grupul de funcţii Array întâlneşte proprietatea de polimorfism, fig.2.35.
având următoarele caracteristici:
Fig.2.35. Explicativă a
proprietăţii de polimorfism
- tabloul, ca parametru de intrare, poate să aibă una sau mai multe dimensiuni;
- tipul elementului de tablou poate să fie de orice tip de dată acceptat.
Câteva dinte cele mai uzuale funcţii ale grupului „Tablou” (Array), prezentate în
fig.2.30. sunt:
25
Limbajul de programare grafică LabVIEW
Extragere element
Extragere subtablou
(o linie)
Fig. 2.37. Funcţia Index Array
• Funcţia „Iniţializează tablou” (Initialize Array), realizează iniţializarea elementelor
unui tablou cu N dimensiuni cu o valoare indicată. În fig.2.38. este prezentat un
exemplu de iniţializarea a unui tablou care va avea 6 elemente (2 linii x 3 coloane) cu
valoarea 4.
• Funcţia „Construieşte Tablou” (Build Array) returnează un tablou, ale cărui elemente
sunt date de valorile parametrilor de intrare. Dacă este setată opţiunea Concatenate
Inputs din meniul contextual al funcţiei Build Array, tabloul se va construi prin
alăturarea elementelor de intrare a funcţiei, fig.2.40. dacă însă nu este setată această
opţiune tabloul se va construi prin adăugarea de dimensiuni, ceea ce înseamnă
adăugarea de linii, lungimea fiecăreia fiind dată de lungimea celei mai mici dintre
acestea, fig.2.41.
26
Sisteme de achiziţie şi prelucrare a datelor
27
Limbajul de programare grafică LabVIEW
a)
a) b)
28
Sisteme de achiziţie şi prelucrare a datelor
a)
Fig.2.49. Utilizarea
funcţiei Bundle
b)
29
Limbajul de programare grafică LabVIEW
Prin operaţia de
degrupare programatorul are
acces simultan la toate
elementele conţinute intr-o
varianta de tip grup, spre
deosebire de tablouri unde prin
indexare se obţine accesul la un
singur element. Fiecare element
Fig.2.50. Funcţiile Unbundle şi Unbundle by Name dintr-o structura de tip grupare
de date are asociat un număr de
ordine şi acesta reprezintă al câtelea element a fost adăugat mulţimii; numărătoarea începe de
la valoarea zero. Numărul de ordine asociat elementelor grupului este actualizat automat în
momentul realizării operaţiilor de adăugare sau eliminare de elemente. Există funcţii
predefinite, asociate tipului de date grupare de date, care folosesc numărul de ordine ale
elementelor în cadrul grupului, pentru accesarea părţilor componente.
Există posibilitatea de a transforma o grupare de date
într-un tablou şi invers prin utilizarea funcţiilor Cluster to
Array şi respectiv Array to Cluster cu observaţia că pentru
utilizarea acestor funcţii este necesar gruparea să conţină date
de acelaşi tip.
Pentru o grupare de date existentă se poate modifica
ordinea elementelor obţinute. Pentru aceasta din meniul
contextual se alege opţiunea Reorder Controls In Cluster şi
elementelor grupului li se vor ataşa numere de ordine
elementelelor mulţimii pe care utilizatorul le poate modifica
stabilind o noua ordine (fig.2.51). O componentă tip grupare
de date poate fi redimensionată folosind unealta de editare
astfel: se modifică dimensiunea chenarului exterior.
Fig.2.51. Modificarea ordinii Elementele grupului pot fi mutate în poziţia dorită, fără să se
elementelor unui Cluster depăşească perimetrul structurii. Un element se elimină din
grup prin selecţie cu mouse – ul, şi ştergere cu tasta <Delete>.
2.2.8.1. Lista
Este un control care permite introducerea de acţiuni generate de alegerea elementelor
dintr-o listă şi poate fi cu o singură coloană (Listbox) sau multicoloană (Multicolumn
Listbox). Modul de reprezentare al elementelor în listă poate fi alfanumeric.
Variabila de ieşire a cestui control este de tip numeric dacă din meniul contextual este
aleasă una din opţiunile Selection Mode » 0 or 1 Item sau Selection Mode » 1 Item sau de
tip tablou dacă este aleasă una din opţiunile Selection Mode » 0 or More Item sau Selection
Mode » 1 or More Item. Valorile acestora reprezintă numărul de ordine al elementului din
30
Sisteme de achiziţie şi prelucrare a datelor
listă începând cu valoarea 0 pentru primul element. Dacă nu este selectat niciun element
valoarea variabilei de ieşire va fi -1.
Elementul ales din listă poate fi utilizat şi pentru selecţia unuia dintre cazurile posibile
cuprinse într-o structură de tip Case, fig.2.53. selecţia se realizează după numărul de ordine al
elementului din listă deci variabila de ieşire a controlului Listbox trebuie să fie de tip
numeric, aleasă după cum este prezentat mai sus.
2.2.8.2. Tabel
Este un control prin intermediul căruia se pot introduce elemente ale unui tabel de tip
numeric sau de tip şir de caractere şi aceste elemente pot fi citite pot fi citite numai cu un
indicator de tip tabel, fig.2.54. deoarece formatul datelor de ieşire ale unui astfel de control
sunt de tip şir de caractere (string) organizate într-un tablou 2D.
31
Limbajul de programare grafică LabVIEW
semnal
32
Sisteme de achiziţie şi prelucrare a datelor
33
Limbajul de programare grafică LabVIEW
a parametrilor x0 şi respectiv Δx, astfel în fig.2.60. sunt modificaţi aceşti parametrii (x0 = 25,
Δx = 2) şi se observă efectul asupra reprezentării grafice.
Fig.2.61. Utilizarea indicatorului de tip grafic pentru date de tip formă de undă
timp şi vor fi x0 = t0 şi Δx = dt prin intermediul funcţiei Build Waveform
Un alt tip de date acceptate de acest indicator sunt date de tip dinamic (dynamic data
type) care reprezintă de fapt tot o formă de undă generată însă prin utilizarea funcţiilor
Express (Express » Input » Simulate Signal), fig.2.62. Un astfel de semnal pe lângă datele
propriu-zise ce reprezintă coordonatele punctelor ce se for reprezenta grafic conţine şi
informaţii asociate semnalului cum ar fi numele acestuia, data şi ora când a fost achiziţionat.
Fig.2.62. Utilizarea indicatorului de tip grafic pentru date dinamice (dynamic data type)
34
Sisteme de achiziţie şi prelucrare a datelor
Unui indicator de tip grafic i se pot seta atribute prin intermediul opţiunii Properties
din meniul contextual prin selecţia căreia se deschide o fereastră ce permite setări pentru:
• Mod de afişare (Appearance), fig.2.63.a prin care se setează afişarea următoarelor:
35
Limbajul de programare grafică LabVIEW
36
Sisteme de achiziţie şi prelucrare a datelor
Selecţia unuia dintre aceste moduri de actualizare se poate face prin alegerea din
meniul contextual a opţiunii Advanced » Update Mode.
Ca şi în cazul indicatorului de tip grafic se pot reprezenta în aceiaşi fereastră grafică
una sau mai multe curbe adică unul sau mai multe seturi de valori (x,y) generate de una sau
mai multe funcţii. În fig.2.65. în aceiaşi fereastră grafică sunt reprezentate simultan funcţiile
sinus şi cosinus şi valorile asupra cărora sunt aplicate cele două funcţii sunt preluate de la
variabila contor i a unei bucle While a cărei valoare creşte cu fiecare ciclare a buclei.
Faţă de indicatorul de tip grafic la indicatorul de tip diagramă în cazul reprezentării a
două sau mai multe curbe acestea pot fi trasate în aceiaşi fereastră grafică (Overlay Plots) sau
în subferestre grafice diferite (Stack Plots). Alegerea uneia sau alteia dintre cele două opţiuni
se poate face din meniul contextual.
În ceea ce priveşte setarea atributelor indicatorului de tip diagramă această setare se
realizează în mod similar celor de tip grafic prezentate anterior.
37
Limbajul de programare grafică LabVIEW
38
Sisteme de achiziţie şi prelucrare a datelor
Funcţia Bundle de grupare a celor două variabile poate fi înlocuită dacă se utilizează
indicatorul căruia îi este ataşată funcţia Build XY care are rolul de a formata datele pentru a
fi afişate pe indicatorul XY. În acest caz, fig.2.67, pe abscisa cât şi pe ordonata indicatorului
sunt repartizate valori ale funcţiei sinus obţinute prin simularea acestei funcţii, simulare
realizată prin intermediul funcţiei Simulate Signal şi datele în acest caz fiind de tip dinamic.
Şi în acest caz este exemplificată utilizarea indicatorului Express XY Graph pentu generarea
de figuri Lissajous
În ceea ce priveşte setarea atributelor indicatorului XY această setare se realizează în
mod similar celor de tip grafic prezentate anterior.
a)
b)
39
Limbajul de programare grafică LabVIEW
40
Sisteme de achiziţie şi prelucrare a datelor
Indicator Control
digital
etichete Indicator
boolean
Buton Control
Fig.2.71. Elemente ale panoului frontal
contextual Properties » Documentation.
Conţinutul descrierii se afişează în fereastra de
Click-dreapta asistenţă, când cursorul mouse – ului se plasează
pe etichetă deasupra componentei de interfaţă (fig.2.71.).
Este posibilă asocierea unei taste
Click-dreapta accelerator pentru selectarea controalelor astfel
pe indicatorul digital încât operatorul să poată interacţiona cu aplicaţia
fără folosirea mouse – ului. De asemenea la
realizarea panoului frontal nu se recomandă
utilizarea unui număr mare de culori, pentru a nu
distrage atenţia operatorului sau a îngreuna rularea
Fig.2.72. Meniuri contextuale programului.
Modificarea caracteristicilor indicatoarelor
sau controalelor sau etichetelor se poate face şi din meniurile contextuale, după cum se
observă şi în fig.2.72. În acest mod se poate modifica dimensiunea, aliniamentul etichetei, cât
şi tipul, aranjarea, formatul, domeniul de date, ş.a. atât în cazul indicatoarelor şi al
controalelor.
41
Limbajul de programare grafică LabVIEW
42
Sisteme de achiziţie şi prelucrare a datelor
După realizarea diagramei bloc, aceasta se salvează, alegându-se comanda Save din
meniul File.
Exemple simple de diagrame bloc sunt prezentate în fig.2.75.
43
Limbajul de programare grafică LabVIEW
¾ Găsirea erorilor
Apăsaţi butonul - RUN
Apare o fereastra de erori
¾ Executare cu evidenţierea fluxurilor
Apăsarea butonului de afişare a fluxurilor; fluxurile de date sunt
evidenţiate în diagrama bloc. Valorile sunt afişate pe fire.
¾ Sonda (Probe)
Clic dreapta pe fir se afişează o fereastră cu datele din segmentul
respectiv
¾ Oprirea execuţiei
a b c
Fig.2.76. Butoane de ajutor în verificarea programului
2.3.2.1.1 Pictograma
Pictograma VI se afişează în
colţul superior din dreapta al ferestrei
panoului frontal şi diagramei bloc.
Mediul LabVIEW oferă automat o
pictogramă pentru VI nou creat, formată
din simbolul grafic ce defineşte logo-ul
produsului LabVIEW şi o valoare
numerică prin care se indică câte acţiuni
de creare de VI s-au declanşat de la
pornirea mediului.
Programatorul poate să creeze
pentru fiecare VI o pictogramă.
Fig 2.77 Meniul contextual asociat pictogramei VI Actualizarea pictogramei se face cu
44
Sisteme de achiziţie şi prelucrare a datelor
ajutorul unui editor grafic specializat. Lansarea editorului se face prin una din metodele:
• Metoda 1: se selectează opţiunea “editorului de pictograme” (Edit Icon) din
meniul contextual (fig.2.77), asociat pictogramei VI; apelarea editorului se
poate face din fereastra panoului frontal sau din fereastra diagramei bloc.
• Metoda 2: se realizează dublu click cu mouse – ul direct pe suprafaţa
pictogramei.
Indiferent de metoda aleasă se
deschide fereastra editorului pictogramei,
fig.2.78 şi elementele editorului de
pictograme sunt elementele clasice ale unui
program de editare grafică, bara de unelte
conţinând:
• Unealta creion permite scrierea unui pixel;
• Unealta pentru trasarea unei linii;
• Unealta pentru prelucrarea culorii de
desenat;
• Unealta de umplere a unei arii închise cu o
Fig.2.78. Editorul pictogramei culoare;
• Unealta de trasarea chenarului unui dreptunghi;
• Unealta pentru desenarea unui dreptunghi plin;
• Unealta de selectare;
• Unealta de scriere text;
• Unealta de colorare;
Pe lângă acestea apare şi o zona de desenare, iar în partea dreaptă o serie de unelte
specifice :
• Pictograma VI pentru modul grafic de lucru “alb-negru” (B&W)
• Pictograma VI pentru modul grafic de lucru “16 culori” (16 Colors)
• Pictograma VI pentru modul grafic de lucru “ 256 culori” (256 Colors)
• Butoane prin care se permite copierea variantei pictogramei realizate în alt mod grafic
• Se pune în evidenta zona ocupata de fiecare terminal al VI, prin afisarea unor linii de
delimitare
• Se renunţă la modificările efectuate asupra pictogramei
• Se reţin modificările efectuate asupra pictogramei VI şi se revine la fereastra panoului
frontal sau diagramei bloc.
Pictograma trebuie să fie sugestivă pentru funcţia implementată în VI; pentru
realizarea acesteia, se pot folosi simbolurile grafice, combinate cu caractere alfanumerice sau
se poate adapta pictograma unui alt VI.
2.3.2.1.2 Conectorul VI
Conectorul cuprinde terminalele de intrare şi de ieşire ale VI. Prin crearea terminalelor
de intrare şi de ieşire, VI – ul curent va putea fi apelat din diagrama bloc al altui instrument:
valorile datelor de intrare se vor transmite terminalelor de intrare ale conectorului.
Poziţia terminalelor se recomandă să respecte convenţia “curgerii datelor” (data flow)
din LabVIEW, conform căruia fluxul datelor în diagrama bloc este de la stânga la dreapta şi
de sus în jos:
• Intrările sa fie plasate în jumătatea stânga (pe direcţie orizontală) a conectorului;
• Ieşirile sa ocupe jumătatea dreapta a conectorului.
45
Limbajul de programare grafică LabVIEW
46
Sisteme de achiziţie şi prelucrare a datelor
47
Limbajul de programare grafică LabVIEW
48
Sisteme de achiziţie şi prelucrare a datelor
49
Limbajul de programare grafică LabVIEW
50
Sisteme de achiziţie şi prelucrare a datelor
Valoarea iteraţiei curente este dată de terminalul contor. Terminalul contor de ciclu
poate fi aşezat de programator oriunde în interiorul subdiagramei. După prima iteraţie
valoarea terminalului este 0, după a doua iteraţie este 1,... pentru iteraţia N valoarea este N-1.
Transferul elementelor unui tablou (aflat în exteriorul structurii repetitive) în interiorul
subdiagramei structurii For se face printr-un tunel de intrare, situat pe chenarul buclei.
Tunelul de intrare permite implicit şi auto-indexarea în cazul structurii For astfel
elementele subdiagramei sunt furnizate pe rând acesteia, câte unul la fiecare iteraţie, începând
cu primul element (de indice 0) iar dimensiunea tabloului dă valoarea numărului de cicluri.
Întregul tablou este furnizat diagramei la fiecare buclă, dacă pentru acel tunel de intrare este
dezactivata opţiunea auto-indexare. Auto-indexarea se întâlneşte şi la nivelul tunelurilor de
ieşire caz în care valoarea furnizată, la fiecare iteraţie, tunelului de ieşire este reţinută într-un
tablou, a cărui dimensiune creşte automat la fiecare buclare şi acest tabloul este furnizat în
exteriorul structurii For doar după finalizarea execuţiei nodului (fig.2.87.).
51
Limbajul de programare grafică LabVIEW
52
Sisteme de achiziţie şi prelucrare a datelor
rezultatul din iteraţia i-1, al doilea la iteraţia i-2, al treilea la iteraţia i-3 s.a.m.d. Eliminarea
terminalelor stângi nedorite se poate face astfel:
• se redimensionează terminalul stâng (în sus);
• se alege opţiunea „Elimină un Element” (Remove Elements), din meniul
contextual asociat, terminalului stâng.
Pentru iniţializarea registrului de transfer, trebuiesc furnizate valori pentru toate
terminalele stângi.
Do
<instrucţiune>
while ( <expresie logică>);
Structura While Loop este o structură repetitivă, cu test final astfel corpul structurii se
execută cel puţin o dată şi se repetă, cât timp valoarea <expresie logică> este „Adevărat”
(True) . În exemplul prezentat în fig.2.90. sunt prevăzute două condiţii de oprire a buclei:
• dacă numărul obţinut este cuprins în intervalul [8, 8,5];
• dacă este activat butonul STOP
Îndeplinirea oricăreia dintre acestea va determina oprirea execuţiei funcţiilor din
interiorul structurii
Instrucţiunea „While Loop” se foloseşte frecvent pentru realizarea diagramei bloc a VI
principal al aplicaţiei şi modul în care se analizează execuţia prelucrărilor este indicat de
utilizator prin intermediul unor controale de interfaţă.
53
Limbajul de programare grafică LabVIEW
Trasarea
conturului
structurii
54
Sisteme de achiziţie şi prelucrare a datelor
• Dacă tipul elementului de tablou este real, atunci valoarea implicită este
0.00E+0;
• Dacă tipul elementului de tablou este un număr întreg sau natural, valoarea
implicită este 0.
IF <expresie logica>
THEN <instrucţiune 1>
ELSE <instrucţiune 2>; (alternativa opţională)
unde:
<expresie selector> - este expresia selector de tip ordinal utilizată pentru a se obţine o
mulţime numărabilă de valori, după care să se realizeze selecţia structurii.;
<val i> - este eticheta CASE, de acelaşi tip cu tipul expresiei selector;
<instrucţiune i> - reprezintă instrucţiunea care se execută dacă valoarea expresiei
selector coincide cu valoarea <val i> a etichetei CASE;
<instrucţiune implicită> - este instrucţiunea, care dacă este prezentă, se execută dacă
valoarea expresiei selector nu este egală cu nici o eticheta CASE;
55
Limbajul de programare grafică LabVIEW
56
Sisteme de achiziţie şi prelucrare a datelor
57
Limbajul de programare grafică LabVIEW
Secvenţa 0 Secvenţa 1
Secvenţa 2
58
Sisteme de achiziţie şi prelucrare a datelor
59
Limbajul de programare grafică LabVIEW
61
Limbajul de programare grafică LabVIEW
62
Sisteme de achiziţie şi prelucrare a datelor
(;). Se precizează că o instrucţiune se poate întinde pe mai multe linii text; numărul maxim de
caractere, care încap pe o linie, este dat de dimensiunea tipului de caractere folosit şi de
dimensiunea orizontală a nodului formula de calcul.
Mărimea dimensiunii orizontale a nodului se face cu unealta de editare, astfel încât să
se poată afişa cât mai multe caractere pe o linie. Pentru a se uşura munca programatorului în
sensul posibilităţii de verificare a formulelor introduse, în general, se urmăreşte afişarea a câte
unei structuri de atribuire pe fiecare linie.
În cadrul unei structuri de atribuire, se recomandă să se insereze unul sau mai multe
caractere spaţiu, pentru evidenţierea unor expresii şi se facilitează astfel editarea şi depanarea
formulelor.
Editarea structurilor de atribuire se face cu unealta de etichetare sau de operare şi
finalizarea operaţiei este determinată de:
• selectarea cu mouse – ul a butonului, care afişează textul „ENTER”;
• apăsarea tastei < ENTER > din regiunea butoanelor numerice (din partea
dreapta a tastaturii).
În etapa de editare a corpului structurii formula de calcul prin apăsarea tastei
< ENTER > se determină trecerea la un rând nou, ca şi în cazul unui editor de text obişnuit.
Prelucrările realizate de instrucţiunea de atribuire din interiorul nodului se bazează (în
general) pe datele furnizate din exteriorul formulei de calcul, prin intermediul variabilelor de
intrare. Rezultatele operaţiilor efectuate de nodul formula de calcul sunt transferate în exterior
prin variabilele de ieşire (fig.2.106.) unde este prezentată şi o analogie între reprezentarea
unei expresii matematice prin diagramă bloc şi prin structura Formula Node.
Variabilele de intrare se definesc pe
chenarul reprezentării grafice a nodului şi pentru
aceasta din meniul contextual asociat chenarului se
alege optiunea „Adaugă o Intrare”/”Adaugă o
Ieşire” (Add Input/ Add Output), după care se
specifică indicatorul variabilei. Terminalul asociat
variabilei este plasat, după crearea variabilei pe
chenarul nodului formula de calcul, şi poate fi
deplasat de programator oriunde pe perimetrul
acestuia. Se încearcă respectarea convenţiei prin
Fig. 2.106. Reprezentare în diagrama
care variabilele de intrare se plasează în partea
bloc pentru Formula Node
stângă, iar variabilele de ieşire se plasează în partea
dreapta a chenarului structurii formula de calcul. Variabila este utilizată în structurile de
atribuire prin numele asociat de programator cu observaţia că în interiorul nodului formula de
calcul se face diferenţa intre litere mari şi litere mici.
O variabila declarată de intrare se poate modifica în variabilă de ieşire (şi invers) şi
pentru aceasta se selectează terminalul variabilei şi din meniul contextual asociat şi se alege
opţiunea “Modifică în Variabilă de Ieşire/Modifică în Variabilă de intrare” (Change to
Output/Change to Input).
Diferenţierea vizuală între o variabilă de intrare şi una de ieşire se realizează prin
afişarea terminalului variabilelor de ieşire intr-un dreptunghi având linia conturului mai
groasă. Numărul variabilelor utilizate intr-un nod tip formula de calcul nu este limitat, tipul de
date asociat unei variabile, este cel real. Tuturor variabilelor de intrare este obligatoriu să li se
furnizeze din exterior o valoare. Toate variabilele folosite într-un nod formulă de calcul
trebuiesc declarate ca variabile de intrare sau de ieşire. Se recomandă utilizarea doar a
variabilelor esenţiale în expresia membrului drept al unei structuri de atribuire astfel o
variabila de ieşire va apare prima dată în partea stângă a unei structuri de atribuire deci
variabila de ieşire poate fi folosită ulterior în membrul drept al altei structuri de atribuire.
63
Limbajul de programare grafică LabVIEW
64
Sisteme de achiziţie şi prelucrare a datelor
<instrucţiune _de_atribuire>::=<variabile_iesire>=<formula>;
[<instructiune_de_atribuire>]
<formula>::=<expresie>I<variabila_iesire>=<formul>
65
Limbajul de programare grafică LabVIEW
<expresie>::=<expresie><operator_binar><expresie>
I<operator_unar><expresie>
I<expresie logica>?<rez1>:<rez2>
I(<expresie>)
I<variabila_intrare>
I<variabila_iesire>
I<constanta_numerica>
I<functie_predefinita>(lista_parametri>)
<operator_binar>:: = + I – I * I / I ^
I != I = = I < I<= I > I >=
I && I II
<operator_unar> ::= + I –
I!
<constanta_numerica> ::= pi I <numar>
<lista_parametri> ::= <formula> [,<lista_parametri>]
Pentru afişarea descrierii
Conditional Operator False fiecărei funcţii se urmează paşii:
• din fereastra de asistenţă pentru
subiectul „formula de calcul” se
lansează utilitarul de asistenţă;
• din pagina de asistenţă se alege
subiectul „Funcţiile şi
Operatorii Formulei de Calcul”
(Formula Node Functions
Condition True Condition
And Operators).
Fig. 2.108 Sintaxa instrucţiunii de tip
66
Sisteme de achiziţie şi prelucrare a datelor
indicatoarelor de tip Real Matrix pentru a păstra forma matricială a acestor rezultate. Pentru a
fi posibilă această afişare este necesară alegerea tipului de dată necesar şi această alegere se
face prin opţiunea Choose Data Type » Matrix din meniul contextual al portului de ieşire al
structurii la care se conectează un indicator de tip Real Matrix. Pentru ieşirea SUM este
prezentată şi posibilitatea de afişare a rezultatului printr-un indicator de tip 2D Array prin
transformarea tipului de dată din matricial în dată de tip tablou. O reprezentare similară se
poate obţine şi dacă se alege tipul de dată tablou din meniul contextual al ieşirii prin opţiunea
Choose Data Type » 2D Array » DBL 2D (tablou 2D în format dublă precizie)
În fig.2.111 este prezentat un exemplu în care structura MathScript este utilizată
pentru trasarea graficelor funcţiilor:
y = 1 − e − t ⋅ sin(10 ⋅ t ); y1 = 1 − e − t ; y1 = 1 + e − t
în acelaşi sistem de axe.
Valorile variabilei independente t a acestor funcţii sunt definite pe baza unui
parametru tf a cărui valoare este furnizată către script de la un control numeric. La execuţia
programului se deschide fereastra grafică Plot în care se obţine reprezentarea grafică. Această
fereastră grafică are o bară de meniuri prin intermediul căreia se pot stabili atribute specifice
indicatoarelor grafice din LabVIEW. Elementele din bara de meniuri sunt prezentate în
fig.2.112.
67
Limbajul de programare grafică LabVIEW
68
Sisteme de achiziţie şi prelucrare a datelor
terminale astfel că este necesară definirea de către utilizator a tipului de date. În tabelul
următor este prezentată corespondenţa dintre tipurile de date corespunzătoare mediului
LabVIEW şi respectiv MATLAB:
Pentru a crea o structură MATLAB
Date în LabVIEW Date în MATLAB Script Node se urmăresc următoarele etape:
- 1. În fereastra corespunzătoare diagramei se
alege Functions » Mathematics » Scrip
Real & Formulas » Script Node » MATLAB
- Script Node şi se plasează acest nod în
structura diagramei după care se
-
redimensionează astfel încât să cuprindă
Vector real întreg textul reprezentând programul
- MATLAB. Scriptul MATLAB apare ca
în fig.2.114
Matrice reală 2. Programul MATLAB se poate importa
Complex sau se poate redacta direct în fereastră.
De exemplu următoarea secvenţă de
Vector complex
program creează o matrice de elemente
Matrice complexă cu valori aleatoare reprezintă grafic
informaţia şi afişează matricea în
MATLAB:
a = rand(10)
surf(a)
a).
b). c).
69
Limbajul de programare grafică LabVIEW
pentru variabile de ieşire. Implicit nodul este prevăzut cu o intrare şi o ieşire dar
acestea sunt utilizate numai pentru transferul parametrilor de eroare.
4. Se verifică tipul datelor corespunzătoare intrărilor şi ieşirilor. Tipul implicit al acestora
pentru orice nouă intrare şi ieşire este Real. Utilizând meniul pull – up selectând
Choose Type din meniul care apare se alege tipul corespunzător dintre cele
disponibile Real, Complex, Real Vector, Complex Vector, Real Matrix, sau Complex
Matrix. În exemplul considerat pentru variabila de intrare X se alege Real iar pentru
variabila de ieşire A se alege Real Matrix.
5. Pentru fiecare intrare şi ieşire se creează elementul de control şi respectiv indicatorul
corespunzător, aceasta se poate realiza prin clic – dreapta pe terminalul respectiv şi
selectarea Create Control pentru intrare şi Create Indicator pentru ieşire şi aceste
elemente vor apare pe panoul frontal.
m Prin utilizarea acestei structuri este
h = y1 − y2 posibilă realizarea de interfeţe utilizator cu
aplicare în simularea sistemelor dinamice şi în
y1 acest context se prezintă simularea unui sistem
cf k1 de suspensie (pneu + telescop) a unui automobil
a cărui structură este prezentată în fig.2.116
Prin procedee de modelare matematică se
obţine modelul matematic de tip intrare – ieşire,
în care mărimea de intrare este reprezentată de o
deformare w (alungire sau comprimare), care
k2 y2 este de fapt perturbaţia ce apare în sistem, a
resortului k2 (modelează pneul automobilului)
iar mărimea de ieşire este reprezentată de
deplasarea h a masei m (masa automobilului).
Fig.2.116. Structura sistemului de Forma dată de ecuaţia diferenţială a acestui
suspensie mecanică model matematic este:
d 3h d2h dh du
m ⋅ cf 3
+ m ⋅ (k1 + k 2 ) ⋅ 2
+ cf ⋅ k 2 ⋅ + k1 ⋅ k 2 ⋅ h = cf ⋅ k 2 ⋅ + k 2 ⋅ (k1 + 2 ⋅ k 2 ) ⋅ u
dt dt dt dt
din care rezultă funcţia de transfer a acestui sistem dinamic:
H (s ) cf ⋅ k 2 ⋅ s + k 2 (k1 + 2 ⋅ k 2 )
G (s ) = =
U (s ) m ⋅ cf ⋅ s + m ⋅ (k1 + k 2 ) ⋅ s2 + cf ⋅ k 2 ⋅ s + k1 ⋅ k 2
3
70
Sisteme de achiziţie şi prelucrare a datelor
71
Circuite de conversie numeric – analogică
CAPITOLUL III
Circuite de conversie numeric – analogică
3.1. Codificări binare ale numerelor
Semnalul numeric de la intrarea unui convertor numeric analogic (CNA) este o
secvenţă de variabile binare b1 , b2 , .. , bk , ... , bN . Valoarea zecimală corespunzătoare acestei
secvenţe în codificare fracţionară (CF) este:
N
DCF = ∑ bk ⋅ 2 − k (3.1)
k =1
-N
cu valori în domeniul (0 ... 1-2 ).
Valoarea zecimal corespunzătoare aceleiaşi secvenţe bk , k =1, 2, ... , N în cod binar
natural (CBN) este:
N
DCBN = ∑ bk ⋅ 2 N − k (3.2)
k =1
cu valori în domeniul (0 ... 2N-1).
Din relaţiile (3.1) şi (3.2) se obţine:
DCBN = 2 N ⋅ DCF (3.3)
Codurile fracţionar şi binar natural sunt unipolare în sensul că pot fi utilizate pentru
reprezentarea semnalelor de o singură polaritate. Pentru reprezentarea semnalelor de ambele
polarităţi se utilizează coduri bipolare. Astfel, valoarea zecimal corespunzătoare unei secvenţe
binare în cod binar deplasat (CBD) este:
N
DCBD = ∑ bk ⋅ 2 N − k − 2 N −1 (3.4)
k =1
N-1 N-1
cu valori în domeniul (-2 ... 0 ... 2 -1).
Din relaţiile (3.2) şi (3.4) se obţine:
DCBD = DCBN − 2 N −1 (3.5)
Valoarea zecimală a unei secvenţe binare în cod complementul lui doi (CCD) se
obţine din valoarea corespunzătoare codului binar deplasat, relaţia (3.5), prin inversarea
valorii bitului b1, de semnificaţie maximă, conform relaţiei:
N
DCCD = ∑ bk ⋅ 2 N − k − (1 − k ) ⋅ 2 N −1 − 2 N −1 (3.6)
k =1
Din relaţia (3.6) se obţine valoarea zecimală a unei secvenţe binare în codul
complementul lui doi:
N
DCCD = ∑ bk ⋅ 2 N − k − b1 ⋅ 2 N (3.7)
k =1
cu valori în domeniul (-2N-1...0... 2N-1-1). Din relaţia (3.7) rezultă:
DCCD = DCBN − b1 ⋅ 2 N (3.8)
Valoarea zecimală a unei secvenţe bs , b1 , b2 ,..., bk ,..., bN corespunzătoare codului cu
semn şi amplitudine (CSA) este:
72
Sisteme de achiziţie şi prelucrare a datelor
N
DCSA = (− 1)(1−bs ) ⋅ ∑ b k ⋅2 N − k (3.9)
k =1
cu valori în domeniul (-2N-1 ...0...2N-1 ).
73
Circuite de conversie numeric – analogică
FSR K ⋅ U r
1LSB = = (3.13)
2N 2N
Pentru un CNA cu ieşire de curent şi funcţie de transfer, conform relaţiei (3.12) se
obţine:
Ur
1LSB = (3.14)
2N ⋅ R
3. precizia, dată de diferenţa între valoarea reală (măsurată) a semnalului de ieşire
corespunzătoare unei secvenţe de intrare şi valoarea ideală, calculată pe baza funcţiei
de transfer a CNA pentru aceeaşi secvenţă de intrare. Eroarea absolută include erorile
de câştig, decalaj, neliniaritate, precum şi derivele acestora.
4. viteza, exprimată în număr de conversii realizate întro secundă
5. stabilitatea cu temperatura,
6. natura şi domeniul semnalului de ieşire.
Ie =
Ur
N
2 ⋅R
(
⋅ DCBD + 2 N −1 )
(3.15)
U U
I e − r = N r DCBD
2⋅R 2 ⋅R
Astfel, pentru a obţine un CNA bipolar corespunzător codului binar deplasat, este
necesară utilizarea unui circuit al cărui principiu este prezentat în figura 3.2, care generează
curentul de ieşire Ie conform relaţiei:
U
I 'e = I e − r (3.16)
2⋅R
R1
Si
(CBD) Ie Ie’
CNA -
unipolar AO
Ur + Ue
Ir
2R
R
Ur 2R
Fig.3.2. CNA bipolar corespunzător codului binar deplasat
În figura 3.2 s-a notat cu Ir curentul de referinţă , dat prin relaţia:
Ur
Ir = (3.17)
R
74
Sisteme de achiziţie şi prelucrare a datelor
U e = R1 ⋅ I'e (3.18)
Din relaţiile (2.14), (2.15) şi (2.17) rezultă funcţia de transfer:
R1 ⋅ U r
Ue = ⋅ DCBD (3.19)
2N ⋅ R
care corespunde unui CNA bipolar cu semnal de intrare în cod binar deplasat.
Ie =
Ur
N
2 ⋅R
(
DCCD + b1 ⋅ 2 N )
(3.20)
U U
I e − b1 ⋅ r = N r ⋅ DCCD
R 2 ⋅R
R1
Si
(CCD) Ie Ie’
CNA -
unipolar AO
Ur + Ue
b1 Ir
R
R
Ur R
K
75
Circuite de conversie numeric – analogică
R1
b1 b2 bk bN
Ie -
I1 I2 Ik IN AO
+
K1 K2 Kk KN ue
1 2 1 2 1 2 1 2
… …
21·R 22·R 2k·R 2N·R
-Ur
76
Sisteme de achiziţie şi prelucrare a datelor
N N
Ur Ur N
Ie = ∑ Ik = ∑ bk ⋅ k
= ⋅ ∑ bk ⋅ 2 − k
2 ⋅ R R k =1
(3.27)
k =1 k =1
Deci:
Ur Ur
Ie = ⋅ DCF = N ⋅ DCBN (3.29)
R 2 ⋅R
Amplificatorul operaţional de la ieşire are rolul de a converti curentul de ieşire Ie
într-o tensiune de ieşire Ue considerând I − ≅ 0 , deci:
U e = R1 ⋅ I e (3.30)
Se obţine astfel funcţia de transfer a CNA cu rezistenţe ponderate binar:
R1 ⋅ U r
Ue = ⋅ DCBN (3.31)
2N ⋅ R
CNA cu reţea de rezistenţe cu valori ponderate binar este o variantă constructivă
simplă, dar necesită o gamă largă de valori pentru rezistenţele din reţea (1... 2N-1 ), dificil de
realizat în condiţii de precizie ridicată. De asemenea, rezultă valori mici de rezistenţe
corespunzătoare biţilor mai puţin semnificativi ai CNA, cu consecinţa creşterii erorilor
datorate rezistenţelor comutatoarelor în stare de conducţie.
Ie
-
AO
2 1 +
2 1 2 1 2 1 Ue
K1 K2 Kk KN
… …
2R 2R 2R 2R 2R
I1 I2 Ik IN
-Ur R R R R
Ir I1 I1 I2 Ik-1 Ik IN-1 IN
77
Circuite de conversie numeric – analogică
2R
2R 2R 2R 2R
2R
- Ur R R R R
2R 2R 2R ⋅ 2R
RechivI = =R (3.32)
2R + 2R
IN
IN
2R R 2R 2R
2R ⋅ 2R
RechivI = =R (3.33)
2R + 2R
IN-1 IN
R
IN-1 IN
I k −1 I r
I k −1 = 2 ⋅ I k ⇒ Ik = = k (3.35)
2 2
78
Sisteme de achiziţie şi prelucrare a datelor
N ⎧1 pentru K k → 1
I e = ∑ bk I k undebk = ⎨ (3.36)
k =1 ⎩0 pentru K k → 2
Ţinând seama de expresia curentului Ik se obţine:
N N
Ir Ur N
Ur
I e = ∑ bk ⋅ k = ∑ bk ⋅ k = ⋅ ∑ bk ⋅ 2 −k (3.37)
k =1 2 k =1 2 ⋅ R R K −1
Dar:
N
∑ bk ⋅ 2 −k = DCF (3.38)
k =1
şi pe baza relaţiei (2.3) se obţine:
Ur
Ie = ⋅ DCBN (3.39)
2N ⋅ R
În marea majoritate a aplicaţiilor codul binar natural (CBN) trebuie convertit într-o
tensiune de ieşire Ue şi acest lucru îl realizează amplificatorul operaţional AO pentru care
dacă se neglijează curentul pe intrarea inversoare rezultă:
R ⋅U
U e = R1 ⋅ I e = 1N r ⋅ DCBN (3.40)
2 ⋅R
Relaţia obţinută (2.45) reprezintă funcţia de transfer a CNA cu reţea R – 2R adică o
dependenţă de forma U e = f (D CBN ) .
CNA cu reţea de rezistenţe de tipul R – 2R nu prezintă dezavantajele variantei de
convertor cu reţea de rezistenţe cu valori ponderate binar. Astfel, reţeaua R - 2R conţine
numai două valori de rezistenţă, care pot fi realizate în condiţii de precizie ridicată şi care pot
fi dimensionate mai mari decât rezistenţele comutatoarelor aflate în stare de conducţie astfel
încât influenţa rezistenţei acestor comutatoare să fie neglijabilă.
79
Circuite de conversie numeric – analogică
80
Sisteme de achiziţie şi prelucrare a datelor
81
Circuite de conversie analog – numerică
CAPITOLUL IV
Circuite de conversie analog – numerică
Convertoarele analog numerice (CAN) realizează conversia semnalelor analogice în
semnale numerice, fiind utilizate în sisteme de achiziţie de date. În acest capitol se prezintă
caracteristici ale convertoarelor analog numerice, principii de construcţie a acestora şi circuite
integrate specializate.
unde N este numărul de variabile binare care compun secvenţa de ieşire (numărul de biţi ai
convertorului), b1 este bitul de semnificaţie maximă (MSB), iar bN este bitul de semnificaţie
minimă (LSB).
În relaţia (4.3), tensiunea de referinţă Ur reprezintă, de asemenea, intervalul de variaţie
a semnalului de intrare (FSR, Full-Scale Range), cu valoare tipică de 10 V. Se defineşte
mărimea LSB ca variaţia minimă a valorii tensiunii de intrare ui care produce două tranziţii
succesive ale secvenţei de ieşire bk, k =1, 2, ..., N. Rezultă:
FSR
1LSB = n (4.4)
2
Deoarece semnalul de intrare, ui este continuu, iar semnalul de ieşire are valori
discrete (DCBF), rezultă că relaţia de egalitate din (4.3) este exactă pentru 2 valori particulare
ale tensiunii de intrare (decalate la intervale de 1LSB ) şi aproximativă pentru toate celelalte
valori ale tensiunii de intrare. Rezultă erori de aproximare care se numesc erori de cuantizare
şi au valorile cuprinse în intervalul ±0,5 LSB, pentru caracteristica de transfer a CAN,
conform figurii 4.2. Erorile de cuantizare pot fi exprimate prin relaţia:
82
Sisteme de achiziţie şi prelucrare a datelor
N
e = ui − U r ⋅ ∑ bk ⋅ 2 − k [V ] (4.5)
k =1
unde biţii bk sunt corelaţi cu tensiunea de intrare ui.
Dacă semnalul de la intrarea
se [bk] unui CAN poate fi de
11…111 ambele polarităţi, în
intervalul de variaţie FSR
11…110 (de la -FSR/2 la +FSR/2, cu
valori tipice ±5 V şi ±10 V),
11…101 convertorul analog numeric
se numeşte bipolar.
…
83
Circuite de conversie analog – numerică
Pentru un CAN bipolar în cod binar deplasat, calibrarea decalajului se realizează astfel încât
tranziţia (10...000 -> 10...001) secvenţei de ieşire să corespundă unei tensiuni de intrare de 0,5
LSB. Calibrarea câştigului se realizează astfel încât tranziţia (11...110 -> 11...111) secvenţei
de ieşire să corespundă unei tensiuni de intrare de FSR/2 -1,5 LSB.
Timpul de apertură al unui CAN reprezintă intervalul în care, convertorul eşantionează
(utilizează) semnalul de intrare pentru efectuarea unei conversii. Timpul de conversie al unui
CAN reprezintă intervalul între momentul declanşării unui proces de conversie şi momentul
stabilizării secvenţei de ieşire conţinând rezultatul conversiei. Timpul de apertură este egal cu
timpul de conversie în cazul unui CAN cu aproximaţii succesive şi este mai mic decât timpul
de conversie în cazul unui CAN cu integrare.
O altă caracteristică a unui CAN este impedanţa de intrare.
Se pot aprecia performanţele unui CAN în funcţie de principalii săi parametri definiţi
după cum urmează :
1. Rezoluţia – este dată de numărul N de biţi care compun secvenţa de ieşire . Ea mai
poate fi definită ca fiind treapta de intrare ΔV corespunzătoare unei unităţi de ieşire.
2. Gama de variaţie a semnalului de intrare - este definită prin intervalul de variaţie (U)
al mărimii de intrare.
3. Viteza de conversie – se defineşte prin intervalul de timp necesar realizării unei
conversii (ms).
4. Eroarea de neliniaritate – reprezintă abaterea caracteristicii de transfer reale faţă de
cea ideală .
5. Eroarea de offset – se defineşte ca fiind abaterea caracteristicii de transfer reale faţă
de origine.
84
Sisteme de achiziţie şi prelucrare a datelor
u 1
=k± (4.8)
Δv 2
Din expresia (4.8) se observă că numărul k în momentul egalităţii este dat de valoarea
u 1
numerică a raportului cu o precizie de ± .
Δv 2
În funcţie de modul în care este realizată generarea numerelor k până în momentul
obţinerii egalităţii u = v(k ) influenţează viteza de conversie a acestor convertoare. Astfel că,
datorită modului de generare a numerelor k de la intrarea CNA, se vor distinge trei tipuri de
CAN cu reacţie:
− cu generare de trepte de tensiune
− cu conversie continuă
− cu aproximaţii succesive
Start conversie
u -
C BLC GT
+
RESET
Numărător
b1 b1 …bN
a.
v(k)
CNA
u Semnal reconstituit
v(k)
v(k)
v(k) v(k)
b.
t
1 2 3
Start
Fig. 4.5 CAN cu trepte de tensiune
a. Principiu de realizare, b. Diagrama de funcţionare
În starea de repaus, blocul logic de comandă BLC inhibă poarta logică, blocând
accesul impulsurilor generatorului de tact la intrarea numărătorului, care se află resetat în
starea zero. Ieşirea CNA este zero, ceea ce va determina, la ieşirea comparatorului, un nivel
logic 0.
Când se aplică semnalul de start a conversiei la intrarea BLC, acesta va genera un
semnal de ştergere a numărătorului şi va activa poarta ŞI permiţând astfel accesul impulsurilor
GT la intrarea numărătorului. Începe generarea semnalului în trepte la ieşirea CNA potrivit
85
Circuite de conversie analog – numerică
stării numărătorului. Când semnalul de ieşire al CNA devine v(k ) ≥ u , comparatorul C îşi
schimbă ieşirea, trecând în starea 1 logic, moment în care BLC va bloca poarta ŞI blocând
accesul impulsurilor GT la numărător. Numărul k rămas în numărător reprezintă valoarea
conversiei. Durata unei conversii este dată de valoarea maximă a semnalului de intrare.
Pentru un convertor cu n biţi durata maximă va fi :
n 2n
Tmax = 2 ⋅ T0 = (4.9)
f0
unde T0 perioada impulsurilor de tact date de GT.
Pentru convertoarele cu timpi mari de conversie este necesară folosirea unor circuite
de eşantionare şi memorare la intrare.
86
Sisteme de achiziţie şi prelucrare a datelor
ui Q
Start conversie BLC Numărător
A1
IN
k1
C
V1 LSB … MSB
R
Generator
A2 tact
k2
Uref
Fig. 4.8. Convertor analog numeric cu conversie intermediară timp
În stare de repaus BLC ţine poarta ŞI închisă, astfel împiedicând impulsurile generate
de Generatorul de tact să ajungă în numărător, contactul k1 va fi închis iar k2 va fi deschis.
La comanda de start a conversiei BLC va activa poarta logică ŞI (Q=1), impulsurile
generatorului de tact intrând în numărător. Contactul k1 se deschide, închizându-se contactul
k2, tensiunea de la ieşirea integratorului crescând liniar în timp până devine egală cu tensiunea
de intrare ui . În acest moment ieşirea comparatorului se modifică devenind 1 logic, semnalul
dat de BLC devine zero, Q = 0 fapt ce va determina închiderea porţii ŞI. Astfel valoarea
conţinută de numărător în momentul inhibării porţii ŞI va fi rezultatul conversiei. Astfel,
intervalul de timp Δt scurs până la atingerea valorii semnalului de intrare este proporţional cu
valoarea acestuia, durata intervalului fiind măsurată cu ajutorul impulsurilor de tact furnizate
de generatorul GT.
Spre deosebire de primul tip de convertor la care perioada de conversie este
constantă, la al doilea tip de convertoare aceasta depinde de amplitudinea semnalului analogic
de intrare.
87
Circuite de conversie analog – numerică
faţă de valorile la care apar tranziţii în secvenţa de ieşire (fig. 4.2 şi 4.3). Pentru un CAN
unipolar, aceste valori sunt:
⎛ 1⎞
U ci = ⎜ i − ⎟ LSB , i = 1,2 ,...,2 N − 1 (4.10)
⎝ 2⎠
ui Având în vedere funcţia de transfer
Ur (4.2) a CAN şi relaţia (4.3) se obţine:
FSR = U r (4.11)
C2N-1 şi
1,5R
UC2N-1 FSR U r
1LSB = = N (4.12)
R C2N-2 2N 2
DECODOFICATOR
b1
UC2N-2 b2 Din relaţiile (4.10) si (4.12) rezultă
valorile tensiunilor care se conectează la câte
…
UCi
…
⎛ 1⎞ U
bN U ci = ⎜ i − ⎟ ⋅ Nr , i = 1,2 ,...,2 N − 1 (5.13)
R C1 ⎝ 2⎠ 2
UC1 Aceste tensiuni pot fi obţinute prin
divizarea tensiunii de referinţă, conform
0,5R
structurii de CAN paralel din figura 4.9. La
celelalte intrări ale comparatoarelor se
Fig. 4.9 Structura de principiu a unui conectează tensiunea de intrare ui. Ieşirile
CAN cu comparare de tip paralel comparatoarelor se aplică la intrarea unui
decodificator pentru a obţine cei N biţi
corespunzători secvenţei de la ieşirea CAN.
CAN cu comparare de tip paralel se caracterizează prin valori foarte reduse ale
timpilor de conversie (zeci de ns), ca urmare a structurii de principiu de tip combinaţional a
unui astfel de convertor, dar necesită un număr mare de componente electronice.
88
Sisteme de achiziţie şi prelucrare a datelor
Se va obţine succesiv:
N
N/2 N
2 − j−
ui − U r ∑ bk 2 −k
= Ur ∑ bj+ N ⋅ 2 2 (4.17)
k =1 j =1 2
şi respectiv:
⎛ N ⎞ N
N ⎜ 2 ⎟ 2
⋅ ⎜ ui − U r ∑ bk ⋅ 2 − k ⎟ = U r ∑ b N ⋅ 2 − j
22 (4.18)
⎜ k =1 ⎟ j =1
j+
⎜ ⎟ 2
⎝ ⎠
Având în vedere expresia erorii de cuantizare dată prin relaţia (4.10) rezultă că
termenul din stânga relaţiei de egalitate (4.12) reprezintă eroarea de cuantizare la conversia
analog numerică cu N/2 biţi a tensiunii de intrare ui. Această tensiune, înmulţită c u 2 N / 2
s e notează:
⎛ N ⎞
N ⎜ 2 ⎟
'
ui = 22 ⋅ ui − U r ⋅ ∑ bk ⋅ 2
⎜ −k ⎟
(4.19)
⎜ k =1 ⎟
⎜ ⎟
⎝ ⎠
Din relaţiile (4.18) şi (4.19) se obţine:
N
2
u'i = U r ⋅ ∑ b N ⋅ 2− j (4.20)
j+
j =1 2
Fig. 4.10. Structura de principiu a unui CAN cu comparare de tip serie – paralel
89
Circuite de conversie analog – numerică
RESET Sfârşit
conversie
A0…Ap D WR (EOC)
Registru aproximaţii
succesive b1
b2
Registru
bk, k=1..N de bk
memorie
uck
CONVERTOR CNA bN
b1 t
b2 t
bk t
bN
t
b– diagrame de funcţionare
Fig. 4.11. CAN cu aproximaţii succesive
90
Sisteme de achiziţie şi prelucrare a datelor
comparatoare sau prin utilizarea succesivă a unui singur comparator pentru obţinerea celor N
biţi. Această ultimă soluţie constructivă stă la baza realizării convertorului cu aproximaţii
succesive (fig. 4.11). Biţii bk, k =1,2,...,N ai rezultatului unei conversii analog numerice se
obţin în ordine succesivă începând cu bitul b1 de semnificaţie maximă. Fiecare bit bk se obţine
într-o perioadă a semnalului u0 (fig. 4.11) ca urmare a unei comparări şi este memorat în
registrul de aproximaţii succesive. Acest registru comandă intrările bk, k =1,2,...,N ale CNA
pentru obţinerea succesivă a tensiunilor de comparare:
⎛ k −1 ⎞
uck = U r ⋅ ⎜ ∑ b j ⋅ 2 − j + 2 − k ⎟ , k = 1, N (4.24)
⎜ j =1 ⎟
⎝ ⎠
Comparatorul C realizează comparaţia dintre mărimea analogică de intrare ui şi
mărimea obţinută la ieşirea convertorului CNA, uck punându-şi ieşirea în 0 logic pentru
91
Circuite de conversie analog – numerică
uI
tr tx ui U
t ⋅ tr = r ⋅ t x , (4.27)
R R
tr
tx = ⋅ ui (4.28)
ui -Ur Ur
R R
a) Relaţia (4.27) indică
obţinerea unei conversii
tensiune-timp, pe baza unei
C funcţii de transfer liniare.
ui Conversia analog numerică se
K R realizează prin numărare de
uI
AO impulsuri cu frecvenţa fixă f0
-Ur C
în intervalul de timp tx.
Rezultă:
b)
D
tx = (4.29)
f0
u0 Generator de unde D este valoarea
Numărător BLC
(f0) tact numerică a rezultatului
conversiei analog numerice,
egală cu numărul de impulsuri
Fig. 4.12. CAN cu integrare în două pante contorizate în intervalul tx.
Din relaţiile (4.28) şi (4.29) se obţine:
tr D
⋅ ui = (4.30)
Ur f0
Mărimile tr şi f0 care intervin în funcţia de transfer (relaţia 4.30) reprezintă mărimi de
referinţă ale căror erori afectează nemijlocit rezultatul conversiei. Acest fapt poate fi evitat
dacă intervalul de timp tr este generat prin contorizarea unui număr dat de impulsuri cu
frecvenţa f0, conform relaţiei:
Nr
tr = (4.31)
f0
Din relaţiile (4.30) si (4.31) rezultă funcţia de transfer a CAN cu integrare în două pante:
Nr
D= ⋅ ui (4.32)
Ur
În relaţiile (4.29) şi (4.31) frecvenţa f0 este aceeaşi, considerând posibilă generarea
de impulsuri cu frecvenţa practic constantă pe durata unui proces de conversie.
Structura CAN cu integrare în doua pante cu funcţionare conform principiului expus
mai sus este prezentată în fig. 4.12. b). Un proces de conversie analog numerică este iniţiat de
dispozitivul de comandă care trece comutatorul K în poziţia tensiunii ui anulează conţinutul
numărătorului şi permite accesul de impulsuri cu frecvenţa f0 la intrarea numărătorului.
Conţinutul numărătorului este incrementat pentru fiecare impuls până la capacitatea maximă
Nmax şi apoi este anulat de următorul impuls. Momentul anulării conţinutului numărătorului
este transmis dispozitivului de comandă prin frontul de comutare din 1 în 0 logic al bitului de
semnificaţie maximă al numărătorului. În acest moment, dispozitivul de comandă trece
comutatorul K în poziţia corespunzătoare integrării tensiunii de referinţă -Ur. Astfel, intervalul
de integrare a tensiunii de intrare este:
92
Sisteme de achiziţie şi prelucrare a datelor
N max − 1
tr = (4.33)
f0
Din relaţiile (4.24) şi (4.26) rezultă:
N r = N max + 1 (4.34)
Pe durata integrării tensiunii de referinţă, dispozitivul de comandă menţine accesul
impulsurilor cu frecvenţa f0 la intrarea numărătorului. Integrarea tensiunii de referinţă se
desfăşoară până când circuitul comparator sesizează la ieşirea integratorului nivelul de
tensiune existent în momentul declanşării procesului de conversie (în aplicaţii, acest nivel
este, de regulă, nivelul masei 0V, fig. 4.12.b). Circuitul comparator transmite informaţia
privind sfârşitul integrării tensiunii de referinţă la dispozitivul de comandă, care blochează
accesul impulsurilor de frecvenţă f0 la numărător. În acest moment, conţinutul numărătorului
reprezintă rezultatul conversiei analog numerice, conform relaţiilor (4.32) şi (4.33):
N max + 1
D= ⋅ ui (4.35)
Ur
Se precizează că intervalul de timp tr se alege multiplu al perioadei reţelei, pentru
rejecţia prin integrare a tensiunilor perturbatoare cu frecvenţa reţelei care afectează tensiunea
de intrare ui.
93
Circuite de conversie analog – numerică
CNA +
12biţi C
-
REGISTRU DE
(12) APROXIMAŢII
SUCCESIVE
REGISTRU DE MEMORIE
(12 biţi)
(4) /BUSY
(8) LOGICĂ DE /CS
CONTROL /RD
MULTIPLEXOR HBEN
(8)
94
Sisteme de achiziţie şi prelucrare a datelor
cu biţii b1,...,b4 ai rezultatului conversiei. Starea magistralei este citită de SPN la sfârşitul
/CS
HBEN
/RD
/BUSY a)
B7–BO
5 – 12 5 – 12 1–4
/CS
HBEN
/RD
b)
/BUSY
B7–BO
5 – 12 1–4 5 – 12
Fig. 4.15 Diagramele de timp CAN ADC912 într-un SPN cu magistrala de date de 8 biţi
a- funcţionarea cu stări de aşteptare pe durata procesului de conversie;
b - funcţionarea rapidă
ciclului în curs de desfăşurare.
Conectarea tensiunii de intrare ui la intrarea VIN a convertorului analog numeric
ADC912 se realizează prin circuite cu amplificatoare operaţionale care permit ajustarea
decalajului şi câştigului în scopul etalonării convertorului (fig. 4.16).
95
Circuite de conversie analog – numerică
⎛ R' ⎞
u0 = ⎜ 1 + ⎟ ⋅ ui (4.36)
⎝ R" ⎠
Deoarece la sfârşitul procesului de conversie analog numerică tensiunea de la
intrarea comparatorului C este foarte mică (< 1/2 LSB), rezultă:
u0 u
= IN (4.37)
R1 + R R
Din relaţiile (4.36) şi (4.37) se obţine:
R'
1+
u IN = R" ⋅ u (4.38)
R1 i
1+
R
Din relaţia (4.38) rezultă posibilitatea ajustării câştigului în jurul valorii unitare
corespunzătoare situaţiei de calibrare.
În configuraţie de CAN bipolar (fig. 4.16 b) ajustarea decalajului se realizează cu
potenţiometrul P2, iar ajustarea câştigului cu potenţiometrul P1. Având în vedere notaţiile din
figura 4.16 b) se obţine:
u IN − U r
u'i = ⋅ R" +U r (4.39)
R' + R"
Din relaţia (4.39) rezultă:
⎛ R' ⎞ ' R'
u IN = ⎜ 1 + ⎟ ⋅ ui − ⋅Ur (4.40)
⎝ R" ⎠ R"
Deoarece R’≈ R”, termenul de decalaj din relaţia (4.40) este ajustabil în jurul valorii
Ur corespunzătoare configuraţiei de CAN bipolar. Având în vedere că raportul R’/R”
influenţează şi câştigul circuitului, se impune ajustarea decalajului cu potenţiometrul P2
înainte de ajustarea câştigului cu potenţiometrul P1.Valorile rezistenţelor R1 şi R2 din
divizorul de intrare se stabilesc în funcţie de domeniul de variaţie a tensiunii de intrare:
±2,5V; ±5V sau ±10 V.
96
Sisteme de achiziţie şi prelucrare a datelor
combinate cu uşurinţa în folosire şi mărimea mică fac aceste convertoare să fie ideale pentru
aplicaţii de măsurare, senzori sau circuite unde puterea consumată şi spaţiul sunt importante.
În fig.4.14. este prezentată structura internă şi configuraţia pinilor circuitului MAX187
iar în tabelul 4.1. descrierea pinilor acestuia.
6 DOUT
REGISTRU
GND 5 DE IEŞIRE 8 SCLK
REF -
AV=1,638 DAC
10 k 4,096 V
REFERINŢĂ
2,5 V REF +
REGISTRU
APROXIMAŢII
REF 4 SUCESIVE
C
AIN 2 S&H
7 /CS
LOGICA DE CONTROL
ŞI TEMPORIZARE 3 /SHDN
VDD 1
VDD 1 8 SCLK
AIN 2 7 /CS
MAXIM
/SHDN 3 MAX187 6 DOUT
MAX189
REF 4 5 GND
97
Circuite de conversie analog – numerică
1 8
+5V VDD SCLK
Intrare analogică 2 AIN 7 Interfaţă serială
/CS
0 ... + 5 V
Intrare de blocare 3 /SHDN 6
DOUT
ON OFF
4
Referinţă externă REF GND 5
4,7 μF MAX187
98
Sisteme de achiziţie şi prelucrare a datelor
sunt aplicate impulsuri pe intrarea SCLK cu menţinerea semnalului /CS pe nivel 0 logic, pe
ieşirea DOUT sunt transmise zerouri, fără a afecta funcţionarea convertorului.
/CS
1 4 8 12
SCLK
EOC
Durată EOC Trimite
INTERFAŢĂ
conversie
zerouri
Conversie Conv
STARE Eşantionare
CONVERTOR 0 1
8,5 μs 0 μs 0 μs 0,5 μs
DURATĂ 12 x 0,25 μs = 3,25 μs
MINIMĂ
CICLU Total 12,25 μs
99
Circuite de eşantionare şi memorare
CAPITOLUL V
Circuite de eşantionare şi memorare
Un circuit de eşantionare şi memorare (CEM) realizează extragerea (prelevarea), la un
momentdat a valorii unui semnal analogic (tensiune electrică) de intrare ui, memorarea acestei
valori ue şi menţinerea constantă a acesteia la intrarea unui circuit de prelucrare (convertor
analog-numeric CAN) pe toată durata efectuării prelucrării (fig.5.1)
E/M
Ui Ue U semnal de intrare ui
CEM uei
E/M
semnal esantionat ue
*
număr de biţi ai cuvântului binar furnizat de CAN sau valoarea treptei tensiunii de intrare corespunzatoare
modificării valorii bitului cel mai puţin semnificativ LSB
100
Sisteme de achiziţie şi prelucrare a datelor
MEMORARE
MEMORARE EŞANTIONARE
ESANTIOANRE
E/M t
ui ui
ue alterare semnal ue
t
tap ts
t ac
101
Circuite de eşantionare şi memorare
1 U
2πf ⋅ U max ≤ ⋅ Nmax
2 2 −1
(5.6)
1
f ≤
π ⋅ 2 N + 2 ⋅ tap
Timpul de stabilizare ts la comutarea CEM în starea de memorare (fig.5.2), reprezintă intervalul
dintre momentul de sfârşit al timpului de apertură şi momentul reducerii amplitudinii oscilaţiilor la iesirea
CEM sub valoarea 1/2 LSB. Un proces de conversie-analog numerica se declanşeaza numai după
stabilizarea ieşirii CEM în starea de memorare, adică după sfârşitul timpului de stabilizare ts.
Modificarea tensiunii ue de la ieşirea CEM în starea de memorare este caracterizată prin
panta de variaţie a acesteia (ue/t), numită viteza de alterare. Alterarea tensiunii ue de la ieşirea
CEM în starea de memorare până în momentul terminării conversiei analog-numerice trebuie să
fie mai mică de 1/2 LSB.
Timpul de achizitie tac (fig.5.2) reprezintă intervalul de timp dintre momentul aplicării
frontului de comandă al stării de eşantionare şi momentul în care ieşirea CEM urmăreşte intrarea
acestuia cu o precizie dată (eroare mai mică de 1/2 LSB). Acest timp de achizitie apare datorită
intârzierii la comanda de comutare în starea de eşantionare, datorită vitezei limitate de variaţie a
tensiunii de la ieşirea CEM precum şi procesului oscilatoriu premergător stabilizării tensiunii de
la ieşirea CEM. Timpul de achiziţie reprezintă o caracteristică importantă a CEM care limitează,
în procesul de achiziţie, frecvenţa de eşantionare (frecvenţa de culegere a valorii semnalelor).
b1b2 ... b N t
t t2 t3 t4
≥ t ap + t s 1 Tc ≥ tac
b)
102
Sisteme de achiziţie şi prelucrare a datelor
M
K
AO1 AO2
E ue
ui
C
E/M
103
Circuite de eşantionare şi memorare
K M
AO AO2
1 E
ue
u
i
C
Cd
104
Sisteme de achiziţie şi prelucrare a datelor
CAPITOLUL VI
Circuite pentru multiplexarea datelor
6.1. Achiziţia cu rate diferite a datelor
Dintre metodele de multiplexare cea mai des utilizată este multiplexarea prin
divizarea timpului sau multiplexarea în timp care presupune alocarea unei resurse comune
(canal de comunicaţie, circuit de măsura sau prelucrare) pentru mai multe surse de semnal - în
acest caz elemente sensibile - fiecare fiind conectată la resursă o anumită unitate de timp.
Există situaţii în care se impune achiziţia de semnale de măsura (date) atât analogice cât şi
digitale din diverse procese sau instalaţii industriale printre care se numără şi procesele
respectiv instalaţiile miniere cum ar fi procesele respectiv instalaţiile de transport pe
orizontală sau verticală, complexele mecanizate de tăiere şi susţinere, instalaţiile de producere
a aerului comprimat, instalaţiile de ventilare şi supravegherea aerajului etc. Toate aceste
procese sau instalaţii reclamă atât achiziţia de date corespunzătoare semnalelor de măsură
analogice cât şi de date corespunzătoare unor semnale de tip contact cărora li se atribuie cele
două nivele binare 0 şi 1. În acest caz se utilizează atât multiplexoare analogice cât şi
multiplexoare digitale, structura sistemului de achiziţie fiind prezentată în fig.6.1.
MULTIPLEXOR
date
ANALOGIC
ESA1
A FTJ CAN magistrala
ESA2 de
control
ESAn
magistrala
de
MULTIPLEXOR
date
date ANALOGIC
ESN1 circuit de conditionare
date
ESNn circuit de conditionare
105
Circuite pentru multiplexare a datelor
f0
oscilator numarator decodificator
6 biti 2/4
4 biti selectie
4
selectie selectie selectie validare
validare
1 grup 1 2 validare 3 grup 4
validare grup 3
1 17 grup 2 49
2 18 34 50
MUX MUX MUX MUX
16:1 intrari 16:1 intrari 16:1 intrari 16:1
16 32 48 64
intrari
iesire
Fig.6.3. Structura paralelă de multiplexare în timp pentru 64 semnale de intrare
106
Sisteme de achiziţie şi prelucrare a datelor
conform tabelului 6.1. Pentru selectarea tuturor celor 64 de semnale de intrare este deci
necesară numărarea a 64 de impulsuri cu frecvenţa f0 furnizate de către oscilator.
Tabel 6.1.
Intrare
b5 b4 b3 b2 b1 b0 Grup selectat
selectată
0 0 0 0 0 0 1
0 0 0 0 0 1 2 1
… … … … … … …
0 0 1 1 1 1 16
0 1 0 0 0 0 1
0 1 0 0 0 1 2
2
… … … … … … …
0 1 1 1 1 1 16
1 0 0 0 0 0 1
1 0 0 0 0 1 2
3
… … … … … … …
1 0 1 1 1 1 16
1 1 0 0 0 0 1
1 1 0 0 0 1 2
4
… … … … … … …
1 1 1 1 1 1 16
107
Circuite pentru multiplexare a datelor
Numărător Jonson C1 C2 C3 C4
MMC 4066
Nivel
b c d e
2
0 1 14 15 0 1 14 15 0 1 14 15 0 1 14 15
Fig.6.4. Schema de principiu a unui sistem de achiziţie cu structură piramidală pe trei nivele
108
Sisteme de achiziţie şi prelucrarea a datelor
numărătoarelor binare MMC 4518. Forma acestor impulsuri de comandă este prezentată în
fig.6.5.
T0=1/f 0 Sunt utilizate 4 numărătoare
a binare ce formează cuvântul de selecţie al
t intrării fiecăruia dintre cele 4
multiplexoare ce formează nivelul 1 al
b T=1/f t structurii piramidale. Fiecare din cele 4
multiplexoare sunt de tipul 16 : 1 astfel
c t că numărul total al semnalelor
multiplexate este în cazul acestei scheme
d t de 64. Deoarece nu există restricţii
majore în ceea ce priveşte realizarea
e conexiunii SAU cablat se poate realiza o
t
extensie a numărului de intrări
multiplexate, acesta fiind determinat de
Fig.6.5. Diagrama de funcţionare numărul de multiplexoare şi numărul de
comutatoare analogice utilizate. Evident
că o extensie a numărului de intrări impune şi adăugarea corespunzătoare de ieşiri ale
numărătorului Johnson
Schema prezintă şi avantajul că nu impune restricţii asupra vitezei de operare a
multiplexoarelor având în vedere că semnalele de intrare împreună cu semnalele de comanda
sunt aplicate consecutiv celor patru multiplexoare. Fiecare impuls primit de la oscilator este
convertit intr-o perioada T = 4xT0 astfel că impulsurile de perioadă T numărate de către
numărătoarele MMC 4518 vor forma la ieşirile acestora cuvintele de selecţie ale semnalelor
de intrare corespunzătoare pe rând pentru cele patru multiplexoare concomitent cu
deschiderea comutatorului MMC 4066 corespunzător. Datorită modului de formare a
impulsurilor de comandă a, b, c, d, selectarea fiecărui multiplexor se va realiza la fiecare patru
impulsuri ale semnalului de frecvenţă f0.
109
Amplificatoare cu câştig programabil
CAPITOLUL VII
Amplificatoare cu câştig programabil (PGA)
7.1. Rolul amplificatorului cu câştig programabil
Amplificatorul cu câştig programabil permite mărirea gamei dinamice
corespunzătoare semnalului analogic de intrare astfel încât să fie posibilă utilizarea aceluiaşi
sistem de achiziţie de date (SAD) pentru un număr cât mai mare de semnale de intrare. Gama
dinamică (GD) a semnalului de intrare se exprimă în funcţie de valoarea maxim posibilă a
acestui semnal ui.max şi valoarea minimă impusă a se detecta ui.min.det, prin relaţia:
110
Sisteme de achiziţie şi prelucrare a datelor
111
Amplificatoare cu câştig programabil
b1 b0
112
Sisteme de achiziţie şi prelucrare a datelor
R2
A =1+ (7.9)
R1
iar circuitul de comandă şi comutatoarele sunt realizate cu tranzistoare MOS prin utilizarea
circuitului MMC 4051 (CMOS) care este un multiplexor-demultiplexor analogic cu 8 canale.
Pe baza relaţiei (7.9) şi având în vedere valoarea rezistenţelor conectate prin
intermediul pinului COMMON IN/OUT al MMC 4051 la intrarea neinversoare a AO rezultă
amplificările conform tabelului 7.3 şi evident că prin alegerea de valori corespunzătoare
pentru rezistenţele din schemă se pot obţine şi alţi factori de amplificare.
Generator
de tact Decodor
Uref.inf
cuvânt
C1 binar
P1 CU
Uref.sup Numarator
reversibil
C2
P2 CD
Tensiunea de la ieşirea PGA este comparată în mod continuu cu două nivele ale unei
tensiuni de referinţă uref.sup şi uref.inf. Când tensiunea de referinţă superioară uref.sup este
depaşită, comparatorul C2 işi schimbă starea de la 0 la 1. Un generator intern de tact
furnizează impulsuri de ştergere care determină întârzierea în timp între treptele de reglaj ale
amplificării. Dacă ieşirea comparatorului este în starea 1, poarta SI P2 va transmite primul
impuls de tact apărut numaratorului reversibil la intrarea CD (Count Down) reducând astfel
cu o treaptă nivelul de amplificare. Amplificarea se va menţine în această stare până la
113
Amplificatoare cu câştig programabil
apariţia unui nou impuls de tact. Modalitatea de reglaj pentru limita inferioară a gamei este
similară.
Dacă tensiunea de la ieşirea amplificatorului este mai mică decât tensiunea de referinţă
inferioară uref.inf, comparatorul C1 trece din starea 0 în starea 1 şi poarta P1 permite trecerea
impulsurilor de tact ale generatorului cître intrarea CU (Count Up). Conţinutul numărătorului
va creşte cu o unitate pentru fiecare impuls de tact determinând astfel mărirea amplificării.
Frecvenţa impulsurilor de tact se alege astfel încât să permită amplificatorului să
ajungă într-un regim de amplificare stabilă, corespunzătoare unui anumit cuvânt binar de la
intrare. Când ieşirile celor două comparatoare sunt în stare 0, amplificarea sistemului se
menţine în cadrul limitelor fixate.
Alegerea celor două nivele ale tensiunii de referinţă trebuie facută riguros, în scopul
evitării unor efecte nedorite. De exemplu, dacă autoreglarea amplificării se face în trepte de
10:1, va fi necesar ca tensiunea de referinţă inferioară uref.inf să fie cu puţin mai mică decât o
zecime din tensiunea de referinţă superioară uref.sup. Efectul autoreglării pe semnalul de
zgomot poate fi inhibat prin introducerea unei întârzieri la nivelul de comparare.
În fig.7.4 este prezentată schema bloc a unui circuit de autoreglare specifică sistemelor
de achiziţie care lucrează prin multiplexare, având spre deosebire de circuitul anterior
posibilitatea de blocare a autoreglării pe perioada când se realizeaza comutaţia unui canal la
nivelul multiplexorului.
Un monostabil CBM comandat de impulsurile de comutaţie ale canalelor în
multiplexor blochează generatorul de tact pentru un interval finit de timp, corespunzător
perioadei de comutaţie a canalului şi puţin după aceea. Durata exactă a intervalului de blocare
Fig.7.7. Schema bloc a unui sistem PGA autoreglabil cu funcţionare prin multiplexare
114
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală
CAPITOLUL VIII
Structura sistemelor de achiziţie de date
Pentru achiziţia mai multor semnale analogice de intrare de către un SAD se impune
utilizarea în structura acestuia a unui circuit multiplexor. Acest circuit poate fi conectat, în
structura SAD, în mod diferit obţinând variante de SAD în ordinea creşterii complexităţii
structurii ca număr de componente utilizate şi cu consecinţa creşterii frecvenţei de achiziţie.
u i2
b b ... b
MUX 1 2 N
CEM CAN
k:1
u ik start
E/M conv.
stare
M conv.
115
Structura sistemelor de achiziţie de date
Comanda de prelevare a unui eşantion din semnalul ui2 este dată la momentul t4 prin
frontul de comandă al stării de memorare al CEM astfel încât:
t 3 − t 2 ≥ t ac (8.3)
unde tac este timpul de achiziţie al CEM.
La momentul t5, ales astfel încât t4 -t5 să respecte relaţia (8.1) se comandă declanşarea
conversiei analog-numerice corespunzătoare eşantionului prelevat din ui2. În intervalul t3 ÷ t5
la ieşirile b1 b2...bN ale CAN este încărcat rezultatul conversiei numerice a eşantionului
prelevat din ui1 şi acest rezultat este preluat de SPN.
M
t
E/M
t
START
CONV t
STARE
CONV t
b 1 b 2 ..b N (u )
ik (ui1 ) (u i2 ) t
t1 t2 t3 t4 t5
∃ (t ap+ t s ) Tc ∃ t ac
116
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală
u i1
CEM 1
E/M 1
u i2 b b ... b
MUX 1 2 N
CEM 2 CAN
E/M 2 k:1
u ik start
conv.
CEM k
stare
E/M k conv.
M
SISTEM DE PRELUCRARE NUMERICA
E/M 1
E/M 2
t
M
t
START
CONV t
STARE
CONV t
b 1 b 2 ..b N (u ) (u i2 ) t
ik (u i1 )
t1 t2 t3 ∃ (tap+ts) t4 t5 t6 t7 t8
∃ tsm Tc Tc
Tac
Fig.8.4. Diagramele de timp ale semnalelor de control pentru SAD
cu multiplexarea ieşirilor CEM şi comandă separată a acestora
117
Structura sistemelor de achiziţie de date
t 3 − t 2 = t sm (8.7)
unde tsm este timpul de stabilizare al multiplexorului.
Sfârşitul conversiei analog-numerice corespunde momentului t5 dat de frontul de
coborâre al semnalului STARE CONV şi rezultă:
t 5 − t 3 = TC (8.8)
Pentru a obţine o perioadă de achiziţie minimă se comandă starea de memorare pentru
circuitul CEM2 la momentul t4, înainte de sfârşitul conversiei astfel încât:
t 5 − t 4 ≥ t ap + t s (8.9)
Respectarea la limită a relaţiei (8.9) corespunde unor erori minime datorate alterării
tensiunii de la ieşirea CEM2 în starea de memorare.
La momentul t5 se comandă CEM1 în starea de eşantionare şi se comută multiplexorul
pentru conectarea ieşirii circuitului CEM2 la intrarea CAN. Astfel, la momentul t6 (t6 - t5
tsm) se declanşează conversia analog-numerică a eşantionului prelevat din semnalul de intrare
ui2. În intervalul t5÷t6 , la ieşirea CAN (b1 b2...bN) este încărcat rezultatul conversiei numerice a
eşantionului prelevat din semnalul de intrare ui1. Procesul de achiziţie se desfăşoară în
continuare periodic conform diagramelor de timp din fig.8.4 cu precizarea că la construcţia
acestora s-a considerat că timpul de achiziţie tac al CEM este mai mic decât timpul de
conversie Tc al CAN.
Achiziţia a k semnale de intrare este controlată în mod similar cu cazul analizat (k =
2), astfel intervalul de timp corespunzător achiziţiei a câte un eşantion din cele k semnale de
intrare este:
Tac = k ⋅ (t 5 − t 2 ) = k ⋅ (t 6 − t 3 ) (8.10)
Valoarea minimă a perioadei de achiziţie se obţine din relaţiile (8.8), (8.9) rezultând:
Tac . min = k ⋅ (tsm +TC ) (8.11)
Din punct de vedere al complexităţii structurii, la acest SAD se observă o creştere a
acesteia faţă de schema SAD cu multiplexarea intrărilor prin existenţa a k CEM. Pentru a
compara cele două variante din punct de vedere al vitezei de achiziţie este necesară analiza
relaţiilor (8.5) şi respectiv (8.11). Deoarece în cazurile practice tsm<<tac rezultă că SAD cu
multiplexarea ieşirilor CEM permite obţinerea unei perioade de achiziţie mai mică, adică a
unei viteze (frecvenţe) de achiziţie mai mare.
Din structura SAD cu multiplexarea ieşirilor CEM rezultă posibilitatea prelevării de
eşantioane la aceleaşi momente de timp din cele k semnale analogice de intrare prin comanda
cu acelaşi semnal a intrărilor E/Mi ale CEMi.
În fig.8.5 sunt prezentate diagramele de timp ale semnalelor de control
corespunzătoare achiziţiei de eşantioane la aceleaşi momente de timp din două semnale de
intrare.
Procesul de achiziţie este declanşat la momentul t1 prin frontul de comandă al stării de
memorare aplicat simultan CEM (k = 2). La momentul t2 ales astfel încât:
t 2 − t1 ≥ t ap + t 5 (8.12)
se declanşează conversia analog-numerică a eşantionului prelevat din semnalul de intrare ui1
şi această conversie se termină la momentul t3:
t3 − t 2 =TC (8.13)
la care comută multiplexorul. Astfel, la momentul t4:
118
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală
t 4 − t3 ≥ tsm (8.14)
se declanşeaza conversia analog-numerică a eşantionului prelevat din semnalul ui2 şi aceasta
se termină la momentul t5 :
t5 − t 4 =TC (8.15)
la care se comandă starea de eşantionare pentru CEM. Declanşarea prelevării unui al doilea
set de eşantioane se realizează la momentul t6:
t 6 − t 5 ≥ t ac (8.16)
prin comanda stării de memorare pentru CEM.
E/M 1,2
t
M
(u i1 ) (u i2 ) t
START
CONV t
STARE
CONV t
b 1 b 2 ..b N t
(u ik ) (u i1 ) (u i2 )
t6
∃ (tap + ts)t1 t2
Tc
t3 t4 Tc t5
∃ tsm
Tac
119
Structura sistemelor de achiziţie de date
u i1
CEM 1 CAN 1
E/M 1 start stare
conv conv b b ... b
1 2 N
u i2
CEM 2 CAN 2 MUX
E/M 2 start stare k:1
conv conv
u ik
CEM k CAN k
E/M k start stare
conv conv M
Controlul unui ansamblu CEM - SAD se realizează conform celor prezentate în cazul
SAD cu un semnal analogic de intrare. Transferul rezultatelor conversiilor analog-numerice la
circuitul de prelucrare numerică se realizează în intervalele corespunzătoare stărilor de
eşantionare ale CEM prin comanda multiplexorului.
Considerând cazul în care CAN sunt realizate pe principiul aproximaţiilor succesive şi
cunoscând faptul că în cazul acestor circuite de conversie analog numerică durata procesului
de conversie este constantă şi independentă de valoarea mărimii analogice de intrare, ea
depinzând numai de rezoluţia (numarul de biţi N) CAN, diagramele de timp ale semnalelor de
control sunt prezentate în fig.8.7.
E/M
t
START
CONV t
STARE
CONV t
M
CAN1 CAN2 CANK t
b 1 b 2 ..b N t
(u i1) (u i2 ) (u ik )
∃ (t ap+ t s ) Tc t ac t ac
Se observă în acest caz un mod de lucru identic cu cel al SAD cu un singur semnal
analogic de intrare şi perioada de achiziţie este minimă şi este dată de relaţia:
120
Sisteme de achiziţie şi prelucrare a datelor. Instrumentaţie virtuală
E/M
START
CONV t
STARE
CONV 1 t
STARE
CONV 2 t
M t
CAN2 CAN1 CAN1 CAN2
b 1 b 2 ..b N (u i1) (u i2 ) t
(u i2 ) (u i1 )
∃ (t ap+ t s ) Tc.min t ac2 t ac1
121
Plăci de achiziţie de date
CAPITOLUL IX
Plăci de achiziţie de date (DAQ)
9.1. Generalităţi privind utilizarea plăcilor de achiziţie de date
Se prezintă în acest capitol conceptul de instrumentaţie virtuală, placa de achiziţie şi
structura unui instrument virtual.
De obicei, măsurătorile sunt făcute cu un instrument de măsură, fie el osciloscop,
multimetru, etc. şi prin notarea datelor reprezentând valorile măsurate pentru o eventuală
procesare ulterioară. Pe lângă acesta, instrumentele programabile reale (osciloscoape,
multimetre digitale, voltmetre, s.a.) sunt costisitoare şi dotate cu funcţii fixe, definite de
producător şi aceste funcţii de cele mai multe ori obligă utilizatorul să-şi adapteze nevoile
facilitaţilor oferite). În cazul unor proiecte mari, înregistrarea măsurătorilor, a dus un volum
mare de date şi de muncă, care au atras automat utilizarea calculatorului pentru prelucrarea
datelor. La rândul să calculatorul a impus determinarea unor căi de introducerea a acestor
date.
Există astfel câteva modalităţi prin care datele pot fi schimbate între instrumentele de
măsură şi calculator. Multe dintre instrumentele, de generaţie mai nouă, au porturi seriale prin
intermediul cărora datele pot fi transferate în calculator. O alta modalitate, de măsurare a
semnalelor şi/sau de transferare a acestora către calculator este utilizarea unor placi de
achiziţie (DAQ) (fig.9.1.).
122
Sisteme de achiziţie şi prelucrare a datelor
123
Plăci de achiziţie de date
volţi
volţi
eşantionare
timp timp
eşantionare corectă
semnal după filtrare
semnal nefiltrat
Unitatea de măsură pentru rata de eşantionare se notează S/s sau KS/s (samples/second,
eşantioane pe secundă) şi reprezintă efectuarea unei singure conversii analog – digitale într-o
secundă (fig.9.2).
Majoritatea tipurilor de plăci de achiziţie de date, deşi posedă mai multe canale de
intrare analogică, utilizează un singur convertor analog – digital. Măsurarea semnalelor de pe
mai multe canale este realizată prin multiplexarea acestora la intrarea convertorului. Astfel,
rata de eşantionare corespunzătoare unui anumit canal este invers proporţională cu numărul de
canale pe care se efectuează măsurări la un moment dat. De exemplu, în cazul unei plăci de
achiziţie de date cu rata maximă de eşantionare de 1 MS/s cu ajutorul căreia se măsoară 10
semnale, rata de eşantionare efectivă pe fiecare canal de măsurare nu poate depăşi 100 kS/s.
Efectele ratei de eşantionare (fig.9.2):
• eşantionare acceptabila (primul grafic)
• eşantionare insuficienta
Intervalul de măsurare este determinat de valorile minimă şi maximă ale tensiunii
electrice pe care convertorul analog – digital o poate cuantifica. Majoritatea plăcilor de
124
Sisteme de achiziţie şi prelucrare a datelor
achiziţie de date au la dispoziţie mai multe intervale de măsurare, unul dintre acestea putând fi
selectat la un moment dat. Existenţa a mai multor intervale de măsurare este facilitată de
existenţa în structura plăcii de achiziţie a amplificatorului cu câştig programabil.
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.
În figura 9.3
amplitudine este reprezentat un
semnal sinusoidal,
împreună cu
reprezentarea acestuia
oferită de către un
convertor analog –
digital cu rezoluţia de 3
biţi care împarte
intervalul de măsurare
în 23 = 8 subintervale.
Este evidentă precizia
scăzută a măsurării,
echivalentă unei
Fig.9.3. Semnal sinusoidal discretizat de un convertor pe 3 biţi
pierderi de informaţie.
Utilizarea, de exemplu,
a unui convertor cu rezoluţia de 16 biţi ar conduce la o reprezentare mult mai fidelă a
semnalului original, intervalul de măsurare fiind partiţionat în acest caz în 216 = 65536
subintervale.
Posibilitatea de selectare a intervalului de măsurare al unei plăci de achiziţie de date
permite alegerea unor limite ale acestuia cât mai apropiate de valorile extreme ale semnalului
măsurat, astfel încât rezoluţia disponibilă a convertorului analog – digital să conducă la o
precizie cât mai bună a măsurării.
Valoarea preciziei de măsurare, echivalentă cu variaţia minimă detectabilă a
semnalului măsurat, este denumită şi lăţime de cod şi corespunde variaţiei bitului cel mai
puţin semnificativ (LSB) din numărul binar generat de către convertorul analog – digital în
urma măsurării.
Precizia de măsurare a unei plăci de achiziţie de date, calculată în funcţie de parametrii
constructivi descrişi anterior, nu este întotdeauna respectată atunci când măsurarea se
efectuează cu valori mari ale ratei de eşantionare. Există situaţii în care plăci cu rezoluţia de
16 biţi reuşesc, la rate de eşantionare de 100 kS/s, să redea semnalul măsurat cu o precizie
corespunzătoare unei măsurări cu rezoluţia de doar 12 biţi.
Caracterizarea completă a performanţelor unei plăci de achiziţie de date aflate într-un
regim de lucru solicitant nu poate fi efectuată fără luarea în considerare a unor parametri
auxiliari ca: neliniaritatea convertorului analog – digital, precizia relativă, timpul de
stabilizare şi zgomotul.
125
Plăci de achiziţie de date
Într-un caz ideal, valoarea numerică generată de către convertorul analog – digital
variază liniar cu valoarea tensiunii electrice aplicate la intrarea acestuia. Deviaţia de la o astfel
de dependenţă poartă numele de neliniaritate. Parametrul care cuantifică neliniaritatea unui
convertor analog – digital este notat DNL, şi reprezintă diferenţa dintre valoarea lăţimii de
cod şi valoarea corespunzătoare variaţiei bitului cel mai puţin semnificativ. Parametrul DNL
se exprimă în raport cu această a doua valoare (LSB), având, în cazul unor plăci de achiziţie
de date performante, valoarea de ±0,5 LSB.
Precizia relativă, exprimată în LSB, reprezintă valoarea maximă a deviaţiei de la
forma liniară a funcţiei de transfer a plăcii de achiziţie de date. La o variaţie liniară a
semnalului pe tot intervalul de măsurare, valorile numerice binare generate de către
convertorul analog – digital depind aparent liniar de tensiunea electrică măsurată (Fig. 9.4).
Scăderea valorilor reale ale tensiunii măsurate din valorile numerice binare generate de către
convertor (operaţie echivalentă cu o mărire a imaginii) nu conduce însă la obţinerea unui
segment de dreaptă suprapus peste abscisă (situaţie corespunzătoare identităţii celor două
seturi de valori) ci la un grafic reprezentând variaţia abaterii valorii măsurate în raport cu cea
reală. Precizia relativă a plăcii de achiziţie de date este egală cu valoarea maximă a acestei
abateri.
CARACTERISTICA DE CONVERSIE
DETERMINAREA RELATIVĂ A PRECIZIEI
CORESPUNZĂTOARE CODULUI
COD DIGITAL PE 16 BIŢI
EXPRIMAREA ERORII
DIGITAL PE 16 BIŢI
126
Sisteme de achiziţie şi prelucrare a datelor
Riscul de preluare de către convertor a unui semnal insuficient amplificat creşte atunci
când multiplexorul baleiază un număr mare de canale. Tensiunea de la intrarea
amplificatorului are în acest caz variaţii accentuate (figura 9.5) la care amplificatorul se poate
adapta cu dificultate.
Amplitudine [ V ]
Timp [ sec ]
127
Plăci de achiziţie de date
Fig. 9.6. Zgomotul în circuitele a două plăci de achiziţie, cu respectiv fără ecranare
viteza cu care convertorul digital – analog poate modifica valoarea tensiunii electrice
generate.
Timpul de stabilizare specificat pentru un convertor analog – digital este de obicei
determinat în situaţia cea mai dezavantajoasă, în care modificarea tensiunii generate este egală
în amplitudine cu intervalul de generare. Este evident că generarea unor semnale cu frecvenţe
înalte, de genul semnalelor audio, poate fi efectuată doar de către convertoare digital –
analogice cu timpi de stabilizare reduşi şi rate mari de generare.
Având o definiţie similară celei din cazul intrărilor analogice, rezoluţia convertoarelor
digital – analogice determină fineţea cu care semnalele de ieşire pot fi generate.
O apreciere foarte precisă a performanţelor cu care o placă de achiziţie de date
îndeplineşte funcţiunea de ieşire analogică trebuie să aibă în vedere, în special în cazul
regimurilor de lucru solicitante, şi aspectele legate de neliniaritatea convertorului digital –
analog, parametru definit în mod similar cu cazul intrărilor analogice.
Comunicaţiile digitale ale unei plăci de achiziţie de date, servind controlului
procesului monitorizat sau comunicării cu diverse echipamente periferice, au performanţe
caracterizate în principal prin numărul de linii digitale disponibile, rata cu care datele pot fi
recepţionate sau emise prin intermediul liniilor respective precum şi capacitatea acestor linii
de a transmite semnale de o anumită intensitate electrică.
Valorile necesare ale caracteristicilor enumerate anterior sunt determinate în primul
rând de caracteristicile echipamentelor din proces cu care placa de achiziţie de date urmează
să comunice: număr de semnale digitale ce trebuiesc recepţionate sau emise, timpul de
răspuns al unui anumit echipament sau al unei mărimi din proces, puterea electrică necesară
pentru comanda sau acţionarea unor echipamente.
În situaţia în care placa de achiziţie de date comunică, prin intermediul liniilor digitale,
cu un echipament periferic (înregistrator, procesor de date, imprimantă), este necesară
posibilitatea de a grupa din punct de vedere logic mai multe linii digitale într-un port de
comunicaţie. Protocolul de comunicaţie digitală poate de asemenea necesita derularea unor
operaţiuni de sincronizare între emiţător şi receptor, în scopul reducerii riscului de transmitere
eronată a informaţiei.
În cazul generării unor semnale digitale de comandă sau acţionare, sunt rare situaţiile
în care componentele din proces (motoare, valve, relee etc) acceptă direct semnalele TTL ale
plăcii de achiziţie de date. Majoritatea componentelor respective necesită prezenţa
intermediară a unor condiţionatoare de semnale digitale care să realizeze amplificările
corespunzătoare ale valorilor tensiunii sau intensităţii electrice.
Circuitele de numărare şi cronometrare ale unei plăci de achiziţie de date pot fi
utilizate atât pentru sesizarea şi numărarea unor evenimente digitale (de exemplu, semnalele
128
Sisteme de achiziţie şi prelucrare a datelor
129
Plăci de achiziţie de date
Configuraţie Descriere
9.2.1.4. Dithering
Def. Dithering-ul împrăştie diferiţi pixeli coloraţi într-o imagine pentru a o face să
apară ca si cum ar fi culori intermediare în imagine cu o paletă de culori limitate. Când
dithering-ul este pornit se poate adăuga aproximativ 0.5LSB rms de zgomot Gaussian alb la
semnal pentru a fi convertit de ADC.
Aceasta adiţie este folositoare pentru aplicaţii care implică media pentru a creşte
rezoluţia dispozitivului, la fel ca în calibrare sau analize spectrale. În asemenea aplicaţii
modularea zgomotului este scăzută şi linearitatea diferenţială este îmbunătăţită de adăugarea
dithering-ului.
130
Sisteme de achiziţie şi prelucrare a datelor
131
Plăci de achiziţie de date
132
Sisteme de achiziţie şi prelucrare a datelor
133
Plăci de achiziţie de date
134
Sisteme de achiziţie şi prelucrare a datelor
135
Plăci de achiziţie de date
este automată.
136
Sisteme de achiziţie şi prelucrare a datelor
137
Plăci de achiziţie de date
138
Sisteme de achiziţie şi prelucrare a datelor
139
Plăci de achiziţie de date
140
Sisteme de achiziţie şi prelucrare a datelor
141
Plăci de achiziţie de date
Folosind conexiuni de intrare DIFF pentru orice canal care întruneşte oricare dintre
condiţiile următoare:
- semnalul de intrare este de nivel scăzut (mai puţin de 1V)
- firele care conectează semnalul la dispozitiv sunt mai lungi de 3 metrii
- semnal de intrare – necesita un punct de referinţă la masă separată
- firele traversează printr-un mediu cu referinţe.
Conexiunile semnalelor DIFF reduc interferenţele şi cresc respingerea zgomotului.
Conexiunile semnalelor DIFF permit de asemenea semnalelor de intrare să varieze în
interiorul limitelor normale ale PGIA.
142
Sisteme de achiziţie şi prelucrare a datelor
Fig. (9.14) arată doi rezistori conectaţi în paralel cu semnalul unei surse de semnal
variabil. Dacă nu folosim rezistorii şi sursa este într-adevăr variabilă, sursa nu este probabil să
rămână în raza de semnal normal PGIA. PGIA se va satura cauzând citiri eronate.
Trebuie făcută referinţa sursei la AIGND. Cel mai uşor mod este de a conecta partea
pozitivă a semnalului la intrarea pozitivă a PGIA şi conectarea părţii negative a semnalului la
AIGND cât şi la intrarea negativă a PGIA fără rezistenţe. Acest conector funcţionează bine
pentru surse cuplate la curent continuu cu impedanţe mici(mai puţin de 100Ω).
Totuşi pentru impedanţe ale sursei mai mari, această conexiune lasă semnalul DIFF
semnificativ nebalansat. Zgomotul care cuplează electrostatic pe linia pozitivă nu cuplează pe
linia negativă pentru că este conectat la masă. De aceea acest zgomot apare ca un semnal mod
DIFF în locul unui semnal normal si PGIA nu îl respinge. În acest caz locul conectării directe
a linii negative la AIGND, trebuie conectat la AIGND printr-un rezistor care este aproximativ
de 100 ori echivalentul impedanţei sursei.
Rezistorul pune ruta semnalului aproape în balans, astfel încât aproape aceeaşi
cantitate de zgomot intră în ambele conexiuni rezultând o respingere mai bună a zgomotului
cuplat electrostatic. De asemenea această configuraţie nu reduce încărcătura pe sursă(în afară
de impedanţe de intrare foarte mari ale PGIA).
Putem balansa complet semnalul conectând încă un rezistor de aceeaşi valoare între
intrarea pozitivă şi AIGND aşa cum este arătat în fig. (9.14) această configuraţie balansată
total oferă respingere puţin mai bună a zgomotului dar are dezavantajul încărcării sursei cu
combinaţia în serie a celor doi rezistori.
143
Plăci de achiziţie de date
Dacă de exemplu impedanţa sursei este 2kΩ şi fiecare dintre cei doi rezistori sunt
100kΩ, rezistorii încarcă sursa cu 200kΩ şi produc o eroare cu câştig de 1%.
Ambele intrări ale PGIA necesită o cale de curent continuu spre masă pentru ca PGIA
să funcţioneze. Dacă sursa este conectată la curent alternativ PGIA necesită un rezistor între
intrarea pozitivă şi AIGND. Dacă sursa are impedanţă mică, alegeţi un rezistor care este
destul de mare pentru a nu încărca sursa în mod semnificativ dar destul de mic pentru a nu
produce o tensiune de intrare semnificativă ca rezultat al curentului de intrare (tipic 100kΩ
pană la 1MΩ).
În acest caz putem lega intrarea negativă direct la AIGND. Dacă sursa are impedanţă
mai mare de ieşire, balansaţi calea semnalului cum a fost descris anterior folosind aceeaşi
valoare a rezistorului pe intrarea pozitivă cat şi negativă; luaţi în seamă că există o eroare de
câştig din descărcarea sursei.
d. Conexiuni unipolare
O conexiune unipolară este una în care semnalul analog de intrare al dispozitivului
este cu referinţă la o masă pe care o împarte cu alte semnale de intrare. Semnalul de intrare
este legat la intrarea pozitivă a PGIA şi masa este legată la intrarea negativă a PGIA.
Când fiecare canal este configurat pentru intrări la un singur capăt sunt disponibile
până la 16 canale de intrare analogice. Putem folosi conexiunile de intrare la un singur capăt
pentru orice semnal de intrare care întruneşte următoarele condiţii:
- semnalul de intrare este de nivel înalt (mai mare de 1V)
- firele care conectează semnalul la dispozitiv au mai puţin de 3m
- semnalul de intrare poate împărţii un punct comun de referinţă cu alte semnale
Conexiunile de intrare DIFF sunt recomandate pentru integritate mai mare a
semnalului pentru orice semnal de intrare care nu îndeplineşte condiţiile de mai sus.
Folosind software putem configura canalele pentru două tipuri diferite de conexiuni la
un singur capăt – configuraţie RSE şi NRSE. Configuraţia RSE este folosită petru surse de
semnal variabile; în acest caz dispozitivul furnizează punctul de referinţă al masei pentru
semnalul extern. Configuraţia de intrarea NRSE este folosit pentru surse de semnal cu
referinţă la masă; în acest caz semnalul extern furnizează propriul punct de referinţă la masă.
În configuraţia la un singur capăt mai mult zgomot electrostatic şi magnetic intră in
conexiunile semnalului decât în configuraţia DIFF. Cuplarea este rezultatul diferenţelor în
calea semnalului. Cuplarea magnetică este proporţională cu zona dintre conectorii celor două
semnale. Cuplarea electrică este o funcţie dintre cât de mult variază câmpul electric între cei
doi conectori.
144
Sisteme de achiziţie şi prelucrare a datelor
Fig. 9.15. Conexiuni unipolare pentru semnale variabile sau fără referinţă
145
Plăci de achiziţie de date
146