Sunteți pe pagina 1din 70

UNIVERSITATEA 

DIN PETROŞANI
DEPARTAMENTUL AUTOMATICĂ, CALCULATOARE, INGINERIE ELECTRICĂ ŞI ENERGETICĂ

Conf.univ.dr.ing. NICOLAE PĂTRĂŞCOIU


Cap. I. Generalităţi privind sistemele de achiziţie şi prelucrare a datelor

• Traductoare
• Instrumentele de prelucrare a semnalelor
• Echipamentul hard destinat achiziţiei şi analizei datelor
• PC-ul
• Software
Cap. I. Generalităţi privind sistemele de achiziţie şi prelucrare a datelor

Structura generală a unui sistem de achiziție și prelucrare a datelor

Structura unui SAD cu un semnal analogic de intrare cuprinde:


 filtru de intrare,
 amplificator cu câştig programabil (PGA),
 circuit de eşantionare şi memorare
 circuit de conversie analog-numerică.
Cap. II. Limbajul de programare grafică LabVIEW
2.1. Introducere în LabVIEW

LabVIEW reprezintă un limbaj grafic de programare şi conţine unelte necesare pentru achiziţia, citirea, prelucrarea, stocarea şi
afişarea datelor.

Programele realizate în LabVIEW se numesc instrumente virtuale (Virtual Instruments - VI), la baza acestora stând conceptele
de modularizare şi ierarhie arborescentă. 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. Prin crearea şi utilizarea de subVI la realizarea altor VI, utilizatorul defineşte ierarhii
de VI.
Cap. II. Limbajul de programare grafică LabVIEW
2.1. Introducere în LabVIEW
Un VI are trei părţi componente:
 Panoul frontal;
 Diagrama bloc;
 Pictograma şi conectorul

LabVIEW 1 SubVI
Cap. II. Limbajul de programare grafică LabVIEW
2.1. Introducere în LabVIEW
Ferestrele Panoului frontal şi ale Diagramei bloc din VI au fiecare câte o bară orizontală cu unelte, implementate prin
intermediul unor butoane, liste derulante sau indicatoare de stare, utilizate pentru editarea, trasarea şi execuţia unui VI.

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)
LabVIEW 1
Cap. II. Limbajul de programare grafică LabVIEW
2.1. Introducere în LabVIEW
O altă componentă importantă a interfeţei este caseta de unelte generale. Aceasta cuprinde instrumente la îndemâna
utilizatorului pentru crearea, editarea sau trasarea execuţiei instrumentelor virtuale. Afişarea/ascunderea casetei cu unelte
generale se face prin opţiunea View » Show Tool Palette sau prin poziţionarea cursorului mouse – ului în interiorul ferestrei
Panoului frontal sau Diagramei bloc şi apasarea simultană tasta « SHIFT » şi butonul dreapta al mouse - ului.

LabVIEW 1
Cap. II. Limbajul de programare grafică LabVIEW
2.2. Elemente ale limbajului de programare grafică
Panoul frontal al unui VI reprezintă
interfaţa cu utilizatorul. Operatorul indică
de la tastatura sau mouse datele de intrare
ale programului, prin interacţiune asupra
elementelor grafice de interfaţă, numite
controale. In urma prelucrării datelor de
intrare, rezultatele sunt afişate spre
consultare prin intermediul indicatoarelor.

Controalele şi indicatoarele utilizate pentru


crearea panoului frontal al instrumentului
virtual, panou ce va reprezenta interfaţa
utilizator se găsesc în bibliotecile Controls.
Acestea se pot activa cu comanda View »
Controls Palette caz în care fereastra ce
conţine aceste elemente rămâne permanent
în spaţiul de lucru sau cu clic – dreapta, caz
în care fereastra rămâne în spaţiul până la
selecţia unui control sau indicator
LabVIEW 1
Cap. II. Limbajul de programare grafică LabVIEW
2.2.2. Controale şi indicatoare de tip Numeric

Sunt utilizate pentru transmiterea valorilor numerice spre program sau afişarea rezultatelor numerice.

Pentru controlul numeric aflat pe


panoul frontal, se pot stabili unele
proprietăţi prin meniul contextual
asociat, activat pri selectarea
elementului si clic dreapta

LabVIEW 2
Cap. II. Limbajul de programare grafică LabVIEW
2.2.2. Controale şi indicatoare de tip Numeric
Cap. II. Limbajul de programare grafică LabVIEW
2.2.3. Funcții de tip Numeric
Funcțiile de tip numeric se găsesc în caseta cu funcții grupate sub numele Numeric

Semnificația elementelor grupului „Funcții numerice” :

 operații aritmetice cu operanzi scalari și elemente de


