Tips & Trick - Elettronica

 

 

Sensore a ultrasuoni HC-SR04.


Per la misura di distanze, gli ultrasuoni sono una buona idea, tanto che esistono sensori low cost.

Il principale ha la sigla HC-SR04 e si trova ampiamente in rete a costi veramente minimi.
Se ne trovano da numerose fonti, con i costi più disparati, ma sostanzialmente i prodotto è identico.

Si tratta di un circuito stampato a doppia faccia, solitamente finito in blu, che porta da un lato i due trasduttori ultrasonici piezo e dall'altro i componenti necessari alla gestione.

 

Sul lato frontale sono ben visibili le due capsule ultrasoniche (l'emettitore a sinistra, il ricevitore a destra).
Sul retro si vede un certo numero di componenti SMD.
Il componente centrale è un microcontroller OTP, EM78P153S della Elan Microelctronics, con un clock di 4MHz e che ha la funzione di interfaccia con l'esterno e di gestione degli impulsi. 
Il componente a sinistra è un LM324 che ha la funzione di amplificatore, filtro e discriminatore per il segnale di ritorno. Per comandare la capsula piezo trasmittente, un integrato simil-MAX232 (quello a destra) genera una una tensione di picco di una ventina di volt con la pompa di carico interna.

Il funzionamento è semplice: inviando al pin 2-Trig un impulso alto di almeno 10us, si ottiene dall'emettitore un treno di 8 impulsi a 40KHz.
Il ricevitore cattura l'eco riflesso dall'oggetto più vicino e al pin 3-Echo si rileva un impulso la cui durata è proporzionale alla distanza tra sensore e oggetto.


L'impulso sul pin echo inizia alla fine dell'emissione del treno di impulsi ultrasonici e cessa quando il sensore individua un echo di ritorno.

Per utilizzare il sensore occorre, quindi:

  1. Inviare sul pin Trig un impulso a livello alto per almeno 10µs. Questo avvia un ciclo del sensore.
    Senza questo impulso, il sensore è in modalità inattiva.

  2. 8 impulsi da 40kHz saranno trasmessi dal trasduttore piezo del sensore

  3. Il pin Echo va a livello alto.

  4. L'onda sonora a 40kHz rimbalza sull'oggetto più vicino e ritorna al sensore.

  5. Quando la capsula ricevitrice rileva l'onda sonora riflessa, il pin Echo andrà a livello basso.

  6. La distanza tra il sensore e l'oggetto rilevato può essere calcolato in base alla lunghezza del tempo dell'impulso.

  7. Se non viene rilevato alcun oggetto, il pin Echo rimarrà a livello alto per 38ms e quindi ritorna a livello basso.

Le caratteristiche elettriche sono:

Tensione di alimentazione

5V

Corrente in stand by

max 2mA

Corrente operativa

15mA typ.

Angolo di copertura

50°

Distanza coperta

2 - 450cm circa

Definizione

3mm

Frequenza 

40KHz

Impulso di trigger

10us minimo

Ripetizione impulso

>50us

Pinout

1 - Vcc
2 - Trigger
3 - Echo
4 - GND

L'ampiezza dell'impulso al pin Echo varia tra 150us e 25ms, 38ms se non sono rilevati ostacoli.

In pratica, la propagazione del segnale ultrasonico nell'aria fornisce la seguente relazione:

distanza = durata impulso * velocità / 2
D = T * V / 2

Diviso 2 perchè si deve tener conto che l'impulso ultrasonico è andato e l'eco è tornato, coprendo una distanza doppia.

Temperatura
[°C]

Velocità
[m/s]

-10

325.4

-5

328.5

0

331.5

+5

334.5

+10

337.5

+15

340.5

+20

343.4

+25

346.3

+30

349.2

La velocità del suono nell'aria dipende da vari fattori, uno dei quali è la temperatura.

La tabella a lato riporta alcuni valori: vediamo che c'è una sensibile variazione nel range di temperature comuni.

Possiamo considerare la velocità alla temperatura
standard di 20°C, ovvero pari a 343.4m/s, ovvero 34340cm/s.

Quindi:

  34340 = D / T/2 -> 17170 = D / T  

da cui:

D = T / 1/17170 = T / 58.24

Si può allora approssimare con queste formule:

distanza in cm = durataimpulso in us / 58
distanza
in pollici = durata impulso in us / 148

Volendo leggere la distanza con un microcontroller, dobbiamo considerare il clock: con Fosc=4MHz, il Tcyc è 1us. Quindi abbiamo 1cm = 58Tcyc.
Così , un impulso da 200us corrisponderà a:

200 / 58.240 = 3.434cm

o, approssimato:

200 / 58 = 3.44cm

Se il clock diventa 20MHz, il Tcyc è uguale a 200ns, per cui abbiamo 1cm = 293 Tcyc.

Nel caso in cui sia richiesta una maggiore precisione, si dovrà calibrare i calcoli almeno in funzione della temperatura ambiente.

Nelle prove fatte, il sensore ha reso quanto promesso sul foglio dati.

Immagine oscilloscopica dell'impulso di echo:
  • tempo = 4.12ms
  • distanza target
    4120 / 58 = 71cm circa
Immagine oscilloscopica dell'impulso di echo:
  • tempo = 11.9ms
  • distanza target
    11900 / 58 = 201cm circa

 

Alcune note:

  1. Con i dati forniti, la ripetizione dell' impulso di trigger dovrebbe non essere inferiore a 40ms per evitare di avere una sovrapposizione di echo. 

  2. Per essere correttamente individuato, la superficie del bersaglio alla massima distanza, deve essere di circa 0.5m2 o più.

  3. La precisione dipende da molti fattori, tra cui le condizioni dell'aria, principalmente al temperatura, (che influiscono sulla velocità del suono) e le caratteristiche dell'oggetto, compresa la complanarità con il sensore, il movimento del sensore o dell'oggetto, la presenza di più oggetti con echi sovrapposti, la densità dell'oggetto e la sua capacità di assorbire o riflettere gli ultrasuoni, ecc.
    Un ambiente rumoroso in cui siano presenti impulsi di disturbo a frequenza analoga a quella della emissione potrà creare problemi nella determinazione delle distanze

Il sensore è sufficientemente preciso, ma, data la natura degli ultrasuoni, non si tratta di un sistema di elevatissima precisione, a meno di una calibrazione. 
Però è un sensore funzionale, con un costo minimo.


 

Copyright © afg . Tutti i diritti riservati.
Aggiornato il 02/06/17 .