Determinarea distanţei

by donpedro

Utilizarea unui dispozitiv ultrasonic pentru determinarea distanţei.

de Keith Curtis, Microchip Technology Inc.

Detecţia ultrasonică a distanţei poate fi realizată cu un dispozitiv ultrasonic la care se adaugă numai un amplificator operaţional şi un microcontroler cu 4 pini de intrare/ieşire disponibili şi un comparator intern integrat.
Pentru a observa cum lucrează acest sistem, puteţi lua un transmiţător ultrasonic ce emite un puls la 40kHz sau câteva oscilaţii la această frecvenţă. Un semnal dreptunghiular de unul până la câteva lungimi de undă poate fi comandat de microcontroler către dispozitivul ultrasonic pentru a crea pulsul. Pulsul este reflectat de orice obiect cu densitatea mai mare decât aerul, iar o parte din pulsul emis se întoarce la receptor. Durata între emisie şi recepţie poate fi măsurată şi convertită în distanţă cu ajutorul vitezei sunetului.
Sunetul necesită un mediu prin care să călătorească, precum aerul, apa sau oţelul. În general, într-un mediu mai dens, sunetul se propagă mai rapid. Viteza sunetului în aer variază pe baza temperaturii, umidităţii şi altitudinii. La temperatura camerei ea poate fi considerată constantă, de 343m/s. Aceasta este o viteză ideală utilizată de microcontroler pentru a calcula durata excursiei pulsului emis peste câţiva metri.

Figura 1: Circuitul echivalent al unui dispozitiv ultrasonic.

Tipul suprafeţei de reflexie nu este critic; la 40kHz aproape toate suprafeţele reflectă unda sonoră. Contactul perpendicular cu o suprafaţă este preferabil pentru a reflecta pulsul direct înapoi către receptor. Odată cu creşterea unghiului incident la suprafaţă, proporţia pulsului reflectat către receptor scade.
Un traductor ultrasonic operează similar cu un buzzer piezo, dar la o frecvenţă mai ridicată, ce nu poate fi auzită. Când un curent electric trece printr-un dispozitiv piezoelectric, el se deformează sau se îndoaie, revenind la forma originală când curentul este îndepărtat. Când o undă dreptunghiulară de 40kHz este aplicată pe pinii dispozitivului, atunci se emite un puls sonor de 40kHz. Un receptor ultrasonic lucrează pe dos, şi anume, în urma semnalului sonor ultrasonic produce o tensiune, dar la o amplitudine mult mai mică.
Un dispozitiv ultrasonic poate fi un transmiţător, receptor sau amândouă şi poate fi într-o carcasă deschisă sau închisă rezistentă la apă. Această demonstraţie utilizează un receptor şi un emiţător separate, de tip deschis. Acest tip este cel mai uşor de utilizat, deoarece în cazul unor transmiţătoare rezistente la apă este necesară o tensiune de comandă mai mare.
Figura 1 prezintă circuitul echivalent al unui dispo­zitiv ultrasonic. El acţionează ca o sarcină capacitivă, dar din cauza aspectelor inductive şi capacitive, este reglat la o frecvenţă de rezonanţă de 40kHz. Transmiţătorul este reglat pentru o ieşire maximă în vreme ce receptorul este reglat pentru o ieşire de tensiune maximă la un semnal sonor de 40kHz. Acesta are un efect atenuator de filtrare asupra tuturor celorlalte frecvenţe şi este util în eliminarea zgomotului la amplificarea semnalului recepţionat. Valorile tipice pentru dispozitivele utilizate în demonstraţie sunt listate în partea de jos a figurii 1.

Comanda unui dispozitiv ultrasonic
Comanda unui transmiţător ultrasonic capacitiv cu un semnal diferenţial oferă cea mai mare putere a transmisiei atunci când se menţine o deviaţie de 0,0V de-a lungul dispozitivului.
Comanda diferenţială a pinilor elimină de asemenea necesitatea unei surse de tensiune negativă pentru comanda dispozitivului.
O problemă cu traductoarele ultrasonice este aceea că vor continua să oscileze sau să sune şi după îndepărtarea semnalului de comandă. Acest lucru se datorează comportării mecanice rezonante a traductorului. Traductorul este reglat să sune ca un clopot la frecvenţa sa ultrasonică specificată atunci când este comandat şi durează o scurtă

Figura 2: Dispozitiv ultrasonic.