tablou;
 constante aritmetice definite de utilizator;
 subgrupul „Funcții de conversie” (Conversion);
 subgrupul „Manipulare date” (Data Manipulation);
 subgrupul „Funcții pentru numere complexe” (Complex);
 subgrupul „Scalare” (Scaling);
 subgrupul „Constante matematice și științifice” (Math &
Scientific Constants);
Cap. II. Limbajul de programare grafică LabVIEW
2.2.3. Funcții de tip Numeric Cele 20 de operaţii aritmetice disponibile în caseta cu funcţii numerice, sunt :
 adunare(Add)
 scădere (Substract)
 înmulţire (Multiply)
 împărţire (Divide)
 cât şi restul împătririi (Quotient & Remainder)
 incrementare cu 1 (Increment)
 decrementare cu 1 (Decrement)
 suma elementelor unui tablou (Add Array Elements)
 produsul elementelor unui tablou (Multiply Array Elements)
 combinare aritmetica (Compound Arithmetic)
 valoare absolută (Absolute Value)
 rotunjire la cel mai apropiat întreg (Round to Nearest)
 rotunjire în jos la cel mai apropiat întreg (Round to -Infinity)
 rotunjire în sus la cel mai apropiat întreg (Round to +Infinity)
 generarea unui număr aleator intre 0 şi 1 (Random Number 0-1)
 rădăcina pătrată (Square Root)
 schimbare de semn (Negate)
 multiplicarea printr-o putere a lui 2 (Scale by Power of 2)
 semnul valorii x (Sign)
• inversa (Reciprocal)
LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.4. Controale şi indicatoare de tip Boolean
Componentele de interfață, ale panoului frontal, aparținând tipului boolean, cu două valori posibile, corespunzând stării de
adevărat (True) sau fals (False).
Valoarea logică fals este valoare inițială și la fiecare apăsare a mouse – ului, componenta de
interfață de tip boolean va trece în starea complementară.
Din meniul contextual sau din caseta cu proprietăți se pot face setări – similare controalelor si
indicatoarelor numerice precum și:

stabilirea comportamentului mecanic al controlului boolean:


 „comută la apăsare”
 „comuta la eliberare”
 „comuta înainte de eliberare”
 „zăvorăște la apăsare”
 „zăvorăște la eliberare”
 „zăvorăște înainte de eliberare”
Cap. II. Limbajul de programare grafică LabVIEW
2.2.4. Controale și indicatoare de tip Boolean
Clasa de atribute Appearance

 Colors – setare culori pentru cele două stări;


 Show Boolean Text – adăugare de text pentru cele două
stări (On şi Off) care poate fi poziţionat în centrul
controlului (Lock text in center) şi avea mai multe
caractere (Multiple strings). Se poate introduce textul
corespunzător celor două stări şi seta culoarea acestui text.

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.5. Funcții de tipul boolean
 ŞI logic (AND);
 SAU logic (OR);
 SAU exclusiv (EXCLUSVIE OR);
 NEGARE logică (NOT);
 COMBINARE aritmetice (COMPOUND ARITHMETIC);
 ŞI-NU (NOT AND);
 SAU-NU (NOT OR);
 SAU exclusiv negat (NOT EXCLUSVIE OR);
 Implica (IMPLIES);
 ŞI logic pentru elementele unui tablou (AND ARRAY ELEMENTS);
 SAU pentru elementele unui tablou (OR ARRAY ELEMENTS);
 Conversia unui număr la tablou cu elemente booleene (NUMBER TO
BOOLEAN ARRAY);
 Conversia unui tablou cu elemente booleene la valoare numerică
(BOOLEAN ARRAY TO NUMBER);
 Conversia unei valori booleene la valoare numerică (BOOLEAN TO 0,1);
 Constanta booleana (BOOLEAN CONSTANT);

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.6. Controale şi indicatoare de tip șir de caractere
Componente de interfață tip şir de caractere ce permit înscrierea (String Control) sau afișarea (String Indicator) a mărimilor
aparținând acestui tip de dată.
Controlul Combo Box, permite crearea unei liste de șiruri de caractere prin opțiunea Edit Items...

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.6. Funcții de tip șir de caractere
Sunt funcții care se refera la șirurile de caractere, funcții similare cu funcțiile
întâlnite și în alte medii de programare și sunt utilizate atât pentru manipularea
textelor cât si pentru a realiza transferuri de date între aplicații sau diverse
echipamente unde datele sunt codificate utilizând șiruri de caractere.

 Introducerea si afisarea sirurilor de caractere.


 Transformarea minusculelor in majuscule și invers
 Determinarea lungimii unui sir de caractere - String Length
 Concatenarea sirurilor - Concatenate Strings
 Cautarea unui subsir in cadrul unui sir de caractere
 Extragerea unui subsir din cadrul unui sir de caractere
 Conversia unui sir de caractere intr-un numar

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Controale şi indicatoare de tip tablou, matrice și grupare de date
2.2.7.1. Tablou (Array)

Tabloul este o structură de date compusă, cu


elemente aparținând aceluiași tip (numeric,
boolean, şir de caractere, cale de fișier (path),
identificator unic (refnum), grupare de date
(cluster)). Se spune ca tabloul este o structură
omogene de date. Elementele dețin în cadrul
structurii compuse o poziție bine determinată iar
accesul la o celulă se face prin indexare.
Pentru un tablou cu N elemente, primul element se
găsește la poziția 0, iar ultimul element din tablou
la poziția N-1. Un tablou poate avea una sau mai
multe dimensiuni iar numărul maxim de
elemente/dimensiuni este 231 – 1..
Cap. II. Limbajul de programare grafică LabVIEW
2.2.7.1. Controale și indicatoare de tip Tablou (Array)

Creare tablou

Reprezentarea tablourilor 1D Array şi 2D


