APLICA ȚII DE LABORATOR PENTRU DISCIPLIN A [608963]

UNIVERSITATEA TEHNICĂ din CLUJ -NAPOCA
FACULTATEA de INGINERIE ELECTRICĂ

APLICA ȚII DE LABORATOR PENTRU DISCIPLIN A
ACHIZI ȚII DE DATE ȘI PRELUCRARE DE SEMNAL

I. ENUNȚUL TEMEI:
Aplicații de laborator pentru disciplina Achiziții de date și prelucrare de sem nal
II. CONȚINUTUL proiectului de diplomă
a) Piese scrise : capitole
b) Piese desenate : figuri, tabele
c) Anexe : programe

III. LOCUL DOCUMENTĂRII:
Departamentul de Electrotehnica si Masurari
Departamentul de Electroenergetica si Management

IV. CONDUCĂTOR ȘTIINȚIFIC:
Asist. dr. ing. Călin MUREȘAN
S.l. dr. ec. Ștefan -Drago ș CÎRSTEA

V. Data emiterii temei: 16.10.2018

VI. Termen de predare: 15.07.2019

Conducător științific, Absolvent: [anonimizat]. Călin MUREȘAN Călin Vasile GREDIN Ă

S.l. dr. ec. Ștefan -Drago ș CÎRSTE A

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

2

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

3

Declarație -angajament : Deoarece acest proiect de diplomă/lucrare de disertație nu ar fi putut fi
finalizat(ă) fără ajutorul membrilor departamentului Electrotehnica si Masurari si departamentului
Electroenergeti ca si Management , și a echipamentelor de la departament , mă angajez să public
informațiile conținute în lucrare numai cu acordul scris al conducătorului științific și al directorului
de departament .

Data: ………… Semnătura

Declarație : Subsem natul …………………….……………… declar că am întocmit prezentul
proiect de diplomă/lucrare de disertație prin eforturi proprii, fără nici un ajutor extern, sub
îndrumarea conducătorului științific și pe baza bibliografiei indicate de acesta.

Data: ………… Semnătura

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

4

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

5

Cuprins

INTRODUCERE ………………………….. ………………………….. ………………………….. ……………………….. 2
CAPITOLUL 1. ANALIZA MEDIULUI EXTERN DE MARKETING ÎN PIAȚA
MICROCONTROLLER -ELOR ………………………….. ………………………….. ………………………….. …… 8
1.1. Analiza industriei ………………………….. ………………………….. ………………………….. ………………………….. ……. 8
1.2 Analiza concurenței ………………………….. ………………………….. ………………………….. ………………………….. .. 15
1.3 Analiza PEST ………………………….. ………………………….. ………………………….. ………………………….. …………. 24
CAPITOLUL 2. INTRARILE SI IESIRILE PINILOR DIGITALI ARDUINO NANO …………. 28
2.1 Lucrarea 1 – Valoare dată prin intermediul consolei în sistemul de numerație binar, zecimal,
hexazecimal ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 32
2.2. Lucrarea 2 – Intrările microcontroller -ului Arduino Nano ………………………….. ………………………….. ……. 39
2.3 Lucrarea 3 – Structura programului ………………………….. ………………………….. ………………………….. ……… 41
2.4 Lucrarea 4 – Control motor pas cu pas ………………………….. ………………………….. ………………………….. …. 43
CAPITOLUL 3. CONVERTOR NUMERIC -ANALOG ………………………….. ………………………… 44
3.1 Lucrarea 5 – Sursă de tensiune în care programăm cu reglaj ………………………….. ………………………….. … 51
3.2 Lucrarea 6 – Generator de semnale dreptunghiulare, triunghiulare si sinusoidale ………………………….. 52
CAPITOLUL 4. CONVERTOR ANALOG -NUMERIC ………………………….. ………………………… 55
4.2 Convertor analog -numeric cu algoritm de numărare ………………………….. ………………………….. ………….. 58
4.2 Convertor analog -numeric cu algoritm de urmărire ………………………….. ………………………….. ……………. 59
4.3 Convertor analog -numeric cu algoritm de aproximări succesive ………………………….. ……………………….. 60
CONCLUZII ………………………….. ………………………….. ………………………….. ………………………….. . 61
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ……………………… 62
ANEXE ………………………….. ………………………….. ………………………….. ………………………….. ……… 64

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

2
INTRODUCERE

Lumea în care trăiam se află într -o continuă schimbare și evolu ție, tehnologia se dezvolta
spectaculos. Expresii precum "Secolul vitezei" sau "Secolul informației" sunt bine cunoscute în
ziua de astăzi; realitatea este că noi trăim într -o era în care, prima dată, omul devine dependent de
mașinării pentru abilitatea ac estora de a -i facilita munca. În acest moment, populația crește, nevoia
de comunicare, globalizare, progresul științific a îndrumat omul să fie dependent de tehnologie la
un alt nivel. Provocarea de a avea o viață de societate, perioade de pauză sau ajutor ul necesar cu
treburile zilnice, ajută tehnologia să devină indispensabilă în viața noastră.
Curând, lipsa timpului devine o problemă majoră, împreună cu comoditatea umană, așadar au
încercat simpificarea interacțiunii cu utilizatorul, pentru a fi realizat ă rapid și cu ușurință.
În același timp, omul este privit ca ființă socială, una căreia îi face plăcere să fie înconjurată de alți
oameni.
În zilele noastre, sunt tot mai multe dispozitive electronice care ne înconjoară. Cele mai multe
dintre ele sunt de fapt au componente electronice interconectate, numite Circuite Integrate ( IC ).
Sunt dispo zitive cu număr de la 12 pini până la 144 de pini.
În ordinea de o mai bună înțelegere al proiectului de față, definim termenul PIN este un picior
extern din metal de la un IC. Pinul face conexiunea dintre Programarea logic ă a dispozitivului sau
alt tip de IC la placa circuitului și alte dispozitive.
Arduino este o companie open -source care produce at ât plăcuțe de dezvoltare bazate pe
microcontrolere, cât și partea d e software destinată funcționării și programării acestora. Pe lângă
acestea include și o comunitate uriașă care se ocupă cu creația și distribuirea de proiecte care au
ca scop crearea de dispozitive care pot sesiza și controla diverse activi tăți sau proces e în lumea
reală [2 ].
Lucrarea se bazată pe designul plăcutelor cu microcontroler produse de câțiva furnizori, folosind
diverse tipuri de microcontrolere. Aceste plăci pun la dispoziția utilizatorului pini I/O, digitali și
analogici, care pot fi interfațaț i cu o gamă largă de plăcuțe numite scuturi (shield -uri) și/sau cu alte
circuite. Plăcile au interfețe de comunicații seriale, inclusiv USB pe unele modele, pentru a încărca
programe din calculatorele personale. Pentru programarea microcontrolerelor, Ardui no vine cu un
mediu de dezvoltare integrat (IDE) bazat pe proiectul Processing, care include suport pentru
limbaje de programare că C și C++.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

3
Primul Arduino a fost lansat în 2005, având că țintă asigurarea unei soluții ieftine și simple pentru
începători ș i profesioniști spre a crea dispozitive capabile să interacționeze cu mediul, folosind
senzori și sisteme de acționare. Cele mai comune exemple sunt dispozitivele pentru utilizatorii
începători precum: roboții simpli, termostatele și/sau detectoarele de mi șcare.
Plăcuțele Arduino sunt disponibile comercial sub formă preasamblată sau sub forma unor kituri
de asamblat acasă (do -it-yourself). Specificațiile schemelor sunt disponibile pentru orice utilizator,
permițând oricui să fabrice plăcuțe Arduino. Adafrui t Industriesestimase la mijlocul anului 2011
că peste 300.000 de plăcuțe oficiale Arduino au fost produse, iar în 2013 700.000 de plăcuțe
oficiale erau în posesia utilizatorilor [2].
Arduino a început în 2005 că un proiect al unui student al Institutului d e Interacțiune a Designului
din Ivrea, Italia. La acea vreme studenții foloseau o plăcuță de dezvoltare BASIC Stamp care
costau 100 de dolari, ceea ce era considerat foarte scump pentru studenți. Massimo Banzi, unul
dintre fondatori, era student la Ivrea. Numele "Arduino" provine de la un bar din Ivrea, locul unde
o parte din fondatori obișnuiau să se întâlnească.
Studentul columbian Hernando Barrag in a creat platforma de dezvoltare Wiring care a servit ca
bază pentru Arduino. După finalizarea platformei Wi ring, mai multe versiuni, mai light și mai
ieftine, au fost create și puse la dispoziția comunităților open -source. Din echipa inițială Arduino
au făcut parte Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino și David Mellis.
Arduino Nano este o plăcuță cu dimensiuni reduse, breadboard -friendly bazată pe Atmega328 (
Arduino 3.x). A fost mai mult sau mai puțin funtionala decât Arduino Duemilanove, dar într -un
pachet diferit. Funcționează doar pe DC power jack și este alimentată cu ajutorul unui c ablu Mini –
B USB.
Prezentare platforma Adruino
Arduino este o placă de dezvoltare cu un singur microcontroler ce permite dezvoltarea unor
proiecte multidisciplinare mult mai accesibile. Hardware -ul constă dintr – o placă hardware open
– source concepută în jurul unui microcontroler Atmel AVR pe 8 biți, sau un ARM Atmel pe 32
de biți. Software -ul este constituit dintr -un compilator cu limbaj propriu de programare și un
bootloader ce este executat pe microcontroler. Placile Arduino pot fi achiziționatate pre-asamblate
sau kit -uri "do -it-yourself". Desemeni pe internet se găsesc, fiind un proiect open -source, o serie
de informații utile, legate de design -ul hardware ale acestora, lucru ce permite pasionaților să își
producă propriile versiuni cât și pentru a a sambl a manual componentele necesare.
Hardware
O placă Arduino constă dintr -un microcontroler AVR Atmel, pe 8 – biți și o serie de componente
complementare pentru a facilita programarea și încorporarea în alte circuite. Un aspect important
al plăcilor de d ezvoltare Arduino este modul standard în care sunt expuși conectorii plăcii, la
vedere, acest lucru permițând că placa de dezvoltare să fie conectată la o varietate de module add –

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

4
on interschimbabile, cunoscute sub numele de Arduino Shields (scuturi Arduino ).
Unele shield -uri comunica cu placa Arduino direct pe anumiți pini ai acesteia, însă cele mai multe
shield -uri sunt adresabile individual prin Bus -ul serial I²C, care permite ca mai multe shield -uri să
fie stivuite și utilizate în paralel. Plăcile de dez voltare oficiale Arduino au folosit chip -uri din seria
megaAVR, în special ATmega8, ATMEGA168, ATmega328, ATmega1280, și ATmega2560. O
serie de alte procesoare au fost folosite de către plăcile compatibile Arduino. Cele mai multe plăci
includ un regulator liniar de 5 volți și un oscilator de 16 MHz (cristal de Quartz sau rezonator
ceramic, în unele variante), deși unele modele, cum ar fi Lilypad folosesc un oscilator de 8 MHz
și nu au regulator liniar de 5V ca urmare a restricțiilor specifice formei acestor a. Microcontroler –
ul Arduino este, de asemenea, pre -programat cu un bootloader care simplifică încărcarea de
programe în memoria flash a acestuia, comparativ cu alte dispoziti ve, este nevoie de un
programato r [23]
La un nivel conceptual, toate plăcile Ard uino sunt programate printr -o conexiune serială RS – 232,
dar modul în care aceasta este pusă în aplicare variază în funcție de versiunea hardware. Plăcile
seriale Arduino conțin un circuit schimbător de nivel logic, pentru a converti între RS – 232 și
nivelul de semnale (în general chipuri din seria MAX232). Plăcile Arduino curente sunt
programate prin USB, implementat folosind chip -uri adaptoare USB – serie, cum ar fi FTDI FT232.
Unele variante, cum ar fi Arduino Mini și plăcile neoficiale Boarduino, folosesc o placă detașabila
cu adaptor USB -to-serial sau cablu, Bluetooth sau alte metode.
Placile Arduino expun cei mai mulți pini I/O ai microcontrolerului pentru a fi utilizați în alte
circuite. În acest moment plăcile Diecimila, Duemilanove, și Uno oferă 1 4 pini digitali I/O, dintre
care șase pot produce semnale de puls cu lățime modulată (PWM), și șase intrări analogice. Acești
pini se află pe partea superioară a plăcii Arduino, grupați în 3 mufe mama de 0.1 inch ( 2,5 mm ).
Arduino Nano cât și anumite pl ăci Arduino compatibile pot avea pe partea inferioară a plăcii pini
de tip tată ce permit conctarea plăcii pe plăci fără lipire tip breadboard.
Există pe piață mai multe tipuri de plăci Arduino – compatibile și Arduino – derivate. Unele sunt
funcțional ech ivalente cu plăcile Arduino și pot fi folosite alternativ. Multe dintre acestea au la
bază platforma Arduino, cu adaos de drivere de ieșire, de cele mai multe ori pentru a fi utilizate în
domeniul educației, la nivelul școlii, sau pentru a simplifica const ruirea de roboți mici. Altele sunt
echivalente electric, dar schimbă factorul de formă, lucru care permite uneori utilizarea în
continuare a Shield -urilor, alteori nu. Unele variante folosesc procesoare complet diferite, cu
diferite niveluri de compatibili tate. Până în anul 2015 au fost produse 16 versiuni hardware oficiale
Arduino.
Shields(Scuturi)
Placile Arduino și Arduino – compatibile pot utiliza diferite scuturi (shield) – plăci imprimate de
extensie care se conectează la Arduino furnizând astfel posi bilitatea extinderii capabilităților plăcii
de dezvoltare. Shieldurile pot permite controlul motoarelor, GPS, ethernet, display -uri LCD.
Mediul de dezvoltare integrat Arduino (IDE ) este o aplicație cross -platform scrisă în Java. Acesta
este conceput pent ru a introduce în arta programării nou -veniții nefamiliarizați cu dezvoltarea de
software. Mediul de dezvoltare Arduino include un editor de cod cu o serie de caracteristici, cum
ar fi evidențierea sintaxei, indentarea automată, și este de asemenea, capab il de compilarea și
încărcarea programelor în placa de dezvoltare cu un singur clic.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

