Ungureanu Valentin -Nicolae [627899]
UNIVERSITATEA “LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE INGINERIE
DEPARTAMENTUL DE CALCULATOARE ȘI INGINERIE ELECTRICĂ
Monitorizare a mediului acvatic cu
ajutorul traductoarelor cu ult rasunete
Conducător științific: Prof. Dr. Ing. Florea Adrian
Absolvent: [anonimizat] 1 ………………………….. ………………………….. ………………………….. ………………………….. …….. 4
INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………….. ….. 4
1.1. Scop ………………………….. ………………………….. ………………………….. ………………………….. ………….. 4
1.2. Obiective ………………………….. ………………………….. ………………………….. ………………………….. …… 4
1.3. Descrierea problemei ………………………….. ………………………….. ………………………….. ……………….. 4
1.3. Necesitate ………………………….. ………………………….. ………………………….. ………………………….. ….. 5
CAPITOLUL 2 ………………………….. ………………………….. ………………………….. ………………………….. …….. 6
NOTIUNI INTRODUCTIVE SI TEORETICE ………………………….. ………………………….. …………………. 6
2.1. Principiul de functionare al sonarului ………………………….. ………………………….. ……………………… 6
2.1.1. Fizica sunetului în apă ………………………….. ………………………….. ………………………….. ……….. 6
2.1.2. Principiile sonarului ………………………….. ………………………….. ………………………….. …………… 7
2.1.3. Definirea sonarului ………………………….. ………………………….. ………………………….. ……………. 8
2.1.4. Teoria sonarului ………………………….. ………………………….. ………………………….. ………………… 8
2.1.5. Transmiterea semnalului ………………………….. ………………………….. ………………………….. ….. 14
2.1.6. Efectul Doppler ………………………….. ………………………….. ………………………….. ………………. 15
2.1.7. Componente compatibile cu sonarul ………………………….. ………………………….. ………………. 16
2.1.7.1. Potrivirea frecvenței difuzorului cu frecvența traductorului ………………………….. ……. 16
2.1.7.2. Potrivirea ieșirii difuzorului cu puterea traductorului ………………………….. …………….. 16
2.1.7.3. Potrivirea impedanței de ieșire a difuzorului cu impedanța traductorului ………………. 16
2.1.8. Corelarea soluțiilor Sonar cu cerințele consumatorilor ………………………….. ………………….. 17
2.1.9. Tehonlogia AFE (Analog Front -End) ………………………….. ………………………….. ……………… 17
2.2. Sisteme incorporate/dedicate (embedded systems) ………………………….. ………………………….. …. 20
2.2.1. Caracteristicile unui sistem incorporat ………………………….. ………………………….. ……………. 20
2.2.2. Structura unui sistem incorporat ………………………….. ………………………….. …………………….. 21
2.2.3. Diferența dintre un microporcesor și un sistem încorporat ………………………….. …………….. 22
2.3. Senzori și traductoare ………………………….. ………………………….. ………………………….. …………….. 25
2.3.1. Componentele principale ale traductoarelor ………………………….. ………………………….. …….. 25
2.4. Protocoale de comunicație ………………………….. ………………………….. ………………………….. ………. 26
2.4.1. Protocolul UART ………………………….. ………………………….. ………………………….. ……………. 26
CAPITOLUL 3 ………………………….. ………………………….. ………………………….. ………………………….. …… 30
DESCRIEREA LUCRARII/APLICATIEI ………………………….. ………………………….. ……………………… 30
3.1. Hardware ………………………….. ………………………….. ………………………….. ………………………….. …. 30
3.1.1. Componente hardware utilizate ………………………….. ………………………….. ……………………… 30
3.1.1.1. Microcontrelerul Atmega328PB ………………………….. ………………………….. …………….. 30
3.1.1.2. PGA460 -Q1 Procesor de semnal ultrasonic și driver de transductor …………………….. 33
3.1.1.3. MCUSD14A58S9R S-30C – traductor ultrasonic ………………………….. …………………… 38
3.1.1.4. TDK EPCOS B78416A2232A003 – transformator ………………………….. ……………….. 41
3.1.2. Suportul PCB (printed circuit board) ………………………….. ………………………….. ………………. 42
3.1.2.1. Ce este un PCB? ………………………….. ………………………….. ………………………….. ………. 42
3.1.2.2. Dezvoltarea PCB -ului ………………………….. ………………………….. ………………………….. .. 44
Proiectarea asistată de calculator ………………………….. ………………………….. ……………………. 49
3.1.2.2. Imprimarea și corodarea PCB -ului ………………………….. ………………………….. ………….. 52
Imprimarea cablajului ………………………….. ………………………….. ………………………….. ………. 52
Corodarea PCB -ului ………………………….. ………………………….. ………………………….. …………. 53
Finalizarea PCB -ului ………………………….. ………………………….. ………………………….. ………… 54
3.1.3. Lipirea și conectarea hardware -ului ………………………….. ………………………….. ……………….. 54
3.1.4. Arhitectură hardware (schema bloc a sistemului integrat) ………………………….. ……………… 55
3.1.5. Dezvoltare -finalizare prototip ………………………….. ………………………….. ……………………….. 55
3.2. Aplicatia Software ………………………….. ………………………….. ………………………….. …………………. 60
3.2.1. Software embedded ………………………….. ………………………….. ………………………….. …………. 60
3.2.2. Codul sursa utilizat (limbaj programare C) ………………………….. ………………………….. ……… 60
3.2.3. Arhitectura sistemului ………………………….. ………………………….. ………………………….. ……… 63
3.2.4. Scrierea programului sursă ………………………….. ………………………….. ………………………….. .. 63
3.3. Funcționarea sistemului ………………………….. ………………………….. ………………………….. ………….. 64
CAPITOLUL 4 ………………………….. ………………………….. ………………………….. ………………………….. …… 72
CONCLUZII SI DEZVOLTAREA ULTERIOARA ………………………….. ………………………….. ………… 72
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………….. … 74
ANEXE ………………………….. ………………………….. ………………………….. ………………………….. …………….. 76
CAPITOLUL 1
INTRODUCERE
1.1. Scop
Această lucrare are ca scop analiza unui mediu acvatic cu ajutorul t raductoarelor cu
ultrasunete prin de tectarea adancimii apei, resturi lor subacvatice sau chiar a bancurilor de pește,
apoi convertirea acestor date în semnale electrice care vor fi prelucrate prin intermediul
platfomei si trasmise utilizatorului . Principalele componente folosit e sunt: traductorul cu
ultrasunete ( realizează transmisia și recepția sunetu lui), un procesor pentru ultasunete si un
microcontroler .
În această lucrare se va elabora o platformă pentru monitorizarea medi ului prin intermediul
traductorelor cu ultrasunete în timp real și afișarea datelor colectate.
1.2. Obiective
Obiectivele principale vizate de această lucrare sunt:
• Implementarea tehnică a modulului (prototip): hardware și software ;
• Colectarea par ametrilor cu ajutorul t raductoarelor ;
• Evaluarea mediului înconjurător prin param etrii colect ați de către traductor
(adâncimea)
• Colectarea datelor cât mai precise prin intremediul platforme i (colectarea la suprafata
apei);
• Implementare Hardware pentru a putea fi transmise si receptionate ultrasunetele iar
mai apoi transmise datele colectate pe un display
1.3. Descrierea problemei
Una dintre problemele care se încearcă a fi rezolvate în această lucrare este detectarea
adâncimii apei ș i a obiectelor din aceasta prin tras miterea de semnale sonore .
Să începem cu ecoul. Atunci când un s unet se întoarce de la un obiect , numim această reacție
„ecou”. Atunci când semnalul radio revine de la un obiect, devine „ecou radio”. Producerea de
unde radio și recepționarea ecourilor acestora poartă numele de „radar”. [3]
Un radar emite semnale radio. El emite semnale în spațiul din jurul lui printr -o antenă.
Atunci când semnalul se lovește de un obiect, o parte din el se reflectă înapoi către antenă,
care îl recepționează ca ecou de radar. Radarul modifică ecoul în imagini care po t fi vizibile.
Cuvânt ul „sonar” vine de la primele litere ale expresiei „navigație variabilă de sunet”.
Sonarul seamănă cu radarul. El poate detecta și localiza obiecte , după ecouri, chiar și sub apa .
Dacă semnalele radio nu pot călători pe distanțe mari sub apă, sonarul poate trimite undele
sonore cu ușurință prin traductoare cu ultrasunete . Aceste semnale sunt trimise cu ajutoru l
pulsurilor, durata lor fiind foarte scurtă .
Sonarul are și un receptor cu ajutorul caruia poate decoda ecourile care se întorc. Ecourile
sunt, apoi, folosite în l ocalizarea obiectelor subacvatice .
Prin acest proiect îmi doresc să dezvolt un prototip de sonar pentru a fi utilizat pentru
măsurarea adâncimii apei.
1.3. Necesitate
Un astfel de di spozitiv ar putea fi util in diverse aplicații de determinare a volumului
de lichid dintr -un recipient mare sau pentr u aflarea adâncimii unui curs de apă. Cunoașterea
adâncimii apei este necesară de exemplu in cazul pescuitului, adâncimea determinând locul
unde peștii se adăpostesc și caută hrană. Pentru o astfel de aplicație dispozitivul trebuie să
poată trimite datele colectate la distanță și de aceea are nevoie de u n sistem wifi. Într-o astfel
de situație această informație ar fi foarte utilă. Datorită dimensiunilor reduse este foarte ușor
de folosit și transportat, putând fi montat chiar și pe o barcuță cu radio comandă.
CAPITOLUL 2
NOTIUNI INTRODUCTIVE SI TEO RETICE
2.1. Principiul de functionare al sonarului
2.1.1. Fizica sunetului în apă
Este clar pentru oricine sa scufundat într -un lac sau ocean ca sunetul poate fi auzit sub
apă. Sunetul valurilor, bărcilor și alte sunete pot f i auzit e cu o claritate remarca bilă, chiar și la
distanțe considerabile. De fapt, sunetele se mișcă destul de eficient prin apă, mult mai ușor
decât prin aer. De exemplu, balene utilizeaza sunetul pentru a comunica pe distanțe de zeci
sau chiar sute de kilometrii. Capacitatea sunetului de a călători pe distanțe atât de mari
permite teledetecție într -un mediu acvatic. Dispozitive care folosesc sunete în astfel de
scopuri se încadrează în familia de instrumente cunoscute sub numele de sonar. Pentru a
înțelege sonarul, mai întâi trebuie să înțelegem sunetul, în special cum se mișcă sunetul în
apă.
Sunetul că lătorește în apă printr -o serie de mișcari de pr esiune cunoscute sub numele
de unde de compresie. Aceste fronturi de presiune se mișcă (sau se propagă) cu o viteza
specifică în apă, vitez a loca lă a sunetului. Viteza locală a sunetul se poate schimba în funcție
de condițiile de apă, cum ar fi adâncime, salinitate, presiune și temperatură, dar este
independentă de caracteristicile sunetului în sine – toate undele s onore călătoresc la nivel l ocal
cu viteza sunetului. [3]
Figura 2.1. Viteza sunetului în apă [1]
Într-un mediu tipic oceanic, viteza sunetului este de 1500 de metri pe secundă .
Distanța fizică dintre fronturile de presiune într -un val de sunet aflat în mișcare este lungimea
de undă. Numărul de fronturi de presiune c are trec printr -un punct staționar în apă pe unitate
de timp este frecvența valului. Dacă l ungimea de undă este măsurată în metrii (m), iar dacă
frecvența este măsurată în ciclii pe secunda (Hz), atunci sunt legate un a de alta prin
intermediul vitezei sunetului, măsurată în metri pe secundă (m / s) :
viteza sunetului (m/s) = lungimea de undă a frecvenței (Hz) [3]
2.1.2. Principiile sonarului
Un puls de sunet generat în apă se extinde sferic din sursa – energia sa călătorește în
mod egal în toate direcțiile. Ca sferă a frontului pulsului extins , energia sa se răspândește pe o
suprafață mai mare , determinând o scădere a energiei pe unitatea de suprafață. Această
scădere a energiei se numește pierdere de răspândire. De asemenea, pulsul suferă unele
atenuări sau pierderi de absorbție. În mod colectiv, pierderile de răspândire și pierderile de
absorbție se numesc pierderi de transmisie. Suma totală a pierderilor de transmisie care
afectează un val de sunet depinde de dis tanța de deplasare – cu cât se propagă mai mult un val,
cu atât devine mai slab.
În fiecare etapă a procesului de generare, propagare, ecou și recepționare , există surse
de sunet care se adaugă la semnalul final primit. Magnitudinea acestor semnale nedorit e se
numește nivelul de zgomot.
Nivelul de zgomot limitează domeniul maxim al oricărei detectări la distanță. Într-o
lume fără zgomot, cel mai mic ecou dat de un obstacol ar putea fi detectat. Un sunet si ecoul
său care au pierderi de transmisie vor fi to t mai slabe , dar nu ajung niciodată la zero. Cu toate
acestea, în lumea reală (zgomotoasă) vor deven i în cele din urmă atât de slabe încâr ele nu pot
fi diferențiate de nivelul de zgomot și sunt astfel nedetectabile. Raportul semnal -zgomot este
raportul se mnalului recepționat , rezistent la nivelul zgomotului. Acesta oferă o măsură a
detectabilității unui semnal. Raportul minim semnal -zgomot necesar pentru ca un semnal să
fie detectabil depinde de aplicația specifică. [3]
Figura 2.2. Principiul sonarului activ [2]
2.1.3. Definirea sonarului
Cuvântul "SONAR" este o abreviere pentru "SOund, NAvigation and Ranging ". A
fost dezvoltat ca un mijloc de urmărire a submarinelor inamice în al doilea război mondial.
Un sonar constă într -un transmițător, un traductor, un receptor și afișaj. În termeni simpli, un
impuls electric de la un transmițător este transformată într -o undă sonoră de către traductor și
trimisă în apă. Când acest val lovește un obiect, acesta revine. Acest ecou lovește traductor ul,
care îl transformă înapoi într -un semnal electric, care este amplificată de receptor și trimis
către un ecran. Deoarece viteza sunetul în apă este constant ( aproximativ 1482 metrii pe
secundă la o temperatura de 20 0C), intervalul de timp între s emnalul transmis și ecoul primit
poate fi măsurată și determinată distanța față de obiect. Acest proces se repetă de multe ori pe
secundă . [3]
2.1.4. Teoria sonarului
Ecuați a sonarului
Atunci când un impuls sonor este transmis de la un emițător în apă, există mai mulți
factori în mediu care vor reduce puterea impulsului transmis, înainte ca acesta să se reflecte
pe o țintă. Semnalul reflectat este și el redus de acești factori înainte de a fi recepționat de
către traductor. Ecuația sonarului este o modal itate de a evalua sonarul împotriva acestor
factori de mediu.
Pentru un sonar activ cu un singur traductor de recepție și un singur traductor de
transmisie, ecuația sonarului poate fi scris ca [4]:
EL = S L – 2*TL + T S [dB] (2.1)
Unde :
EL este nivelul de ecou primit
SL este nivelul puterii pulsului transmis
TL este pierderea de transmisie, care constă în amortizarea de la faptul că undele
sonore se propagă sferic, și o anumită absorbție în apă.
TS este puterea țintă a obiectului lovit de impulsul transmis.
În mediul înconjurător există, de asemenea, un nivel de zgomot pe care nivelul ecoului
trebuie să îl concureze [5]. Semnalul recepționat poate fi exprimat ca un raport semnal /
zgomot (SNR – signal noise ratio ).
În literatura de specialitate a sonarelor, SNR este frecvent determinat în dB și este
scris ca:
SNR = S L – 2*T L + T S – NL [dB] (2.2)
Unde :
NL este nivelul total de zgomot al mediului
Pentru ca sistemul sonar să poată detecta o țintă, SNR trebuie să aibă o anumită
dimensiune, numită pragul de det ecție (DT). Pragul de detecție este definit ca SNR necesar
pentru o probabilitate d e 50% de detectare [4]. Pragul de detecție este folosit pentru a defini
un factor numit exces de semnal (S E), care este o valoare SNR mai mare decât pragul de
detecție. Exce sul de semnal este dat ca:
SE = SNR – DT [dB] (2.3)
Iar excesul de semnal este un parametru utilizat pentru a măsura performanța unui
sistem sonar.
Atunci când o undă sonoră se confruntă cu o schimbare a v itezei locale a sunetului,
lungimile de undă se s chimbă, dar frecvența lor rămâne con stantă. Din acest motiv, unda
sonoră este descrisă prin viteza c și frecvența f, legată de ecuația: c = λ · f , unde λ este
lungimea de undă a undelor.
Viteza sunetului în apă este funcție de temperatura ambiantă (T), p resiunea ambiantă
(p) și salinitatea (S) apei [4]. Viteza c poate fi scrisă astfel: c = F (T, p, S)
Temperatura
(°C) Viteza sunetului
(m/s)
0 1403
5 1427
10 1447
20 1481
30 1507
40 1526
50 1541
60 1552
70 1555
80 1555
90 1550
100 1543
Tabel 2.3. Dependența de temperatură a vitezei sunetului în apă
Când se propagă o undă sonoră, ea își pierde o parte din energia sa acustică. Pierderea
de transm isie este definită [4] ca o pierdere a intensității între un punct de interes și un punct
de referi nță. Aceste pierderi se întampla datorită a doi factori, un factor fiind răspândirea
geometrică iar al doilea absorbția în apă. Energia pierdută prin propagarea undelor se numește
atenuare.
Pierderi geometrice
Factorul geometric provine din faptul că sune tul se răspândește sferic într -o formă
uniformă în mediu. Pe măsură ce se răspândește sferic, intensitatea acustică, I, este invers
proporțională cu intervalul , R, la pătrat.
Relația este astfel:
𝐼=𝑊
4𝜋𝑅2 (2.4)
Unde:
I este intensitatea acustică, adică puterea pe unitate de suprafață.
W este puterea
R este intervalul
Figura 2 .4. Difuzarea sferică a sunetului [6]
Relația dintre intensitatea la un anumit interval R comparativ cu un punct de referință
R0 este dată ca :
𝐼𝑅∗ 4𝜋∗𝑅2= 𝐼𝑅0∗4𝜋∗𝑅02 (2.5)
Pierderea de transmisie este dată ca [Hodges, 2010, p. 91]:
𝑇𝐿 = −10log(𝐼𝑅
𝐼𝑅0)
= −10log(4𝜋∗𝑅02
4𝜋∗𝑅2) (2.6)
unde , dacă R0 = 1m:
𝑇𝐿=20log(𝑅) [𝑑𝐵] (2.7)
Pierderea de absorbție
Pierderea de absorbție a undei sonore depinde de frecvență. Sunetele cu frecvență
joasă sunt atenuate mai puțin decât sunet de înaltă frecvență și poate călători mai mult, în
condițiile potrivite de până la mii de kilometri. Expres ia constantei de atenuare α apă este dată
de următoarea relație :
αapă = α vâscozitate + α chimic [dB/km] (2.8)
Se observă că atenuarea depinde de rezistența apei, de viscoz itatea și de relaxarea
chimică. Relaxarea chimică este schimbarea echilibrului chimic al componentelor chimice din
apă, așa cum sunt afectate de schimbarea presiunii sau temperatu rii. Pentru frecvențele de
peste 1 MHz, cea mai mare parte a atenuării se datorează vâscozitatea apei. La frecvențe mai
mici, până la aproximativ 300 kHz, relaxarea chimică este importantă [5].
Pierderea totală a transmisiei poate fi apoi scrisă ca:
𝑇𝐿=20log(𝑅)+ 𝛼∗10−3∗𝑅 (2.9)
La distanțe scurte pierderea geometrică este pierderea de transmisie, în timp ce pe
distanțe mai mari pierderile de absorbție devine o parte mai mare a pierderii de transmisie.
Undele sonore sunt utile pentru detectarea l a distanță într -un mediu acvatic deoarece
pot călători fără atenuare semnificativă sute de kilometri. Undele de undă radio (utilizate în
radar) pe de altă parte, penetrează doar c âțiva metri în apă, apoi pierzând aproape toată
energia . Nivelul atenuării unui val sonor este dependent de frecvența sa – sunetul de înaltă
frecvență este atenuat rapid, în t imp ce sunetul de frecvență joasă poate călători mult fară o
atenuare semnificativă . Un val sonor de la un sonar tipic care funcționează la 12 kHz pierde
aproxi mativ jumătate din energia sa p entru o parcurgere de 3000 de metri prin apă.
În timp ce energia acustică călătorește bine în apă, ea este întreruptă de schimbări
bruște în mediu, cum ar fi roca sau nisipul. Atunci când un sunet î n mișcare întâlnește un
astfel de mediu, o parte din energia sa se propagă (absoarbe) în noul material. Energia care nu
este transmisă (absorbită) în materialul nou tre buie să se întoarcă în mediu l original (apă) ca
sunet. Câteva dintre unele sonore sunt reflectate în afara suprafeț ei materialului, în esență , se
reflectă într-o direcție care depinde de unghiul de incidență (suprafață). Restul este împrăștiat
în toate direcțiile. Cât de multă energie in tră în reflecție și cât de mult ă se împrăștie depinde
de caracteristicile materialu lui și unghiul de incidență. Energia care revine în apă (cu alte
cuvinte, energia care nu este transmisă în no ul mediu) se numește ecou. Eco ul menține
caracteristicile de frecvență ale undei sursă.
Rezistența țintei
Rezistența țintei sau suprafața acustic ă a unui obiect este definită ca r aportul dintre
intensitatea sunetul ui incident și sunetul reflectat măsurat la distanța unitară [7]. Pentru
utilizarea în ecuația sonarului sunt calculate ca:
𝑇𝑆=10log(𝐼𝑟
𝐼𝑖) (2.10)
Unde : Ir este intensitatea acustică reflectată și I i este intensitatea acustică incidentă [4].
Nivelul de zgomot
Nivelul de zgomot constă în zgomotul ambiental și reverberarea în mediul în care este
amplasată aplicația. Zgomotul ambiental este introdus de viata marina, de transport maritim,
turbulente oceanice, ploaie, zgomot termic si seismic. În Sonarul modern de mare putere,
factorul dominant în nivelul zgomotului, este reverberația [4] atunci când se va descrie nivelul
de zgomot. Reverberația este dată de eco urile recepționate, când un sonar activ transmite un
puls, care nu provine din mediu. Sursele de reverberație sunt suprafața, fundul și coloana de
apă.
Reverberarea de la suprafață sau de jos apare atunci când undele sonore se reflectă pe
una dintre acest ea. În funcție pe materialul de suprafață, nu toată energia este reflectată cu
valul reflectat, dar unele sunt absorbită și împrăștiată de suprafață. În figura 2.5 este ilustrat
acest concept.
Figura 2 .5. Împrăștierea sunetului pe o suprafata
Rezistența retrospectivă este dată ca [4]:
𝜎𝑏𝑠(𝜃𝐼)=𝐴∗𝑆(𝜃𝐼,𝜃𝑅)∗csc(𝜃𝐼) (2.11)
Unde:
A este zona de impact a valului
S (θ I, θR) este distribuția unghiulară
2.1.5. Transmiterea semnalului
Următoarea secțiune va elabora diferite tipuri de forme de undă pentru semnalul
transmis. O descriere generală despre unele dintre problemele cunoscute în transmiterea unor
astfel de semnale vor fi, de asemenea, atinse.
Semnalul transmis în sonarul activ poate fi de multe tipuri diferite, dar există tipuri de
bază: puls continuu (CW), impuls codificat (CP), puls pseudo aleator (PRN) [4].
Alegerea pulsului depinde de informațiile dorite despre ținta. Prin utilizarea CW este
posibil să detecteze modificarea Doppler în semnalul refl ectat de țintă și, prin urmare,
estimarea vitezei sale. Dezavantajul utilizării pulsului CW cu o bună rezoluție Doppler este că
pulsul trebuie să fie lung, ducând la o rezoluție relativ redusă a intervalului, ceea ce face
dificilă detectarea a două obiecte care sunt aproape una de cealaltă . CP sunt impulsuri
modulate în frecvență și facilitează o bună rezoluție a gamei, dar sunt pro aste pentru a estima
modificarea Doppler. CP poat exploata de asemenea compresia impulsurilor pentru a face
SNR mai bine atunci când zgomotul pe semnal este adit iv, așa cum va fi explicat mai târziu.
PRN se face de către transmiterea unui semnal de bandă largă cunoscută, incluzând atât o
rezoluție a domeniului bun și o bună capabilitate de detecție Doppler . Utilizarea PRN este
totuși dificil de implementat în prac tică, în timp ce majoritatea traductoarelor nu vor funcționa
bine în acest mod și algoritmii vor d eveni mai complexi [4].
Frecvența de eșantionare
Frecvența de eșantionare influențează, de asemenea, rezoluția domeniului în modul în
care intervalul de ti mp dintre fiecare eșantion corespunde unei distanțe. Semnalul transmis
este modulat de obiectele pe care le lovește așa cum este ilustrat în figura 2.6 .
Figura 2.6. Exemplu în care obiectul modulează purtătoarea
După cum se vede în figură, va fi su ficient să se eșantioneze componenta anvelopă a
semnalului pentru a detecta ecoul de la un obiect care va conduce la o rată de eșantion
necesară car e poate fi mai mică decât dublul lățimii de bandă a semnalului.
Modificarea Doppler nu poate fi determinată din anvelopa semnalului, astfel încât
trebuie să se găsească, frecvența de eșantionare care să fie suficient de mare pentru a
eșantiona întregul semnal și a lua în considerare posibila deplasare Doppler.
2.1.6. Efectul Doppler
Efectul Doppler constă în variația frecvenței unei unde emise de o sursă de oscilații,
dacă aceasta se află în mișcare față de receptor. Efectul Doppler poate fi constatat atât în cazul
undelor electromagnetice (inclusiv lumina), cât și în cazul undelor elas tice (inclusiv sunetul).
Frecvența măsurată crește atunci când sursa se apropie de receptor și scade când sursa se
depărtează de receptor. Acest efect a fost numit după fizicianul austriac Christian Doppler,
care a descris fenomenul în 1842.
Figura 2.7. Efectul Doppler
Motivul efectului Doppler este datorat faptului că sursa undelor se îndreaptă spre
receptor, fiecare undă succesivă fiind emisă dintr -o poziție mai apropiată de acesta decât valul
anterior. [9] [10] Prin urmare, fiecărui val îi ia un pic mai puțin ti mp pentru a ajunge la
receptor decât valul ui anterior. Timpul dintre sosirea fiecărui unde sonore crește succesiv
odată cu micșorarea distanței fata de receptor , provocând o creștere a fr ecvenței. În timp ce
acestea călătoresc, dista nța dintre fronturi le succesive ale valului este redusă, astfel î ncât
valurile "se înghesuie ". Dimpotrivă, în cazul în care sursa de valu ri se îndepărtează de
receptor , fiecare val este emis dintr -o poziție mai îndepărtată de receptor decât valul anterior ,
astfel încât timpul de sosire între valuri le succesive este mai mare , reducând frecvența.
Pentru valurile care se propagă într -un mediu, cum ar fi unde le sonore, viteza
receptorului și a sursei sunt relative la mediul în care sunt transmise undele. [8] Efectul
Doppler total poate rezulta, prin urmare, din mișcarea sursei, mișcării receptorului sau din
mișcării mediului.
2.1.7 . Componente compatibile cu sonarul
2.1.7 .1. Potrivirea frecvenț ei difuzorului cu frecvența traductorului
Frecvența traductorului trebuie să corespundă frecvenței unității sonare. Cu alte cuvinte,
nu puteți utiliza un traductor de 50 kHz sau chiar de 200 kHz cu o unitate sonar p roiectată
pentru 192 kHz. Un sona r va necesita un traductor de bandă largă proiectat să transmită un
spect ru de frecvențe. Un traductor structurat să transmită un fascicul îngust de frecvențe
sonore ( înaltă frecvență ) poate fi utilizat numai de către un receptor structurat să poată
procesa canti tatea semnificativă de date sono re. [11]
2.1.7 .2. Potrivirea ieși rii difuzorului cu puterea traductorului
Majoritatea sondelor din aceste zile pot avea configurația de ieșire a puterii astfel încât să
se poată utiliza corespunzător cu cerințele de putere ale traductorului. Un traductor așteaptă
sunet pentru a satisface cerințele de putere impuse de producător în instrucțiunile de
funcționare. Un difuzor care transmite mai multă putere decat poate primi traductorul il va
deteriora pe acesta la un moment dat. Un difuzor care transmite mai puțină putere decât ceea
de care are nevoie traductor ul, fie va degrada performanța traductorului, fie îl va face non –
funcțional. [11]
2.1.7 .3. Potrivirea impedanței de ieșire a difuzorului cu impedanța traductorului
Impedanța în termenul său cel mai simplu înseamnă rezistența în raport cu suma
impulsului electric sau curent. Impedanța unui traductor este importantă în același mod în care
impedanța difu zorului este importantă pentru amplificator. Componentele trebuie să se
potrivească pentru a obține performanțe maxime. Compo nentele nepo trivite vor duce fie la
performanțe slabe, fie mai rău, la afectarea unuia sau a ambelor componente.
Cu cât impedanța e mai mare, cu atât va trece mai puțin curent și invers î n componentele
cu impedanță mai joasă vor necesita un flux mai mare de curent. Dacă difuzorul este atașat la
o putere mare – impedanță redusă a traductorul nu a fost co nceput ă pentru a furniza puterea
(puterea = curent * tensiune) necesara de traductor, atunci difuzorul se va supraîncălzi și în
cele din urmă, va fi deteriorat . [11]
2.1.8. Corelarea soluțiilor Sonar cu cerințele consumatorilor
Tehnologiile sonarelor sunt proiectate pentru un scop specific și nici o tehnologie a
sonarelor nu poate fi cea mai bună soluție pentru t oate cerințele acestora . De fapt, in practica
sunt folosite combinat configurații sau tehnologii sonore multiple. Sonar ele de înaltă
frecvență oferă o separare excelentă a țintei / definiție poate fi combinată cu un nivel scăzut
de frecvență pentru a atinge adâncime a dorința de mo nitorizare . Structura subacvatică poate fi
redată în detaliu. [11]
2.1.9. Tehonlogia AFE (Analog Front -End)
O structură bloc tipică a front -end-ului analogic cu detectare acoustic realizată prin
intermediul unui senzor piezoelectric este prezentată în figura 2 .8. Principalele componente
ale unei astfel de structuri sunt:
traductor de intrare (de exemplu un senzor piezoelectric) , care convertește modifică rile
de presiune din celula ac ustic ă în semnale electrice
preamplificator
bloc de amplificare -filtrare
convertor analog -digital
alimentare.
Figura 2.8. Diagramă bloc a unui front -end analogic dedicat pentru detectarea semnalelor
acustice captate de la un senzor piezoelectric
Preamplificarea
Rolul principal al unui preamplificator utilizat în echipamentele acoustice este
conversia semnalului de intrare disponibil la ieșirea senzorului care are o înaltă impedanță la o
sursă de semnal de impedanță redusă (nu mai mult de câțiva kΩ, preferabil mai mică de 100
Ω). Etapa preamplificator ar trebui să fie, de asemenea, optimizate spre cel mai mic zgomot
posibil. Amplificarea semnalului este dorită, dar nu critică, deoarece se poate face în
următoarele etape, care funcționează la o impedanță a sursei de semnal scăzut ă. În cazul unui
senzor piezoelectrice, cele două configurații preamplificator de bază su nt un adaptor al
tensiunii (Fig ura 2.9 a ) și a mplificator de încărcare (Figura 2.9 b) [12, 13, 14, 15, 16 ].
Figura 2.9. Structura de bază a preampl ificatoarelor dedicate traductorilor capacitivi: (a)
amplificator de tensiune pentru senzorul piezoelectric, (b) amplificator de sarcină pentru
senzorul piezoelectric
Structura generală a Blocului de Amplificare și Filtrare
Nivelul semnalului acustic obținut de la senzorul de intrare este de obicei scăzut, în
special în cazul detectării concentrației de urme. Totuși, interv alul dinamic al măsurărilor
acustice poate fi foarte ridicat. Obținerea unei astfel de intervale dinamice ridicate direct într –
un convertor analog -digital (la un raport acceptabil de zgomot / zgomot și interval de
eșantionare necesar) poate fi f oarte dificil . De obicei, este mult mai convenabil să se
îmbunătățească domeniul dinamic al ADC cu o ajustare programabilă a amplificării
implementată în calea semnalului analogic. O astfel de ajustare a câștigului nu trebuie să fie
foarte netedă – trecerea câștigului cu pași binari este suficientă. Un astfel de circuit poate fi
implementat cu circuite integrate PGA (amplificator câștig programa bil). Fiecare etapă de
amplificare introduce o decalare DC, care rezultă din fapt ul că tensiunea de intrare este
înmulțită cu coeficientul de câștig. Ca urmare, chiar și numai 1 mV din offsetul tensiunii de
intrare a unui amplificator operațional înmulțit cu factorul K = 10000 ar trebui să aibă ca
rezultat o decalare de ieșire de 10 V, care în condiții tipice ar conduce la saturarea
amplificatorului de ieșire. Acesta este unul dintre motivele pentru care factorii de câștig
ridicat (trebuie menționat că câșt igurile la nivelul de 10000 nu s unt neobișnuite în setările
acustice) sunt de obicei implementate în mai multe etape de amplificare (de exemplu, două
PGA). Pentru a reduce decalajul, fiecare treaptă de câștig ar trebui să fie cuplată cu circuitul
precedent . Aceasta poate fi, în special, implementată cu un condensator plasat în calea de
semnal sau într -un filtru de trecere mai complex.
Având în vedere că semnalul acustic poate fi foarte slab (adesea îngropat în zgomot),
filtrarea este o parte foarte importa ntă a procesării semnalelor acoustice. Un filtru proiectat
corespunzător trebuie să treacă numai frecvențele de interes, în timp ce respinge (suprimă)
alte componente ale semnalului de intrare. Ca rezultat, cu cât este mai îngust ă lungimea de
bandă, cu atâ t mai mare va fi reducerea amplitudinii zgomotului. De asemenea, trebuie
menționat faptul că secțiunile low -pass nu numai că limitează lățimea de bandă a zgomotului,
ci și ca filtre anti -aliasing, care trebuie folosite în cazul în care semnalul trebuie să fie supus
conversiei analog -digital. Tipul de filtru trebuie selectat în funcție de aplicația particulară.
Dacă forma răspunsului pulsului fotoacustic este importantă, atunci trebuie utilizat un filtru
Bessel. Dacă răspunsul pulsului nu este critic, dar es te necesar un răspuns de frecvență plat în
banda de trecere, atunci trebuie folosit un filtru Butterworth. Filtrele Chebyshev și eliptice au
o infasurare în banda de trecere, dar un rolloff mai abrupt peste frecvența cutoff [17, 18 ].
Având în vedere că ori ce filtru are un rol limitat deasupra frecvenței sale cutoff, filtrele sunt
deseori cascadate pentru a obține o atenuare mai puternică din banda de trecere [17]. O
abordare standard este că, după fiecare etapă de câștig, este plasat un filtru cu un singur sau cu
dublu zero / pol. Astfel, răspunsul de frecvență rezultat corespunde în mod obișnuit unui filtru
de cel puțin a doua ordine, care este de obicei suficient, deoarece filtrarea suplimentară (dacă
este necesar) poate fi implementată ca procesare digita lă a semnalului. Plasarea unui filtru
după fiecare treaptă de câștig permite o anulare ușoară a DC offset și reduce zgomotul,
oferind mai mult spațiu pentru amplificarea semnalului fără saturarea amplificatoarelor. Ar fi
tentant să folosiți un filtru progr amabil pentru a fi mai flexibil și aplicabil în multe aplicații .
Prin urmare, este de obicei mai bine să se utilizeze filtre analogice c onvenționale cu frecvențe
de tăiere fixe selectate în funcție de o anumită aplicație.
Criterii de selecție ADC
Crite riile de selecție primare ale convertorului analog -digital sunt rezoluția și rata de
eșantionare. Conform teoremei de eșantionare , este suficient să se eșantioneze un semnal cu o
frecvență care este de două ori mai mare decât cea mai mare componentă de fre cvență
prezentă în spectrul de semnal pentru a obține informații corecte despre semnal [19]. Cu toate
acestea, datorită creșterii puternice a cerințelor privind filtrul anti -aliasing, nu este recomandat
să se obțină o rată de eșantionare pre a apropiată de frecvența . Un oversampling cu un factor
de cel puțin 100 va reduce substanțial aceste cerințe. Mai mult, o rată de eșantionare mai
ridicată îmbunătățește rezoluția frecvenței FFT (dacă este aplicată semnalului înregistrat) și
permite o mediere rezultând un raport mai bun semnal -zgomot [ 19, 20, 21 ]. Desigur , cerința
privind rata de eșantionare depinde în mare măsură de aplicarea și în special de modul d e
funcționare al sistemului acostic proiectat. Dacă sistemul trebuie să funcționeze într -un regim
de puls ș i răspunsul fotoacostic la astfel de impulsuri trebuie înregistrat cu o rezoluție de timp
îndelungată, atunci, desigur, pot fi necesare rate mai ridicate de eșantionare.
2.2. Sisteme incorporate/dedicate (embedded systems)
2.2.1. Caracteristicile unui sist em incorporat
Printre cele mai importante caracteristici ale unui sistem dedicat sunt amintite
următoarele:
Funcționalitate unic ă – un sistem încorporat/dedicat, este proiectat pentru a efectua o
operație specializată pe care o execută în mod r epetat.
Constrângeri de proiectare – toate sistemele de calcul au constrângeri în ceea ce
privește valorile de proiectare (metrici), însă la sistemele încorporate constrângerile care
apar sunt mari și stricte. Prin intermediul valorilor de proiectare (metrici) este măsurată
o implementare a unor caracteristici esen țiale precum ar fi costul cip -ului, dimensiune,
putere și performanță. Acest sistem dedicat, trebuie sa fie de dimensiune mică sau foarte
mică, pentru montarea acestuia pe un singur cip, trebuie să fie des tul de rapid pentru
procesarea datelor în timp real și consumul de energie trebuie să fie cât mai scăzut pentru
a eficientiza și pentru a prelungi durata de viață a bateriei.
Reactie in timp real – foarte multe sistem e încorporate trebuie să reacționeze în mod
continuu la schimbările mediului în care se află sistemul, dar în același timp trebuie să
proceseze datele în timp real fără nici o întârziere.
Sisteme le dedicate bazate pe microprocesoare – cipul trebuie să fie bazat pe un
microprocesor sau un microc ontroler.
Memoria – trebuie să aibă o memorie, deoarece prog ramul sau software -ul lui este
încorporat în memoria ROM(read -only memory), neavând nevoie de alte memorii
încorporate/integrate în propriul cip. Cu toate acestea mai exista si memoria de tip
RAM( random ac ces memory) care ca ș i costuri este mult mai ieftin de implementat.
Diferen ța dintre cele doua const ă în faptul c ă memoria R OM dispune de pastrarea
informaț iei pe cand memoria RAM dupa scoaterea de sub tensiune aceasta își pierde
informa ția. Deci startarea unui program nu se poate face far ă ajutorul memoriei ROM
care trebuie sa fie implementat ă atât cât este nevoie într-un mod eficient.
Conectat – acestea trebuie să aibă periferice conectate pentru a putea conecta
dispozitive de intrare și de ieș ire.
Sisteme hardware -software (HW/SW) – Software -ul (programul) este folosit pentru
funcționalități și flexibilitate, iar hardware -ul este folosit pent ru performanță și
securitate. [22]
2.2.2. Structura unui sistem incorporat
Următoar ea figură ilustrează parțile componente ale unui sistem încorporat:
Figura 2.10. Parțile componente ale unui sistem încorporat [23]
Elemente component ale sistemului:
Senzori – aceștia măsoară cantitatea fizică ce urmeaza a fi transformata într -un semnal
electric ce poate fi citit de către un observator sau prin orice instrument electronic cum
ar fi un convertor analog -digital sau ADC (analog to digital converter) sau mai mult
folosit intr -un algoritm de calcul pentru indicarea anumitor proprietati ce sunt de interes.
Convertoare analog -digitale – un convertor analog -digital sau analog -numeric,
cunoscut sub denumirea generică de ADC sau analog to digital converter, convertește
semnalul analogic transmis de un senzor într -un semnal digital (semnal num eric).
Procesoare și ASIC -uri(ASICs) – procesoarele prelucrează sau procesează datele
măsurate de către dispozitivele externe (ex. senzori), iar apoi rezultatele prelucrării sunt
fie stocate în memorie, fie transmise mai departe catre o platform ă de stocar e a datelor.
Exemplu: server de stocare a datelor (online) putâ du-le accesa oric ând.
Convertoare digital -analogice – un convertor digital -analogic sau numeric -analogic,
cunoscut sub denumirea generică de DAC sau digital to analog converter, convertește
datele digitale (numerice) primite de la procesor în date analogice (semnal analogic).
Dispozitive de acționare sau actuatore – un dispozitiv de acționare sau actuator
compară ieșirea dată de un convertor digital -analogic (DAC) cu valoarea care provine
de la un dispozitiv extern (senzori), iar daca valoarea primită de la senzori, este în
intervalul de valori date de convertorul analog -digital, atunci valoarea prim ită este
corectă și aprobată. [22]
2.2.3. Diferența dintre un microporcesor și un sistem încorpor at
Procesorul este “crei erul” unui sistem încorporat fără de care unitatea de bază care preia
datele de intrare și produce date de ieșire după procesarea acestora, nu poate func ționa. Pentru
un proiecta nt de sistem e dedicate este necesar ca acesta sa aibe cunostinte at ât de
microprocesoare c ât și de microcontrolere.
Un procesor are dou ă unitati esen țiale:
Unitatea de control a programului (CU) : CU-ul include o unitate de preluări
pentru preluarea instrucțiunilor din memorie. UE are circuite care să pună în
aplicare instrucțiunile referitoare la operațiunea de transfer de date și de
conversie de date de la o formă la alta.
Unitatea de executie (EU): UE include Unitatea Aritmetico -logică (ALU),
precum și circuitele car e execută instrucțiuni pentru o sarcină de program de
control, cum ar fi de întrerupere, sau să sară la un alt set de instrucțiuni.
Un procesor execută ciclurile descărcate (fetch instruction) și execută instrucțiunile
din aceeași secvență în care acestea sunt preluate din memorie.
Procesoarele pot fi:
microprocesoare
microcontrolere
procesoare integrate sau incorporate
procesoare de semnal (DSP)
procesoare media, etc [24]
Microprocesorul este unitate a centrală de procesare (CPU), a unui calculator care
este realiz eazată de cele mai multe ori pe o singură plăcuță de siliciu sau alt tip de material
semiconductor (chip -ul), care poate depași în momentul de fată peste un milion de
tranzistoare. Microprocesorul efectuează operațiile esențiale de prelucra re logică și
controlează celelalte elemente ale sistem ului de calcul. Microprocesorul mai poate fi
supranumit și „creierul calculatorului”. [25]
Un microcontroler , este o structură electronică destinată controlului unui proces sau,
mai general, a unei interacțiuni caracteristice, cu mediul exterior, fără intervenția operatorului
uman, sau o altă definiție ar putea fi că aceasta reprezintă, un microcircuit care î ncorporează
o unitate centrală pentru procesarea logică și o memorie , dar și cu ajutoru l resurse lor
periferice care-i permit in teracțiunea cu mediul exterior. [26]
Deasemenea, un microcontroler sau denumit microcomputer este alcătuit dintr -un
singur cip de tip VLSI (Very -Large -Scale -Integration) sau integrare a pe o scară foarte mare a
circu itelor electronice, care deși au capacități de procesare limitată, are capacitatea de a
efectua calcule sau procesări, deasemenea are capacitatea de a procesa date de intrare -ieșire
foarte rapid și un număr de unități funcționale integrate în cip foarte ma re.
Principalele unități integrate în cip -ul unui microcontroler sunt:
Figura 2.11 . Ce este in cipul unui microcontroler [23]
In special, microcontrolerele sunt ut ilizate în domeniul sistemelor î ncorporate pentru
aplicații de control în timp real, având memorie și alte dispozitive integrate în cip c um ar fi
CPU, RAM, ROM, etc. [22]
Principalele diferențe dintre un microprocesor și un microcontroler sunt:
Microprocesor Microcontroler
Microprocesoarele sunt multitasking în general.
Pot executa sarcini multiple la un moment dat.
De exemplu un computer poate reda muzica în
timp ce scrie într -un editor text Este in general single task. De exemplu, o
mașină de spălat este proiectată doar pentru a
spăla haine.
RAM,ROM,porturi I/O, și cronometrele po t fi
adăugate extern și pot varia ca și număr. RAM,ROM porturi I/O, si cronometrele nu pot fi
adăugate extern. Aceste componente sunt
integrate împreună într -un cip și sunt în număr
fix.
Proiectanții pot decide numărul de memorii sau
porturi I/O necesare. Un număr fix pentru memorii sau I/O face un
microcontroler ideal pentru o cerință limitată dar
specifică.
Suportul extern al memoriei externe și al
porturilor I/O face un sistem bazat pe
microprocesor mai greu și mai costisitor. Microcontrolerele sunt ma i facile și mai ieftine
decât un microprocesor.
Dispozitivele externe necesita mai mult spațiu
iar consumul lor este mai ridicat. Un sistem bazat pe microcontroler consum ă mai
puțină energie și ocupă mai puțin spațiu.
Tabel 2.12 Diferen ța dintre µC si µP [22]
2.3. Senzori și traductoare
2.3.1. Componentele principale ale traductoarelor
Traductoarele sunt dispozitive care au rolul de a stabili o corespondență între o
mărime de măsurat și o altă mărime (de obicei o mărime electrică), aptă de a fi prelucrată de
sistemele de prelucrare automată a datelor (regulatoare sau sisteme de conducere). Acest lucru
se realizează prin transformarea/convertirea mărimii fizice de măsurat, de obicei o mărime
neelectrică, într -o mărime electrică sau, în aceași mări me fizică, cu schimbarea parametrilor
acesteia (de exemplu o mărime electrică în altă mărime electrică dar cu un alt domeniu de
variație). Această transformare nu se realizează întotdeauna direct printr -un singur element
fizic, ci se poate face indirect, p rintr-o serie de transformări succesive de mărimi fizice. Un
traductor este constituit, în general, din dou ă blocuri principale (Figura 2.13 .):
• elementul sensibil (detector, captor, senzor), specific mărimii măsurate, care
transformă mărimea de măsurat, z, într -o mărime intermediară, w;
• convertorul de ieșire (adaptorul), element ce prelucrează și convertește semnalul dat
de elementul sensibil, w, într -o mărime direct utilizabilă în sistemul automat, y;
• elementele de transmisie, sunt elemente auxili are care realizează conexiuni electrice,
mecanice, optice sau de altă natură în situațiile în care tehnologiile de reali zare ale
traductorului o impun. [27]
Figura 2.13 . Schema bloc a unui traductor [27]
Principalele elemente constituen te ale unui traduc tor pe baza cărora se pot caracteriza
și compara diferitele traductoare sunt următoarele :
a) natura fizică a m ărimii de intrare și de ieșire;
b) puterea consumată la int rare și cea transmisă sarcinii;
c) caracteristica statică;
d) caracteristica dinamică ;
e) nivelul de zgomot. [27]
2.4. Protocoale de comunicație
2.4.1. Protocolul UART
În comunicarea UART, două unități UART comunică direct unul cu celălalt. UART -ul
de transmisie convertește datele paralele de la un dispozitiv de control de tip CPU, într -o
formă serială, îl transmite serial la UART -ul receptor, care apoi convertește datele seriale
înapoi în date paralele pentru dispozitivul de recepție. Numai două fire sunt necesare pentru a
transmite date între două UART -uri. Fluxul de date se transmite de la pinul Tx al UART -ului
de transmisie la pinul Rx al UART -ului de recepție [28] [29] :
Figura 2.14 . Conectarea a două dispoziti ve care comunică prin UART
UART -ul transmite date asincron , ceea ce înseamnă că nu există nici un semnal de
ceas pentru a sincroniza ieșirea de biți de la UART -ul de transmisie la eșantionarea de biți de
la UART -ul de recepție. În loc de un semnal de ceas, UART de transmisie adaugă biți de
pornire și oprire a pachetului de date transferat. Acești biți defines începutul și sf ârșitul
pachetului de date, astfel încât UART -ul de recepție să știe când începe citirea biților.
Când UART -ul de recepție detectează un bit de pornire, începe să citească intrarea
biți la o anumită frecvență cunoscută sub numele de rata baud. Rata baudului este o
măsură toare a vitezei transferului de date, exprimată în biți pe secundă (bps). Ambele UART –
uri trebuie să funcționeze la aproximativ aceeași rată de transfer. Rata de transfer între UART –
urile de transmisie și recepție pot diferi cu aproxi mativ 10% . Ambele UART -uri trebuie, de
asemenea, să fie configurate să transmită și să primească aceleași structura a pachetelor de
date. [28]
Funcț ionare UART
UART -ul care va transmite date primește datele de la o magistrală de date. Busul de
date este folosit pentru a trimite date către UART de către un alt dispozitiv, cum ar fi un
procesor, memorie sau microcontroler. Datele sunt transferate de la magistrala de date la
transmiterea UART în formă paralelă. După ce UART -ul recepționează datele paralel din
magistrala de date, adaugă un bit de pornire, un bit de paritate și un ul sau doi biți de oprire ,
creând astfel pachetul de date. Apoi, pachetul d e date se emite în serie, bit cu bit către pinul
Tx. UART -ul de recepție citește pachetul de date primit pe P IN-ul Rx al acestuia bit cu
bit. UART -ul de recepție convertește apoi datele în formă paralelă și elimină bitul de pornire,
bitul de paritate și biții de oprire. În cele din urmă, UART -ul care primește datele, transferă
pachetul în paralel pe magistrala de date de la capătul destinatar [28] :
Figura 2.15. Modul de transmisie al datelor
Datele transmise de UART sunt organizate în pachete. Fiecare pachet conține un bit de
start, 5 până la 9 biți de date (în funcție de UART), un bit de paritate opțional și 2 biți de stop:
Figura 2.16. Structura pachetului UART
Bitul de start
Linia de transmisie a datelor UART este în mod normal menținută la un nivel de
tensiune mare când nu transmite date. Pentru a începe transferul de date, UART -ul de
transmisie trage linia de transmisie într-o tensiune joasă pentru un ciclu de ceas. Când
UART -ul receptor detectează tranziția de la înaltă la joasă tensiune, începe să citească
biți di n cadrul de date la frecvența ratei de transfer. [29]
Cadrul de date
Cadrul de d ate conține datele efective transferate. Poate fi de 5 biți până la lungimea
de 8 biți dacă este utilizat un bit de paritate. Dacă nu este folosit un bit de paritate, cadrul de
date poate să aibă o lungi me de 9 biți. În cele mai multe cazuri, datele sunt t rimise mai întâi
cu bitul cel mai puțin semnificativ. [29]
Bitul de Paritate
Paritatea desc rie uniformitatea sau bizaritatea unui număr. Bitul de paritate este o cale
prin care UART -ul de recepție să afle dacă s -au alterat date în timpul transmisiei. Biții pot fi
modificate prin radiații electromagnetice, rate de conectare necorespunzătoare sau transferuri
de date pe distanțe lungi. După ce UART -ul de recepție citește cadrul de date, acesta numără
biții care au valoare a 1 și verif ică dacă totalul sumei acestora este un număr par sau
impar. Dacă bitul de paritate e ste 0, atunci suma biților de 1 biți din cadrul de date ar trebui să
fie egala cu un număr par. Dacă bitul de pa ritate este 1 , atunci suma biților de 1 biți din cadrul
de date ar trebui să fie egala cu un număr impar. Când bitul de paritate recepționat se
potrivește cu cel transmis de UART -ul de transmisie atunci înseamnă că transmisia nu conține
erori. Dar dacă bitul de paritate recepționat nu corespunde cu rezultatul adun ării facute de
UART -ul receptor înseamnă că biții din cadrul de date au fost alterați . [29]
Biții de Stop
Pentru a semnala sfârșitul pachetului de date , UART -ul de trimitere va schimba
tensiunea liniei de la una joasă la o tensiune înaltă pentru cel puți n două cicluri de ceas . [29]
CAPITOLU L 3
DESCRIEREA LUCRARII/APLICATIEI
3.1. Hardware
Hardware -ul reprezintă partea fizică a unui model informatic, care în comparație
cu software -ul, ce se ocupă de partea logică — cea care controlează hardware -ul cu ajutorul
unor programe (aplicații, sisteme de operare și drivere) — și de datele asupra cărora
acțio nează respectivul sistem de calcul.
Hardware -ul constituie ansamblul elementelor fizice și tehnice cu ajutorul cărora
datele se pot colecta, verifica, prelucra, transmite, afișa și stoca, apoi cadrul de memorare
(dispozitivele de stocare) a datelor, precu m și echipamentele de calculator auxiliare , cu alte
cuvinte cuprinde toate elementele de tehnologia informației și rețel e de calculatoare
sesizabile. [30 ]
3.1.1. Componente hardware utilizate
3.1.1.1. Microcontreler ul Atmega328 PB
ATmega328 PB este un cip microcontroler creat de către Microcip și face parte din
seria megaAVR .
PicoPower® ATmega328PB este un microcontroler CMOS cu putere redusă de 8 biți,
bazat pe tehnologia AVR® îmbunătățită de o arhitectura RISC. Prin executarea unor
instrucțiuni puternice într -un singur ciclu de ceas, ATmega328PB atinge transferuri apropiate
de 1 MIPS. Acest lucru permite proiectanților de sistem să optimizeze dispozitivul de
alimentare consum față de viteza de procesare. . Dispozitivul funcționează la o tensiune
cuprinsă între 1,8-5,5 volți. [31]
Caracteristici :
Arhitectură RISC
– 131 Instructiuni Puternice
– Mai multe execuții într -un ciclu de ceas
– 32 x 8 Regiștrii de lucru cu scop general
– Până la 20 MIPS la 20MHz
Segmente de memorie nevolatilă de înaltă rezistență
– 32 KBytes de memorie pentru program
– 1 KBytes EEPROM
– SRAM intern de 2 KBytes
– Cicluri de scriere / ștergere: 10.000 Flash / 100.000 EEPROM
– Reținerea datelor: 20 de ani la 85 ° C / 100 de ani la 25 ° C
– Blocarea programării pentru sec uritatea software -ului
Caracteristici periferice
– două timere/contoare pe 8 -bit cu prescalere separate și modul de comparare
– 1 timer/contor pe 16 -biți cu prescaler separat, modul de comparare și modul de
captare
– contor în timp real cu oscilator separate
– șase canale PWM
– 8-Canale ADC pe 10 -biți
• Măsurarea temperaturii
– 6-Canale ADC pe 10 -biți
• Măsurarea temperaturii
– două interfețe seriale SPI master/slave
– o interfață serială USART programabilă
– un Watchdog Timer programabil cu oscilator separat pe cip
– un comparator analogic pe cip
– întrerupere și trezire la schimbarea stării PIN-ului
Caracteristici speciale microcontroller
– Power -on Reset și Brown -out de detectare programabile
– Oscilator intern calibrat
– Surse de între rupere externe și interne
– Șase moduri de somn: Idle, ADC de reducere a zgomotului, de economisire a
energiei, de pornire, de așteptare, și Stan dby
I/O
– 23 de pini I/O programabile
– 28 de pini PDIP, 32 conductori TQFP, 28 de pad -uri QFN/MLF si 32 de p ad-uri
QFN/MLF
Tensiunea de operare :
– 1.8 – 5.5V
Intervalul temperatură de funcționare :
– -40°C până la 105°C
Clasa de operare :
– 0 – 4MHz @ 1.8 – 5.5V
– 0 – 10MHz @ 2.7 – 5.5V
– 0 – 20MHz @ 4.5 – 5.5V
Consumul de energie la 1MHz, 1.8V, 25°C
– Modul Active : 0.2mA
– Modul Power -down : 0.1μA
– Modul Power -save: 0.75μA ( Incluzând 32kHz RTC)
Diagramă bloc :
Figura 3.1. Diagramă bloc ATmega328PB [31]
Configurația pinilor :
Figura 3.2. Configura ția pinilot uC Atmega328PB [31]
3.1.1.2 . PGA460 -Q1 Procesor de semnal ultrasonic și driver de transductor
Caracteristici :
Soluție complet integrată pentru detectarea cu ultrasunete
Temperatura de funcționare: -40 ° C până la + 105 ° C
Traductor unic pentru Burst / Listen sau un transductor pereche, unul pentru Burst și
altul pentru Listen
Receptor cu zgomot redus , programabil pe 6-puncte , variabile în timp (32 până la 90
dB) c u DSP (BPF, Demodularea) pent ru detectarea ecoului
Două pres etări ale pragului de variație în timp, pe 12 puncte , pentru detectarea
obiectelor
Timere pentru măsurarea multiplă a distanței și a duratei ecoului
Senzor de temperatură integrat
Timp de înregistrare pentru detectarea obiectelor până la 11 m
128 Bytes de memorie RAM pentru înregistrarea ecoului
42 Bytes de memorie EEPROM pentru a salva configurația pentru i nițializare a rapidă
Interfață comandă de timp de înaltă tensiune pe un singur fir sau interfață asincronă
USART
Interfață USART de nivel CMOS
Aplicații unde poate fi folosit :
Radar ultrasonic
Asistență parcare
Avertizare la parasire banda și la coliziune
Distanță față de obiecte
Detectarea prezenței și a proximității
Detectarea deschiderii ușilor industriale
Senzor de mișcare pentru detectarea intruziuni lor
Senzori de ocupație și mișcare [32]
Descriere :
Dispozitivul PGA460 -Q1 este un sistem integrat în chip, driver de traductor ultrasonic
și semnal conditionat cu un n ucleu DSP avansat. Dispozitivul are o p ereche de drivere
complementare inferioare (low-side) care poate controla un traductor, fie printr -un
transformator bazat pe o topologie de tip step -up sau utilizând FET (tranzistor cu efect de
câmp) printr -o topologie de tip directdrive . Dispozitivul poate primi și condiționa semnalul
ecoului refl ectat pentru o detectare fiabilă a obiectului. Această caracteristică este realizat ă
folos ind un front -end analogic (AFE) constând dintr -un amplificat or cu zgomot redus, urmată
de o etapă de câștig programabilă în funcție de timp, alimentată dintr -un ADC. Semnalul
digitizat este procesat în nucleul DSP atât pentru detectarea obiectelor din apropierea
câmpului, cât și pentru cel de câmp îndepărtat, utilizând praguri variabile de timp.
Principala comunicare cu un controler extern este realizată fie printr -o interfață de
comandă temporală (TCI), fie printr -o interfață asincronă USART cu un singur fir pe pinul IO
sau o interfață USART de nivel CMOS pe pinii RXD și TXD. PGA460 -Q1 poate fi pus în
starea Low -Power Mode pentru a reduce consumul de energie atunci câ nd nu este utilizat și
poate fi trezit prin comenzi pe interfața de comunicare.
PGA460 -Q1 inclu de, de asemenea, un sistem de diagnosticare care monitorizează
tensiunea tradu ctorului în timpul funcționării , frecvență și timp de decădere a traductorului
furnizând informații privind integritatea, excitarea, precum și diagnosticarea pe partea de
alimentare și transmisie pentru supraten siune, subtensiune, supracurent și scenarii de
scurtcircuit. [32]
Configurarea și funcțiile pinilor
Figura 3.3. Configura ția pinilor [32]
Tabel 3.4. Funcția pinilor [32]
Descriere detaliată
Dispozitivul PGA460 -Q1 este un dispozitiv de semnal -condiționat și traductor -driver
pentru detectarea ultrasonică a obiectelor sau detecția distanței. Driverul de ieșire este format
din drivere low -side, capabile să comande un transformator centru -tap pentru a genera
tensiuni mari de excitare pentru un traductor cu ultrasunete și, ca urmare a crea nivelul de
presiune acustică dorit (SPL). Driverul de ieșire poate fi, de asemenea, con figurat pentru a fi
utilizat în mod direct drive fără un transformator folosind mariana extern. Driverul de ieșire
implementează o limitare de curent configurabilă pentru eficiență de conducere a
transformatorului, frecvențe și lungimi de izbucnire configu rabile pentru a fi compatibile cu
un număr mare de traductoare.
Analog front -end-ul (AFE) poate detecta ecoul primit de la traductor și poate amplifica
pentru detectarea corectă a obiectul. AFE are implementat un amplificator cu zgomot redus,
urmat de un amplificator de câștig variabil în funcți e de timp, care permite primirea
semnale lor de la obiecte aflate la o distanță variabilă care trebuie amp lificate corespunzător.
Această implementare permite utilizarea pentru un interval dinamic maxim al ADC -ului
pentru a fi utilizate atât pentru obiectele apropiate cât și pentru cele îndepărtate în aceeași
înregistrare. Un senzor de temperatură încorporat poate fi utilizat p entru a calibra dispozitivul
de condiționare a semnalului în funcție de modificarea temper aturii. Procesorul digital de
semnal filtrează ulterior ecoul primit și folosește pragurile care variază în timp pentru a face o
detectare a obiectelor cât mai exactă . Sunt disponibile două presetări atât pentru burst , cât și
pentru praguri, car e permit ci cluri de detectare mai rapide prin economisirea timpului necesar
pentru a configu ra dispozitivul între burst -urile multiple. Majoritatea parametrilor de
configurare sunt stocați în memorie nevolatilă pentru o pornire rapidă, ceea ce reduce timpul
de iniția lizare.
Dispozitivul PGA460 -Q1 furnizează mai multe protocoale IO pentru a comunica cu
controlerul principal. Dispozitivul oferă o interfață de co mandă în timp și o interfață pe un
singur fire, UART , pe pinul IO de referință VPWR. De asemenea, oferă și o interfață sincron ă
și asincronă USART pe pinii TXD, RXD și SCLK. [32]
Diagrama bloc funcțională :
Figura 3.5. Diagrama bloc PGA460Q [32]
Dispozitivul PGA460 -Q1 include o interfață de comunicare digitală USART.
Principala funcție a USART este de a permite scrierea și citirea de la toate adresele
disponibile pentru accesul USART. Această funcție include accesul la locațiile de memorie
ale registrului EEPROM și ale memoriei RAM ale dispozitivului PGA460 -Q1. Comunicarea
digitală USART asincron (UART) este o legătură de comunicare master -slave în care
PGA460 -Q1 este doar un dispozitiv slave. Dispozitivul principal controlează când
transmiterea datelor începe și se termină. Slave -ul dispozitivului nu transmite date înapoi la
dispozitivul principal până când nu este comandat să facă acest lucru de către dispozitivul
principal. O valoare logică 1 pe interfața UART este definită ca o valoare recesivă (trageți
puțin pe pinul RXD). O valoare logică 0 pe interfața UART este definită ca o valoare
dominantă (der ulantă puternică pe pinul RXD).
Interfața cu modul asincron UART din PGA460 -Q1 este proiectată pentru rate de date de la
2400 bps la 115200 bps, unde rata de date este detectată automat pe baza câmpului de
sincronizare generat de controlerul principal. Alț i parametri referitori la funcționarea interfeței
UART includ:
• Rata de transfer de la 2400 bps la 115 200 bps, detectată automat (așa cum a fost descris
anterior)
• 8 biți de date
• 1 bit de pornire
• 2 biți de oprire
• Nici un bit de paritate
• Nu exist ă controlul debitului
• Timp de așteptare Interfield (necesar pentru 1 stop) [32]
3.1.1.3 . MCUSD14A58S9RS -30C – traductor ultrasonic
Caracteristici :
Rezistența la apă și utilizarea dublă
Compact și ușor
Sensibilitate ridicată și presiune acustică
Consum redus de energie
Fiabilitate ridicată
Figura 3 .6. Traductorul ultrasonic MCUSD14A58S9RS -30C [33]
Date tehnice :
Numă r Element Specificații
1 Cod articol MCUSD14A58S9RS -30C
2 Construcție Rezistent la apă
3 Metodă utilizare Dublă utilizare
4 Frecvența utilizare 58 ± 1 kHz
5 Nivel de presiune a sunetului (dB) ≥ 85 (30cm/10V RMS)
6 Sensibilitate (dB) ≥ -90dB/V /μbar
7 Modelul razei de transmisie 110 x 50 °
8 Capacitate (pF) 2000 ± 25% la 1 kHz
9 Temperatura de functionare -40° C pana la 85 ° C
10 Temperatura de stocare -40° C pana la 85 ° C
11 Tensiune de intrare admisă (Vpp) 160 Vpp
12 Materialul carcasei Aluminiu
Tabel 3.7 . Date tehnice traductor [33]
Desen:
Figura 3 .8. Dimensiunile traductorului MCUSD14A58S9RS -30C [33]
Modelul fasciculului :
Figura 3 .9. Caracteristica de frecvență a nivelului presiunii sunetului [33]
Figura 3 .10. Caracteristica de frecvență a sensibilității [33]
Figura 3 .11. Directivitatea în sensibilitatea generală [33]
3.1.1.4. TDK EPCOS B 78416A2232A003 – transformator
TDK EPCOS B 78416A2232A003 este transformator SMT pentru traductoare cu ultrasunete.
Figura 3 .12. Dimensiuni transformator [34]
Constructie
• Tipul EP 6 cu miez de ferită
• 5 terminale
Aplicații
Driver pentru traductoare cu ultrasunete folosit pentru
• Asistență parc cu ultrasunete
• Masurarea distantei industriale
• Robotica
Caracteristici
• Rezistența la refularea căldurii de lipit 245 ° C timp de 10 secunde
• Compatibil cu RoHS
Schematic
Figura 3.13 . Schematic B78416 A2232A003 [34]
Date tehnice și condiții de măsurare
Inductanță proprie L 3 mH (52 kHz, 1 V, +25 °C)
Toleranța inductanței ±10 % la +25 °C
Rata de rotire 1:1:8.42
Frecvența de operare f 52 kHz
Tensiunea de test V test 200 V AC
Intervalul de temperatură pentru funcționare -40 °C … +85 °C
Tabel 3.14 . Date tehnice transformator [34]
3.1.2. Suportul PCB (printed circuit board)
3.1.2.1. Ce este un PCB ?
O placă de circuit imprimat (PCB) sprijină mecanic, și electric conectează
componente electronice, folosind trasee conductoare, paduri și alte tipuri de conectări create
pe suprafața unei foi de cupru laminate pe un substrat non -conductoare electric. PCB -urile pot
fi cu o singură parte (u n strat de cupru), față -verso (două straturi de cupru), sau multi -strat.
Conductoarele de pe straturi diferite sunt conectate prin găuri placate numite VIA -uri. PCB –
urile avansate, pot conține componente – condensatori, rezistențe sau dispozitive active –
integrate în substrat. [35]
Figura 3.15 . PCB cu un strat, două straturi și multistrat
Dezvoltarea asamblării PCB -urilor, își are rădăcinile la începutul secolului 20, cu un
număr mare de experimente ale diverșilor inventatori, inclusiv Albert Hanson, Tho mas
Edison, Arthur Berry, Max Schoop și Charles Durcase. Totul a luat amploare prin 1936, când
inginerul Paul Eisler a preluat asamblarea PCB -urilor și a inventat circuitul imprimat, ca parte
a unui set de radio, fapt care a acționat ca un impuls pentru co ncept. Tehnologia a fost folosită
pe scară largă în timpul celui de -al doilea război mondial pentru a face siguranțe de
proximitate și după ce a început războiul, în scop comercial, dar nu au devenit un lucru
obișnuit în electronice de consum, până la mi jlocul anilor '50.
Inițial, toate componentele electronice au fost conectate cu fire iar în timpul asamblării
PCB -ului au fost create orificii în plăcile cu circuite, pentru fiecare fir de pe fiecare
componentă. În 1949, a fost dezvoltat un proces prin car e au fost introduse componente într –
un model de interconectare creat din folie de cupru și apoi lipite. Mai târziu acest concept a
evoluat în procesul standard de asamblare PCB care este folosit astăzi. În viața cotidiană,
odată cu necesitatea de dispozit ive electronice tot mai mici, cum ar fi dispozitive portabile de
jocuri video, iPod -uri și smartphone -uri, utilizarea componentelor cu montare pe suprafața
PCB -ului, a crescut în popularitate ca urmare a cererii de produse mai mici, cu funcționalitate
sporită.
Plăcile cu circuite imprimate (PCB -uri), în procesul de producție, cuprind mai multe
etape.
Fiecare pas în parte trebuie să fie monitorizat îndeaproape și controlat pentru a minimiza
erorile excesive de toleranță, în special în ceea ce privește crearea – strat peste – strat și via –
la – pad. O sursă care crează astfel de erori de toleranță este masca ( adesea numită
„instrument -foto” -“photo -tool” sau “artwork”), utilizate în transferul de imagine pentru
straturile PCB -ului. Industria a folosit în mod tradițional un proces de litografiere bazat pe o
mască de poliester în contact cu un substrat m are acoperit cu rezist . Precizia de plasare
caracteristică a acestor măști este direct influențată de acuratețea mașinilor care le imprimă
(foto -plottere) , abilitatea operatorului care le plasează manual, și de efectele de temperatură și
umiditate, care p ot modifica structura polimerului.
Deoarece densitatea interconectărilor este în continuă creștere, bugetul de proiectare
pentru aceste erori se reduce până la punctul în care calificarea operatorilor și creșterea
investițiilor în controlul de mediu pent ru fabricarea măștii este ineficientă.
Nevoia de noi tehnologii de producție care să elimine variația greșelilor operatorului și
problemele legate de stabilitatea măștii este din ce în ce mai necesară pentru producerea de
randamente consistente și previz ibile de producție.
O altă sursă importantă de erori este distorsionarea straturilor în timpul laminării și
manipulării, care poate face dificilă suprapunea straturilor interioare sau exterioare.
Căldura și presiunea din timpul laminării PCB -urilor cu m ai multe straturi, de multe ori
provoacă distorsiuni dimensionale ale materialelor de bază utilizate în ambele straturi, rigide
și flexibile ale PCB -ului. Această denaturare depinde de numeroși factori, inclusiv de la lot la
lot în funcție de furnizori, variațiile în procesele de laminare și procesele de manipulare la
locul de fabricare.
Inainte de a ajunge la procesul despre care vorbim în acest proiect și anume
„Corodarea ”, PCB -ul trebuie creat. [35]
3.1.2.2. Dezvoltarea PCB -ului
Pentru a începe proce sul de proiectare, mai întâai trebuie stabilite următoarele:
• Traductor
– Tensiune de conducere a traductorului
– Frecvența rezonantă a traductorului
– Contorul impulsurilor traductorului
• Transformator
– Raportul de transformare al transformatorul
– Curentul de saturație al transformatorului
– Tensiunea principală a transformatorului
Tabel 3.16. Componentele alese pentru aplicație
Tensiunea de conducere a traductorului
Atunci când se aplică o tensiune la ceramica piezoelectrică, distorsiunea mecanică este
generată în funcție de tensiune și frecvență. Distorsiunea mecanică este măsurată în unități de
nivel de presiune acustică (SPL) pentru a indica volumul de sunet și poate fi derivată dintr -o
măsurătoare de tensiune a microfonului în c âmp libe r cu ajutorul ecuației 3.3 .
𝑆𝑃𝐿 (𝑑𝐵)=20∗log(𝑉(𝑀𝐼𝐶 )
3.4 𝑚𝑉)
𝑃𝑂 (3.3)
Unde :
• V (MIC) este presiunea sonoră măsurată a senzorului (mV RMS).
• PO este o presiune sonoră de referință de 20 μPa.
SPL nu crește pe termen nelimitat cu tensiunea de conducer e. După o anumită tensiune
de conducere, cantitatea de SPL pe care un traductor poate genera devine saturată. Un
traductor are o specificație maximă a tensiunii de conducere pentru a indica când se generează
SPL maxim. Conducerea traductorului dincolo de t ensiunea maximă de conducere face
modulul ultrasonic mai puțin eficient din punct de vedere energetic și poate deteriora sau
reduce durata de viață a traductorului.
Rezistența unde lor ultrasonice propagate în apa se atenuează proporțional cu distanța.
Această atenuare este cauzată de difuzie, difracție și pierdere de absorbție, deoarece energia
cu ultrasunete este transmisă prin intermediul apei . După cum se arată în figura 3.17, cu cât
este mai mare frecvența undelor ultrasonice, cu atât este mai mare rat a de atenuare și cu atât
distanța care poate fi masurată este mai mică.
Figura 3.17 . Caracteristica atenuării presiunii sunetului proporțional cu distanța
Un traductor ultrasonic are o frecvență centrală rezonantă fixă, cu o toleranță tipică de
± 2%. Intervalul de frecvență inferior de 30 -80 kHz este domeniul de funcționa re prestabilit
pentru aplicația dezvoltată pentru o rezoluție de 1 cm și o gamă între 30 cm până la 5 m.
Intervalul de frecvență superior de 180 până la 480 kHz este rezervat aplicații lor industriale
de înaltă precizie, cu o rezoluție de 1 mm și un domeniu tipic de 5 cm până la 1 m.
Numărul de pulsuri ale traductorului
Numărul de impulsuri determină câte perioade de alternanță sunt aplicate traductorului
de către transformator și determină lățimea totală a pingului ultrasonic care a fost transmis. Cu
cât este mai mare lățimea ping -ului transmis, cu atât este mai mare lățimea semnăturii ecoului
returnat al suprafeței reflectate și cu cât este mai mare rezoluția disponibilă pentru a stabili un
prag stabil. Un dezavantaj al unui număr mare de impulsuri este o perioadă mare de atenuare,
care limitează modul în care obiectele detectabile sunt la distanțe scurte.
Selectarea unui număr de impulsuri se face pe baza cerinței minime a obiect ului. Dacă
detectarea obiectelor la distanțe scurte nu este o prioritate, un număr mare de impulsuri nu
reprezintă o preocupare. Anumite traductoare pot fi co nduse continuu, în timp ce altele au o
limită a numărului maxim de im pulsuri de conducere. Consult ând specificațiile traductorului
selectat putem determina dacă numărul impulsurilor trebuie să fie limitat.
Rata de schimb a transformatorului
Un transformator central este în mod obișnuit asociat cu traductorul pentru a
transforma o tensiune DC într -o tensiune înaltă sinusoidală AC. Intrarea centrală a
transformatorului este un contact realizat la jumătatea distanței de -a lungul înfășurării primare
a transformatorului . Înfașurarea centrală este alimentată cu o tensiune DC care se înmulțește
apoi pe partea secundară pe baza raportului de transformare al transformatorului. Figura 3.20
arată configurația tipică a pinilor de ieșire al unui transformator , und e pinul 2 este ramificația
centrală , pinii 1 și 3 sunt conectați la OUTB și OUTA, pinul 4 este conectat la borna pozitivă
a traductorului iar pinul 6 este conectat la masă .
Figura 3.18 . Ieșirile transformatorului pentru traductorul cu ultrasunete
Sunt disponibile două moduri de generare a tensiunii traductorului util izând
transformatorul principal . Aceste moduri sunt definite după cum urmează:
Push -pull În acest mod, cele două întrerupătoare interne din partea inferioară a dispozitivului
PGA460 -Q1 sunt utilizați pentru a activa și dezactiva curentul prin două bobine p rimare ale
transformatorului central.
Bobinele pr imare au același număr de curbe . Rata de schimbare a curentului în bobina
primară generează o tensiune în bobina secundară a transformatorului, care este conectată la
traductor. Direcția curentului în bobinele primare generează tensiuni de polaritate opusă în
bobine secundare, care dublează efectiv tensiunea de vârf în bobina secundară.
Single -ended În acest mod, un comutator de joasă frecvență este utilizat pentru a porni și op ri
curentul în transformatorul principal.
Rata de schimbare a curentului în bobina primară generează o tensiune în bobina secundară
a transformatorului, care este conectată la traductor. Înfășurarea secundară a
transformatorului nu est e necesară pentru acest mod și poate fi lăsată flotantă. În schim b,
tensiunea de referință este conectată la un terminal exterior primar (pinul 3) și fie OUTA, fie
OUTB este conectat la celălalt terminal primar (pin1).
Curentul de saturație al transformatorului și tensi unea nominală
Soluția de inducție a scurgerilor este cauzată de faptul că fluxul magnetic nu este
cuplat complet între înfășurările dintr -un transformator. Saturația magnetică a miezului
transformatorului poate fi cauzată de tensiunea primară excesivă, de funcționarea la o
frecvență prea scăzută, de prezența unui curent continuu în oricare dintre înfășurările sau de o
combinație a acestor cauze. Dispozitivul PGA460 -Q1 poate limita curentul transformatorului
intern de la 50 la 500 mA. Tensiunea principală se referită de obicei la tensiunea VPWR. Cu
toate acestea, dacă tensiunea VPWR este prea ridicată pe terminalul central al părții primare a
transformatorului , atunci tensiunea trebuie să fie reglată în jos. Dacă VPWR este prea mic,
atunci tensiunea trebuie să fie reglată în sus.
Curbele aplicației
Componente utilizate: Transformator TDK EPCOS B 78416A2232A003, traductor
multicomp MCUSD14A58S9RS -30C. Pentru a minimiza variația transformatorului TDK
EPCOS B78416A2232A003 și a com binației traductorului multicomp MCUSD14A58S9RS –
30C, se plasează un condensator de reglare (CT) de 680pF și un rezistor de amortizare de
10kΩ (RDamp) în paralel cu traductorul. Acest lucru va fi permisă sub 15 cm în funcție de
numărul de impulsuri, de tens iunea centrală și de limita de curent.
Figura 3.19 . Masurare pe distanță lungă folosind transformator
Figura 3.20 . Masurare pe distanță scurtă folosind transformator
Mai departe voi descrie modul de lucru în proiectarea circuitului în vederea imprimării
acestuia pe suportul PCB (suportul mecanic), al componentelor descrise mai sus.
Proiectarea asistată de calculator
Pentru poriectarea asistată de calculator am fost folosit software -ul EAGLE care oferă
un proces de dezvoltare a design -ului PCB în doi păși. Prima data trebuie dezvoltat
schematicul pentru c a mai apoi să fie dezvoltat și lay -out-ul PCB bazat pe schematic așadar
cei doi păși ai softului EAGLE merg mână în mână.
O schemă bine concepută este esentială pentru procesul general de proi ectare a PCB –
urilor. Acesta ne ajută să găsim erorile înainte c a PCB -ul să fie realizat și mă va ajută să
depănăm o placă atu nci când ceva nu functionează.
Dezvoltarea schemei ș i a layout -ului in mediul de dezvoltare EAGLE
Cu ajutorul datelor tehnice si a librăriilor componentelor (amprentele ) specificate mai
sus am reușit să realizez în prima fază o schemă electrică și layout parțiale, care conține partea
de comandă pentru traductor.
Pentru început se va realiza un PCB de test pentru a verifica funcționare părții de
transmitere și recepționare a ultrasunetelor. Mai jos regăsim schematicul (Figura 3.23) pentru
PCB -ul de test care are în componența sa integratul pentru procesarea sunetul ui PGA460 -Q1,
transformatorul , rezistențe, diode, condensatoare , pinii pentru conectarea traductorului, pinii
de alimentare și alti pini care sunt legați la intrările și ieșirile integratului în cazul în care
aceștia tebuie ulterior conectați undeva . Pentru partea de comandă se va folosi pentru început
o placă de dezvoltare Arduino UNO ca mai apoi aceasta să fie inlocuita de un microcontroler
Atmega328PB care va fi amplasat pe PCB -ul final.
Figura 3.21 . Schematic comandă traductor
După realizarea schema ticului, accesăm din bară principală a softului EAGLE
fereastră File și apasăm butonul „Switch to board” pentru a trece la următoarea etapă , cea de
realizare a layoutului. După se începe aranjarea amprentelor componentelor și așezarea via-
urile dintre straturi astfel încât dimensiunea PCB -ului să fie cât mai compactă (cu cât PCB -ul
este mai mare cu atât este mai scump de fabricat ).
Că și rezultat după finalizarea acestor două procese, prototipul PCB -ului arată astfel:
Figura 3.22 . Layout Top PCB test
Figura 3 .23. Layout Botom PCB test
3.1.2.2. Imprimarea și corodarea PCB -ului
În rândurile care urmează voi prezenta etapele realizării PCB -ului prin metoda
corodării cu clorură ferica. Se f olosește metoda transfer ului de toner pentru a f ixa “imaginea”
cablajului pe laminatul de cupru.
Imprimarea cablajului
După ce se realizează layout -ul, acesta trebuie imprima t pe o coală A4 lucioasă, hartie
fotografică sau pe o folie de calc , cu ajutorul unei imprimante . Se taie placa de t extolit la
dimensiunea dorită apoi se curăță partea de cupru ca să se înlăture orice urmă de murdă rie sau
grasime. După ce este printat ă imaginea cablajului pe foaie, se așază pe partea cu cupru a
plăcii de textolit.
Figura 3.24 . Negativul layout -ului
Apoi trebuie călcat cu fierul încălzit la maxim placa și hârtia până când tonerul aderă
la cupru. Această parte este și cea mai delicată ș i sunt șanse să nu iasă din prima. Ca să iasă
bine trebuie apăsat destul de tare pe fierul de că lcat, fără ca hârtia să se miște d e pe placă.
După acest proces , nu trebuie ca hârtia să fie dezlipită imediat de placa de textolit (aceasta
trebuie să se ră cească) . După hâ rtia trebuie curățată rămânând în urmă traseele imprimate pe
stratul de cupru.
Figura 3.26. PCB -ul înainte de corod are
Corodarea PCB -ului
Clorura ferică trebuie turnată într -un vas și apoi placa trebuie introdusă în vas pentru
corodare. Trebuie avută grijă ca î ntrea ga suprafață a plăcii să fie scufundată în clorura ferică.
Timpul de corodare trebuie să fie de aproximativ 20 de minute, dar trebuie verificat progresul
din 5 î n 5 minute. C orodarea se face mai repede dacă solutia de clorură ferică este încălzită în
prealabil .
Figura 3.27. PCB -ului în timpul corodării
După corodare, placa trebuie spălată cu multă apă și să pun apoi ștearsă și îndepărtat
tonerul cu un tampon îmbibat în diluant sau acetonă .
Finalizarea PCB -ului
În ultima parte va trebui să se efectueze găuri în placă, acolo unde este
nevoie, cu o bormașină fixată vertical. Pentru cele mai multe găuri se poate folosi un
burghiu de 0.9mm, depinde de dimensiunea componentelor. După ce se dau toate
gaurile și se lipesc componentele la locurile lor, pcb -ul trebuie testat cu ajutorul
multimetrului pentru a vedea continuitatea traseelor și funcționalit atea montajului.
3.1.3. Lipirea și conectarea hardware -ului
Pentru lipirea/soldarea componentelor hardware pe suportul PCB s-a folosit o stație de
lipire unde capătul terminal poate ajunge la o temperatură de 380șC. Ca aliaj pentru lipit s -a
folosit cosit or cu plumb de 0.3mm deoarece dimensiunile liniilor de circuit sunt reduse , iar
astfel s -a asigurat o acuratețe sporită la lipit.
»
Figura 3.29 . Topul PCB -ului înainte și după lipirea componentelor
»
Figura 3.30 . Bottomul PCB -ului înainte și după lipirea componentelor
3.1.4. Arhitectură hardware (schema bloc a sistemului integrat)
Figura 3 .31. Schema bloc a sistemului de test
3.1.5. Dezvoltare -finalizare prototip
După realizarea PCB -ului am avut câ teva probleme cu monitorizarea și configurerea
în ceea ce priveste partea de comuni cație cu integratul PGA460 -Q1. Acesta comunică cu
microcontrolerul printr -un protocol UART. Cu ajutorul platformei de dezvoltare Arduino Uno
se trimiteau mesaje le pe UART care pu teau fi urmă rite în fereastra de monitorizare serială a
softului Arduino dar nu se putea monitoriza și ră spunsul din cauza resur selor insuficiente.
Pentru acest lucru era nevoie de încă o comunicaț ie UART, de a ceea am apelat la o alta placă
de dezvoltare p entru a face debug pe linia de RX. Apoi am observat că integrat ul nu
răspundea deoare ce microcontrolerul era setat să trimită doar 1 bit de stop iar PGA460 -Q1
aștepta 2 biți. Din această cauză integratul nu recunoș tea comenziile primite . Acest lucru a
fost rezolvat ulterior prin configurarea formatului mesajului trimis prin software
(Serial.begin(4800,SERIAL_8N2) ).
După rezolvarea primei probleme apărute m icrocontrolerul trebuie să trimită că tre
integrat comenzi de configurare a unor regiștrii ș i comenzi de masurare a distantei. Acest
lucru nu a fost foarte usor din cauza multor moduri de operare ale integratului și necesitatea
realizării multor configurări. Totuși după realizarea configurărilor PGA460 -Q1 primea
comenzile dar trimitea un raspuns că tre micr ocontroler care î ntotdeauna era același indiferent
de po zitia traductorului fată de un obiect . Această p roblemă a rămas însa nerezolvată după
lungi încercări și teste. Bănuiala mea fiind că această problemă este una de hardware am
început să realizez o nou ă schemă electrică și ulterior realizarea unui nou PCB urmând aceiași
pași ca ș i la realizarea PCB -ului de test.
În rândurile care urmează voi prezenta schematicul noului PCB :
Figura 3.32 . Schema finală de comanda a traductorului
Figura 3.33 . Sche ma finală cu microcontroler
După cum se poate observa în schemele de mai sus am decis să adaug pe noul PCB
microcontolerul și astfel să renunț la placa de dezvoltare Arduino UNO. În această schemă
este inclus și ecranul pentru afișarea datelor, adaptor ul de tensiune pentru alimentarea
microcontrolerului, un buton de reset și în plus sunt adăugați și pinii pentru programarea
microcontrolerului. Programarea se va face tot cu ajutorul platformei Arduino.
Totuși chiar și după aceste modificări aduse proi ectului , comunicația funcționează dar
partea de transmitere către traductor nu. Am monitorizat cu ajutorul unui oșciloscop dacă pe
traseele care ar trebui să transmit ă impulsurile până la pinii de conectare cu traductorul se
vede vreo modificare a tensiunii și am observat că nu este nici o modificare.
Mai jos se poate vedea layoutul PCB -ului final precum și modelul 3D :
Figura 3.34 . Top -ul PCB -ului final
Figura 3.35 . Bottom -ul PCB -ului final
Figura 3.36 . Model 3D PCB final
3.2. Aplicatia Software
3.2.1. Software embedded
Descriere limbaj programare C embedded
Embedded software sau software -ul incorporat este un program de calculator, scris
pentru a controla mașinile sau dispozitivele care nu sunt considerate, de obicei, computere.
Este de obicei specializat pentru hardware -ul particular pe care rulează și are constrângeri de
timp și de memorie. Acest termen este uneori folosit interschimbabil cu firmware -ul, deși
firmware -ul poate fi aplicat și pe codul ROM pe un computer, pe lângă care ru lează sistemul
de operare, în timp ce software -ul încorporat este de obicei singurul soft ware pe dispozitivul
în cauză.
O caracteristică precisă și stabilă este aceea că nu toate funcțiile software -ului
încorporat sunt sau nu sunt inițiate/controlate pri n intermediul unei interfețe umane, ci prin
interfețele mașinilor.
Producătorii "construiesc" în software -ul încorporat în domeniul electronicii de ex.
automobile, telefoane, modemuri, roboți, aparate, jucării, sisteme de securitate, stimulatoare
cardiac e, televizoare și set -top box -uri și ceasuri digitale, de exemplu. Acest software poate fi
foarte simplu, cum ar fi controalele de iluminare care rulează pe un microcontroler pe 8 biți,
cu câtiva kilobiți de memorie, cu un nivel adecvat de complexitate a procesării determinat cu
ajutorul unui cadru probabil de aproximare corectă a computării (o metodologie bazată pe
algoritmi aleatori) sau pot deveni foarte sofisticate în aplicații precum avioanele, rachetele și
sistemele de control al proceselor. [ 36]
3.2.2. Codul sursa utilizat (limbaj programare C)
Codul sursă poate fi regăsit în Anexa 1 în variantă completă, iar mai departe voi urmări
să explic modul de funcționare a modelului software.
Codul sursă începe cu definirea porturilor prin care microcont rolerul comunică cu
integratul PGA460 -Q1 și definirea variabilelor globale care sunt folosite in functiile de
proce sare, acestea fiind inițializate tot prin intermediul functiilor aferente fiecărei variabilei
asignate în momentul în ca re sistemul primește o tensiune de alimentare .
Figura 3.37. Inițializarea valorilor regiștrilor
Figura 3.38. Definirea variabilelor
Prin intermediul următoarei secvențe de cod vom realiză inițializarea sistemului, cu
alte cuvinte un „starta -up” al si stemului fizic, setarea portului serial și rata de transmitere a
datelor :
Figura 3.39. Setarea portului serial
Mai departe regăsim buclă care se apelează l a infinit cu o pauză care poate fi setată în
funcț ie de cât de des dorește utilizatorul să facă măsurătorile . Pentru exemplul curent am folosit
o buclă ce se repetă la fiecare 4 secunde. În interiorul buclei sunt apelate comenzile care se
transmit către integrat, procesarea datelor primite de la acesta iar mai apoi afisarea lor pe un
ecran LCD .
Figura 3.40. Bu cla principală a programului
Mai departe v a fi descrisa functia care se ocupă de preluarea și pr elucrarea datelor pentru
a afișa distanța .
Fig. 3.41. Preluarea datelor primite de la integrat
În imaginea care urmează se poate vedea cum se face afișarea datelor pe ecranul LCD.
Fig. 3.42. Partea de cod care se ocupă cu afișarea distanței
3.2.3. Arhitectura sistemului
În Figură 3.43 este descrisă arhitectură sistemului, modul în care este interconectat
sistemul , până la obținerea și afișarea datelor.
Figura 3.43. Arhitectura sistemului
3.2.4 . Scrierea programului sursă
Pentru scrierea codului sau „flash -uirea” programului sursă pe microcontroler -ul
LinKit Smart Duo 7688 am folosit „tool -ul” Arduino IDE.
Mediul de dezvoltare integrat Arduino IDE -sau Arduino Integrated Development
Environment (IDE) -conține un editor de text pentru scrierea de cod, o zonă de mesaje, o
consolă de text, o bară de instrumente cu butoane pentru funcții comune și o serie de meni uri.
Se conec tează la hardware -ul Arduino pentru a incărca pr ograme și a comunică cu ele.
Arduino IDE beneficiază de mediul potrivit dezvolatarii unui sistem embedded
datorită ușurinței si simplit ății interfeței cu utilizatorul (programatorul), permite in terfațarea
cu mai multe tipuri de microcontrolere, dar și beneficiază de un monitor serial ce poate fi
folosit la testarea codului.
Programele scrise folosind software -ul Arduino (IDE) se numesc schițe. Aceste schițe
sunt scrise în editorul de text și su nt salvate cu extensia .ino. Editorul are caracteristici pentru
tăiere / lipire și pentru căutarea / înlocuirea textului. Zonă mesajului oferă feedback în timp ce
salvează și exportă, de asemenea afisează și erori. Consola afisează textul de ieșire de cătr e
Software -ul Arduino (IDE), inclusiv mesaje de eroare complete și alte informații. Colțul din
dreaptă jos al ferestrei afisează placa și portul serial configurat. Butoanele barei de
instrumente ne permit e să verifică m și să incărc ăm programe, să creă m, să deschide m și să
salvă m schițe și să deschide m monitorul serial. [37 ]
Verify. Verifică codul pentru erorile care îl compilesc.
Upload. Compilează codul și îl încarcă pe placa configurată.
New . Creaza o noua schita.
Open. Prezintă un meniu al tuturor schițelor din schemă.
Save. Salveaza schita creata.
Serial Monitor. Deschide monitorul serial [37]
3.3. Funcț ionarea sistemului
Pentru funcționarea optimă a î ntrgului sistem trebuie conectate toate componentele
cum ar fi traductorul , suportul mecanic, microcontrolerul ș i LCD -ul cu atenț ie la pinii
corespunzatori fiecă rui element, iar apoi intregul sistem trebuie pus sub tensiune a de 12V de
la un acumulator prin conectorii aflaț i pe PCB. Apoi, acesta începe să îș i facă inițializă rile, iar
după câteva momente datele ar trebui să fie recepț ionate de că tre sistem și să înceapă să fie
afișate pe display .
Descrierea funcționării integratului PGA460 -Q1 în sistem :
Blocul de alimentare :
Dispozitivul PGA460 -Q1 utilizează mai multe regul atoare interne folosite pentru
alimentarea circuitelor interne. Blocul de alimentare generează referințe de tensiune de
precizie, polarizare curentă și un ceas intern. Un regulator suplimentar (IOREG) generează
tensiunea de alimentare pentru pinii USART (RXD, TXD și SCLK), pinul DECPL și pinul
TEST pentru funcționalitatea lor digitală. Regulatoarele AVDD și IOREG nu sunt destinate să
suporte nici o sarcină externă . Dispozitivul PGA460 -Q1 începe să pornească când se aplică o
tensiune la pinul VPWR. Resetarea internă a alimentării (POR) este eliberată când regulatorul
este pus în funcțiune și ceasul intern este în funcțiune. În timpul modului redus de putere,
regulatorul IOREG este alimentat în timp ce celelalte regulatoare se închid pentru a economisi
energie.
Generarea burst de tensiune :
Dispozitivul PGA460 -Q1 are o frecven ță programabilă pentru burst și numărul de
impulsuri prin configurarea registrelor FREQ și P1_PULSE / P2_PULSE.
Utilizați Ecuația 3.1 pentru a calcula frecvența de spargere pentru un interval de 30
kHz până la 80 kHz (bitul FREQ_SHIFT setat la 0).
f(DRV) = 0.2 kHz * f + 30 kHz (3.1)
Unde
• f este frecvența care poate fi de la 0 la 200, așa cum este definit în registrul FREQUENCY.
Frecvența curentă de c onducere a treptei de ieșire este derivată din frecvența ceasului de bază
folosind ecuațiile 3.1 și 3.2.
𝑛= 𝑓(𝐶𝑂𝑅𝐸 _𝐶𝐿𝐾 )
𝑓(𝐷𝑅𝑉 ) (3.2)
Unde
• n este raportul prin care oscilatorul principal f (CORE_CLK) este divizat.
Regiștrii PULSE_P1 și PULSE_P2 pot varia de la 0 la 31. Când este setat la o valoare M care
este mai mare decât 0, perechile de impuls M sunt generate pe ieșirile OUTA și OUTB.
Utilizare PGA460 -Q1 cu transformator:
Dispozitivul PGA460 -Q1 asigură o generare eficientă a burst -ului, prin excitarea părții
primare a unui t ransformator central conectat la pinii OUTA și OUTB prin intermediul FET –
urilor complementare low -side care funcționează într -un mod de limitare a curentului.
Frecvența burst -ului este de la 30 kHz la 80 kHz cu li mita de curent de la 50 mA la 500 mA.
Frecvența burst -ului, limitează curentul pentru înfășurarea primar ă a transformatorului și
numărul impulsurilor de burst pot fi controlate utilizând parametrii FREQUENCY,
CURR_LIM_P1, CURR_LIM_P12, PULSE_P1 și PULSE_P 2.
Figura 3.44 . Diagrama bloc pentru generarea ecoului
Analog Front -End (AFE)
Analog Front -End-ul (AFE) din dispozitivul PGA460 -Q1, primește ecoul reflectat din
obiect, îl amplifică și îl alimentează într -o cale de date pentru prelucrarea semnalului digital
(DSP) pentru detectarea ecoului. Deoarece semnalul de ecou primit poate varia amplitudinea
(în milivolți pentru obiectele apropiate și în microvolți pentru obiecte îndepărtate), primul
stadiu AFE este un amplificator echilibrat cu zgomot redus, cu un câștig fix predeterminat,
urmat de un amplifica tor variabil cu câștig configurabil de la 32 dB la 90 dB. Semnalul de
ecou amplificat este convertit într -un semnal digital printr -un convertor analog -digital (ADC)
de 12 biți și alimentat într -un bloc de procesare DSP pentru o evaluare ulterioară și măsurarea
timpului de deplasare .
Figura 3.4 5. Analog Fro nt-End
Descrierea funcționă rii microcontrolerului î n sistem :
Microcontrolerul ATmega328PB are rolul de a transmite cadre de comenzi catre
integratul PGA460 -Q1 pentru a realiza comenzile dorite. Aceste comenzi se trimit prin
intermediul unei comunicatii U ART.
Figura 3.46 . Structura unui câmp UART
Un grup de câmpuri formează un cadru de transmisie. Un cadru de transmisie este
compus din câmpurile necesare pentru a finaliza o operație de transmi sie pe interfața UART.
Figura 3.48 prezintă structura unei operațiuni de transmisie a datelor într -un cadru de
transmisie.
Figura 3.47 . Cadru de transmisie
Fiecare cadru de transmisie trebuie să aibă un câmp de sincronizare și un câmp de
comandă urmat de un număr de câmpuri de date. Câ mpul de sincronizare și câmpurile de
comandă sunt transmise întotdeauna de dispozitivul principal. Câmpurile de date pot fi
transmise fie de către master, fie de către slave, în funcție de comanda dată în câmpul de
comandă. Câmpul de comandă determină dire cția de deplasare a câmpurilor de date (master –
to-slave sau slave -to-master). Numărul câmpurilor de date transmise este de asemenea
determinat de comanda din câmpul de comandă. Timpul de așteptare pentru interfață este de 1
bit lung și este necesar pentru slave sau master pentru a procesa datele care au fost
recepționate sau când datele trebuie să schimbe direcția după trimiterea câmpului de comandă
și dispozitivul slave trebuie să transmită date înapoi la dispozitivul principal . Trebuie permisă
o perioadă de timp pentru driverul de semnal principal și slave pentru a schimba direcția.
Dacă interfața UART rămâne inactiv în starea logică 0 sau logică 1 mai mult de 15 ms,
atunci comunicația PGA460 -Q1 se resetează și se a șteaptă să primească un câmp de
sincron izare ca următoarea transmisie de date de la dispozitivul principal să poată începe .
Câmpul de sincronizare
Câmpul de sincronizare este primul câmp din fiecare cadru care este transmis de
master. Câmpul de sincronizare este utilizat de dispozitivul PGA46 0-Q1 pentru a confirma
rata corectă de transfer a cadrului care este trimis de dispozitivul principal. Această lățime de
biți este utilizată pentru a primi cu precizie toate câmpurile ulterioare transmise de
comandant. Lățimea de biți este definită ca numă rul de perioade de ceas oscilator intern care
alcătuiesc un întreg bit de date transmise de comandant. Această lățime de biți este măsurată
prin numărarea ciclurilor de ceas oscilator al slave -ului pe întreaga lungime a datelor
câmpului de sincronizare și apoi prin împărțirea cu 8. Figura 3.49 arată formatul câmpului de
sincronizare.
Figura 3.48 . Câmpul de sincronizare
Se măsoară biți consecutivi de câmp de sincronizare, inclusiv biții de pornire și oprire,
și este comp arat pentru a determina dacă câmp ul de sincronizare transmis către dis pozitivul
PGA460 -Q1 este valid . Dacă diferența dintre lățimile de biți ale orică ror doi biți de câmpul
consecutiv de sincronizare este mai mare de ± 25%, atunci dispozitivul PGA460 -Q1 ignoră
restul cadrului UART; în mod esențial, dispozitivul PGA460 -Q1 nu răspunde la mesajul
UART.
Câmpul de comandă
Câmpul de comandă este al doilea câmp din fiecare cadru trimis de dispozitivul
principal. Câmpul de comandă conține instrucțiuni despre ce să facă și unde să trimită datele
care sunt transmise unui anumit dispozitiv PGA460 -Q1. Câmpul de comandă poate, de
asemenea, să instruiască dispozitivul PGA460 -Q1 să trimită date înapoi la dispozitivul
principal în timpul unei operații de citire. Numărul câmpurilor de date care tr ebuie transmise
este, de asemenea, determinat de comanda din câmpul de comandă. Figura 3.50 prezintă
formatul câmpului de comandă.
Figura 3.49 . Câmpul de comandă
Câmpul de date
După ce dispozitivul principal a transmis câmpul de comandă în cadrul de tr ansmisie,
câmpurile de date zero sau mai multe sunt transmise la dispozitivul PGA460 -Q1 (operație de
scriere) sau la comandă (citire). Câmpurile de date pot fi date de memorie brute sau parametri
de comandă. Formatul datelor este determinat de comanda din câmpul de comandă. Figura
3.51 prezintă formatul tipic al unui câmp de date.
Figura 3.50 . Câmpul de date
Câmpul de verificare
Un câmp de sumă de control este transmis ca ultimul câmp al fiecărui cadru UART.
Suma de control conține valoarea sumei octeț ilor inversate cu operația de transfer peste toate
câmpurile de date și câmpul de comandă (câmpul de comandă numai pentru master ). La o
transmisie Master -to-PGA460 -Q1, câmpul sumelor de control se calculează de către
dispozitivul master și se verifică de c ătre dispozitivul PGA460 -Q1. Pe o transmisie PGA460 –
Q1-master, dispozitivul PGA460 -Q1 genereaz ă suma de control și masterul validează
integritatea. Formatul sumelor de control este identic cu câmpul de date. Deoarece interfața
UART este o interfață bazată pe octeți, în procesul de calcul al sumelor de control nu apare
nici o umplutură zero.
Atunci când dispozitivul master calculează câmpul de control, calculul are loc pe
câmpul de comandă UART urmat de toate câmpurile de date UART care sunt transmise ca
parte a cadrului de comunicare curent. Atunci când dispozitivul PGA460 -Q1 calculează
câmpul sumelor de control, calculul include câmpul de date de diagnosticare, urmată de toate
câmpurile de date UART din cadrul curent. Câmpul de sincronizare (0x55) nu este inclus ca
parte a calculului sumelor de control.
Formatul răspunsului
Operația de răspuns a interfeței PGA460 -Q1 UART este inițiată cu trimiterea de către
comandant a unei cereri de răspuns. După primirea cererii de răspuns de către dispozitivul
PGA460 -Q1, UART răspunde cu datele corespunzătoare ale comenzii solicitate. Într -o
operație de răspuns, masterul nu generează un câmp de control, mai degrabă este generat de
PGA460 -Q1.
Figura 3.51 . Exemplu format răspuns
Comenzi UART PGA460 -Q1
Tabel 3.52 . Comenzi UART PGA460 -Q1
Pe lângă rolul de a comunica cu integratu, microcontrolerul mai are rolul și de a afișa
pe un display rezultatele măsurătorilor făcute. Dar din cauza nefuncționării proiectului nu se
poate arăta utilitatea acestuia și n u pot fi viz ualizate rezultatele.
CAPITOLUL 4
CONCLUZII SI DEZVOLTAREA ULTERIOARA
În urmă studiului asupra conceptului de sonar , am reușit să realizez un sistem destul de
simplu prin intermediul căruia ar fi trebuit să colectez date și să monitorizez mediul acvat ic cu
ajutorul unui traductor , care trimite datele preluate către un display care are ca și conținut
datele primite de la traductor, prelucrate de către integrat și mai apoi preluate de
microcontrol er. Astfel datele colectate ar trebui să fie vizibile în t imp real și ar putea fi
vizualizate de către utilizator.
Pentru realizarea acestui proiect de diplomă am folosit mai multe tehnologii, precum
proiectarea PCB -urilor(EAGLE), developarea PCB -urilor, realizarea logică a arhitecturii
hardware (conexiuni), programarea e mbedded pe microcontrolere în C și scrierea programului
sursă prin intermediul Arduino IDE . Prin intermediul acestora se pot dezvoltă ulterior aplicații
de tip sonar într-o gamă destul de variată.
În concluzie, după părerea mea consider c ă prin realizarea acestui proiect de diplomă
am acumulat noi și foarte multe cunoștințe în legătură cu funcționarea și realizarea unui
dispozitiv de tip sonar , m-a obligat să mă adaptez la materialele disponibile cu care să lucrez
pentru realizarea suport ului fizic al platformei de monitorizare a mediului acvatic și de
asemenea m -a făcut să învăț și să mă familiarizez cu limbajul de programare C. Pe lângă toate
acestea m -a ajutat să acumulez cunoștințe solide despre modul de fun cționare a
microcontrolerelor, traductoarelor (modul de funcționare și conversie a semnalelor într-o
mărime electrică ) și a celorlalte componente hardware utlizate în proiect.
La finele acestui proiect am realizat faptul că multitudinea resurselor disponibi le pe
internet, o persoană perseverentă cu o implicare potrivită poate să realizeze o multitudine de
alte aplicații bune și complexe care pot aduce un aport pozitiv societății în care trăim, să ne
îmbunătățească traiul, deoarece eu am început facultatea de ingi nerie gândindu -mă că prin
dezvoltarea inginerească a produselor/proiectelor de către mine pot îmbunătății viață omului
și aduce un aport pozitiv societății.
Dezvoltări ulterioare ale aplicației:
Descoperirea și rezolvarea ploblemei de funcțion are a d ispozitivului astfel încât să
poată fi folositor
Implementarea unui software care să redea grafic relieful unui obiect sau al unei
suprafete dacă prototipul se află în miscare deasupra unei ape și să stocheze datele
într-o memorie internă urmând a fi proc esate și analizate.
Îmbunătățirea suportului hardware prin adăugarea unui modul wifi care să poată
transmite datele către un telefon inteligent acest lucru fiind mult mai util pentru
utilizator.
De asemenea ar fi n ecesară dezvoltarea unei aplicaț ii software pe telefon care să
completeze modulul har dware pentru o astfel de aplicaț ie.
BIBLIOGRAFIE
[1] – Sea-bird Electronics , SBE 50 Datasheet , September 2003
[2] – Wiora, G. (2005). Sonar Principle . Wikimedia
[3] – Sea Beam (2003), Multibeam Sonar Theory of Operation
[4] – Hodges, R. (2010). Underwater acoustics: Analysis, Design and Performance of Sonar .
Wiley
[5] – Hovem, J. (2007). Underwater acoustics: Propagation, Devices and Systems . Springer
[6] – Ainslie, M. A. (2010). Princi ples of Sonar Performance Modeling . Springer
[7] – Balk, H. (2001). Development of hydroacoustic methods for fish detection in shallow
water
[8] – Giordano, Nicholas (2009). College Physics: Reasoning and Relationships . Cengage
Learning. pp. 421–424
[9] – Possel, Markus (2017). "Waves, motion and frequency: the Doppler effect" . Einstein
Online, Vol. 5. Max Planck Inst itute for Gravitational Physics, Potsdam, Germany .
Retrieved September 4, 2017
[10] – Henderson, Tom (2017). "The Doppler Effect – Lesson 3, Waves" . Physics tutorial. T he
Physics Classroom . Retrieved September 4, 2017 .
[11] – Nolan Laxamana , SONAR Technology for Fish Finders , GetFeetwet Navigation Inc
[12] – G. Gautschi, Piezoelectric Sensorics , chap. 2 (Springer -Verlag, Berlin, 2002), p. 11
[13] – W.Q. Liu, Z.H. Feng, R.B. Liu, J. Zhang, Rev. Sci. Instrum. 78, 125107 (2007)
[14] – J. Karki, Signal Conditioning Piezoelectric Sensors , Application Report SLOA033A
(Texas Instruments, Dallas, 2000)
[15] – V. Sharapov, Piezoceramic Sensors , chap. 4 (Springer -Verlag, Berlin, 2 011)
[16] – J.S. Wilson, Sensor Technology Handbook , chap. 4 (Elsevier, Amsterdam, 2005)
[17] – J. Karki, Active Low -Pass Filter Design , Application Report, SLOA049 (Rev, B)
(Texas Instruments, Dallas, 2002)
[18] – R. Mancini, Op Amps for Everyone , chap. 16, Design Ref. SLOD006 (Rev. B) (Texas
Instruments, Dallas, 2002)
[19] – Enhancing ADC Resolution by Oversampling, Application Note AVR121, (Atmel, San
Jose, CA, 2005)
[20] – Improving ADC Resolution by Oversampling and Averaging, Application Note AN018
(Cygnal, Austin, TX, 2001)
[21] – T. Starecki, Proc. SPIE 6159 , 61592N (2006)
[22] – https://www.tutorialspoint.com/embedded_systems/es_overview.htm
[23] – Frank J. Mazzotti, professor; Nicola Hughes, former wildlife intern; and Rebeccas G.
Harvey, environmental education and human dimensions coordinator; UF/IFAS Fort
Lauderdale Research and Education Center, Davie, FL 33314
[24] – https://www.tutorialspoint.com/embedded_systems/es_processors.htm
[25] – Lucian Vintan, Adrian Florea, Advanced Microarchitectures , Teh nical Publishing
House, Bucuresti, 2000 ISBN 973 -31-1551 -7, (312 pg.).
[26] – Lucian Vintan, Adrian Florea, Microprocessing Systems. Applications. , "Lucian Blaga"
University of Sibiu Press, 1999 , ISBN 973 -9410 -46-4, (245 pg.).
[27] – S.Iliescu, I.Făgărășan – AUTOMATIZAREA CENTRALELOR TERMOELECTRICE
[28] – Peacock, C., “Interfacing the Serial / RS232 Port”, Beyond Logic, 2010,
http://beyondlogic.org/serial/serial.htm .
[29] – Rosch, W. L., Hardware Bible, Sixth Edition, Que Publishing, 2003.
[30] – "Parts of computer" . Microsoft. Retrieved 5 December 2013.
[31] – ww1.microchip.com/downloads/en/DeviceDoc/40001906A.pdf
[32] – www.ti.com/lit/ds/symlink/pga460 -q1.pdf
[33] – www.farnell.com/datasheets/1759998.pdf
[34] – https://en.tdk.eu/inf/85/ds/B78416A2232A003.pdf
[35] – https://en.wikipedia.org/wiki/Printed_circuit_board
[36] – Edward A. Lee, "Embedded Software", Advances in Computers (M. Zelkowitz,
editor) 56, Academic Press, London, 2002.
[37] – https://www.arduino.cc/en/Guide/Environment
ANEXE
Anexa 1
// inițializarea valorilor pragurilor P1 și P2
#define P1_THR_0 0x88;
#define P1_THR_1 0x88;
#define P1_THR_2 0x88;
#define P1_TH R_3 0x88;
#define P1_THR_4 0x88;
#define P1_THR_5 0x88;
#define P1_THR_6 0x42;
#define P1_THR_7 0x10;
#define P1_THR_8 0x84;
#define P1_THR_9 0x21;
#define P1_THR_10 0x08;
#define P1_THR_11 0x40;
#define P1_THR_12 0x40;
#define P1_THR_13 0x40;
#define P1_THR_14 0x40;
#define P1_THR_15 0x00;
#define P2_THR_0 0x88;
#define P2_THR_1 0x88;
#define P2_THR_2 0x88;
#define P2_THR_3 0x88;
#define P2_THR_4 0x88;
#define P2_THR_5 0x88;
#define P2_THR_6 0x42;
#define P2_THR_7 0x10;
#define P2_THR _8 0x84;
#define P2_THR_9 0x21;
#define P2_THR_10 0x08;
#define P2_THR_11 0x40;
#define P2_THR_12 0x40;
#define P2_THR_13 0x40;
#define P2_THR_14 0x40;
#define P2_THR_15 0x00;
#define syncByte 0x55 // byteul de sincronicare
#define THRBW 0x80 // C omanda de scriere a pragului
#define SRW 0x50 // comanda de scirere serială
#define AFEGAINRANGE 0x0F // AFEGAINRANGE ,asteapta Ox0F
#define TVGBW 0x70 // Creșterea pragului de tensiune
#define TVGAIN0 0xAA //comanda TVG
#define TVGAIN1 0xAA //comanda TVG
#define TVGAIN2 0xAA //comanda TVG
#define TVGAIN3 0x82 //comanda TVG
#define TVGAIN4 0x08 //comanda TVG
#define TVGAIN5 0x20 //comanda TVG
#define TVGAIN6 0x80 //comanda TVG
#define P1BL 0x00 //presetarea comenzii busrt listen
#define numObj 0x01 //Defin irea numarului de obiecte
#define UMR 0x28 //Ultrasonic measurement command
#define DECPL_TEMP 0x4F
unsigned char calcChecksum(unsigned char); // funcția de calulare a CRC -ului
unsigned char ChecksumInput[35]; //numărul de intrări maxime așteptate de CRC
unsigned char THBUFF[35]; //pragul bufferului pentru P1 și P2
unsigned char AFEGAIN[5]; // valorile AFEGAIN
unsigned char cmd; //cmd desemnează comanda în funcția CRC
unsigned char TVG[10]; //Intervalul câmpului de creștere a tensiunii
unsigned char PRE1_ BUR_LIS[4]; //presetarea valorilor burst listen
unsigned char ULTRA_MEAS[3]; //valorile măsurării ultrasonice
unsigned char UMRData[35]; //asteptarea datelor măsurării ultrasonice ex: distanța, lațimea,
amplitudinea
unsigned char byte1; //defineste distanț a până la obiect byte1+byte2
unsigned char byte2;
unsigned char byte3; //defineste lațimea masurată a obiectului
unsigned char byte4; //defineste amplitudinea masurată a obiectului
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initializarea librariei cu pin ii la care este conectat LDC –
ul
void setup()
{
Serial.begin(9600,SERIAL_8N2); // Setarea viteză comunicatiei
pinMode(13, OUTPUT); // setarea pinului 13 ca LED background
lcd.begin(16, 2); // setare numar lini si coloane LC D
digitalWrite(13, HIGH); // aprindere luminozitate LCD
// Inițializarea valorilor Threshold -ului
THBUFF[0]=syncByte;
THBUFF[1]=THRBW;
THBUFF[2]=P1_THR_0;
THBUFF[3]=P1_THR_1;
THBUFF[4]=P1_THR_2;
THBUFF[5]=P1_THR_3;
THBUFF[6]=P1_THR_4;
THBUFF[7]=P1 _THR_5;
THBUFF[8]=P1_THR_6;
THBUFF[9]=P1_THR_7;
THBUFF[10]=P1_THR_8;
THBUFF[11]=P1_THR_9;
THBUFF[12]=P1_THR_10;
THBUFF[13]=P1_THR_11;
THBUFF[14]=P1_THR_12;
THBUFF[15]=P1_THR_13;
THBUFF[16]=P1_THR_14;
THBUFF[17]=P1_THR_15;
THBUFF[18]=P2_THR_0;
THBUFF[19]=P2_THR_1;
THBUFF[20]=P2_THR_2;
THBUFF[21]=P2_THR_3;
THBUFF[22]=P2_THR_4;
THBUFF[23]=P2_THR_5;
THBUFF[24]=P2_THR_6;
THBUFF[25]=P2_THR_7;
THBUFF[26]=P2_THR_8;
THBUFF[27]=P2_THR_9;
THBUFF[28]=P2_THR_10;
THBUFF[29]=P2_THR_11;
THBUFF[30]=P2_THR_1 2;
THBUFF[31]=P2_THR_13;
THBUFF[32]=P2_THR_14;
THBUFF[33]=P2_THR_15;
THBUFF[34]= calcChecksum(THRBW);
// Inițializarea valorilor AFEGAIN
AFEGAIN[0]=syncByte;
AFEGAIN[1]=SRW;
AFEGAIN[2]=DECPL_TEMP;
AFEGAIN[3]=AFEGAINRANGE;
AFEGAIN[4]=calcChecksum(SRW);
// Inițializarea valorilor TVG
TVG[0]=syncByte;
TVG[1]=TVGBW;
TVG[2]=TVGAIN0;
TVG[3]=TVGAIN1;
TVG[4]=TVGAIN2;
TVG[5]=TVGAIN3;
TVG[6]=TVGAIN4;
TVG[7]=TVGAIN5;
TVG[8]=TVGAIN6;
TVG[9]=calcChecksum(TVGBW);
//ISSUE P1BL pentru a iniția pulsul de spargere pentru a măsura timpul real al deplasare
PRE1_BUR_LIS[0]=syncByte;
PRE1_BUR_LIS[1]=P1BL;
PRE1_BUR_LIS[2]=numObj;
PRE1_BUR_LIS[3]=calcChecksum(P1BL);
//REZULTATUL MĂSURĂRII ULTRAZONICE
ULTRA_MEAS[0]=syncByte;
ULTRA_MEAS[1]=UMR;
ULTRA_MEAS[2]=calcChecksum (UMR);
byte1=UMRData[0]; //Distanța până la obiect byte1+byte2
byte2=UMRData[1];
byte3=UMRData[2]; //Măsurarea lățimii obiectului
byte4=UMRData[3]; //Vârful de amplitudine maximă
}
void loop() {
// delay de 4 secunde
delay(4000);
Serial.write(THBUFF, 35); // Scriere THRESHOLD BULK WRITE
delay(50); // 50mS delay
Serial.write(AFEGAIN,5); //scriere AFEGAIN
delay(50); // 50mS delay
Serial.write(TVG, 10); //Scriere TVGAIN
delay(50); // 50mS delay
// emite puls de spargere și citiți c ontinuu valoarea UMR
while(1u)
{
Serial.write(PRE1_BUR_LIS,4); //emitere presetări burst și listen
delay(50); // delay 50mS
Serial.write(ULTRA_MEAS,3); //emite măsurarea ultrasonică
if(Serial.available()> 0) // verificați dacă datele au fost primite în b ufferul UART
{
byte1 = Serial.read(); //Citește distanța până la obiect
byte2 = Serial.read(); //Citește distanța până la obiect
byte3 = Serial.read(); //Citește lățimea obiectului
byte4 = Serial.read(); //Citește vârful amplitudinii obiectului
}
//////////////////////////////////////////////////////////////
Afișarea
/////////////////////////////////////////////////////////////
lcd.setCursor(0, 1); // setare cursor pe coloana 0, linia 1
lcd.print("Distanta = ");
lcd.print(byte1);
lcd.print("me tri");
delay(1000);
lcd.clear(); // stergerea ecranului pentru urmatorul loop
delay(1000);
/////////////////////////////////////////////////////////////
}
}
//FUNCȚIA PENTRU CALCULARE CRC
unsigned char calcChecksum(unsigned char cmd)
{
unsigned char c hecksumLoops =0;
unsigned char DataCount =0;
unsigned int carry=0;
switch(cmd)
{
case P1BL : //P1BL // PRESET 1 BURST AND LISTEN – NUMOBJECT IS 1 CHECKSUM
ChecksumInput[0] = cmd;
ChecksumInput[1] = numObj;
checksumLoops = 2;
break;
case UMR : //UMR // ULTRASONIC MEASUREMENT RESULT CHECKSUM
//case 2 : //SD //SYSTEM DIAGNOSTICS
ChecksumInput[0] = cmd;
checksumLoops = 1;
break;
case SRW : //RW //REGISTER WRITE CHECKSUM
ChecksumInput[0] = cmd;
ChecksumInput[1] = DECPL_TEMP; //0x26
ChecksumInput[2] = AFEGAINRANGE; //gain_range=0x0F
checksumLoops = 3;
break;
case TVGBW : //TVGBW //TIME VARYING GAIN BULK WRITE CHECKSUM
ChecksumInput[0] = cmd;
ChecksumInput[1] = TVGAIN0;
ChecksumInput[2] = TVGAIN1;
ChecksumInput[3] = TVGAIN2;
ChecksumInp ut[4] = TVGAIN3;
ChecksumInput[5] = TVGAIN4;
ChecksumInput[6] = TVGAIN5;
ChecksumInput[7] = TVGAIN6;
checksumLoops = 8;
break;
case THRBW : //THRBW //THRESHOLD BULK WRITE CHECKSUM
ChecksumInput[0] = cmd;
ChecksumInput[1] = P1_THR_0;
ChecksumInput[2] = P1_THR_1;
ChecksumInput[3] = P1_THR_2;
ChecksumInput[4] = P1_THR_3;
ChecksumInput[5] = P1_THR_4;
ChecksumInput[6] = P1_THR_5;
ChecksumInput[7] = P1_THR_6;
ChecksumInput[8] = P1_THR_7;
ChecksumInput[9] = P1_THR_8;
ChecksumInput[10] = P1_THR_9;
ChecksumInput [11] = P1_THR_10;
ChecksumInput[12] = P1_THR_11;
ChecksumInput[13] = P1_THR_12;
ChecksumInput[14] = P1_THR_13;
ChecksumInput[15] = P1_THR_14;
ChecksumInput[16] = P1_THR_15;
ChecksumInput[17] = P2_THR_0;
ChecksumInput[18] = P2_THR_1;
ChecksumInput[19] = P2_ THR_2;
ChecksumInput[20] = P2_THR_3;
ChecksumInput[21] = P2_THR_4;
ChecksumInput[22] = P2_THR_5;
ChecksumInput[23] = P2_THR_6;
ChecksumInput[24] = P2_THR_7;
ChecksumInput[25] = P2_THR_8;
ChecksumInput[26] = P2_THR_9;
ChecksumInput[27] = P2_THR_10;
ChecksumInput[28] = P2_THR_11;
ChecksumInput[29] = P2_THR_12;
ChecksumInput[30] = P2_THR_13;
ChecksumInput[31] = P2_THR_14;
ChecksumInput[32] = P2_THR_15;
checksumLoops = 33;
break;
default:
break;
}
carry = 0;
for ( DataCount = 0; DataCount < checksu mLoops; DataCount++)
{
if ((ChecksumInput[DataCount] + carry) < carry)
{
carry = carry + ChecksumInput[DataCount] + 1;
}
else
{
carry = carry + ChecksumInput[DataCount];
}
if (carry > 0xFF)
{
carry = carry – 255;
}
}
carry = (~carry & 0x00FF);
return carry;
}
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Ungureanu Valentin -Nicolae [627899] (ID: 627899)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