Array pe panoul frontal

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.7.1. Funcții de tip Tablou (Array)

Array Size

Array Subset

Array Max & Min
LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.7.2. Grupare de date (Cluster)

O grupare de date (Cluster) este o structură


compusă de date care nu este obligatoriu să aparțină
aceluiași tip (structură eterogenă). Elementele
componente ale unei grupări de date pot aparține
oricărui tip valid de date din limbajul grafic
LabVIEW.

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.8.4. Tabel asociat unui semnal (Express Table)
Este o structură de tip tabel care are asociată funcția Build Table prin intermediul căreia un semnal reprezentând variabila de
intrare a funcției este convertit într-un tabel reprezentând valori ale amplitudinii semnalului la momente de timp definite de
utilizator. Aceste valori sunt afișate în tabelul asociat semnalului. Împreună cu aceste valori pot şi afişate şi ora şi data culegerii
acestora dacă este intrarea booleană Include time data a funcţiei Build Table este setată “adevărat” (True).

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.2.9. Indicatoare grafice Prin intermediul acestor componente de interfață este posibilă vizualizarea
reprezentărilor grafice, acestea primesc valori numerice necesare în urma prelucrării
datelor în diagrama bloc.
 Indicatoare de tip grafic şi diagramă (Waveform Graphs and Charts) prin
intermediul cărora sunt afişate, cu rată constantă, date preluate de la diverse
variabile;
 Indicatoare grafice XY (XY Graphs) prin care sunt afişate date preluate, cu rată
variabilă, de la funcţii multivariabile;
 Indicatoare de tip grafic şi diagramă în intensitate (Intensity Graphs and Charts)
prin care sunt afişate tablouri 3D utilizând reprezentări 2D şi culori pentru
reprezentarea valorilor corespunzătoare celei de-a treia dimensiuni;
 Indicatoare grafice digitale (Digital Waveform Graphs) prin care sunt afişate date
de tip puls sau grup de pulsuri preluate de la variabile digitale;
 Indicatoare grafice pentru semnal (Mixed Signal Graphs) prin intermediul cărora
se pot afişa date acceptate de indicatoarele de tip grafic, XY sau digital. De
asemenea aceste indicatoare acceptă şi grupuri de date (cluster – e) formate din
orice combinaţie a acestor tipuri;
 Ferestre grafice 3D (Windows 3D Graphs) prin care sunt afişate tablouri de date
3D în reprezentare grafică 3D prin intermediul unui obiect ActiveX pe panoul
frontal.
Cap. II. Limbajul de programare grafică LabVIEW
2.2.9. Indicatoare grafice

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
2.3.1. Crearea, editarea şi corectarea unui VI
Crearea panoului frontal

Click-dreapta
Control
Indicator boolean pe etichetă
digital
etichete
Control Indicator Click-dreapta
digital boolean
Buton pe indicatorul/controlul
digital
incrementare

Crearea diagramei bloc


panoul frontal

Indicatoare

Controale

Conexiuni Noduri
Terminalele modelului functiei de diagrama bloc
adunare (trei terminale).
Cap. II. Limbajul de programare grafică LabVIEW
Testarea execuției unui VI și corectarea erorilor
Cap. II. Limbajul de programare grafică LabVIEW
Realizarea semnăturii VI
Pictograma VI se afișează în colțul superior din dreapta al ferestrei panoului frontal şi diagramei bloc și 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.
Conectorul cuprinde terminalele de intrare și de ieșire ale VI astfel încât 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.

y
yB B

A α 
yA
Panta=tg α  x
xA xB

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Crearea unui subVI

Un VI folosit în cadrul unui alt VI se numește subVI și un astfel de program corespunde subrutinelor din limbajele de programare
de tip text, iar apelarea acestuia se face la fel ca şi în cazul subrutinelor.
Un instrument virtual pentru care s-a creat pictograma
şi conectorul poate fi utilizat ca subVI.
Selectarea unui subVI se poate face prin doua metode:
• din paleta de funcţii Function » Select a VI ... şi se
plasează în diagrama.
• se ține apăsat butonul stânga al mouse – ului pe
pictograma şi se trage în diagrama bloc a noului VI.
• prin conversia unei zone din diagrama bloc în subVI

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Structuri de programare
Structurile pentru controlul execuției programelor îmbunătățesc posibilitatea de realizare a funcționalității VI, existând
următoarele astfel de structuri:
 structura repetitivă For (For Loop);
 structura repetitiva Do – While (While Loop);
 structura de selecţie (Case);
 structura secvenţială (Sequence);
 structura eveniment (Event);
 structura sincronizare (Timed)
 structuri de calcul (Formula Node, MathScript).
Corpul structurii de control este delimitat vizual de celelalte elemente din
diagrama bloc printr-un contur. Conturul structurii este redimensionabil
şi pentru a modifica dimensiunea acestui contur se selectează
instrucţiunea cu unealta de editare, se poziţionează cursorul mouse – ului
deasupra uneia din cele 4 colţuri, se selectează cu butonul stânga al
mouse – ului colţul dorit, se ţine apăsat butonul mouse – ului şi se
deplasează pe direcţia şi sensul redimensionării, iar în final se eliberează
butonul mouse – ului.
Cap. II. Limbajul de programare grafică LabVIEW
Structura repetitivă For
Count terminal Structura repetitivă For asigură reluarea funcțiilor, care alcătuiesc corpul ciclului de un
(Intrare de tip număr de ori. Stabilirea valorii numărului de iterații se poate face prin două metode:
numeric)
Variabila contor   se furnizează o valoare printr-o
(de tip numeric) legătura la terminalul N;
 dimensiunea tabloului transferat