5
Un program sau cod sc ris pentru Arduino este numit "schiță" (sketch).
Programele Arduino sunt scrise în C sau C++. Pentru execuția cicli că a unui program, utilizatorul
trebuie să definească funcțiile setup() și loop(). Sunt prezentate după cum urmează:
setup ( ) : o funcție ce rulează o singură dată, la începutul unui program, care are rolul de a inițializa
setărileprogramului;
loop ( ) : o funcție ce rulează în mod repetat până la întreruperea alimentării plăcii de dezvoltare;
Primul program scris pentru microcontrolere, este acela de a face un LED să clipească la un anumit
interval de timp (cum este în cazul diferitelor limbaje de programare pt. PC, programul He llo
World!)
Alimentarea
Arduino nano poate să fie alimentat cu ajutorul conexiunii Mini -B USB, 6 -20V externă neregulată
( pin 30 ), sau 5V alimentare exernă regulată ( pin 27 ). Puterea sursei este selectată automat la cea
mai mare sursă de tensiune. [ 23]
Memoria
Atmega328 are 32KB ( de asemenea cu 2K folosiți pentru butare. Atmega328 are 2KB de SRAM
și 1KB de EEPROM )
Intrarile și Ieșirile
Fiecare dintre cei 14 pini digitali de pe Arduino Nano pot să fie folosiți ca intrare și ieșire, folosind
urmoarele funții din programul Arduino IDE: pinMode(), digitalWrite() și digitalRead(). Ei
funționează la 5V. Fiecare pin poate trimite sau primi maxim 40mA și are un rezitorul intern(
disconnected by default ) de 20 -50 KOhmi. În plus, unii pini au funții specializate:
 Serial: 0 ( RX ) și 1 ( TX ). Folosiți pentru primirea receive ( RX ) și transmiterea
transmit ( TX ) datelor seriale.
 Întreruperi exerne: 2 și 3. Acești pini pot să fie configurați să declanșeze o întrerupere
de valoare mică, o urcare sau coborâre de tensiune, sa u o schimbare în valoare. Pentru
mai multe detalii vedeți funcția attachInterrupt().
 PWM: 3,5,6,9,10 și 11. Trimite 8 -biti PWM ieșire cu funcția analogWrite()
 SPI: 10 ( SS ), 11 ( MOSI ), 12 ( MISO ), 13 ( SCK ). Acești pini suport ă comunicația
SPI, care, deși este trimisă de underlying hardware, nu este inclusă în limbajul Arduino.
 Led 13. Este un led încorporate conectat la pinul digital 13 . Când pinul are valoarea
HIGH ledul este ON ( pornit ), când pinul are valoarea LOW, este oprit.
Arduino Nano are 8 pini analogi, fiecare dintre ei trimite 10 biți ( 1024 valori diferite ). In general
se măsoară dinspre GND ( împământare ) la 5V. Este posibil să schimbi limita superioară a
distanței folosind funcția analogReference(). Pinii analogi 6 și 7 nu pot să fie folosiți ca pini
digitali. În plus, unii pini au funcții specializate:
 12C: A4 ( SDA ) și A5 ( SCL ). Supporta comunicația 12C ( TWI ) folosind Wire
library ( mai multe informații pe Wiring website )

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

6
Sunt încă câțiva pini pe plăcuță:
 AREF. Reference voltag e for analog inputs ( Tensiunea de referinț ă pentru intrările
analogice) f olosită cu analogReference().
 Reset. Pune linia pe valoarea LOW pentru a reseta microcontrollerul.

Comunicația
Arduino Nano are numeroase facilitate de comunicare cu un computer, al t Arduino, sau alte
microcontrollere. ATmega328 aduce UART ( 5V ) comunicație serial, deși este disponibil pe
pinul digial 0 ( RX ) și 1 ( TX ). Un FTDI FT232RL pe canalele plăcuței folosește comunicarea
serială prin USB și driverele FTDI ( incluse cu soft ware -ul Arduino ) creează un port com virtual
la programul din computer. Programul Arduino include un monitor serial ce permite vizualizarea
datelor textuale să fie trimise de pe plăcuță Arduino. Ledurile RX și TX de pe plăcuță o să
clipească când este tra nsmisă dată prin intermediul FTDI chip sau conexiunea USB de la
computer ( dar nu pentru comunicația serial de pe pinii 0 și 1 ). O librărie SoftwareSerial permite
pentru comunicația serial de pe oricare pini digitali ai plăcuței Arduino Nano. ATmega328 de
asemenea suportă comunicația 12C ( TWI ) și SPI. Software -ul Arduino include o librărie Wire
ca să simplifice folosirea 12C buș. Ca să folosești comunicația SPI, te rog să consulți
ATmega328 datasheet [23].

Programarea
Arduino Nano poate să fie programat ă cu ajutorul programului Arudino, click pe link pentru a
descărca: https://www.arduino.cc/ ). "Arduino Duemilanove sau Nano w/ ATmega328" din
mediul tools ( depinde de microcontrollerul de pe plăcuță ). ATmega 328 de pe Arduino Nano
vine preburned cu un bootloader ce permite încărcarea unui cod nou pe el, fără folosirea unui
programator hardware extern. Comunica folosind protocolul original STK500. Poți de asemenea
să eviți bootloaderul și să programezi microcontrol lerul prin intermediul ICSP ( In -Circuit Serial
Programming ) folosind Arduino ISP sau un ceva similar.
Automatic ( Software ) Reset
Decât să fie necesară o apăsare fizică a butonului de reset înainte de upload, Arduino Nano este
creat în așa fel să permit ă resetarea din software -ul care rulează în computerul conectat. Una
dintre liniile fluxului de control ale hardware -ului ( DTR ) de la FT232RL este conectată la linia
de reset de la ATmega328 prin intermediul unui capacitor de 100 nanofarazi. Când linia e ste
declarată ( a luat valoarea LOW ), linia de reset decreste suficient de mult pentru a reseta cipul.
Software -ul Arduino are această capacitate să permită utilizatorului încărcarea codului prin
simpla apăsare a butonului de upload din mediul Arduino. As ta înseamnă că bootloader -ul are o
perioadă mai scurtă de timeout, astfel încât scăderea DTR -ului poate să fie bine coordonată cu
startul upload -ului. Această setare are alte implicații. Când Arduino Nano este conectat la un
computer cu system de operare M ac OS X sau Linux, se resetează de fiecare dată când o

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

7
conexiune este făcută din software ( prin USB ). Pentru urmoarea jumătate de secounda și așa
mai departe, bootloader -ul rulează pe Nano. Cât timp este programat să ignore malformed dată (
exemplu: oric e infara upload -ului unui nou cod ), o să intercepteze cateiva dintre puținii bytes de
date trimiși plăcuței după ce o conexiune este deschisă. Dacă un sketch rulează pe plăcută, să te
asiguri că software -ul cu care comunică așteaptă o secundă după deschid erea conexiunii ș i
înainte de trimiterea datelor [23].

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

8

CAPITOLUL 1. ANALIZA MEDIULUI EXTERN DE
MARKETING ÎN PIAȚA MICROCONTROLLER -ELOR

1.1. Analiza industriei