perioadă de timp pentru a ieşi din această stare atunci când se înlătură semnalul de comandă. În vreme ce transmiţătorul sună, semnalul se va conecta prin PCB sau va călători prin aer între transmiţător şi receptor, părând că există un semnal recepţionat. De aceea, este nevoie de o întârziere înainte ca receptorul să fie pornit pentru a asigura că semnalul s-a stins, şi că orice semnal recepţionat este acela datorat pulsului reflectat. Durata de timp necesară pentru ca semnalul să se stingă determină distanţa minimă detectabilă a receptorului, conform figurii 2.
Dispozitivele ultrasonice ar trebui comandate cât de aproape posibil faţă de frecvenţa lor specificată pentru a creşte puterea de ieşire. De exemplu, oscilatorul intern de 8MHz al microcontrolerului Microchip PIC16F690, poate fi cu uşurinţă divizat pentru a crea un semnal de comandă de 40kHz. Doi pini de I/O ai microcontrolerului PIC pot fi utilizaţi pentru a genera semnalul diferenţial de 40kHz ce comandă transmiţătorul ultrasonic. Această demon­straţie utilizează întreruperea la depăşire a Timer0 pentru a crea baza de timp a ieşirii.
O metodă alternativă, mai automată pentru comanda unui dispozitiv ultrasonic ar putea fi utilizarea modulului ECCP oferit pe multe MCU-uri PIC. Modulul poate fi reglat să trimită la ieşire un semnal PWM de o frecvenţă selectată pe doi pini, P1A şi P1B, în mod jumătate de punte, cu o ieşire inversată. Modulul ECCP utilizează Timer2 pentru a stabili o bază de timp pentru PWM.

Figura 3: Circuit amplificator diferenţial.

Activarea post-scalării Timer2 permite utilizatorului să stabilească numărul de pulsuri generate înainte de stabilirea flag-ului de întrerupere. Acesta permite ca un puls ultrasonic să fie trimis cu o singură întrerupere.
Odată ce este creat un semnal ultrasonic şi este trimis către transmiţătorul ultrasonic, următoarea sarcină este de a detecta şi cronometra pulsul reflectat ce se întoarce. Unda sonoră ce se întoarce este semnificativ atenuată şi este necesară o atenuare înainte ca semnalul să poată fi detectat de un comparator. Această amplificare poate fi un amplificator operaţional într-o configuraţie de amplificator diferenţial.

Amplificator diferenţial
Un exemplu de circuit pentru un amplificator diferenţial este prezentat în figura 3. Acest circuit de amplificator operaţional amplifică tensiunea din receptorul ultrasonic între cei doi pini de intrare. Zgomotul de mod comun la ieşire este redus prin potrivirea curentului de intrare de polarizare prin rezistenţele R2 şi R4 şi rezistenţele R1 şi R3.
Receptorul ultrasonic se comportă ca un filtru Q cu reglaj. Amplificatorul operaţional diferenţial amplifică efectul de filtrare al acestui receptor. În primul rând este amplificat şi filtrat semnalul recepţionat versus zgomotul de mod comun.
Selectarea amplificatorului operaţional potrivit pentru prima treaptă de amplificare a receptorului ultrasonic poate elimina necesitatea pentru mai mult de un amplificator operaţional şi un filtru.
Această demonstraţie utilizează amplificatorul operaţional Microchip MCP6022 deoarece el are o lăţime de bandă a amplificării unitare (UGBW) de 10MHz. O valoare ridicată a UGBW înseamnă că amplificarea amplificatorului operaţional este mai mare la o frecvenţă specificată, precum 40kHz. Circuitul demonstrativ are un câştig de la 250 la 300 la 40kHz deoarece câştigul este limitat de UGBW şi nu este descris de R1/R2.
Un separator de date este un circuit uzual în multe aplicaţii de comunicaţii. O tensiune de prag, V_th, este comparată cu intrarea amplificată pentru a detecta semnalul. V_th în figura 4 este stabilită puţin mai jos faţă de valoarea medie a semnalului ultrasonic amplificat, V_US.
De fiecare dată când un puls ultrasonic este amplificat, valoarea la nivelul pinului C2IN- va scădea sub valoarea C2IN+, cauzând comutarea valorii comparatorului. Valoarea R2 ar trebui să fie mult mai mare decât valoarea lui R1, dar nu aşa de mare încât să cauzeze comutarea comparatorului din cauza zgomotului din semnalul amplificat. Ideal, R1 este stabilită astfel încât valoarea tensiunii de prag să fie deasupra zgomotului semnalului ultrasonic recepţionat. Cu cât este mai aproape tensiunea de prag faţă de semnalul recepţionat, cu atât mai mare este distanţa detectabilă a receptorului.
Pinul C2OUT al microcontrolerului PIC poate fi utilizat pentru depanarea acestui nivel al receptorului ultrasonic. O problemă comună este stabilirea incorectă a tensiunii de prag. Dacă ea este prea mică, domeniul de detecţie al receptorului va fi limi­tat. Dacă este prea mare, comparatorul va comuta datorită vârfurilor de zgomot din linie, făcând imposibilă detectarea prezenţei unui semnal.
Funcţia de poartă a Timer1 oferă un semnal de activare pentru semnalul de ceas al numărătorului pe 16 biţi Timer1. Ieşirea comparatorului, C2OUT, poate fi selectată ca o sursă internă pentru poarta Timer1. Numărarea este activată atâta vreme cât semnalul C2OUT este de nivel jos. Odată detectat un semnal ultrasonic, se schimbă valoarea C2OUT, iar numărarea se opreşte. Valoarea stocată în regis­trele Timer1 este durata de timp a excursiei sub forma numărului semnalului ultrasonic. În funcţie de frecvenţa oscilatorului dispozitivului, acest număr va reprezenta o valoare de timp specifică.
După detectarea pulsului ultrasonic ce revine, Timer1 stochează o valoare de numărare cores­pon­dentă duratei de timp a excursiei pulsului ultrasonic. Această valoare poate fi convertită în distanţă prin împărţire la doi şi multiplicare cu viteza sunetului. Împărţirea la doi se face deoarece este o măsurare a excursiei dus-întors şi poate fi realizată prin deplasarea valorii măsurate cu un bit.