structurii For printr-un tunel de
intrare (care permite auto-
indexarea) corespunde numărului LabVIEW
de ciclări.
Transferul elementelor unui tablou (aflat în exteriorul structurii repetitive) în interiorul subdiagramei structurii For precum și
a datelor din interiorul structurii către exterior se face printr-un tunel de intrare respectiv ieșire, cu sau fără indexare situat pe
chenarul buclei.
Pentru transferul rezultatelor între iteraţii succesive se declară variabile locale ale structurii For, numite Shift Register, create
prin opţiunea Add Shift Register din meniul contextual asociat chenarului structurii „For”.
Un registru de transfer este alcătuit dintr-o pereche de terminale dispuse pe aceeaşi orizontală, unul în partea stângă şi altul în
partea dreaptă a chenarului structurii. Valoarea este furnizată terminalului drept după încheierea ciclului iar la începutul
ciclului următor, valoarea stocată (în iteraţia anterioară) în terminalul drept este transferată terminalului stâng. La ultima
iteraţie, valoarea atribuită terminalului din dreapta este furnizată în exteriorul structurii, dacă există o astfel de legătură.
LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Structura repetitivă While Loop
Realizează reluarea execuției funcțiilor conținute în corpul acesteia
reprezentând o subdiagramei şi această reluare este condiționată de
valoarea logică a expresiei de oprire astfel pentru valorare logică
„Adevărat” (True) se reia execuţia subdiagramei structurii iar valoarea
logică „Fals” (False) determinând încheierea efectuării structurii.

În exemplul prezentat 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

LabVIEW
LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Structura de selecție CASE
Permite executarea unei structuri (poate fi compusă) din mai multe
alternative, pe baza valorii unei singure expresii, numită expresie
selector. Instrucţiunea cuprinde două sau mai multe subdiagrame şi
fiecare subdiagramă corespunde unei anumite alternative sau unui
anumit caz.
Structurile condiţionala şi de selecţie multiplă sunt realizate în
LabVIEW prin instrucţiunea CASE. Este vorba de două structuri
reunite într-una singură, selecţia făcându-se după tipul expresiei
selector, astfel:

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Structura secvențială SEQUENCE
Structura secvențială permite programatorului sa stabilească ordinea de execuție a anumitor subdiagrame, între care nu există
dependență a datelor
După modul de aranjare al secvențelor există două tipuri:
 Stacked Sequence (structură secvențială stratificată) prin care secvențele sunt aranjate unul sub celălalt la un moment dat fiind
afișat conținutul unui singur cadru;
 Flat Sequence (structură secvențială plană) prin care secvențele sunt aranjate unul după celălalt fiind afișat conținutul tuturor
cadrelor.

LabVIEW LabVIEW LabVIEW


Cap. II. Limbajul de programare grafică LabVIEW
Structura eveniment EVENT
Structura eveniment conține una sau mai multe subdiagrame reprezentate de cazuri eveniment
astfel încât doar una dintre acestea este executată la un moment dat. Această structură așteaptă
până când în interfața utilizator (panoul frontal) se petrece un eveniment setat după care va executa
subdiagrama corespunzătoare acestui eveniment.

LabVIEW

LabVIEW
Cap. II. Limbajul de programare grafică LabVIEW
Formula de calcul Formula Node
Structura formulă de calcul facilitează scrierea (se utilizează pentru scrierea relației de calcul un limbaj bazat pe text) în corpul
său, a formulelor și relațiilor matematice de calcul.

LabVIEW

LabVIEW
LabVIEW
Cap. III. Circuite de conversie numeric-analogică
3.1. Codificări binare ale numerelor
Pentru o secvență de variabile binare: b1 , b2 , .. , bk , ... , bN
Coduri unipolare Valoarea zecimală în Valoarea zecimală în
cod fracționar (DCF) cod binar natural (DCBN)
• cod fracționar
• cod binar natural (0 ... 1-2-N ) (0 ... 2N-1)
• cod BCD

M 4
Valoarea zecimală în cod BCD (DBCD) DBCD  10 j 1   b j ,k  24k
j 1 k 1

Coduri bipolare Valoarea zecimală Valoarea zecimală


• cod binar deplasat în cod binar deplasat (DCBD) în cod complementul lui 2 (DCCD)
• cod complementul lui 2
• cod semn si amplitudine (-2N-1 ... 0 ... 2N-1-1) (-2N-1 ... 0 ... 2N-1-1)

N
Valoarea zecimală în cod semn si amplitudine (DCSA) DCSA   11bs    b k 2 N k
k 1
Cap. III. Circuite de conversie numeric-analogică
3.2. Principii de realizare ale CNA
3.2.1. Principiul CNA unipolar
Structura unui CNA cuprinde: circuite pentru generarea tensiunii (Ur) sau curentului de
referință (Ir), comutatoare electronice comandate de biții semnalului de intrare, rețea din
rezistențe de precizie cu valori ponderate și circuit de însumare a curenților ponderați.
Funcția de transfer a unui CNA liniar și unipolar este dată prin relația:
K - o constantă,
Ur - tensiune de referință
DCF - valoarea numerică a secvenței bk, în codificare fracționară.