Analiza industriei reprezintă un instrument necesar companiilor care activează în indu strie sau care
doresc să facă pasul într -o industrie pentru a cunoaște în detaliu cererea pentru segmentele de
produse comercializate, nivelul producției, importurile și exporturile. [//indice bibliografie]
Analiza industriei oferă:
 Cunoașterea segmentelor de piață. Dimensiunea pieței pentru fiecare categorie de produse
pe care o firmă o produce sau o comercializează
 Siguranța deciziilor. Sunt puse la dispoziție informații cheie care va asigura cadrul necesar
pentru a lua decizii corecte
 Avantaj competitiv. Va fi obtinut un avantaj co mpetitiv din punct de v edere informational,
fiind la cu rent cu evoluția pieței
Conținutul acestui subcapitol prezintă o imagine obiectivă a industriei, evoluția acesteia și permite
să fie calculată propria poziție în piață și să descoperiți noi perspective asupra industriei ce se pot
transforma în oportunități de extindere.
Sunt prezentate prin intermediul figurilor 1 și 2 vânzările senzorilor și microcontroller -elor. Chip –
urile cu un cost redus au o tendință de creștere rapidă pe întreaga piață a semiconductorilor. Pentru
o mai bună înțelegere a figurilor prezentate mai jos definim terminologia CAGR = Compound
Annual Growth Rate = Rata anuală compusă de creștere. [8]
Rata anuală compusă de creștere, este rata de rentabilitate care va fi necesară pentru că o investiție
să crească de la începutul acesteia până la valoarea finală, presupunând că profiturile au fost
reinvestite la sfârșitul fiecărui an al ciclului de viață al investiției.
CAGR = 𝐸𝐵1/𝑛
𝐵𝐵−1, unde: EB = soldul final, BB = investiția inițială, n = numărul de ani [10].

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

9

Fig. 1 Piata senzorilor [15]

Fig. 2 Piata microcontrollerelor [15 ]
In figura 3 este prezentat faptul că se va ajunge la aproape 35,000 de Exabytes (1 Exabyte=10006
bytes=1018 bytes) până la sfâ rșitul anului 2019.

Fig. 3 Proiecții globale de creștere a datelor [15]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

10

Fig. 4 Investiția în software [15]
Din fig 3 si 4 se observă că există o strânsă legăura între creșterea volumului de date și investiția
în software. În anul 2012 la un volum de date de aproximativ 5000 Exabytes se face trecerea de
la trecerea de la hardware la software.

Fig. 5 Estimarea distribuției vanzarilor [21]

Arduino Nano este un MCU pe 8 biți și reprezintă o componentă importantă din figura prezentată
mai sus, cu o valoare procentuală de 3% din veniturile obținute pe piața mondială a
microcomponentelor în anul curent, 2019.
Pentru fiecare device connectat ( o cercetare de piață din partea firmei IDC a prezis că v -or există
28 de miliarde device -uri în anul 2020 ) va exista un software capabil să comunice cu alte device –
uri și o bază centralizată de date, aceasta colectând date pentru a ne face viața mai eficientă.
Conceptul de "smart homes" a existat din anul 1960. Ne așteptăm ca automatizarea locuințelor să
aibă ca r ezultat un cosum cu 30% mai mic de energie electrică. Automatizarea locuințelor este un

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

11
sector cu un potențial de reducere a costului energiei, îmbunătățirea securității și creșterea
confortului.
Figura 6 reprezint ă eficiența energetică, confortul și secur itatea locuinței care vor fi domenii cheie
pentru focus -ul industrial.

Fig. 6 Piața automatizării locuințelor [15 ]

Fig. 7 IoT în diverse aplicații [19]

IoT=Internet of Things
5%
5%
14%
23%
38%
1%
14%Piata automatizarii locuintelor
Altele
Siguranta
Securitate
Iluminare
Electrocasnice
Aplicatii smart
Control

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

12
Internetul lucrurilor conectează dispozitive, spre exemplu consu matori de zi cu zi și echipamente
industriale la o rețea, permițând colectarea de informații și gestionarea acestor dispozitive prin
intermediul software pentru a crește eficiența, permiterea de noi servicii, siguranță, sau beneficii
ale mediului. Termenul a fost prima dată propus de către Kevin Ashton, un tehnologist englez, în
anul 1999.

A fost nevoie de un număr semnificativ de schimbări ale tehnologiei până să apară IoT. Spre
exemplu:
 Senzori ieftini – Prețul senzorilor a scăzut în medie la 60 de cenți de la 1,30$ în ultimii 10
ani.
 Lățimea benzii ieftină – Costul lățimii benzii a scăzut de 40 de ori în ultii 10 ani.
 Procesarea ieftină – În mod similar, costurile de procesare au scăzut de 60 de ori în ultimii
10 ani, permițând mai multor dispozitive să nu fie doar conectate, dar suficient de deștepte
încât să știe ce să facă cu noile date pe care acestea le generează sau le primesc.
 Telefoanele inteligente – Reprezintă calea IoT -ului, servind ca telecomenzi pentru locuință,
mașină, sau dispozitive pentr u sănătate și fitness pe care consumatorii încep să le poarte.

Fig. 8 Cota de piață a iluminării inteligente [19]
Microprocesoarele și microcontrolere dețin împreună 8,4% din coată de piață a iluminării
inteligente la nivel mondial în anul 2017, pe primul loc fiind situați senzorii cu o cotă de piață de
40,2% și apoi LED -urile cu 24,2%.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

13
Fig. 9 Cota de piață a ilu minarii inteligent e controlat e [19]

Fig. 10 Veniturile obținute din iluminarea inteligen tă [19]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

14

Fig. 11 Veniturile obținute din iluminarea inteligent controlată [19]

Fig. 12 Platformele cele mai utilizate și dorite de programatorii [16]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

15
Arduino are un procent de utilizarea de 9,9% și respectiv 17,7% când vine vorba de preferință.

Fig. 13 Gradul de utilizare al platforme lor de programare [15]
Ardui no are un procent de 10,7% când ne referim la utilizare , în anul 2017 a avut un procent de
utilizarea de 9,9%. Rezultând o creștere de 0,8% în doar 2 ani, când când ne referim la utilizarea
plăcuțelor Arduino.

1.2 Analiza concu renței

Analiza concurenței este un tip de strategie care constă în colectarea și analiza informațiilor despre
firmele dintr -o piață. Aceasta reprezintă o tactică esențială pentru a afla ce fac concurenții și ce fel
de amenințare reprezintă ei pentru stare a economico -financiară a organizației.
Dacă produsul sau serviciul pe care o firmă îl oferă pare la prima vedere inovativ, există șanse
mari să mai fie alți competitori pe piață care îl oferă deja. În același timp, dacă nu există competitori
direcți, se va lua în considerare competiția indirectă și a noilor veniți.
Dimensiunea pieței globale a microcontrolerelor a fost evaluată la 18,60 miliarde USD în anul
2018 și este de așteptat să ajungă la 35,29 miliarde USD în anul 2026, conform Grand View
Research, accesat la data de 26.06.2018.
Analiza concurenței îți propune să atingă următoarele ținte:
 Care este dinamica pieței pe care active zi sau pe care dorești să intri
 Care sunt p rincipalii competitori pe piață. Ce cote de piață au.
 Cum se poz iționează competi torii pe piață.
 Dacă va fi lansat un produs sau un serviciu, cine vor fi co mpetitorii direcți.
Urmărirea și analizarea tuturor factorilor care se manifestă în cadrul sectorului respectiv, are
legătură directă cu desfășurarea unei activități eficiente într -o firmă.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

16
Competitorii principali ai firmei Arduino pe piața de microcontrollere:
 Parallax
 SparkFun
 Pololu
 Agiloresearchpvtltd
 Txrobotic
 Xmos
 Giantec -semi
 Mikroe
 Acclena
 Littlebits
In cele ce urmeaz ă, vom efectua o analiza calitativă a principalilor compet itori din sectorul
economic ales pentru studiu.
Parallax
Parallax a fost fondată în anul 1987 în Rockin, California. Este o companie privată și are ca sector
industrial de activitate echipamente semiconductoare. Proiectează și produce instrumente de
dezvol tare a microcontroller -elor și computere cu o singură placă pentru industria electronică.
Compania are venit anul estimate la 15 milioane USD și are la dispoziție de 115 angajați. Parallax
are un program intitulat "Getting Started" prin care se implică în educarea pasionaților de industria
electronică, are următoarele programe: ș coala generală , școala gimnazială , liceu , club sau tabăra
de programare , studenți care nu au mai programat niciodată, familiarizarea cu Arduino [11].
Firma organizează evenimente de tipul: conferințe, expoziții, traininguri, sponsorizării,
evenimente cu partenerii, online, dezvoltarea profesională. Există 4 tipuri de programe la
dezvoltarea profesională, toate sunt cu roboți și 2 dintre ele au legătură cu Arduino și Python.
Firma are o secțiune de produse special destinate copiilor numită "EdTech Kids" în care găsim
roboți și kituri complete de asamblare. Produsele lor sunt: microcontrollere, roboți, senzori, plăcute
cu MC sau MP, cărți, motoare, dispozitive audio.

Fig. 14 Parallax Facebook și Twitter Followers [11]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

17
Spark Fun
Sparkfun a fost fondată în anul 2003 în Nitwoc, Colorado. Este o companie privată și are ca
obiect de activitate tehnologia hardware. Firma se ocupă cu proiectarea, programarea,
producerea și vânzarea online de m icrocontrollere. În luna Ianuarie anul 2018, Sparkfun
sărbătorește 15 ani și dispunde de un număr de 140 angajați. Se pot achiziționa de pe site
următoarele: senzori, roboți, accesorii, plăci de dezvoltare, dispozitive audio. Există o secțiune
"Learn" pe s ite, unde poți găsi tutoriale, videoclipuri, cursuri despre Arduino implementate la
clasă [12].

Fig. 15 SparkFun Facebook și Twitter Followers [12]

Pololu
Polulu a fost fondată în anul 2000 de trei studenți de la Massachusetts Institute of Technology . În
anul 2002 s -a mutat din Massachusetts în Las Vegas , Nevada avea un climat mai plăcut și taxele
erau mai mici. Numele de Pololu a fost pus după Pololu Valley din coasta de nord a insulei Big
Island din Hawaii. Firmă este privată și are sector de activite echipamente electronice. Produce
electronice și comercializează online servicii educaționale, de producție și inginerie, cu produse
variind de la senzori și electronice de control al mișcării până la motoare și roți pentru a construi
roboți. Obiectivul lo r este să ofere produse de o calitate bine concepute, care să permită clienților
să-și construiască proiectul de la principiul de idee la realitate. Produsele lor sunt: roboți,
electronice, mec anice; preponderant electronice [13].

STEMedia
STEMedia a fost fondată în anul 2017 în Kanpur Nagar, Uttar Pradesh. Este o companie private
ce activează în domeniul echipamentelor electronice. Firma reprezintă o platform online de
învățare care oferă soluții educaționale studenților și tutorilor. Siteul pune la dispo ziție cursuri
online de: electronică, programare și robotică, laboratoare: Atal Tinkering Labs, STEM lab,
Produse: evive Starter Kit, evive IoT Kit, Robotic Arm Addon Kit, Gardening Addon Kit [15].

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

18
In tabelul 1 sunt prezentati competitorii directi ai firme i Arduino pe piata de microcontrollere. Se
poate observa ca firma MikroElektronika ocupa un loc fruntas cu vanzari anuale realizate de peste
40 de milioane USD. Se mai poate observa faptul ca firma SparkFun a re realizari in platformele
social media, fiind cea mai populara firma dintre competitorii directi [14].
Firma Vânzări anuale Angajați Twitter followers Facebook followers
Parralax 15,000,000 115 7,314 13,156
SparkFun 25,000,000 140 87,224 131,946
Pololu 3,000,000 35 6,538 5,513
STEMedia 800,000 10 1,573 700
Txrobotic 2,900,000 43 374 2,719
Xmos 9,000,000 65 2,388 1,589
Giantec -semi 8,500,000 83 0 0
MikroElektronika 40,500,000 107 2,211 62,576
Acclena 11,000,000 42 0 0
Littlebits 30,800,000 140 48,299 100,256
Tabel 1 . Competitori principali Arduino [14]

Ordonare competitori în funcție de veniturile anu ale obținute: [14]
 Mikroe – 40,5 milioane USD
 Littlebits – 30,8 milioane USD
 SparkFun – 25,1 milioane USD
 Parallax – 15 milioane USD
 Acclena – 11 milioane USD
 Xmos – 9 milioane USD
 Giantec -semi – 8,5 milioane USD
 Pololu – 3 milioane USD
 Txrobotic – 2,9 mil ioane USD
 Agiloresearchpvtltd < 1 milion USD
Observăm faptul că Arduino se află pe locul 5 când ne raportăm la vânzările anuale estimate, cu
o sumă de 13 milioane USD. Împreună aceste companii obțin 179.6 milioane USD și au un
număr de 781 angajați, dintre care 97 sunt la firma Arduino.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

19

Fig. 16 Principalii competitori Arduino, vanzari anuale estimate[14]
Fig. 17 Arduino Facebook si Twitter Followers [15]

Arduino a avut la data de 11.07.2019 296,754de urmăritori pe Twitter. În luna Februarie al
anului 20 15 Arduino avea 121,847 de urmăritori. Acest lucru înseamnă că a crescut cu 96% în
numai 2 ani. Arduino Arduino a avut la data de 11.07.2019 917,110 fani pe Facebook. În luna
Februarie al anului 2015 Arduino avea 323,782 fani. Acest lucru reprezintă o creș tere cu 179%
în 4 ani.

25%
19%
16%
9%
8%
7%
6%
5%
2%
2%
1%Vanzari anuale estimate
Mikroe
Littlebits
Sparkfun
Parallax
Arduino
Acclena
Xmos
Giantec-semi
Polulu
Txrobotic
Agiloresearchpvtltd

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

20
anul XP Renesas Microchip Samsung ST Infineon Texas
Instrument
s Cypress
2015 350 2560 1355 2170 1514 1060 820 622
2016 914 2458 2027 1866 1573 1106 835 540
Tabel 2 Producătorii lideri de MC în anul 2015 -2016 (în milioane USD) [25]

anul 2014 2015 2016 2017 2018
milioane euro 4320 5795 6473 7063 7599
Table 3 Infineon vânzări la nivel global din 2014 -2018 , in milioane USD [17]

Fig. 18 Producătorii lideri de microcontrollere în anul 2016 (în milioane USD) [25]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

21

Fig. 19 Vanzar i de microcontrollere la nivel mondial 2015 -2022 (în miliarde USD) [18]

Identificam competitori la nivel mondial, pe piata microcontrollerelor: Microchip Technology ,
Infineon, Microsemi corporation, Micron Technology, NVIDIA, Marvell Technology, Analog
Devices.
Microchip Technology
Anul 2019 va fi optim din punctual de vedere al vanzarilor de microcontrollere, se remarca o
tendinta de crestere a vanzarilor pe acest segment. In anul 2016 s -au inregistrat 1,345.5 milioane
USD obtinute din vanzari nete, i ar in anul 2019 se vor inregistra 2,921.9 milioane USD obtinute
din vanzari nete.
Anul Microco ntrollers Analog,
interface,
mixed
signal and
timing
products Memory
products Technology
licensing Multi –
market
and other Field –
programm
able gate
array
products
2016 1,345.5 595.5 116.9 89.1 26.3 –
2017 2,147.3 888.9 184.1 91.2 96.3 –
2018 2,619.1 952 199.7 104.8 105.2 –

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

22
2019 2,921.9 1,530.7 184 132.4 276.7 303.8
Tabel 4 Vânzări nete ale firmei Microchip Tehnology după linia de produse din anul 2016 -2019
(în miloane USD)
Anul America Europa Asia
2016 417.6 474.6 1,281.1
2017 641.8 808.6 1,957.4
2018 717.4 962.1 2,301.3
2019 1,353 1,225.2 2,770.7
Tabel 5 Vânzări ale firmei Microchip Technology pe regiuni din anul
2016 -2019 (în m ilioane USD) [18]
Anul 2015 2016 2017 2018 2019
Profit net 365.3 323.9 164.6 255.4 355.9
Tabel 6 Profit net Microchip Technology 2015 -2019, in milioane USD [18]
Anul 2015 2016 2017 2018 2019
Cheltuieli 349.5 372.6 545.3 529.3 826.3
Tabel 7 Cheltuieli cu cercetare si dezvoltare Microchip Technology 2015 -2019 , in milioane USD
[18]
Sunt inregistrate diferente mici de profit net in cursul anilor 2015 -2016 -2019 si cheltuielile au o
variatie scaz uta in cursul anilor 2015 -2016 si respectiv 2017 -2018.

Infineon
Anul 2014 2015 2016 2017 2018
Cheltuieli 550 717 770 776 836
Tabel 8 Cheltuieli cu cercetare si dezvoltare Microchip Technology 2014 -2018, in milioane de
euro [17]
Anul 2014 2015 2016 2017 2018
Profit net 535 634 743 790 1075
Tabel 9 Profit net Infineon la nivel mondial 2014 -2018, in milioane de euro [17]
Cheltuielile cu cercetare si dezvoltare au avut rezultate direct proportionale cu cresterea profitului
net in intervalul anilor 2014 -2018.
Microsemi Corporation
Anul 2013 2014 2015 2016 2017
Vanzari nete 975.9 1,138.3 1,245.6 1,655 1,811.8
Tabel 10 Vanzari nete Microsemi Corporation , in milioane USD [22]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

23
Vanzarile nete ale firmei Microsemi Corporation au o tendinta de creste pe tot par cursul anilor
analizati. Se observa ca vanzarile nete obtinute in anul 2013 aproape s -au dublat in anul 2017, la
un interval de 5 ani distanta.

Micron Technology
Anul 2014 2015 2016 2017 2018
Vanzari nete 16.36 16.19 12.4 20.32 30.39
Tabel 11 Vanzari ne te Micron Technology 2014 -2018, in milliard e USD [18]
Anul 2014 2015 2016 2017 2018
Profit net 3.05 2.9 -0.28 5.09 14.14
Tabel 12 Profit net Micron Technology 2014 -2018, in miliarde USD [18]
In anul 2016 firma Micron Technology inregistreaza un profit ne t negative de -0.28, datorita
celor mai scazute vanzari nete realizate pe parcursul anilor analizati.
NVIDIA
Pe parcursul anilor analizati se observa o crestere a vanzarilor si a profitului net.
Anul 2015 2016 2017 2018 2019
Vanzari 4.68 5.01 6.91 9.71 11.72
Tabel 13 Vanzari NVIDIA 2015 -2019, in miliarde USD [26]
Anul 2015 2016 2017 2018 2019
Profit net 631 614 1,666 3,047 4,141
Tabel 14 Profit net NVIDIA 2015 -2019, in milioane USD [26]

Anul GPU Tigra processor Restul
2017 5,822 824 264
2018 8,137 1,534 43
2019 10,175 1,541 –
Tabel 15 Vânzări NVIDIA din anul 2015 -2019 (în milioane USD), pe segmente [26]
Anul Taiwan China Asia
Pacific SUA Europa Alte țări
2017 2,546 1,305 1,010 904 659 486
2018 2,991 1,896 2,066 1,274 768 719
2019 3,360 2,801 2,368 1,506 914 767
Tabel 16 Vânzări NVID IA din 2017 -2019, pe țări [26]
Cele mai semnificative vanzari ale firmei NVIDIA sunt inregistrate in anul 2019 in Taiwan, de
peste 2 ori fata de SUA si aproape de 9 ori fata de Europa.
Marvell Technology

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

24
Marvell Technology inregistreaza profit net negative in anul 2016 si 2019. In anul 2016 este
inregistrat un profit negativ in valoare de -811.4 milioane USD, iar in anul 2019 este inregistrat un
profit negative de valoare -179.09 milioane USD.
Anul 2015 2016 2017 2018 2019
Vanzari 3.59 2.6 2.3 2.41 2.87
Tabel 17 Vânzări Marvell Technology din 2015 -2019, in milliarde USD [21]
Anul 2015 2016 2017 2018 2019
Profit net 435.35 -811.4 21.15 520.83 -179.09
Tabel 18 Profit net Marvell Technology 2015 -2019, in milioane USD [21]
Anul China Malaysia Philipine Thailanda SUA Altele
2016 1,471,18 302.95 211.6 189.3 60.12 367.34
2017 1,224.03 286.27 283.35 113.78 51.42 342.15
2018 1,205.02 288.47 270.1 137.66 42.56 365.18
2019 1,189.93 372.82 235.92 165.92 251.91 649.3
Tabel 19 Vânzări Marvell Technolog y 2016 -2019 pe tari , in milioane USD [21]
Anul Strocare Retele Conectivitate Altele
2016 1,201 532 441 428
2017 1,158 590 318 235
2018 1,254 598 364 193
2019 1,377 1,313 – 176
Tabel 20 Vânzări Marvell Technology anul 2016 -2019, dupa produse in milioane USD [21]
China est e principal tara care cumpara produsele Marvell Technology, urmata de Malaysia,
Philipine, Thailanda, SUA.
Analog Devices
Anul 2016 2017 2018
Cheltuieli 653.82 968.6 1,165.41
Tabel 21 Cheltuieli cu cercetare si dezvoltare Analog Devices 2016 -2019, in mil ioane USD [27]
Anul 2014 2015 2016 2017 2018
Profit net 629.32 696.88 861.66 727.26 1,495.43
Tabel 22 Profit net Analog Devices 2014 -2018, in milioane USD [27]

1.3 Analiza P EST

Evidențierea factorilor externi în practică mondială se realizarea cu ajutorului analizei PEST, care
clasifică factorii externi după cum urmează: politici, economici, socio -culturali, tehnologici.
 P = politic. Factorii politici au o influență puternică asu para afaceri. Taxele cerute și
legislația în vigoare, gradul de stabilitate politică au o importanță deosebită în ceea ce
privește prosperitatea unei afaceri.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

25
 E = economic. Cu un impact imens asupra deciziilor în afaceri sunt următoarele: nivelul
de consum în rândul populației, prețurile administrate, nivelul competivității economice
naționale
 S = social. Este inclus nivelul educațional, stilul de viață al populației, vârsta, atitudinea
față de calitate
 T = tehnologic. Posibilitatea de proiectarea ieftină a produselor și serviciilor promovate de
o firmă, reprezintă punctual central în cadrul acestor factori.
Factori politici -legislativi
A fost menționat în subcapitolul 1.1 faptul că s -a investit mult în domeniul microcontroller -elor și
există interes din p artea investitorilor, pentru a dezvolta în continuare ramură MC pe 8 biți. Factorii
politici -legislativi influențează piața de MC pozitiv, dar și negativ. Adoptarea unor prevederi
prinvind scutirea impozitării profitului reinvestit creează cadrul necesar r ealizării unui proces
investițional crescut. O guvernare democratica si o economie care este deschisa spre cooperare
influenteaza pozitiv atragerea de noi investitori si respective dezvoltarea zonelor economice libere.
Birocratia si coruptia sunt doi facto ri care au o influenta negativa asupra zonelor economice libere,
desi acestia reprezinta rezultatul direct al instabilitatii legislative. Un pericol major este terorismul,
riscul securitatii si instabilitatea politica. Este primordial ca politica de stat i n domeniul zonelor
economice libere sa fie concentrata pe optimizarea legislatiei, inlaturarea deficientelor,
perfectionarea infrastructurii si alinierea ei la cele mai avansate practice internationale.

Analiza PEST mai poate fi reprezentată sub formă de matrice .
Analiza PEST ( factorii externi )
Politici ( P )

Tipul guvernării
Stabilitatea legislative
Respectarea legii, birocrația, corupția
Tendințele de implicare a statului
Legislația muncii
Instabili tatea politică
Politica de cooperare cu organizații străine și
cu țări vecine Economici ( E )

Situația curentă în economie
Inflația, rata de refinanțare și ratele dobânzilor
Globalizarea
Rata șomajului, costul forței de muncă
Venitul disponibil
Socio -culturali ( S )

Sitația demografică
Modele de angajare, atitudinea față de muncă
Asigurarea sănătății și a educației
Mobilitatea populației
Stilul de viață ales
Pobabilitatea schimbărilor socio -culturale
Amplasarea geografică
Tehnologici ( T )

Politica sta tului în domeniul ethnic
Impactul tehnologiilor noi
Impactul internetului și reducerea costului de
comunicare
Activitatea de cercetare -dezvoltare
Impactul transferului tehnologic
Probabilitatea schimbărilor tehnologice pe
perioada medie de timp 3 -5 ani

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

26
Tabel 23 Matricea analizei PEST
Factori econmici
Ciclul economic pentru perioada analizata este caracterizat de cresterea volumului productie de
MC, ca urmare a cresterii volumului de date si interesul manifestat de investitori in acest domeniu.
Remarcam pri ncipalul aspect pozitiv in activitatea zonelor economice libere o crestere a ponderii
exporturilor. Au o influenta indirecta asupra zonelor economice factorii precum inflatia, rata de
refinantare si rata dobanazii. Din capitolul 1.2 reiese faptul ca venitu rile obtinute din vanzarea de
MC, la nivel mondial sunt in crestere, si o cercetare realizata de Statisa spune ca se vor realiza
vanzari de peste 23 miliarde USD pana in anul 2023.
Factori socio -culturali
Unul dintre cei mai reprezentativi factori este fac torul demografic, influenta acestui factor este de
lunga durata. La nivel global, populatia are o tendinta de crestere, ca urmare a progresului
tehnologic. Structura populatiei dupa mediul de rezidenta, si anume urban sau rural, reprezinta o
influenta impo rtanta asupra activitatii zonelor economice. Dezvoltarea infrastucturii va fi
identificat ca un factor ce aduce investitori. In mod proportional cu investitiile noi realizate in
zonele economice libere cresc si cerintele fata de calificarea personalului an gajat de catre firme.

Analiza PEST reprezintă o analiză la nivel macroeconomic și este în strânsă legătură cu politica
economică a țării. Scopul final al analizei PEST ar trebui să fie crearea unor zone economice libere
cu potențial și perspective de dezvoltare. Spre exemplu, o inflatie ridicata reprezinta un pret mare
pentru resursele economice, mai ales in cazul celor provenite din import. Investitorii sunt in
general influentati de rata de refinantare si rata dobanziii la credite.

Segmentarea pietei microcontroller -elor
 Dupa numarul de biti
8-Bit
16-Bit
32-Bit
 Dupa domeniul de aplicare
Automotive
Siguranta si securitate
Industriale
Dispozitive medicale
Militare si de aparare
Electrocasnice
 Dupa regiuni
1. America de Nord

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

27
2. Europa
3. Asia
4. America de Sud
5. Canada
6. Mexic
Piata aplic atiilor cu microcontrollere:
 Automotive
 Electrocasnice
 Industriale
 Dispozitive Medicale
 Militare si de aparare

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

28
CAPITOLUL 2. INTRARILE SI IESIRILE PINILOR DIGITALI
ARDUINO NANO

Microcontroller -ul ATMEGA 328P
Caracteristici
 Atmell AVR microcontroller d e 8 biți de înaltă performanță și cu consum redus de energie [28]
 Arhitectură avansată RISC :
 Execută 131 de instrucțiuni la un nivel înalt, execuție ciclică unică
 Operațiuni complexe statice
 Până la 20 MIPS cu o capacitate de 20 MHz
 Pe cip apar 2 cicluri mu ltiplicatoare
 Segmente de memorie de mare rezistență, nevolatile :
 32K Biți de memorie cu program Flash în sistem auto -programabil
 1K Biți memorie EEPROM
 2K Biți memorie internă SRAM
 Ciclu de scriere/ștergere: 10,000 flash/100,000 EEPROM
 Secțiune opțională cu cod de pornire
 Secțiune opțională cu cod de pornire cu biț i de blocare independent în sistem de
programare cu un cip programat de pornire, cu funcție operațională de citire în
timp ce scrie
 Sistem programabil de blocare pentru securizare
 Caracteristici periferice :
 2 Temporizatori/Contori de 8 biți cu prescaler separat și mod de comparare
 Un temporizator/contor de 16 biți cu prescaler separate, mod de comparare și mod
de capt are
 Timp real de înregistrare cu oscilator aparent
 6 canale PWM
 8 canale de 10 b iți ADC în TQFP și pachet QFN/MLF cu măsurarea temperaturii
 Serial programabil USART
 Master/Slave SPI interfață serială
 Bit orientat cu 2 fire interfață serială
 Temporizator programabil "WatchDog" cu oscilator separat de cip
 Comparator analog pe cip
 Mod in terrupt and wake -up la schimbarea pinului
 Caracteristici speciale ale microcontroller -ului:
 Detecție programabilă ale funcțiilor Power on, Reset și Brown -out
 Oscilator calibrat intern
 Surse întrerupte interne și externe
 6 moduri de hibernare: IDLE, reduce rea zgomotului ADC, power -save, power –
down, standby și extended standby

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

29
 Pachete de intrare/ieșire :
 23 de linii programabile de I/O
 32 pini de conducere TQFP și 32 pini suport QFN/MLF
 Temperatura de operare: 2.7V – 5.5V [28]
 Gama de temperatura: de la -40 °C până la +125 °C
 Viteaza graduală:
 0-8MHz la 2.7 -5.5V
 0-16MHz la 4.5 -5.5V
 Consum redus de putere:
 Modul activ: 1.5mA la 3V – 4MHz
 Modul power -down: 1 μA la 3V

Fig.20 Pinii ATmega328P[28]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

30
Descierea pinilor
 VCC – tensiunea de alimentare
 GND – împământare
 Port B ( PB7:0 ) XTAL1/XTAL2/TOSC1/TOSC2. Portul B este o I/O de 8 biți
bidirec țională cu rezistori p ull-up ( selectați pentru fiecare bit ). Bufferele de ieșire ale
portului B au caracteristici simetrice de drive având o capacitate a sursei atât mare cât și
mică . Că intrări, pinii portului B vor fi sursa de curent dacă sunt activate rezistele pull -up.
Pinii portului B sunt în starea a treia când o condiție de resetare devine activă, chiar dacă
ceasul nu func ționează. În funcție de setările siguranței de selectare a ceasului, PB6 poate
fi folosit ca intrare la amplificator ul oscil ator invers or și intrare l a circuitul de funcționare
a ceasului intern. În funcție de setările siguranței de selectare a ceasului, PB7 poate fi folosit
ca ieșire de la amplificatorul oscilator inversor. Dacă oscilatorul RC calibrat intern este
utilizat ca sursă de ceas cu cip, PB7. .6 este utilizat ca intrare TOSC2..1 pentru timerul
asicron/Contor2 dac ă bâtul AS2 din ASSR este setat [28].
 Port C ( PC5:0 ). Portul C este un port I/O bidirecțional pe 7 biți cu rezistente interne de
urcare ( selectate pentru fiecare bit ). Buffer -ele de ieșire PC5..0 au caracteristici de
conducere simetrice având o capacitate a sursei atâta una mare cât și una mică. Că intrări,
pinii portului C vor fi sursa de curent dacă sunt activate rezistele pull -up. Pinii portului C
sunt în starea a treia când o con diție de resetare devine activă, chiar dacă ceasul nu
funcționează.
 PC6/RESET. Dacă siguranță PC6/RESET este programată, PC6 este folosit ca un pin de
intrare. Dacă siguranță PC6/RESET este neprogramată, PC6 este utilizat ca un reset input.
Un nivel scăzu t al acestui pin mai mare decât lungimea minimă a impulsului va genera o
resetare , chiar dacă ceasul nu funcționează.
 Port D (PD7:0). Portul D este un port I/O bidirecțional de 8 biți cu rezistente interne pull –
up ( selectate pentru fiecare bit ). Buffer -ele de ieșire ale portului D au caracteristici
simetrice de acționare, având o capacitate a sursei atât una mare cât și una mică. Că intrări,
pinii portului D care au sursă externă de curent mic va crește dacă rezistorii sunt activați.
Pinii portului D sun t în starea a treia când o condiție de resetare devine activă, chiar dacă
ceasul nu funcționează.
 AV CC – este tensiunea de alimentare a pinului pentru convertorul A/D,PC3:0 și ADC7:6.
Ar trebui să fie conectat extern la VCC, chiar dacă ADC nu este folosit. Dacă ADC este
folosit, ar trebui conectat la VCC printr -un filtru low -pass. De reținut faptul că PC6..4
folosește tensiune de alimentare digitală, VCC.
 AREF – este codul analog de referință a pinului pentru convertorul A/D.
 ADC7:6 (TQFP and QFN/MLF Packag e Only) . În pachetul TQFP și QFN/MLF,
ADC7:6 servesc drept intrări analogice la convertorul A/D. Acești pini sunt alimentați de
la o sursă analogical și servesc ca un canal ADC de 10 biți.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

31
Prezentare generală
ATmega328P este un microcontroller CMOS8 d e 8 biți cu putere redusă, bazat pe o arhitectură
AVR RISC îmbunătățită. Prin executarea unor instrucțiuni puternice într -un singur ciclu de ceas,
ATmega328P realizează debite apropiate de 1MIPS per MHz, permițând proiectantului sistemului
să optimizeze c onsumul de energie com parative cu viteză de procesare [28].

Fig. 21 – Schem a bloc[28]
Procesorul AVR combină un set bogat de instrucțiuni de uz general cu 32 registri de lucru . Toți
cei 32 de registri sunt conectați direct la unitatea aritmetico logică ( ALU ) care permite accesarea
a doi registri independenți într -o singură instrucțiune executată într -un ciclu de ceas. Arhitectură
rezultată este un cod mai efficient, cu debite de până la 10 ori mai rapide decât microcontrolerele
CISC convenționale.
Portu rile paralele
Porturile sunt regist re pentru memorarea temporară a informației. Prin intermediul lor se realizează
comunicația dintre microprocessor și echipamentele periferice. Porturile pot fi de intrare, de ieșire
și bidirecționale. [24]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

32
Un port de intr are este un registru care poate fi citit de microprocessor, iar un port de ieșire este
un registru în care microprocesorul poate înscrie date. Porturile bidirecționale sunt porturi de
intrare/ieșire.
Porturile paralele I/O au un rol foarte important și se află în strânsă legătură cu MC și mediu,
acestea facilitează transferu l simultan al mai multor biți. Numărul biților transferați în urma
executării unei instrucțiuni din mediul software depinde de organizarea porturilor în cadrul MC.
Spre exemplu, unele po rturi sunt organizate pe 8 biți, altele pe un număr mai mic sau mai mare de
biți, acest lucru variză în funcție de modelul MC. Sensul transferului, I ( input sau intrare ) sau O
( output sau ieșire ) ține de mediul software și este stabilit de obicei cu aj utorul unui registru de
sens. Mecanismele de apelare au fost implementate la nivel de bit pentru registrele porturilor
paralele de I/O deoarce existau cerințe specifice de interacțiune cu mediul.
În multe aplicații este de preferat, a se folosi transmisi a paralel, datorită vitezei sporite de
vehiculare a informației și a circuitelor de interfață . Accesul pe 8 biți paralel în calculator este mai
rapid decât accesul serial și seama foarte mult cu magistrala de data a sistemului, ceea ce justifică
concepția de proiectare relativsimpla și puțin costisitoare. Dezavantajul apare la conectare, cablul
având nevoie de obicei de 20 de conductor necesari pentru cei 8 biți de date dar și pentru semnalele
de comandă și control care adesea folosesc pro priile lor fire în masă. Este indicat că lungimea
cablului de conectare să fie cât mai scurt ( limita maximă de aproximativ 3 m ).
Configurația semnalelor în octetul de date scris/citit:
7 6 5 4 3 2 1 0
D7 D6 D5 D4 D3 D2 D1 D0
Tabelul 24 Octetul de date scris/citit

2.1 Lucrarea 1 – Valoare dată prin intermediul consolei în sistemul de
numerație binar, zecimal, hexazecimal

Pentru început vă propunem familiarizarea cu plăcuța Arduino Nano și software -ul Arduino IDE.
Prima lucrare realizată își propune să ne învețe despre:
 tipul de variabile pe care le putem utiliza în software -ul Arduino IDE
 porturile și pinii plăcuței Arduino Nano
 partea hardware: conexiuni dintre leduri -rezistente și pinii plăcuței Arduino Nano
 folosirea adreselor și valorilor în hexaze cimal
Tipul de variabile utilizat în acest program este byte, un byte reprezintă succesiunea a 8 biți, 1 bit
este reprezentat de valoarea 0 sau 1. Alegem variabilă val de tip byte și o inițializam cu valoare
0xf0 și variabilă val1 de tip byte, pe care o i nițializam cu valoare 0. Aveți atașată mai jos secvență
de cod pentru cele spuse mai sus:
byte val = 0xf0;

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

33
byte val1 = 0;
Regiștrii porturilor permit manipularea rapidă a pinilor de intrare/ieșire a microcontroller -ului de
pe plăcuță Arduino. Plăcută Ardui no are 3 porturi:
 B ( pini digitali de la 8 la 13 )
 C ( pini analogici de intrare )
 D ( pini digitali de la 0 la 7 )
Fiecare port este controlat de către 3 regiștrii, care de asemenea definesc variabilele în limbajul
arduino. Registrul DDR, determina când pinul este o intrarea sau o ieșire. Registrul Port
controlează când pinul are valoarea 1 ( HIGH ) sau 0 ( LOW ) și registrul pinului citește starea de
intrare a pinilor setați că intrare cu funcția pinMode(). Regiștrii DDR și PORT se pot folosi pentru
citire și scriere. Pinii regiștrii corespund la starea intrărilor și se pot folosi doar pentru citire [24].
PORTD reprezintă pinii digitali de la 0 la 7 pe plăcuța Arduino
 DDRD – The Port D Dată Direction Register – poate să fie folosit pentru citire/scriere
 PORTD – The Port D Dată Register – poate să fie folosit pentru citire/scriere
 PIND – The Port D Input P ins Register – poate să fie folosit doar pentru citire
PORTB reprezintă pinii digitali de la 8 la 13
 DDR B – The Port B Dată Direction Register – poate să fie folosit pentru citire/scriere
 PORTB – The Port B Dată Register – poate să fie folosit pentru citire/scriere
 PINB – The Port B Input Pânș Register – poate să fie folosit doar pentru citire
PORTC reprezintă pinii analogici de la 0 la 5. Pinii 6 și 7 sun t accesibili doar pe Arduino Mini
 DDRC – The Port C Dată Direction Register – poate să fie folosit pentru citire/scriere
 PORTC – The Port C Dată Register – poate să fie folosit pentru citire/scriere
 PINC – The Port C Input Pânș Register – poate s ă fie folo sit doar pentru citire
De ce folosim manipularea porturilor?
Există avantaje și dezavantaje atunci când folosim manipu larea porturilor, vom începe cu
Avantaje :
 Se pot seta pinii pe modul ON/OFF foarte rapid, mai exact într -o fracțiune de
microsecundă. Da că arunci o privire la codul sursă în lib/targets/wiring.c, vei observa
funcția digitalRead() și digitalWrite(), care sunt compilate în câteva instrucțiuni de cod
mașina. Fiecare instrucțiune de cod mașina necesită un ciclu de ceas de 16MHz, care
mărește t impul de așteptare al aplicațiilor care au nevoie de precizie. Accesul direct prin
intermediul porturilor realizează instrucțiunile în mai puține cicluri de ceas.
 Se pot seta pini multipli de ieșire în același timp. Spre exemplu folosirea funcție
digitalW rite(10,HIGH) urmat de digitalWrite(11,HIGH) cauzează pinul 10 să aibă
valoarea HIGH la câteva secunde înaintea pinului 11. Acest lucru poate confunda anumite

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

34
circuite digitale externe sensibile cuplate la un moment dat. Ca alternativă, putem seta
amândoi pini HIGH exact în același moment folosind PORB |=B1100;
 Se poate realiza economie de memorie din program, codul o să fie mai scurt. Necesită mult
mai puțini octeți pentru complilarea codului
Dezavantaje:
 Codul este mult mai greu de modificat, înțeles și urmărit. Procesorul are nevoie de câteva
microsecunde să execute codul, dar omul are nevoie de câteva ore să observe de ce nu
fucționează bine și să -l repare.
 Codul este puțin portabil. Dacă folosești digitalRead() și digitalWrite() este mult mai ușor
să scrii codul care va rula pe majoritatea microcontroller -elor Atmel. Având în vedere
numărul diferit de porturi și registri de care aceste MC dispun.
 Având acces direct la port, fără să -ți dai seama, printr -o singură linie DDRD=B11111110;
menționăm că pinul 0 trebuie lăsat că pin de intrare. Poți cauza portul serial să se oprească
prin schimbarea pinului 0 într -un pin de ieșire,deoarece pinul 0 este pin de intrare ( RX )
pe portul serial.
Fiecare bit din regiștrii corespunde unui singur pin, că de exemplu: b âtul 0 ( LOW ) de la DDRB,
PORTB și PINB se referă la pinul PB0 ( pinul digital 8 ). Pentru o mapare completă a numărului
de pini la porturi și biți, aveți atașată mai jos următoarea diagramă.
Fig. 22 Diagrama pinilor plăcuței Arduino Nano [29]
Lucrarea numărul 1: Valoarea hexazecimal atribuită fără ajutorului consolei

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

35
Montajul sau partea hardware
Piesele necesare pentru realizarea acestui montaj sunt următoarele:
 Breadboard
 Plăcută Arduino Nano
 8 leduri
 8 rezistente de 330 ω
 9 fire male to male
 Cablu de alimentare mini B USB
Vom descrie montajul cu ajutorul următorilor pași.
Pasul 1: Conectăm plăcu ța Arduino Nano la Breadboard.

Fig. 23 conexiunea dintre plăcută Arduino Nano și breadboard [30]
Pasul 2: Conectăm pinul GND al plăcuței Arduino Nano la lin ia de minus ( – ) al breadboardului.
Conectăm ledurile cu GND -ul, de regulă capătul teșit al led -ului sau "picorusul mai lung", cu
rezistență. Primul capăt al rezistantei îl conectăm cu linia de minus ( – ) al breadboardului, iar al
doilea capăt al reziste nței îl contectam la GND -ul ledului.
Pasul 3: Plusul ( + ) led -ului 1 va fi conectat cu pinul D6 al plăcuței Arduino Nano, plusul ( + )
led-ului 2 va fi conectat cu pinul D7 al plăcuței Arduino Nano și se procedează similar până la
pinul D13. Cu mențiunea că pentru fiecare led există câte o rezistanță atașată și conexiunile dintre
leduri și pinii plăcuței Arduino Nano sunt realizate prin fire male to male.
În final sunt folosite 8 leduri, 8 rezistente și pinii D6,…,D13 ai plăcuței Arduino Nano. După
realiz area acestor 3 pași, aveți un montaj cu titlul de exemplu atașat mai jos. Montajul pentru
această lucrare conține 8 leduri și 8 rezistente și folosește pinii D6,…,D13 ai plăcuței Arduino
Nano. În figură de mai jos sunt atașate ledurile 1,2 la rezistente 1, 2 și la pinii D6,D7.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

36

Fig. 24 Exemplu conexiunea led -rezistenta -pinii digitali Arduino Nano [30]
 Pasul 4: După ce montajul a fost realizat va fi conectat un Cablu de alimentare mini B USB
de la plăcuța Arduino Nano la USB -ul computerului.

Fig. 25 Cablu de alimentare mini B USB [30]
În urma conexiunii realizate, vom încărca programul prezentat în Anexa 1 prin intermediul
aplicației Arduino IDE. Deschide aplicația Arduino IDE descărcată de pe
https:// www.arduino.cc/en/Main/Software . Accesând meniul Tools, vom Seta Board: "Arduino
Nano", Processor: "Atmega328P ( Old Bootloader ), Port "COM X", Programmer: "ArduinoISP".

Fig. 26 Meniul Tools Arduino IDE
Se poate afla portul COM X, X reprezentând un num ăr alocat de plăcută pe computer. Accesând
bară de search "Device Manager", apoi dublu click pe Ports ( COM & LPT ), în acest caz apare
COM3.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

37

Fig. 27 Portul COM
Programarea sau partea software
Având în vedere cele menționate mai sus, avem atașată următo area secvență de cod:
DDRB |=0x3f; //63
DDRD |= 0xC0; //192
Hexazecimal Zecimal Binar
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
Tabelul 25 Conversia hexazecimal -zecimal -binar pe 4 biți
Spre exemplu valoarea FF în hexazecimal scrisă că (FF) 16 este egală cu 255 în zecimal, scriem sub
formă (255) 10, și 1111 1111 în binar, scriem sub formă (1111 1111) 2.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

38
(FF) 16 =(255) 10=(1111 1111) 2
Tran sformarea din hexazecimal în binar se face în felul următor:
(F)16=(15) 10
(FF) 16 =15*161+15*160= (255) 10
Prima linie a secvenț ei de cod atașată, și anume: DDRB |=0x3f; setează valoarea 0x3f în
hexazecimal, echivalent cu valoarea 63 zecimal , în registrul de date al portului B.
A doua linie a secvenței de cod atașată, și nume: DDRD |=0xC0; setează valoarea 0XC0 în
hexazecimal, echivalent cu valoare 192 în zecimal, în registrul de date al portului D.
În continuarea atașăm următoarea secvență de cod:
byte val = 0xf0; //240
byte val1 = 0; //0
Variabilele val și vall sunt globale , se pot accesa oriunde în cadrul codului curent, și au tipul de
date byte, mai exact pot să aibă valori de 0 sau 1.
În prin linia de cod byte val = 0xf0 se realizează o atribuire. Atr ibuim variabilei val valoare (0xf0) 16
= (240) 10 = (1111 0000) 2
A doua linie de cod byte vall=0 realizează o atribuire. Atribuim variabilei vall valoare 0.
În contiunuare atașăm programul principal, după cum îl denumește funcția int main(void).
val1 = val;
val1 = val;
val &= 0xC0;
val1 &=0x3F;
val |= 0x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val; //00000011
PORTB |= val1; //00001100
În urma upload -ului din software -ul Arduino IDE pe montajul realizat, observăm că ultimele 4
leduri alinia te de la stânga spre dreapta, au valoare HIGH.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

39

2.2. Lucrarea 2 – Intrările microcontroller -ului Arduino Nano

O punte multiport se numeste comutator sau switch. Fata de punti, comutatoarele in general
implementeaza metode de comutare mai rapide. Lucrarea 2 va fi realizata prin intermediul unui
comutator cu 6 pozitii. [33]
Uneori comutatorul este privit ca un dispozitiv de interconectare ce actioneaza atat la nivel fizic,
cat si la nivel legatura de date. Aceasta nu se datoreaza unei latente mai mici sau u nui cost mai
scazut comparativ cu o punte, ci datorita faptului ca in retelele Ethernet ce folosesc mediul torsadat
comutatorul preia functia principala a hubului, si anume aceea de a asigura conectarea tuturor
nodurilor la un mediu de transmisie
Exista do ua metode de comutare a pachetelor: comutare directa (cut th rough) si comutare dupa
stocare (store and forward). Metoda de comutare dupa stocare se bazeaza pe receptionarea
intregului cadru inainte de a incepe retransmisia acestuia. Latenta acestei metode creste odata cu
dimensiunea campului de date. Cu toate acestea, performantele metodei de comutare dupa stocare
pot fi superioare celor oferite de comutarea directa, mai ales in cazul linilor expuse unor
interferente puternice. Mecanismele de detectie a ero rilor pe care le ofera aceasta metoda de
comutare permite asigurarea unei conexiuni sigure la nivelul legatura de date.
Comutarea directa presupune ca puntea sa inceapa transmiterea cadrului pe portul destinatie
imediat ce adresa destinatie a fost trecuta prin tabela de comutare si interfata de plecare a fost
determinata. Cel mai adesea se intampla ca transmisia cadrului sa inceapa inainte de receptionarea
integrala a cadrului. Astfel comutatorul va primi pe una dintre interfete octeti ce compun cadrul,
transmitand in acelasi timp pe portul destinatie octeti din acelasi cadru primiti mai devreme.
Pentru comutarea directa nu este necesara nici macar receptionarea integrala a antetului cadrului,
adresa destinatie fiind suficienta. Aceasta metoda se numeste com utare directa rapida (fast
forward) si ofera o latenta de aproximativ 21 de microsecunde. Datorita faptului ca retransmisia
cadrului incepe imediat dupa citirea adresei destinatie, cadrele eronate vor fi transmise cu erori.
Desi aceste cadre sunt respinse la nivelul legatura de date al destinatiei (de catre placa de retea),
traficul generat de retransmisia lor poate, in cazul unui mediu de transmisie cu multe erori, sa duca
la o depreciere severa a performantelor retelei.
In general puntile implementeaza do ar comutarea dupa stocare, aceasta fiind una din principalele
deosebiri fata de comutatoare care nu vor mai fi preocupate de detectia erorilor, ci de filtrarea
pachetelor si de asigurarea unei latente cat mai scazute.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

40

Fig. 28 Comutator cu 6 pozitii [33]
Avem atasata mai jos sectiunea de cod pentru comutatorul cu 6 pozitii.
DDRC=0;
PORTC=0xFF;
}
byte val=0, vall=0;
String sir=" ";
char t = 0;
void loop() {
val=PINC;
val &=0x3F;
Serial.print("00");
Serial.println(val,BIN);
Serial.println(va l,HEX);
Serial.println(val);
t = val;
Serial.println(t);
delay(2000);
}
Caracterisiti/Beneficii:
 Este un comutator traditional
 Actionare rapida
 Cost scazut

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

