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
58
avec distance en cm et temps en µs.
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 v en m/s θ en °C v en m/s
- 5 328,5 + 15 340,5
0 331,5 + 20 343,4
+ 5 334,5 + 25 346,3
+ 10 337,5 + 30 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 θ en °C v en m/s Altitude en m θ en °C v en m/s
0 15,00 340,3 1000 8,50 336,4
200 13,70 339,5 2000 2,00 332,5
400 12,40 338,8 3000 -4,49 328,6
600 11,10 338,0 4000 -10,98 324,6
800 9,80 337,2 6000 -24,0 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
avec
t
en s,
d
en m et
v
en m/s.
Si on se place à 20 °C on aura donc le tableau suivant :
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 :
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
t en s t d en m d en cm d/2 en cm Formule utilisée % d'erreur
0,000100 100 µs 0,03375 3,375 1,688 1,724 2,17%
0,000200 200 µs 0,0675 6,750 3,375 3,448 2,17%
0,001000 1 ms 0,3375 33,750 16,875 17,241 2,17%
0,005000 5 ms 1,6875 168,750 84,375 86,207 2,17%
0,010000 10 ms 3,375 337,500 168,750 172,414 2,17%
0,030000 30 ms 10,125 1012,500 506,250 517,241 2,17%
t en s t d en m d en cm d/2 en cm Formule utilisée % d'erreur
0,000100 100 µs 0,03434 3,434 1,717 1,724 0,42%
0,000200 200 µs 0,06868 6,868 3,434 3,448 0,42%
0,001000 1 ms 0,3434 34,340 17,170 17,241 0,42%
0,005000 5 ms 1,717 171,700 85,850 86,207 0,42%
0,010000 10 ms 3,434 343,400 171,700 172,414 0,42%
0,030000 30 ms 10,302 1030,200 515,100 517,241 0,42%
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
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !