Capteur de distance HC-SR04

Il existe plein de module de mesure de distance par ultrasons, et plein de clones de ces modules. Évitez les modules à moins d'1$, ils sont très mal copiés, autant en acheter un bien directement [lien] ou le faire soi-même [lien].
Si vous en avez sur les bras (des clones chinois pourris qui ne captent que des surfaces dures et plates perpendiculaires), il est possible de les améliorer grâce au travail de d'Emil http://uglyduck.ath.cx/ep/archive/2014/01/Making_a_better_HC_SR04_Echo_Locator.html

Fonctionnement général de la mesure par ultrason :

  1. émettre des ultrasons un court instant
  2. écouter le retour du premier écho, mesurer le temps écoulé entre l'émission et la réception
  3. Convertir le temps en distance (environ 340m/s).

En détail : L'émission est puissante et fait vibrer tout : la carcasse de votre robot, le PCB dans le cas de notre module, etc. Plus l'émission est puissante et transmise, plus longtemps il faudra attendre que ça se calme, plus longue sera la distance minimale mesurable.
Les émetteurs et les récepteurs sont souvent différenciés, ça permet également de les séparer et éviter ce problème. Le signal provenant du récepteur est amplifié, beaucoup, et filtré à la fréquence d'émission (dans les 40KHz) par un filtre passe bande. Un microcontrôleur analyse le signal de retour et en déduit la durée qu'a mis l'écho à revenir.

Le HC-SR04 est très copié, le modèle acheté par Drix est un peu différent de celui étudié par Emil, mais la partie analogique est presque identique. Le filtre passe-bande est donc mauvais et modifiable de la même façon qu'indiquée, sauf qu'ici c'est R5 qui doit passer de 75K à 18K et R3 de 6,2K à 2,2K. R3 et R5 modifiées Je n'avais pas de 18K en CMS, mais une grosse résistance fait aussi l'affaire. Une fois la modification faite, le système est trop sensible, l'amplification est trop forte pour les réglages programmés. Comme on ne peut pas modifier le code du microcontrôleur intégré, plutôt que de modifier le microcontrôleur comme l'a fait ce ouf d'Emil, on va plutôt isoler physiquement l'émetteur du reste : On dessoude l'émetteur et on rajoute des fils, assez longs, pour l'éloigner et l'isoler du module récepteur.
Rallonge avec des fils Dans le montage final, il faudra penser à ne pas fixer en dur l'émetteur au châssis. L'ensemble fonctionne bien et est très sensible, jusqu'à 4m. Et les cônes de sensibilité max de 15° d'après le constructeur, ça ne veut pas dire qu'à 60° ça ne marche plus, c'est juste moins sensible. Il vaut donc mieux expérimenter dans un environnement préparé (depuis un bord de table par exemple).

Correspondance entre le schéma d'Emil et le mien reversé :
Emil's → Mine
R14 → R1
R15 → R2
R21 → R14
R16 → R15
R13 → R3 (à remplacer par une 2,2K)
R11 → R5 (à remplacer par une 18K)
R13 → R4