41
Tipuri de aplicatii in care se utilizeaza:
 Comutatoare adresa pentru control industrial
 Com utator logic pentru computere si periferice
 Functie de control pentru diverse aplicatii

2.3 Lucrarea 3 – Structura programului

Prin intermediul lucrarii numarul 3 ne propunem sa facem o numarare, aceasta numarare va fi
afisata in mod fizic prin intermedi ul a 8 LED -uri. Incarcam in soft -ul Arduino IDE urmatorul
program:
byte val = 0x55;
byte val1 = 0;
byte te;
char t;
int i = 1;
int main(void)
{
Serial.begin(9600);
DDRB |=0x3f;
DDRD |= 0xC0;
while(1)
{
i=3;
while(i<192)
{
val = i;
val1 = val;
val1 = val;
val &= 0xC0;

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

42
val1 &=0x3F;
val |= 0x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
i*=2;
_delay_ms(100);
}
i=192;
while(i>=3)
{
val = i;
val1 = val;
val1 = val;
val &= 0xC0;
val |= 0x3F;
val1 &=0 x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
i/=2;
_delay_ms(100);
}

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

43
}
}
2.4 Lucrarea 4 – Control motor pas cu pas

Motorul pas cu pas este un convertor electromecanic ce functioneaza pe principiul reluctantei
minime sicare realizeaza transformarea unui sir de impulsuri digitale intr-o miscare de rotatie.
Miscarea rotoruluimotorului pas cu pas consta din deplasari unghiulare discrete, succesive, de
marimi egale, care reprezintapasii motorului.In general, un motor pas cu pas este alcatuit dintr -un
magnet montat pe axa de rotatie si din bobine fixesituate imprejurul acestui magnet [34].
Un motor pas cu pas, difera radical de un motor electric conventional. Un motor conventional
determinarotirea unui ax si viteza de rotatie a acestui ax poate fi modificata prin controlul
alimentarii motorului. Dar nueste necesar aprioric un circuit de comanda: motorul se roteste
imediat ce este conectat la o sursa dealimentare si nu se poate influenta asupra pozitiei precise a
axei de rotatie sau asupra numarului de rotatiice trebuie efectuate.In schimb, un motor pas cu pas,
nu se poate roti fara un circuit de comanda special. El permite obtinereaunor rotatii cu exact acelasi
unghi, corespunzator unui pas.
Sectiune de cod pentru motorul pas cu pas, implementata in soft -ul Arduino IDE este atasata in
Anexa 4.
Matrica de afisare a ledurilor este reprezentata de urmatoarea structura:
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
Linia 1 a matricei ara valoarea zecimala 1, linia 2 a matricei are valoarea 2, linia 3 a matricei are
valoarea 4, linia 4 a matricei are valoarea 8.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

