fonctionnement_capteur_ultrason

publicité
Utilisation d'un capteur à ultrasons
HC-SR04
1 - Comment fonctionne le capteur ?
Au début, on applique un signal carré d'une durée de 10 µs. Puis un peu plus tard, le capteur va générer 8 signaux
périodiques consécutifs à la fréquence de 40 kHz. Ceci va donc durer 8/40000 secondes soit 200 µs.
Va alors être généré un signal d'écho dont la durée dépend la distance de l'objet. La durée minimale de ce signal
sera de 150 µs pour une distance minimale de 2,5 cm) alors que la durée maximale sera de 25 ms pour une
distance de 431 cm. Si aucun obstacle n'est détecté le signal aura une durée de 38 ms.
2 – Comment on obtient la distance en fonction du temps ?
Les formules sont données dans le document.
distance=
temps
avec distance en cm et temps en µs.
58
Cette formule est acceptable. Nous allons le démontrer ci-dessous.
Cette formule a été déterminée pour une vitesse de transmission standard de 344 m/s. Or la vitesse de
propagation d'une onde sonore (ou ultrasonore) dans l'air dépend de nombreux paramètres comme la température
et l'altitude. Voici d'ailleurs un tableau qui indique les possibilités.
Influence de la température de l'air
θ en °C
-5
0
+5
+ 10
v en m/s
328,5
331,5
334,5
337,5
θ en °C
+ 15
+ 20
+ 25
+ 30
v en m/s
340,5
343,4
346,3
349,2
La relation est de v = 331,5 + 0,6 x ∆T (∆T est la variation par rapport à 0°C)
Documentation
Capteur ultrasonore
Page 1 sur 3
La table suivante présente l'évolution de quelques propriétés de l'air en fonction de l'altitude.
Influence de l'altitude sur l'air
Altitude en m
0
200
400
600
800
θ en °C
15,00
13,70
12,40
11,10
9,80
v en m/s
340,3
339,5
338,8
338,0
337,2
Altitude en m
1000
2000
3000
4000
6000
θ en °C
8,50
2,00
-4,49
-10,98
-24,0
v en m/s
336,4
332,5
328,6
324,6
316,5
On voit ainsi que cela se complique. Prenons un exemple :
Pour une altitude de 200 m, on obtient à 13,7 °C une vitesse de 339,5 m/s. Si la température était de 0 °C, on
aurait alors une vitesse de 339,5 +0,6*(-13,7) soit 331,3 m/s
A 20 °C on aurait alors 331,3 + 0,6*20 soit 343,3 m/s. On voit que cela change peu.
Si on calcule la distance en prenant en compte la vitesse du signal. (notons la
v )
Le signal part du capteur, rencontre un obstacle et revient. Il parcourt donc le double de la distance entre le
capteur et l'objet. Notons t le temps mis.
La distance parcourue ( d ) sera de : d=t×v
Si on se place à 20 °C on aura donc le tableau suivant :
t en s
0,000100
0,000200
0,001000
0,005000
0,010000
0,030000
t
100 µs
200 µs
1 ms
5 ms
10 ms
30 ms
d en m
0,03434
0,06868
0,3434
1,717
3,434
10,302
d en cm
3,434
6,868
34,340
171,700
343,400
1030,200
avec
t
en s,
d/2 en cm
1,717
3,434
17,170
85,850
171,700
515,100
d
en m et
v
Formule utilisée
1,724
3,448
17,241
86,207
172,414
517,241
en m/s.
% d'erreur
0,42%
0,42%
0,42%
0,42%
0,42%
0,42%
d/2 est la distance du capteur à l'objet et l'avant dernière colonne indique la valeur si on utilise la formule
du document :
distance=
temps
58
avec distance en cm et temps en µs. On voit que la formule n'est pas si loin
que cela de la vérité à 20 °C. (écart de 0,42%)
Pour 10 °C, on obtient :
t en s
0,000100
0,000200
0,001000
0,005000
0,010000
0,030000
t
100 µs
200 µs
1 ms
5 ms
10 ms
30 ms
d en m
0,03375
0,0675
0,3375
1,6875
3,375
10,125
d en cm
3,375
6,750
33,750
168,750
337,500
1012,500
d/2 en cm
1,688
3,375
16,875
84,375
168,750
506,250
Formule utilisée
1,724
3,448
17,241
86,207
172,414
517,241
% d'erreur
2,17%
2,17%
2,17%
2,17%
2,17%
2,17%
Là, les écarts deviennent plus importants, mais l'écart maximal est de 11 cm pour une distance de 5 m soit
un écart de 2,17 %.
On peut donc considérer que la formule donnée dans le document est plus que correcte.
Documentation
Capteur ultrasonore
Page 2 sur 3
3 - Une idée d'algorithme :
Initialiser les broches utilisées en entrée ou en sortie selon les cas.
Attendre l'initialisation du capteur (par exemple 0,5 s)
Générer un signal au niveau haut pendant 10 µs
Attendre que le signal d'écho passe à 1
Mettre le temps de départ à 0
Attendre que le signal d'écho passe à 0
Déterminer le temps final
Calculer le temps entre le départ et le temps final
Calculer la distance
Si la distance est supérieure à 400 cm, Afficher "aucun obstacle détecté"
Sinon Afficher la distance
Prévoir de tout réinitialiser lors de la fin du programme.
4 - Tests de fiabilité : Pour voir un peu la fiabilité de l'engin. On a testé son efficacité entre 2 et 140 cm.
Vous trouverez ci dessous un tableau des valeurs récoltées (10 mesures pour chaque point de contrôle).
Comme vous pouvez le voir, on a globalement des résultats pas mal pour un capteur de cette qualité.
De plus la formule utilisée n'est pas totalement juste. Il faudrait tenir exactement compte de la température, de la
pression atmosphérique, de l'altitude, .......... Certaines mesures semblent fantaisistes.
Pour éviter des erreurs trop nombreuses, le Raspberry ne doit avoir aucune autre activité pendant les
mesurages. Ceci améliorera peut-être les mesures.
Ces tests nous apportent au moins une information intéressante : la plupart du temps, on pourra
se contenter de quelques mesures, de supprimer la plus petite, la plus grande, et d’utiliser une moyenne
des autres, cela afin d’éviter les rares valeurs parasites qui peuvent fausser le résultat.
Documentation
Capteur ultrasonore
Page 3 sur 3
Téléchargement