Mărimea reprezintă intervalul de variație a semnalului de ieșire (FSR, Full-Scale Range) şi


care are valorile tipice de: 2,5 V; 5V; 10 V sau 2 mA.
În cazul în care semnalul de ieșire al CNA este un curent
Rezoluția = numărul N de biți care compun secvența de intrare. - ieșire în tensiune
mărimea LSB = variația minimă a valorii semnalului de ieșire care se
obține pentru modificarea semnalului de intrare între două valori succesive
- ieșire în curent
corespunzătoare secvenței (comutarea de la 0 la 1 a bitului LSB).
Cap. III. Circuite de conversie numeric-analogică
3.2. Principii de realizare ale CNA
3.2.2. Principiul CNA bipolar corespunzător codului binar deplasat

=I’e
Cap. III. Circuite de conversie numeric-analogică
3.2. Principii de realizare ale CNA
3.2.2. Principiul CNA bipolar corespunzător codului binar deplasat

=I’e
Cap. III. Circuite de conversie numeric-analogică
3.2. Principii de realizare ale CNA
3.3.1. CNA cu rețea de rezistențe cu valori ponderate binar
Structura cuprinde N comutatoare comandate de secvența de intrare bk , k = 1, 2, ... N și N rezistențe cu valori ponderate binar.
Pentru amplificatorul operațional AO se consideră:

Comutatoarele Kk sunt comandate de valoarea binară a biților bk

Rezistențele sunt conectate în paralel și vor fi supuse aceleiași


tensiuni -Ur rezultând curenții Ik , k =1, 2, ... , N corespunzători
biților bk din secvența de intrare

CNA rezistente ponderate binar
Cap. III. Circuite de conversie numeric-analogică
3.2. Principii de realizare ale CNA
3.3.2. CNA cu reţea de rezistenţe de tipul R-2R
Pentru comutatoarele Kk pe poziția (2) rezistențele 2R sunt conectate la masă.

Pentru tronsonul marcat cu I rezultă schema și rezistența echivalentă:

Continuând
cu tronsonul
cu II rezultă

Sursa de tensiune -Ur este la fiecare grup R – 2R cele două ramuri sunt
încărcată cu o sarcină R, deci: identice și vor fi parcurse de curenți identici

Curentul la ieșire Ie este dat de suma curenților Ik unde

Deoarece și CNA rezistente R‐2R
Cap. III. Circuite de conversie numeric-analogică
3.4. Convertorul numeric-analogic DAC08
DAC08 este un CNA de 8 biți, cu ieșiri de curent complementare, cu timp de stabilizare de 0,1 μs.
Este alimentat cu două tensiuni continue de valori în intervalul 4,5V÷18 V care pot fi și nesimetrice.
Intrările bk , k =1, 2,..., 8 ale circuitului DAC08 pot fi comandate cu semnale logice corespunzătoare diferitelor familii de circuite
logice, prin stabilirea valorii tensiunii de control prag logic aplicat la conexiunea VLC a convertorului calculată cu relația:
V  VL max unde VHmin şi VLmax sunt tensiunile de ieșire minim pentru logic 1, respectiv maxim logic 0,
VLC V   H min  1.4
2 corespunzătoare familiei de circuite logice. În cazul semnalelor TTL se obține VLC = 0.

I REF
V FSR  I REF  2 mA ; 1LSB   7.81 A ;
I REF  REF  2 mA 28
R REF 255
IOUT   I REF  1.992 mA
256
I R
FSR  I REF  R  10 V ; 1LSB  REF8  3,9 mV ;
2
255
EO   I REF  R  9.961
256
Cap IV. Circuite de conversie analog – numerică
Convertoarele analog numerice (CAN) realizează conversia semnalelor analogice în semnale numerice
4.1. Caracteristici ale CAN
f CAN : ui  D
N
K 1
D  ui pentru K = 1 DCF   bk 2  k   ui
Ur k 1 Ur
Iesire
FSR=8V
digitală

Rezoluție = 3 biți
tensiune Nr. coduri 2N = 8
Δv
Semnal analogic Rezoluție 3 biți Rezoluție 8 biți
uimax=FSR
       =Ur LSB = 8,0V/8 coduri = 1V

Ui

Intrare
analogică

Iesire
digitală
FSR=8V

tensiune
Rezoluție = 3 biți
uimax Δv
Nr. coduri 2N = 8
Mărime analogică

Cod digital

Intrare
analogică

LSB = 8,0V/8 coduri = 1V
Cap IV. Circuite de conversie analog – numerică
4.1. Caracteristici ale CAN

Tensiunea de referință Ur reprezintă intervalul de variație al semnalului de intrare (FSR, Full-Scale Range)
Mărimea LSB reprezintă variația minimă a tensiunii de intrare ui care produce două tranziții succesive ale secvenței de ieșire
Deoarece semnalul de intrare ui este continuu, iar semnalul de ieșire are valori discrete (DCBF), rezultă că relația de egalitate din
este exactă pentru valori particulare ale tensiunii de intrare (decalate la intervale de 1LSB ) și aproximativă pentru toate
celelalte. Rezultă erori de aproximare care se numesc erori de cuantizare şi au valorile cuprinse în intervalul ±0,5 LSB

Se pot aprecia performanțele unui CAN în


funcție de principalii săi parametri definiți
după cum urmează :
N
e  ui  U r   bk  2  k V 
k 1 1. Rezoluția
2. Gama de variație a semnalului de intrare
3. Viteza de conversie
4. Eroarea de neliniaritate
5. Eroarea de offset.
Cap IV. Circuite de conversie analog – numerică
4.2. Convertoare analog numerice cu reacție
Blocul de generare a numerelor va furniza la intrarea convertorului CAN un
număr k cuprins între 0 şi Nmax. Numărul k va determina obținerea la ieșirea CNA
a unei mărimi analogice.
v( k )  k  v
unde v reprezintă treapta minimă (=LSB) a semnalului analogic.
Semnalul analogic v(k) se va compară cu mărimea de intrare u, folosindu-se un
comparator C și în momentul realizării identității se va putea scrie relația :
1
u  k  v   v
2
După modul de generare a numerelor k de la intrarea CNA, se pot deosebi
trei tipuri de CAN cu reacție:
 cu generare de trepte de tensiune
 cu conversie continuă
 cu aproximații succesive
Cap IV. Circuite de conversie analog – numerică
4.2.1. CAN cu generare de trepte de tensiune

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 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.
n 2n
Pentru un convertor cu n biți durata maximă va fi Tmax  2  T0 
f0
Cap IV. Circuite de conversie analog – numerică
4.2.2. CAN cu conversie continuă

La aplicarea semnalului de start BLC va șterge numărătorul, ieșirea comparatorului C devenind 0 logic. BLC va aplica impulsurile
generatorului de tact pe intrarea Up a numărătorului în sens direct de numărare. La ieșirea CNA se va obține un semnal în trepte
până la depășirea semnalului analogic u , caz în care ieșirea comparatorului C devine 1 iar BLC va schimba sensul de numărare
aplicând impulsurile GT pe intrarea Down a numărătorului în sens invers. Dacă semnalul este prins rămânând constant, la fiecare
impuls de tact numărătorul nu va schimba decât bitul LSB (conform detaliilor d1 și d2).
Cap IV. Circuite de conversie analog – numerică
4.2.3. CAN cu aproximații succesive N
Principiul de funcționare rezultă din expresia erorii de cuantizare e  ui  U r   bk  2  k V 
k 1
care, pentru o eroare de cuantizare nula, poate fi scrisă : u i  U r  b1  2 1   U r  b2  2 ...  U r  bk  2 k ...  U r  bN  2 N   0
2

Fiecare termen dintre două paranteze corespunzătoare reprezintă eroarea de cuantizare la conversia analog numerică pe 1 bit:
u  u și u  u
i ,1 i i ,k U b
i ,k 1 r  2 k 1
k 1 , k  2, N
Rezultă posibilitatea realizării unui CAN de N biți prin utilizarea succesivă a unui singur comparator pentru obținerea celor N biţi.
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 ca urmare a unei comparări şi este memorat.

Sunt caracterizate printr-o viteză de conversie superioară fată de celelalte CAN cu reacție și au de asemenea avantajul că durata
conversiei este constantă, nu depinde de valoarea mărimii de la intrare şi depinde numai de numărul de biți N ai cuvântului de cod.
Cap IV. Circuite de conversie analog – numerică
4.2.4. CAN cu conversie intermediară
Transformă mărimea de intrare (tensiune sau curent) într-o mărime intermediară proporțională (frecvență sau timp) care să poată fi
transformată mai simplu într-o mărime numerică.
CAN cu conversie intermediară frecvență Semnal referință

Utilizează un convertor tensiune / T0 T0 timp

frecvență sau curent/frecvență, și Semnal convertor U/f

un circuit de măsurare numerică timp

a frecvenței compus, dintr-un T1


Semnal numărător
T2

bloc logic de comandă BLC o


timp
poartă logică ŞI, și un numărător.
N1=T0/T1 N2=T0/T2
CAN cu conversie intermediară timp ui, VI

Realizează o conversie
intermediară amplitudine - timp
t1 t2 timp
folosind două amplificatoare Q T1 T2 T3 T3

operaționale A1 (cu funcție de


timp
comparator) şi A2 ( funcție de IN T0

integrator) timp

1
t2
U U 
u i  VI   U ref  ref  t2  t1  ref  Ti 
R  C t1 R C R C   R C  timp
 Ni    T0   u i
 U ref
N2=T2/T0
Ti   N1=T1/T0 N3=T3/T0 N3=T3/T0
Ni  
T0
Cap IV. Circuite de conversie analog – numerică
4.2.5. CAN cu integrare în două pante
Cap IV. Circuite de conversie analog – numerică
4.2.5. CAN cu integrare în două pante ui, VI
ui1

ui2
t0 t1 t2 timp

tr tr tx2
uC
timp
IN T0

Numărător
timp

La momentul t0 uI = 0 N1=tx1/T0