44
CAPITOLUL 3. CONVERTOR NUMERIC -ANALOG

Convertoarele
Circuitele de conversie a datelor sunt folosite împreună cu un sistem de tip calculator numeric
constituie surse (în cazul convertoarelor analog -numeric) sau destinații (în cazul convertoarelor
numeric -analogice) pentru datele numerice cu care lucrează calculatorul. În cadrul aplicațiilor,
convertoarele pot fi considerate periferice ale sistemului de intrare -iesire al calculatorului, sau pot
fi asimilate unor adrese de memorie. [4]
Convertoarele numeric -analogice (CNA, DAC)
O mărime fizică definită pe un interval continuu de timp și ale cărei valori sunt cuprinse într -un
interval continuu de timp și ale cărei valori sunt cuprinse într -un interval continuu de valori ale
amplitudinii se numește mărime analogică [31].
Convertorul numeric analogic este un circuit electronic care furnizează la ieșire o mărime
analogică (tensiune sau curent) proporțională cu numărul aplicat la intrare sub formă de combinații
de variabile binare.
Principiul de funcționare al convertoarelor numeric -analogice este bazat pe un circuit care
transformă o intrare sub forma numerică (în sistem binar) într -o mărime de ieșire analogică.
Această conversie este bazată pe relați a de mai jos, cu care se calculează valoarea zecimală a unui
număr de n cifre:
N=∑ 𝑎𝑖2𝑖−𝑙𝑛
𝑖=𝑙, unde a i = 0 sau 1; i=1,2…,n
Legătura dintre intrare și ieșire este o funcție definită pe o mulțime discretă – mulțimea numerelor
aplicate la intra re – cu valori într -un anumit interval de tensiuni sau curenți de ieșire. Pentru un
CNA ideal se poate scrie:
V0=N*∆V sau I 0=N*∆I

