jauge de précision lidar: mesure jusqu’à 12 m
Mon idée initiale en achetant un lidar TFMini-S était de construire une sorte de radar avec. Mais, comme souvent, je n’ai rien fait avec cet appareil jusqu'à ce que je me sois retrouvé face à une situation éclairante dans mon boulot.
Les tubes soudés par résistance électrique (ERW) sont de longs tubes d’un diamètre de 300 mm ou plus et d’une longueur pouvant atteindre douze mètres. Ils sont utilisés dans notre centrale électrique pour le transport de bouillie de cendres. Un jour, alors que je manipulais ces longs tubes pour l’assemblage des conduites d’évacuation de bouillie de cendres, j’ai constaté que mon équipe devait précisément mesurer chaque tube avant de les faire sortir par la porte. Chaque jour, quelqu’un doit consacrer du temps à effectuer ces mesures au moins 30 à 50 fois. Tenir le mètre à ruban à une extrémité avec un superviseur à l’autre, puis noter la longueur, en plein air, sous un soleil brûlant de 47 °C est un travail fastidieux. Ainsi, mon idée de créer une jauge de mesure de précision est née.
Modules lidar
Le capteur de mesure lidar à point unique TFMini-S (figure 1) permet d’effectuer des mesures de distance très rapidement (100 Hz) et très précisément (résolution de 1 cm, précision de 1 %) jusqu’à 12 m, ce qui convient parfaitement à ce type de tâche. Il existe également une version Plus, plus rapide (1 kHz) et dotée d’un boîtier conforme au standard IP65. Les deux versions sont équipées d’une interface série.
En plaçant le lidar à une extrémité du tube et en le dirigeant ensuite vers la plaque de bord à l’autre extrémité, nous obtiendrons une longueur précise du tube. Les deux versions du lidar ont un champ de vision (FOV) de 3,4 degrés ; il est donc très important de le pointer correctement pour obtenir des lectures correctes. Pour faciliter cette tâche, nous avons ajouté à notre système un pointeur laser actionné par un bouton-poussoir.
J’ai utilisé un module ESP32 pour contrôler le lidar et pour faire les calculs. J’ai ajouté un petit écran OLED pour afficher les mesures de distance. Intégrer une moyenne mobile de quelques mesures augmente la précision. Ensuite, il est possible d’imprimer le résultat sous la forme d’une valeur à virgule flottante. Mais, pour plus de rapidité et de simplicité, je l’ai gardé comme un simple nombre entier.
Les lidars TFMini utilisent la réflexion de la lumière laser infrarouge invisible sur la surface de l’objet qu’ils ciblent. Si l’objet ne reflète pas, absorbe complètement ou défléchit la lumière laser entrante, la lecture sera erronée. Par exemple, évitez l’eau et les fenêtres en verre inclinées et très réfléchissantes. La plupart des autres objets réfléchissent suffisamment de lumière et les relevés sont pris facilement, même lorsque l’objet est en mouvement.
Construction de la jauge de distance
Lors de la construction de l’appareil, je devais veiller à ce qu’il soit portable pour permettre à mon équipe de l’utiliser sur le terrain. Le dispositif doit donc être alimenté par des piles. Le circuit réalisé est illustré à la figure 2. Le lidar et la diode laser que j’ai utilisée pour le pointage fonctionnent à 5 V. Le module ESP32 WROOM ne nécessite que 3,3 V. J’ai donc ajouté un mini convertisseur élévateur qui génère une alimentation de 5 V à partir d’une tension d’entrée aussi faible que 2 V. J’ai connecté un régulateur de tension HT7333-A à faible chute à la sortie de 5 V pour fournir 3,3 V à l’ESP32. Si vous utilisez un module ESP32 avec un régulateur de tension intégré, vous n’avez pas besoin du HT7333-A. Le circuit complet fonctionne avec deux piles de 1,5 V ou avec une pile LiPo de 3,7 V. Notez que le HT7333-A est un composant monté en surface (CMS) ; soyez donc prudent lors de son montage.
À propos du programme
Le programme que j’ai écrit pour le projet est un croquis Arduino que vous pouvez télécharger à partir de ici. Il fait appel à la bibliothèque TFMini et aux bibliothèques GFX SSD1306 d’Adafruit disponibles dans le gestionnaire de bibliothèques de l’EDI Arduino.
Le lidar et l’ESP32 communiquent via un port série (Serial1). Tous les 25 ms, un nouveau point de données est demandé. Toute la tâche est effectuée par la bibliothèque TFMini tandis que le croquis offre simplement une interface utilisateur. Les valeurs de distance et d’intensité du signal sont affichées sur l’écran OLED et sont également transmises sur le port série d’Arduino (Serial0).
Utilisation de l’appareil
Après avoir monté tous les composants sur un circuit imprimé (figure 3), positionnez le lidar sur le bord de la carte pour ce qu’il ait une vue précise de l’objet. Le pointeur laser est une diode laser rouge ordinaire commandée par un bouton poussoir. Si possible, fixez-le sur le lidar avec de la colle chaude (ou une substance similaire) de façon à ce qu’il pointe dans la même direction.
La distance minimale que le lidar TFMini-S peut atteindre est de 30 cm. Par conséquent, pointez-le vers un objet ou un mur dans une plage de 30 cm à 12 m. Mesurez la distance et vérifiez-la avec un mètre à ruban. Vous finirez par constater que la lecture est précise à un centimètre près.
La deuxième ligne de l’écran indique l’intensité du signal reçu. Au fur et à mesure que l’objet s’éloigne, l’intensité diminue.
Utilisez l’Automator !
L’Automator d’Elektor est la plateforme parfaite pour expérimenter avec le lidar TFMini-S. Basé sur un module ESP32, il est doté d’un connecteur Grove compatible avec le module lidar, il dispose d’un écran OLED et des alimentations nécessaires. Nous (chez Elektor Labs) avons donc créé un croquis Arduino pour ce projet qui fonctionne sur l’Automator. Il utilise les bibliothèques TFLidar et U8g2, disponibles dans le gestionnaire de bibliothèques de l’EDI Arduino. Le programme peut facilement être développé pour ajouter la connectivité wifi ou Bluetooth et pour contrôler le relais et les LED de l’Automator. Il peut être téléchargé à partir de ici.