Figura 4: Separator de date.

Lungimea de undă a frecvenţei purtătoare determină rezoluţia sistemului. O frecvenţă de 40kHz are o lungime de undă de aproximativ 0,85cm. Trecerea către o frecvenţă purtătoare mai ridicată creşte rezoluţia, dar îngustează directivitatea şi scade raza de acţiune. Rezoluţia poate fi afectată de precizia oscilatorului utilizat pentru cronometrarea pulsului ce revine, şi întârzierile de propagare a semnalului printr-un filtru mai complicat. Fiind luate în considerare toate acestea, rezoluţia sistemului ultrasonic ce operează la 40kHz poate fi de aproximativ 1cm şi nu depinde de raza de acţiune, fiind detectat numai pulsul ce se întoarce.
Există două căi pentru a creşte distanţa detectabilă maximă în această aplicaţie: creşterea puterii transmisiei şi creşterea sensibilităţii receptorului. Această demonstraţie utilizează pini de I/O pentru comanda transmiţătorului la un maxim de 20mA şi 5V; driverele MOSFET ar putea fi utilizate pentru a creşte curentul şi tensiunea de comandă. Câştigul receptorului la 40kHz determină ce poate fi detectat de comparator.
Demonstraţia utilizează numai un amplificator operaţional ca amplificator diferenţial. Deoarece este numai un nivel de amplificare, nu este nevoie de filtrare. Un receptor multi-nivel ar avea nevoie de filtrare între primul nivel de amplificare şi comparator pentru a reduce zgomotul. Controlul atent al tensiunii de prag la nivelul comparatorului va asigura detectarea celui mai mic puls de semnal de revenire.
Dacă sunt utilizate un transmiţător şi un receptor separate, ele trebuie să fie aliniate în aceeaşi direcţie. Semnalul transmis şi orice sunet subsecvent se vor “scurge” prin PCB către circuitul de recepţie. Stabilirea unui spaţiu mai mare sau a unei decupări pe placă între dispozitive vor ajuta la reducerea acestei influenţe. Traductoarele ultraso­nice sunt adesea montate utilizând cauciuc sau sili­con pentru a limita influenţa semnalului ultrasonic către şi dinspre materialul înconjurător.

Concluzie
Detecţia ultrasonică a distanţei poate fi obţinută utilizând un PIC16F690, un amplificator operaţional MCP6022 şi un dispozitiv ultrasonic MuRata MA40S4R/S. Doi pini ai microcontrolerului PIC oferă suficientă putere de comandă pentru a transmite un puls ultrasonic. Timer0 şi Timer1 au fost utilizate pentru a crea un semnal de 40kHz şi pentru a cronometra întoarcerea semnalului. MCP6022 a amplificat semnalul la receptor, iar comparatorul analogic intern al PIC16F690 a fost utilizat pentru a detecta prezenţa în semnal a pulsului ce revine ■

Microchip Technology
www.microchip.com

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

Adaugă un comentariu