Fig. 28 Convertor digital analogic. Schemă bloc [31]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

45
Corespunzător unei ieșiri în tensiune și respectiv în curent. Variabil a N reprezintă numărul aplicat
la intrare iar ∆V și ∆I treptele de tensiune respectiv de curent corespunzătoare unei unități aplicate
la intrare (pentru N=1, V0=∆V). Pentru definirea parametrilor CNA și CAN este necesar să
definim următoarele noțiuni:
 Cuantizare = împărțirea intervalului de variație a unei mărimi analogice întrun număr
determinat de trepte (cuante).
 MSB = (Most Significant Bit), bâtul cel mai semnificativ, este bâtul având ponderea cea
mai mare la scrierea binară a numerelor.
 LSB = (Least Significant Bit), bâtul cel mai puțin semnificativ, cu ponderea cea mai mică
la scrierea binară a numerelor.
Pentru exemplificare considerăm reprezentarea binară a numărului N:
N=b n,bn-1…b k…b 1b0
unde b k∈{0,1} și k ∈{0,1,…,n}. În această scr iere b n=MSB, b 0=LSB, b k=bit intermediar.
Interfața numerică are rolul de a transforma nivelele logice ale datelor numerice de intrare în
semnale de comandă pentru grupul de comutatoare analogice [31].
Curenții sunt controlați de către comutatoare printr -o rețea de tranzistoare care realizează funcția
de ponderare a valorilor binare. Valorile curenților prin rețea sunt determinate de valorile
rezistențelor rețelei și de valoarea tensiunii de referință (U r). În acest caz, dacă mărimea de intrare
este exprimat ă fracționar prin număr notat cu N:
N=a 1 2-1 + a 2 2-2 + … + a n 2-n

Fig. 2 9 Schemă bloc a unui convertor numeric -analogic [31]
Mărimea de ieșire:
A = U r (a1 2-1 + a2 2-2 + … + a n 2-n)
Rețeaua de rezistoare a CNA poate fi de următoarele tipuri: ponderată ș i R-2R

Rețeaua de rezistoare CNA ponderată

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

46

Fig. 30 Schemă de rețele de rezistoare de tipul ponderat [31]
Rețeaua de rezistoare CNA de tipul R -2R
Rețeaua de rezistente R -2R este o metodă de conversie D/A folosită. Înlătura una din problemele
CNA cu intrăr i ponderare prin faptul că folosește doar re zistente de două valori R și 2R [31].
Utilizarea rețelei R -2R la sumarea ponderată de tensiuni și curenți este ilustrată în figură prezentată
mai jos. Se va observa că rețeaua R -2R are proprietatea că prezintă o impedanța egală cu 2R față
de oricare din punctele marcate cu săgeți, privind în sensul acestora, măsurată de referință.

Fig 31 Schemă de rețele de rezistoare de tipul R -2R [31]
În figură de mai jos este prezentat un exemplu de convertor D/A de 4 biți c u rețea R -2R. Luăm ca
ipoteză faptul că intrarea D3 este la nivel logc 1 (+5V) și celelalte intrări la masă (0 logic), adică
este aplicat codul de intrare 1000 convertorului [31]

Fig 32 CNA de 4 biți cu rețea R -2R [31]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

47

Fig 33 CNA cu ieșire în tensiune [31]

Fig 34 CNA cu ieșire de curent [31]

MCP4725
MCP4725 este un convertor digital -analog pe 12 biți cu memorie nevolatilă (EEPROM). Datele
de intrare ale DAC (Digital -to-Analog Converter) pot fi programate prin intermediul memoriei
non-volatile (EEPR OM) folosind comanda de interfatare I2C. Caracteristicile memoriei non –
volatile permit dispozitivului DAC să rețină codul introdus în timp ce nu este alimentat, și
rezultatul furnizat este disponibil imediat după alimentare. Această caracteristică este fol ositoare
când dispozitivul DAC se utilizează ca dispozitiv support pentru alte dispozitive din cadrul rețele i
[32].
MCP4725 are o adresă externă A0 la un pin selectat. Acest pin A0 poate fi conectat la V dd sau V ss,
depinde de preferință utilizatorului.
MCP 4725 are 2 fire I2CTM compatibile cu i nterfața serială la următoarele viteze:
 Standard (100 kHz)
 Fast (400 kHz)
 High Speed (3.4 MHz)
MCP4725 este un dispozitiv DAC care are dimensiuni reduse și poate fi recomandat atunci când
apare dorința de design și sim plitate pentru partea hardware a unei aplicații. Este recomandat de
asemenea pentru aplicații care necesită că setările DAC să fie salvate în timpul ce dispozitivul nu
este alimentat. Dispozitivul are în componența sa un pachet de 6 pini SOT -23

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

48

Fig 35 Pinii MCP4725 [32]
Caracteristici
 Rezoluție pe 12 biți
 Memorie non -volatila (EEPROM) încorporată
 +- 0.2 LSB DNL
 Adresa externă a pinul A0
 Regim de funcționare normal sau cu putere redusă
 Viteza mare de stabilizare: 6 micro secunde
 Tensiunea externă de referi nță (V dd)
 Consum de energie redus
 Tensiunea de alimentare: 2.7V – 5.5V
 Interfața I2CTM are 8 adrese disponibile și trei viteze
 Pachet SOT -23 cu 6 pini
 Temperatura de funționare de la -40 C până la +125 C
Aplicații:
 Calibrarea senzorilor
 Servo control în bu clă închisă
 Periferice PC
 Sisteme de aciziții de date
 Instrumente portabile cu putere redusă

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

49

Fig 36 MCP 4725 diagrama bloc [32]

Utilizare
Acest produs este optim pentru proiectele de electronică în care este necesară generarea de tensiuni
analogice. Mod ulul are capacitatea să transforme un semnal digital într -un semnal analog, spre
exemplu o undă sinusoidală. Comunicarea prin placă de dezvoltare se realizează prin protocolul
12C, având la dispoziție 3 moduri de operare. Transformarea semnalelor digitale în semnale
analogice este utilă în generarea formelor de undă, fiind esențială pentru a înțelege cum
funționează partea electrică.

Fig 37 MCP 4725 [32]

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

50
Specificații tehnice:
 Tensiunea de alimentare: 2.7 – 5.5V [32]
 Rezoluție de 12 biți
 EEPROM intern pe ntru a stoca setările
 Dimensiuni reduse
 Interfața 12C:
 Standard: 100 kbps
 Fast: 400 kbps
 High -Speed: 3.4 Mbps
 Temperatura de funcționare de la -40 C până la +125 C
Caracteristici electrice
VDD: 6.5V
Intrările și ieșirile V SS: de la -0.3V la V DD +0.3V
Curen tul la pinii de intrare: ±2mA
Curentul la pinii de alimentare: ±50mA
Curentul la pinii de ieșire: ±25mA
Temperatură de stocare: de la -65 C la +150 C
Temperatura maximă de joncțiune (T J): +150 C