Conversia analog‐numerică are loc în două faze, astfel:
t1
1 ui 1 1 1 tr 
1. K→ui u I1     dt   u i   t1  t 0   tx   ui  t r
t1
 ui  t t0   ui  t r
C t0 R R C R C R C Ur   u i  Ni  T0
U
t2 t xi  Ni  T0  r
1 U 1 1 1
u I2    r  dt   U r   t 2  t1  
t2
2. K→‐Ur  U r  t t1   Ur  t x
C t1 R R C R C R C
tr 1
1 1 t  Ni    ui
La momentul t2 uI = 0   rezultă  uI1=uI2  ui  t r   Ur  t x  t x  r  ui T0 U r
R C R C Ur
Multisim
Cap IV. Circuite de conversie analog – numerică
4.2.5. CAN cu integrare în două pante
Cap IV. Circuite de conversie analog – numerică
4.2.6. CAN de tip paralel (flash)
Un circuit comparator este considerat un CAN de un bit dacă la intrări se aplică tensiunea de intrare și respectiv tensiunea de
referință (divizată). Ieșirea comparatorului reprezintă bitul bi corespunzător semnalului numeric de ieșire. Pentru realizarea unui
CAN paralel de N biți, este necesară utilizarea unui număr de 2N-1 comparatoare care să detecteze nivelul semnalului de intrare ui.

0,5R 0,5R 0,5


U C1  Ur  Ur  Ur 
 
0,5R  2 N  2 R  1,5R 0,5R  2 N R  2R  1,5R 2N

 1  Ur  1 
 1    N  1    LSB
 2 2  2
CU PRIORITATE
CODIFICATOR 

R  0,5R 1,5R 1,5


U C2  Ur  Ur  N Ur 
 
0,5R  2  2 R  1,5R
N
0,5R  2 R  2R  1,5R
N
2

 1  Ur  1
  2    N   2    LSB
 2 2  2
 1
U Ci   i    LSB
 2
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
Ieșirile comparatoarelor se aplică la intrarea combinațional a unui astfel de convertor, dar necesită un număr mare de
unui codificator pentru a obține cei N biți componente electronice.
corespunzători secvenței de la ieșirea CAN.
Cap IV. Circuite de conversie analog – numerică
4.2.7. CAN cu comparare de tip serie-paralel
Se consideră funcția de Dacă numărul de biți ai CAN este
transfer a unui CAN dată par, termenul sumă din relație se
prin relația poate separa în doi termeni, astfel:

În al doilea termen se
și se obține succesiv:
face substituția:

Prin înmulțire cu 2N/2

eroare de cuantizare la conversia pe N/2 biți

Conversia analog numerică cu N/2 biți a tensiunii de intrare ui și


obținerea celor N/2 biți mai semnificativi; conversia numeric
analogică a secvenței b1,b2, ... ,bN/2 și scăderea rezultatului acestei
conversii din tensiunea de intrare ui, pentru obținerea erorii de
cuantizare corespunzătoare primului proces de conversie;
înmulțirea erorii de cuantizare cu 2 şi conversia analog numerică
cu N/2 biți a tensiunii rezultate din înmulțire, pentru obținerea
celor N/2 biți (bN/2+1,bN/2+2, ... ,bN) mai puțin semnificativi.
Cap IV. Circuite de conversie analog – numerică
4.3. ADC0808/ADC0809 8-Bit μP Compatible A/D Converters with 8-Channel Multiplexer
 Easy interface to all microprocessor
 8-channel multiplexer with address logic
 Operates ratiometrically or with 5 VDC or analog
span adjusted voltage reference
 Single Supply: 5 VDC
 0V to VCC input range
 Outputs meet TTL voltage level specifications
 Total unadjusted Error: ±½ LSB and ±1 LSB
 Conversion Time: 100 μs
Cap IV. Circuite de conversie analog – numerică
4.4. Convertorul analog – numeric MAX187
 12-Bit Resolution
 ±½ LSB Integral Nonlinearity (MAX187A/MAX189A)
 Internal Sample/Hold, 75kHz Sampling Rate
 Single +5V Operation
 Low Power: 2μA Shutdown Current 1.5mA Operating
Current
 Internal 4.096V Buffered Reference (MAX187)
 3-Wire Serial Interface, Compatible with SPI, QSPI, and
MICROWIRE
 Small-Footprint 8-Pin PDIP and 16-Pin SO
Cap V. Circuite de eșantionare şi memorare
CEM (S&H) realizează extragerea (prelevarea), la un moment dat a valorii unui semnal analogic de intrare ui, memorarea acestei
valori ue şi menținerea constantă a acesteia la intrarea unui convertorului analog-numeric pe toată durata efectuării prelucrării

Valorile memorate ale eșantioanelor sunt afectate de erorile:


care trebuie să satisfacă relația
Se consideră semnalul de intrare:
şi rezultă

Panta maximă a semnalului de intrare ui este:


și rezultă succesiv:
Timpul de apertură (creștere) tap
Timpul de stabilizare ts
Viteza de alterare
Timpul de achiziție tac
Cap V. Circuite de eșantionare şi memorare
5.2. Ansamblul CEM - CAN
Circuite pentru multiplexarea datelor Circuite de eșantionare şi memorare
5.3. Principii constructive ale CEM
XSC2

