Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » fizica
Senzorul ultrasonic de distanta Ping

Senzorul ultrasonic de distanta Ping


Senzorul ultrasonic de distanta Ping

Senzorul ultrasonic de distanta Ping ))) de la Parallax reprezinta o solutie foarte eficienta pentru masurarea distantei intre obiecte stationare sau in miscare. Acest tip de sensor este foarte folosit in robotica, dar si in diverse sisteme de securitate, ca senzor de perimetru sau de proximitate. Interfata cu microcontroller-ul este posibila cu ajutorul unui singur pin de intrare iesire.

Specificatii tehnice

  • Distanta masurabila - 2cm - 300cm
  • Tensiunea de alimentare: 5V +/-10% (Absoluta: Minimum 4.5V, Maximum 6V)
  • Curentul de alimentare: 25 mA - 30 mA
  • Interfata legata la 3 pini (alimentare, masa, semnal)
  • 20 mA - Putere consumata
  • Comunicare simpla de tip pulse in / pulse out
  • Indicator LED
  • Semnal de intrare - impuls pozitiv TTL, 2 uS min, 5 uS typ.
  • Semnal Ecou - impuls pozitiv TTL , 115 uS to 18.5 mS
  • Intarziere Ecou - 350 uS dupa caderea semnalului de intrare
  • Frecventa - 40 kHz timp de 200 uS
  • Dimensiuni - 22 mm H x 46 mm W x 16 mm D (0.85 in x 1.8 in x 0.6 in) (fig.1)



Fig. 1

2 Configuratia pinilor si a circuitului de conectare la placa de dezvoltare

Senzorul are trei pini, vezi figura 2

Fig 2

5 V 5 VDC (Vdd)

SIG Semnal (I/O pin)

GND Masa (Vss)

In figura 3a se   prezinta modul de conectare a senzorului pe placa de dezvoltare, in scopul masurarii distantei, respectiv testarii sistemului.

In cazul in care senzorul se aplica orientarii/navigarii unui sistem de tip robot mobil autonom, acesta este atasat unui servomotor, conexiunile aferente senzorului ramanand aceleasi (fig. 3b).

3 Cum functioneaza senzorul ultrasonic Ping )))

Senzorul detecteaza obiectele aflate in raza de actiune folosindu-se de efectul de reflexie a sunetului. Genereaza un impuls de iesire catre microcontroller si emite o unda ultrasonica cu frecventa de 40KHz. Impulsul trimis microcontroller-ului este intrerupt in momentul in care ecoul isi atinge destinatia (in speta senzorul ultrasonic); de unde rezulta ca latimea impulsului va corespunde cu distanta pana la tinta si inapoi.

In fig.4 se prezinta principiul de functionare al sezorului ultrasonic. Se observa cum cum senzorul " Ping))) " trimite un scurt semnal acustic cu ajutorul unui speaker ultrasonic si masoara timpul de intoarcere al ecoului la microfonul ultrasonic. Basic Stamp porneste prin trimiterea unui impuls, catre senzorul " Ping))) " pentru a incepe masurarea. Apoi senzorul " Ping))) " asteapta ca programul Basic Stamp sa porneasca o comanda "PulseIn". Apoi in acelasi timp senzorul " Ping))) " trimite un semnal de 40 KHZ catre Basic Stamp.

Fig. 4

In figura 5 sunt schematizate semnalele cu care lucreaza modulul ultrasonic:

La temperatura camerei, in cazul in care tinta este la acelasi nivel cu senzorul, raza de actiune a acestuia va fi dupa cum se observa in figura 6.

3 Testarea senzorului PING)))

Pentru testarea senzorului ultrasonic s-au facut mai multe experimente, care vor fi prezentate pe scurt in cele ce urmeaza.

Masurarea timpului ecoului

Montajul necesar acestui experiment este prezentat in fig. 7

Senzorul " Ping))) " are nevoie de un impuls de pornire din Basic Stamp pentru asi incepe masurarea. Un impuls la P15 care dureaza 10 ms (Pulsout 15,5) este usor detectat de catre senzorul " Ping))) " si necesita un scurt timp pentru Basic Stamp sa trimita semnalul. O comanda "PulsIn" care stocheaza durata impulsului ecoului, a senzorului " Ping))) " (PulsIn 15, 1, time) trebuie sa vina imediat dupa comanda "PulsOut" .

In acest exemplu rezultatul stocat de comanda "PulsIn" in variabila "time" este drumul dus-intors al semnalului de la senzorul " Ping))) " catre obiect.

Urmatorul program poate fi testat prin masurarea distantei a catorva obiecte de aproape. Pentru masurari de aproape, senzorul " Ping))) " are nevoie sa fie la 3-4 inch (in jur de 8-10 cm), deasupra suprafetei de lucru. Totusi daca se masoara obiecte care se afla la o distanta mai mare de o jumatate de metro, este necesara ridicarea senzorului " Ping))) " pentru prevenirea inregistrarii ecoului din podea, ca si obiecte detectate.