Descrierea pinilor
MCP4725 PIN Descriere
SOT -23
1 VOUT Tensiuena analogică de ieșire
2 VSS Împământarea
3 VDD Tensiunea de alimentare
4 SDA I2C Date Seriale
5 SCL I2C Intrarea serială a ceasului
6 A0 I2C Adresa bâtului selectat al pinului A0. Acest pin poate fi legat la V SS
sau V DD-. Starea logică a pinulu i determina ce adresă ar trebui să aibă
bâtul A0 de la I2C
Tabelul 26 – Descrierea pinilor MCP4725 [32]
Analog Output Voltage (V OUT)
VOUT reprezintă tensiunea analogică de ieșire de la dispozitivul DAC. Ieșirea DAC amplifică acest
pin pe un interval de la VSS până la V DD [32].
Tensiunea de alimentarea (VDD sau VSS)

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

51
VDD reprezintă pinul de alimentare al dispozitivului. Tensiunea la pinul V DD este folosită pentru
alimentare, de asemenea și referință DAC. Tensiunea de alimentare a pinului V DD ar trebui să fie
cât de stabile se poate pentru o bună performanță a DAC. Tensiunea de alimentare (V DD) trebuie
să fie menținută între 2.7V și 5.5V. V SS este pinul de alimentare , utilizatorul trebuie să conecteze
pinul V SS la împământare.

3.1 Lucrarea 5 – Sursă de tensi une în care programăm cu reglaj

Functionarea circuitelor electronice necesita alimentare de la o sursa de current continuu. Energia
este obtinuta prin redresarea, filtarea, stabilizarea tensiunii alternative a retelei de energie electrica.
Pentru o versat ilitate cat mai mare, este de preferat ca sursa sa fie programabila. In general
laboratoarele folosesc reglabile sau programabile. Sursele programabile, a caror valoare de
tensiune poate fi riguros regulate se presteaza in laboratoarele de metrologie pentr u verificarea
aparatelor de masurare [4].
Un multimetru conectat la calculator, printr -o interfata specifica, este un sistem de masurare in
care functia de masurare propriu zisa este realizata de multimetru iar functia de procesare foloseste
facilitatile o ferite de calculator [4].
Prin intermediul acestui sitem se pot masura si achizitiona date referitoare la o mare diversitate de
marimi electrice sau, neelectrice folosind traductoare adecvate.
Cand se utilizeaza sursa pentru verificari de aparate de masur are, rezolutia trebuie aleasa astfel
incat sa fie multiplu de zece 1,10,100mV. In acest caz se recomanda utilizarea unor convertoare
de 10,12 biti, spre exemplu MCP4725. Programul trimite la port un numar de 8 biti catre CAN si
calculeaza valoarea tensiun ii de iesire corespunzatoare numarului binar.
Codul este prezentat in anexa 6, apasand pe tastele a,s,z,x,q,w reglati sursa de tensiune.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

52
3.2 Lucrarea 6 – Generator de semnale dreptunghiulare, triunghiulare si
sinusoidale

Sursa programabila poate fi utilizata sic a generator de semnale daca la iesire nu se monteaza
condensatoare de filtrare. Printr -o programare adecvata se pot genera semnale sinusoidale,
dreptunghiulare, triunghiulare etc [4].
Generatoarele de semnale sunt aparate electronice care, în laboratoarele de măsurări electronice,
sunt utilizate ca surse de tensiune variabile în timp, cu o anumită formă de undă si cu nivel si
frecvență reglabile. În esența lor, generatoarele de semnal conțin circuite electronice care
transforma energia furniza ta de sursa de curent continuu (de alimentare, ) în energie de curent
alternativ furnizata la ieșirea aparatului, într -un singur punct (la borne), cu semnalul , reglabil într –
un anumit domeniu de frecvente. Sunt denumite generatoare de semnale datorita fap tului ca, în
cazul acestor aparate, accentul nu se pune pe randamentul conversiei energiei electrice, ci pe
calitățile formei de unda a semnalului de curent alternative.
O modalitate simpla de generare de semnal este sa livram o secventa de numere unui con vertor
digital -analogic, astfel incat tensiunea la iesirea acestuia sa varieze in timp dupa o forma
sinusoiala, triunghiulara, drepunghiluara ,etc.Cu aceasta metoda poate fi generata orice forma de
unda prin folosirea unui program adecvat. Variantele de pr ogram au fost metionate in subcapitolul
3.2. Analizand critic problema se observa ca dezavanatajul consta in faptul ca frecventa, respective
perioada semnalului sintetizat depinde de viteza de lucru a calculatorului.
Un alt dezavantaj este datorat faptului ca in forma de unda apar niste “ciupituri” datorate faptului
ca calculatorul lucreza in regim de intreruperi, iar unele intreruperi sunt prioritate fata de
programul nostru.
Generatorul realizat conform fig. 38 genereaza semnale triunghiulare si dreptung hiulare.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

53

Fig. 48 – Generator de semnal triunghiular si deptunghiular cu frecventa programabila
Principiul de funtionare al generatorului consta in incarcarea si descarcarea la curenti constanti a
unui condesatorului pana la atingera pragurilor de te nsiune V P1 si V PH sesizate de un comparator.
In figura 49 poate fi urmarita diagram de semnale.

Fig. 49 – Diagrama de semnale pentru generatorul de semnale

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

54
Se constata ca frecventa este proportioanala cu numarul de comanda aplicat convertorului si
inver s proportionala cu valoarea capacitatii C si a pragurilor de basculare V PH si V PL.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

55
CAPITOLUL 4. CONVERTOR ANALOG -NUMERIC

Convertoarele analog -numeric (C AN, ADC)
Conversia unui anumit nivel de tensiune într -un număr (reprezentare digitală) este realizată cu
ajutoru l unui convertor analog -numeric.
Un bloc sau un circuit care primește o mărime analogică la intrare (tensiune sau curent) și
furnizează la ieșire un număr care constituie o aproximare (mai mult sau mai puțin exactă) a va lorii
analogice a semnalului de la intrare reprezintă un Convertor Analogic sau CAN.
 Reprezentarea digitală poate fi reprezentată de MC
 Reprezentarea este realizată în general pe 8 sau 10 biți

Fig 38 Principiul de funcționare al convertorului analog -nume ric cu MC [31]
Timpul de conversie = intervalul de timp de când începe conversia până când rezult atul conversiei
este disponibil [31].
Cuantizarea = imartirea unui interval în subintervale măsurabile
 Intervalul de intrare este increment fix ( împărțit în u nități egale )
 Semnalul rezultat după conversie este o cuantizare a semnalului analogic de intrare
 Introduce eroare de cuantizare: rotunjirea mărimii de intrare

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

56

Fig 39 Cuantizarea tensiunii de intrare [31]
Rezoluția ADC = numărul de stări de ieșire posib ile
Există 2n stări posibile, n reprezintă numărul de biți ai convertorului:
 n=8, convertorul are 28 = 256 de stări
 n=10, convertorul are 210 = 1024 de stări
 n=12, convertorul are 212 = 4096 de stări
Tensiunea de referință este utilizată în procestul de co nversie (interval de conversie) și este
exprimată prin două valori V ref- și V ref+. În general o tensiune V ref- devine 0, iar V ref+ devine 2n-1.
Convertoarele analog -numerice se pot împărți în două categorii:
1. Cu buclă de reacție (fără integrare):
 Cu aproxim ări succesive
 Cu rampă în trepete
2. Fără buclă de reacție
 Cu rampă liniară
 Paralel
 Serie

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

57

Fig 40 ADC cu aproximări succesive [31]
RAS – registru comparații succesive
COMP – comparator
CNA – convertor analog numeric
RM – registru memorie
REF – referință ADC
Comparator
Utilizarea comparatorului are rolul de a realiza compararea a două semnale sau un semnal și o
mărime de referință. Este alcătuit din două intrări analogice și o ieșire digitală . Semnalele de intrare
pot să fie interne sau externe. Poate există o întrerupere care marchează modificarea ieșirii [31].
 V1 > V 2, la ieșire va fi valoarea 1
 V1 ≤ V 2, la ieșire va fi valoarea 0
Algoritmul de conversie poate fi implementat în mai multe variante, de unde apar ti purile de
convertoare analog -numerice cu reacți e:
 Convertor analog -numeric de numărare
 Convertor analog -numeric de urmărire
 Convertor analog -numeric cu aproximări succesive

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

58
4.2 Convertor analog -numeric cu algoritm de numărare

Convertorul analog -numeric de numărare realizează conversia unui semnal c u variația continuă
în timp. În fiura de mai jos poate fi urmărită evoluția tensiunii de ieșire a convertorului numeric –
analogic în funcție de tensiunea de intrare [4].

Fig. 41 Conversia unui semnal cu variație continuă în timp cu convertor analog -numeri c de tip
numărător [4]
În fază inițială conținutul numărătorului este inițializat cu valoare zero. Comparatorul testează U 0
și U i. Dacă în urma realizării acestui test U 0 < U i, valoarea numărătorului se incrementează.
Creșterea valorii numărătorului este d irect proporțională cu creșterea tensiunii de la ieșirea
convertorului numeric -analogic. Această incrementare a numărătorului este realizată până când U 0
≥Ui . În acest moment se citește valoarea numărătorului care este rezultatul conversiei analog –
numeric e. Schemă logică atașată mai jos conține o variabilă de tip întreg notată cu N. La
parcurgerea buclei de test a comparatorului, variabila N va fi incrementată până când U 0 ≥ Ui.
Ieșirea din buclă de test are loc atunci când este satisfăcută condiția U 0 = U i .
Se observă că durata unei conversii depinde de viteza de execuție a instrucțiunilor, a calculatorului
și valoarea tensiunii de intrare U i dată de la consola. Dacă din consola sunt tastate tensiuni mari de
intrare, avem ca rezultat un timp de conversie mare. Din cele menționate distingem că timpul de
conversie T c este egal cu durata de parcurgere a buclei T 0 și numărul de parcurgeri al acesteia N.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

59

4.2 Convertor analog -numeric cu algoritm de urmărire

Convertorul analog -numeric cu algoritm de urmărire realizează conversia în cazul semnalelor
de intrare care nu au variații în salt sau trepte mari, este mai conve nabil a se utiliza o numărare
prin intermediul incrementării și decrementării. În figură x prezentată poate fi urmărită evoluția
tensiunii la ieș irea convertorului numeric -analogic U 0 în funcție de tensiunea de intrare U i.
Se observă că la început numărarea are loc doar într -un sens, crescător, până când U 0>U i. În acest
moment are loc bascularea comparator ului și portul de intrare din cod va lua decizia în programul
de numărare să decrementeze. Dar în scurt timp, datorită scăderii conținutului numărătorului,
scade U 0<U i. Comparatorul basculează în cealaltă stare și decizia programului va fi de
incrementare.

Fig. 42 – Variatia tensiunii de react ie pentru convertorul analog -numeric cu algoritm de urmarire
Va fi menționat sub titlul de observație faptul că după intrarea convertorului în regim de urmărire
timpul de conversie al convertorului, notat cu T c, este tocmai durata unui ciclu T 0, deci T c=T0.
Viteză de urmărire este limitată de viteza de lucru a calculatorului, precum și de frecvența tensiunii
de intrare, pentru a putea urmări un semnal sinusoidal de frecvență f, condiția limită este:
f ≤ 1
π T 2^n
unde T 0 este durata unui ciclu, iar n re prezintă numărul de biți ai convertorului.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

60
4.3 Convertor analog -numeric cu algoritm de aproximări succesive

Convertorul analog -numeric cu algoritm de aproximări succesive funcționează corect numai
dacă tensiunea a plicată la intrare este constant ă sau me morată pe durata conversiei. Convertoarele
cu aproximări succesive funcționează corect numa i asociate cu circuite de esantionare -memorare,
ceea ce a dus la integrarea celor două circuite în aceeași capsulă. Principul de funcționarea al
algoritmul de aproxi mări succesive este simplu: se împarte domeniul de lucru al intrării în două
părți egale și se determina cu ajutorul comparatorului în care parte se găsește mărimea de intrare.
Intervalul obținut se împarte din nou în două părți egale și procedeul continu a până la obținerea
rezoluției dorite. Se obțin n internale, realizate prin împărțiri , sau altfel spus, durata conversiei T c
este numărul de înjumătățiri înmulțit cu T 0.
Tc = n·T 0
unde n este numărul de biți ai convertorului și T 0 durata unui ciclu de inst rucțiuni.
In figură 43 evoluția tensiunii la ieșirea convertorului n umeric -analogic.

Fig. 43 Evolutia tensiunii U 0 la iesire convertorului numeric -analogic
Pentru a rula acest program este necesar ca tensiunea de intare să fie o tensiunea continuă și
constanța. Pentru a converti semnalale în timp este necesară introducerea unui circuit de
esantionare -memorare care are rolul de a păstra constată tensiunea aplicată la intra rea
comparatorului. Performanțele de viteză ale comparatorului depind de vitează de e xecuție a
programului, dar și a calculatorului. Pentru un calculator cu frecvență de ceas de 8 MHz semnalele
achiziționate au fost de ordinul a sute de hertzi și s -a ajuns până la 10÷20 MHz pentru un calculator
cu ceasul de 200 MHz.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

61
CONCLUZII

Această lucrare a avut ca scop descrierea implementării unor aplicații software pentru disciplina
Achizi ții de date și prelucrare de semnal . S-a dorit evaluarea acurateții sistemelor și a
performanțelor acestora.

Capitolul 1 a reprezentat o analiz ă a mediului ext ern de marketing in pia ța microcontroller -elor.
Au fost prezentate detalii esen țiale despre pia ța microcontroller -elor prin intermediul a trei analize:
analiza industriei, analiza concuren ței, analiza PEST.