XFG1
Ext Trig
+
_
A B
+ _ + _

J2
R4

50Ω Key = Space

C2 R3
1µF 100kΩ

XSC1

A B C D

U2
U1 Q1
BS170
1
4 2
OPAMP_3T_VIRTUAL
V1 5
OPAMP_3T_VIRTUAL C1
1Vpk
V2 1µF
20Hz
0° 0V 5V
5ms 10ms

0
Cap. VI Circuite pentru multiplexarea datelor
6.1. Achiziția cu rate diferite a datelor
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 prelucrare) pentru mai multe surse de semnal fiecare fiind conectată
la resursă o anumită unitate de timp.

MULTIPLEXOR
DIGITAL

La utilizarea sistemelor de achiziție cu multiplexare în timp pot să apară


două probleme de interes și anume:
 necesitatea ca anumite surse de semnal să fie apelate în vederea
achiziției datelor cu o rată mai mare decât celelalte surse componente
ale sistemului
 numărul surselor de semnal să fie mai mare decât 16, acest număr
reprezentând numărul maxim de intrări ale unui multiplexor integrat.
Cap. VI Circuite pentru multiplexarea datelor
6.2. Mărirea numărului de intrări ale circuitului de multiplexare
Cap. VI Circuite pentru multiplexarea datelor
6.2. Mărirea numărului de intrări ale circuitului de multiplexare
Cap VII. Amplificatoare cu câștig programabil PGA
7.1. Rolul amplificatorului cu câștig programabil

Ur=5V
cod
b1 … bN
Convertor  10 mV
analog‐numeric numar coduri =     8  <<  212 =4096 coduri
1,22 mV
ui=0...10 mV 12 biți

Ur=5V
cod
b1 … bN
Amplif
Convertor  5V
analog‐numeric numar coduri =  = 4096 coduri
A=500 uiA=0...5 V 1,22 mV
ui=0...10 mV 12 biți

Ur=5V
cod
b1 … bN
Convertor  5V
Amplif numar coduri =  = 4096 coduri
analog‐numeric
A=50 1,22 mV
ui=0...100 mV uiA=0...5 V 12 biți
Cap VII. Amplificatoare cu câștig programabil PGA
7.2. Principii de realizare ale amplificatoarelor cu câștig programabil comandate
Având în vedere amplificarea globală a unui AO în
configurație inversoare se obține relația tensiunii de
ieșire ue:
Rezistența de intrare R1 depinde de poziția în care se
află setul de comutatoare S1 ... S4, iar această rezistență
poate fi exprimată binar astfel:

Considerând R2 = R şi amplificarea în valoare absolută:

cei 15 factori de amplificare se obțin conform tabelului

Multisim
Cap VII. Amplificatoare cu câștig programabil PGA
7.2. Principii de realizare ale amplificatoarelor cu câștig programabil comandate

Amplificatorul poate fi realizat si în configurație neinversoare + ue


conform schemei de principiu: ui AO

rezultând
R2

R1

ADG408

EN
A2  A1  A0

A1 A0

Multisim
Cap VII. Amplificatoare cu câștig programabil PGA
7.2. Principii de realizare ale amplificatoarelor cu câștig programabil comandate

Amplificatorul poate fi realizat si în configurație neinversoare + ue


conform schemei de principiu: ui AO

rezultând
R2

R1

ADG408

EN
A2  A1  A0

A1 A0

Multisim
Cap VII. Amplificatoare cu câștig programabil PGA
7.2. Principii de realizare ale amplificatoarelor cu câștig programabil autoreglabilee
Amplificarea se modifică automat, permițând menținerea într-o anumită gamă de valori a semnalului de ieșire indiferent de
valorile semnalului de la intrare. Se elimină controlul asupra amplificării a SPN la care întreruperea corespunzătoare poate fi
utilizată în alte scopuri. Valoarea amplificării după ce a fost stabilită prin intermediul circuitului de autoreglare poate fi utilizată, în
SPN sub formă de cuvinte binare.

Alegerea tensiunilor de referință trebuie făcută în scopul evitării


unor efecte nedorite. Dacă autoreglarea amplificării se face în
trepte de 10:1, va fi necesar ca tensiunea Uref.inf să fie cu puțin
mai mică decât o zecime din tensiunea Uref.sup. Efectul
autoreglării pe semnalul de zgomot poate fi inhibat prin
introducerea unei întârzieri la nivelul de comparare.
Cap VII. Structura sistemelor de achiziție de date
8.1. SAD cu multiplexarea semnalelor analogice de intrare
Cap VII. Structura sistemelor de achiziție de date
8.2. SAD cu multiplexarea ieșirilor CEM
Conține câte un CEM pentru fiecare din cele k semnale de intrare și un singur CAN
Cap VII. Structura sistemelor de achiziție de date
8.3. SAD cu multiplexarea ieșirilor CAN
Structura cuprinde câte un ansamblu CEM - CAN pentru fiecare dintre semnale de intrare. Rezultă astfel posibilitatea ca procesele
de eșantionare și conversie analog-numerică să se poată desfășura independent și simultan pentru toate semnalele de intrare.
CAN cu aproximații succesive

CAN cu integrare

S-ar putea să vă placă și