Proceduri de testare

se plaseaza   placuta cu circuitul senzorului " Ping))) " pe ceva pentru a o tine la cel putin 8 cm distanta de suprafata mesei;

se plaseaza un obiect (sticla de apa, o cutie, etc.) la 15 cm de fata senzorului " Ping))) " ;

se introduce, se salveaza si se ruleaza programul "PingTest.Bs2" ;

terminalul "debug" ar trebuie sa porneasca raportand o valoare in raza de 400 pana la 500;

se deplaseaza tinta la o distanta de 30 cm, de senzorul " Ping))) " si se verifica daca valoarea variabilei timpului se dubleaza;

se indreapta senzorul " Ping))) " catre diverse obiecte din apropiere sau departare si se observa masurarea timpului.

' Program de test al senzorului Ping )))

time VAR Word

DO

PULSOUT 15, 5

PULSIN 15, 1, time

DEBUG HOME, 'time = ', DEC5 time

PAUSE 100

2.Testarea razei, unghiului si marimii obiectului :

In materie de precizie si utilitate detectarea ultrasonica a distantei este foarte precisa, in special comparative cu alte sisteme, de detectare a distantei mai ieftine. Aceasta nu insemna ca senzorul " Ping))) " este capabil sa masoare orice. Cateva situatii pe care senzorul " Ping))) " nu e proiectat sa le masoare (fig.6):

a. distante mai mari de 3 m;

b. unghiuri mai mari de 45 grade;

c. obiecte prea mici.

Fig. 6

 

In plus dupa cum Ken Gracey de la Prallax Inc. a descoperit in timpul unei demostratii la scoala fiului sau unele obiecte, cu suprafete neregulate si moi (cum ar fi: jucariile de plus), absorb mai degraba decat sa reflecte sunetul si astfel sunt dificil de detectat cu senzorul " Ping))) " obiectele cu suprafete netede sunt mai usor de detectat pentru sensor.

Procedurile pentru testarea senzorului sunt prezentate pe scurt in continuare.

Se indreapta senzorul " Ping))) " spre obiecte diferite aflate la distante diferite.

Fig. 7

Care este cea mai mare valoare care se intoarce la senzorul " Ping))) " ?.

Cat de aproape trebuie sa ajungi de un obiect inainte ca masurile timpului sa inceapa sa scada?

Incearca sa stai la un metru distanta de zid si indreapta senzorul " Ping))) " spre el si inregistreaza masurarea. Apoi incearca sa indrepti senzorul spre zid la unghiuri diferite ca in imaginea 7. Se schimba valorile? La ce unghi inceteaza senzorul " Ping))) " sa detecteze zidul?

Incearca sa atairni obiecte de tavan la aproximativ 1.5 m de senzor. Cat de mici pot fi obiectele? Conteaza forma si unghiul? Se schimba marimea ceruta a obiectelor la 0.5 m?

Incearca detectarea obiectelor de marimi similare, dar din materiale diferite. Pentru a vedea daca efectul este mai mic in cazul obiectelor care absorb sunetul. Poti gasi obiecte invizibile pentru senzorul " Ping))) " ?

Observatie: La intrebarile de mai sus s-au gasit unele raspunsuri care vor fi prezentate in capitolul rezultate experimentale.

4 Masurarea distantei in centimetrii cu PBASIC

In acest paragraf se incearca calculul distantei in centimetrii dintre senzor si un obiect folosind Basic STAMP 2 si comanda PulsIn.

Date initiale:

Viteza sunetului la 22, 2 grade Celsius este Ca = 344.8 m/s, adica 34480 cm/s

Spatiul parcurs de unda sonora de la emisie la receptie este :

Distanta pana la obiect este:

Unitatatea de masura folosita comanda PulsIn este 2 microsecunde (la Basic STAMP 2). Pentru a masura distantain secunde vom folosi relatia :

Pentru a obtine constanta de timp , CmConstant se foloseste operatia de transformare in BasicStamp:

Cmconstant=0,03448X65536=2260.

Programul pentru determinarea distantei in centimetrii este:

' Smart Sensors and Applications - PingMeasureCm.bs2

' Measure distance with Ping))) sensor and display in centimeters.

' Conversion constants for room temperature measurements.

CmConstant CON 2260

cmDistance VAR Word

time VAR Word

DO

PULSOUT 15, 5

PULSIN 15, 1, time

cmDistance = CmConstant ** time

DEBUG HOME, DEC3 cmDistance, ' cm'

PAUSE 100

LOOP

Programul afiseaza pe ecran valoarea variabilei cmDistance = 2260.time intr-o bocla infinita.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.