Capitolul 2 s-a axat pe familiarizarea cu mediul de programare Arduino IDE .
În prima secțiune a capitolului s-a descri s microcontroller -ul ATmega328P din punct de veder e al
caracteristicilor, pinilor și porturior paralele.
In a doua se cțiune a capitolului a fost im plementată prima lucrare de laborator, care are ca obiectiv
manipularea porturilor microcontroller -lui Arduino Nano. Prin intermediul monitorului serial din
software -ul Arduino IDE se va realiza comunicarea cu utilizatorul.
În a treia secțiune a capitolului a fost realizată co nexiunea dintre un comutator si Aruino Nano.
Prin intermediul butonului ON/OFF de pe comutator avem posibilitatea sa schimbam starea
ledurilor.
În a patra secțiune a capitolului a fost realizat ă o simulare de Motor pas cu pas și s-au afișat
rezultatele cu ajutorul ledurilor.

Capitolul 3 s -a concentrate pe folosirea microcontroller -ul MCP4725 conectat cu Arduino Nano.
MCP4725 a fost folosit ca un convertor DAC (Digital to Analog Converter) si a fost programat
prin int ermediul memoriei non -volatile (EEPROM) folosind comanda de interfatare I2C. Pentru a
obține o versatilitate cât mai mare, sursa de tensiune a fost programată. MCP4725 a fost o alegere
optim ă pentru lucrare de față.
Capitolul 4 a decis implementarea unor aplicații software pentru convertoare analog -numerice de
numărare, de urmărire si de aproximări succe sive. Algoritmul de numărare realizează conversia
unui semnal cu variația continua in timp. Algorimul de u rmărire realizează conversia în cazul
semnalelor de intrare care nu au variații in salt sau trepte mari Algorimul de aproximări successive
funcționează corect numai dacă tensiunea aplicată la intrare este constantă sau memorată pe durat a
conversiei.

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

62
BIBLIOGRAFIE

[1] ABB, Goldman Sachs Global Investment Research
[2] anycomponents.fnhost.org/prezentare -platforma -arduino/ accesat la data de 26.05.2019
[3] BEA, Goldm an Sachs Global Investment Research
[4] Copindean Romul si Bortos Ovidiu Petru – Interfete standard pentru achizitia de date, Editura
Mediamira Cluj -Napoca 2003
[5] Goldman Sac hs Global Investment Research.
[6] IDC "The Digital Universe" D ecembrie 2012
[7] https://financialtrends.ro/servicii/analize -industrie/ accesat la data de 26.05.2019
[8] https://mail.uaic.ro/~ftufescu/Circuite%20de%20conversie%20AD.pdf accesat la data de
30.06.2019
[9] http://www.creeaza.com/referate/informatica/catia/Convertoare -numericanalogice258.php
accesat la data de 30.06.2019
[10] https://www.investopedia.com/terms/c/cagr.asp accesat la data de 26.05.2019
[11] https://www.owler.com/company/parallax accesat la data de 26.05.2019
[12] https://www.owler.com/company/sparkfun accesat la data de 26.05.2019
[13] https://www.owler.com/company/agiloresearchpvtltd accesat la data de 26.05.2019
[14] https://www.owler.com/company/arduino#contact accesat la data de 26.05.2019
[15] https://www.statista.com/study/27915/internet -of-things -iot-statista -dossier/ accesat la data
de 26.05.2019
[16] https://www.statista.com/statistics/678639/worldwide -microcontroller -unit-market -size-by-
application/ accesat la data de 30.06.2019
[17] https://www.statista.com/statistics/265015/infineons -global -revenue -since -1999/ accesat la
data de 30.06.2019
[18] https://www.statista.com/statistics/891529/microchip -technology -net-sales/ accesat la data
de 30.06.2019
[19] https://www.statista.com/statistics/914424/world -smart -lighting -controls -market -share -by-
application/ accesat la data de 30.06.2019

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

63
[20]https://www.statista.com/statistics/265742/infin eon-expenditure -on-research -and-
development -since -1999/ accesat la data de 30.06.2019
[21] https://www.statista.com/statistics/988285/marvell -technology -revenue -worldwide/ accesat
la data de 01.07.2019
[22] https://www.statista.com/statistics/915808/net -sales -of-microsemi/ accesat la data de
01.07.2019
[23] https://store.arduino.cc/arduino -nano/ accesat la data de 26.05.2019 accesat la data de
01.07.2019
[24] https://tronixstuff.com/2011/10/22/tutorial -arduino -port-manipulation/ accesat la data de
30.06.2019
[25] https://www.statista.com/statistics/678610/worldwide -microcontroller -unit-market -size-by-
segment/ accesat la data 01.07.2019
[26] https://www.statista.co m/statistics/988030/nvidia -revenue -worldwide/ accesat la data
01.07.2019
[27] https://www.statista.com/statistics/98 8058/analog -devices -net-income / accesat la data
01.07.2019
[28] ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A -PA-88A-PA-168A-PA-328-P-
DS-DS40002061A.pdf accesat la data de 15.05.2019
[29] https://www.make.net.za/product/arduino -nano -3-0-clone/#prettyPhoto[product -gallery]/1/
accesat la data de 15.05.2019
[30] https://www.circuito.io/ accesat la data de 15.05.2019
[31] ece.ubm.ro/ea/cursu ri/circuite_digitale/pdf/C D%20 -%20C9%20CAN%20si%20CNA.pdf
accesat la data de 15.05.2019
[32] https://www.sparkfun.com/datasheets/BreakoutBoards/MCP4725.pdf
accesat la data de 15.05.2019
[33] shannon.etc.upt.ro/laboratoare/pc/luc9/comutatoare.html
accesat la data de 15.05.2019
[34] https://www.scribd.com/doc/154432722/Comanda -Unui -Motor -Pas-Cu-Pas-Cu-Arduino
accesat la data de 15.05.2019

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

64
ANEXE

ANEXA 1
#include <avr/io.h>
void setup() {
Serial.begin(9600);
DDRB |=0x3f;
DDRD |= 0xC0;
}
void loop() {
char input[9];
int charsRead;
String rx_str = " ";
byte val;
byte val1 = 0;
if ((Serial.available() > 0)) {
while(Serial.available() > 0) {
rx_str = Serial.readString();
}
for (int i =0; i < 8; i++)
{
input[i] = rx_str[i];
}
input[8] = ' \0';
if (input[0]!= ' \n' )
{ val = StrToBIN(input);
Serial.pri nt("Valoare tastata in zecimal: ");
Serial.print(val);
Serial.print(" hexa: "); /
Serial.print(val, HEX);
Serial.print(" binar = ");
Serial.println(val,BIN);
val1 = val;
val1 = val;
val &= 0xC0;
val1 &=0x3F;
val |= 0x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
}
}
rx_str= "";
}
int StrToBIN(char str[]) {
return (int) strtol(str, 0, 2); }

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

2

ANEXA 2
#include <avr/io.h>
void setup() {
Serial.begin(9600);
DDRC=0;
PORTC=0xFF;
}
byte val=0, vall=0;
String sir=" ";
char t = 0;
void loop() {
val=PINC;
val &=0x3F;
Serial.print("00");
Serial.println(val,BIN);
Serial.println(val,HEX);
Serial.println(val);
t = val;
Serial.println(t);
delay(2000); }

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

2
ANEXA 3
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
byte val = 0x55;
byte val1 = 0;
byte te;
char t;
int i = 1;
int main(void)
{
Serial.begin(9600);
DDRB |=0x3f;
DDRD |= 0xC0;
while(1)
{
i=3;
while(i<192)
{
val = i;
val1 = val;
val1 = val;
val &= 0xC0;
val1 &=0x3F;
val |= 0x3F;
val1 |=0xC0; PORTD &=0x3 F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
i*=2;
_delay_ms(100);
}
i=192;
while(i>=3)
{
val = i;
val1 = val;
val1 = val;
val &= 0xC0;
val |= 0x3F;
val1 &=0x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
i/=2;
_delay_ms(100);
}
}
}

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

2
ANEXA 4
#include <avr/io.h>
#include <util/delay.h>
void setup() {
Serial.begin(9600);
DDRB |=0x3f;
DDRD |= 0xC0;
}
void loop() {
char input[5];
int charsRead;
String rx_str = " ";
int val;
int val1;
int inc = 0;
int i = 0;
if ((Serial.available() > 0)) {
while(Serial.available() > 0)
rx_str = Serial.readString();
}// get one character
input[0] = rx_str[0];
input[1] = rx_str[1];
input[2] = rx_str[2];
input[3] = rx_str[3] ;
input[4] = ' \0';// Make it a string
if (input[0]!= ' \n' )
{
val = StrToINT(input); }
}
inc = val;
rx_str= "";
for (int j=0;j<inc;j++)
{
i=1;
while(i<16)
{
val = i;
val1 = val;
val1 = val;
val &= 0xC0;
val1 &=0x3F;
val |= 0x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
i*=2;
_delay_ms(300);
}
}
_delay_ms(2000);
for (int j=0;j<inc;j++)
{

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

3
i=8;
while(i>=1)
{
val = i;
val1 = val;
val1 = v al;
val &= 0xC0;
val |= 0x3F;
val1 &=0x3F;
val1 |=0xC0;
PORTD &=0x3F;
PORTB &=0xC0;
PORTD |= val;
PORTB |= val1;
i/=2;
_delay_ms(100);
}
}
}
int StrToINT(cha r str[])
return (int) strtol(str, 0, 10); }

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

4
ANEXA 5
#include <Ad afruit_MCP4725.h>
#include <Wire.h>
int StrToDec(char str[])
{
return (int) strtol(str, NULL, 10);
}
Adafruit_MCP4725 dac;
void setup() {
Serial.begin(9600);
dac.begin(0x60);
Serial.println("Va rugam sa introduceti o valoare pozitiva
in intervalul 0 – 4680 mV");
Serial.println(" Introduceti valoarea in mV: ");
void loop() {
char input[10];
int charsRead;
String rx_str = " ";
int val;
if ((Serial.available() > 0)) {
while( Serial.available() > 0) {
rx_str = Serial.readString();
}
for ( int i=0; i<6; i++)
input[i] = rx_str[i];
input[6] = '\0';
if (input[0]!= ' \n' )
{
val = StrToDec(input); } if ( val >=0 && val <= 4680) {
Serial.print("Valoare introdusa este:");
Serial.println(val);
delay(200);
if (val < 50)
val = val / 1.143 ;
else
val = (val – 7.5) / 1.143 ;
dac.setVoltage(val,false);
}
Serial.print(val/1.15);
dac.setVoltage(val/1.15,false);
Serial.print(" binar = ");
Serial.println(val,BIN);
if ( val <0 || val > 4680)
Serial.println("Va rugam sa introduceti o valoare
pozitiva in intervalul 0 – 4680 mV");
Serial.println("I ntroduc eti valoarea in mV: "); }
rx_str= ""; }

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

5
ANEXA 6

#include <Adafruit_MCP4725.h>
#include <Wire.h>
int StrToDec(char str[])
{
return (int) strtol(str, NULL, 10);
}
Adafruit_MCP4725 dac;
void setup() {
Serial.begin(9600);
dac.begin(0x60);
Serial.pri ntln("Va rugam sa introduceti o valoare pozitiva
in intervalul 0 – 4680 mV");
Serial.println("Introduceti valoarea in mV: ");
}

void loop() {
char input[10];
int charsRead;
String rx_str = " ";
int val;
if ((Serial.availa ble() > 0)) {
while(Serial.available() > 0) {
rx_str = Serial.readString();
}
for ( int i=0; i<6; i++)
input[i] = rx_str[i];
input[6] = ' \0'; if (input[0]!= ' \n' )
{
val = StrToDec(input); }
if ( val >=0 && val <= 4680) {
Serial.print("Valoare introdusa este:");
Serial.println(val);
delay(200);
if (val < 50)
val = val / 1.143 ;
else
val = (val – 7.5) / 1.143 ;
dac.setVoltage(val,false);
}
if ( val <0 || val > 4680)
Serial.println("Va rugam sa introduceti o valoare
pozitiva in intervalul 0 – 4680 mV");
Serial.println("I ntroduceti valoarea in mV: ");
}
rx_str= "";
}

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

6
ANEXA 7

#include<avr/io.h>
#include <Adafruit_MCP4725.h>
#include <Wire.h>
Adafruit_MCP4725 dac;
void setup() {
Serial.begin(9600);
dac.begin(0x60);
}
int val, oldval;
void loop() {
char input[5];
int charsRead;
String rx_str = " ";
byte vall=0ș
if ((Serial.available() > 0)) {
while(Serial.available() > 0) {
rx_str = Serial.readString();
}
for (int i =0; i < 4; i++)
{
input[i ] = rx_str[i];
}
input[5] = ' \0';
}
DDRB = 0x20;
if (input[0]!= ' \n' ) {
val = 2048;
dac.setVoltage(val,false);
rx_str= "";
for(int j=0;j<12;j++)
{
dac.setVoltage(val,false);
unsigned char te mp;
ACSR = 0x00;
temp = ACSR;
temp &= 0x20;
if (val != oldv al && val>=0 && val<4096)
{
oldval = val;
if(temp & 0x20)
{
Serial.print(val,DEC);
PORTB &= ~0x20;
val=val -pow(2,(11 -j));
}
else
{
Serial.print(val,DEC);
PORTB |= 0x20;
val=val+pow(2,(11 -j));
}
}
else {

Aplica ții de laborator pentru di sciplina Achizi ții de date și prelucrare de semnal

7
delay(5000);
Serial.println("valoarea depaseste domeniul 0 -4095
mV");
}
}
delay(1000);
}
Serial.print("Tensiunea este:");
Serial.print(round(val*0 .1073)*10);
Serial.println(" mV");
}

Similar Posts