LiDAR-precisiemeter: meet tot 12 meter
Mijn aanvankelijke gedachte was om een TFMini-S LiDAR te kopen en er een soort radar mee te bouwen. Maar, zoals zo vaak, kwam daar niet veel van – tot ik op mijn werk een inval kreeg.
Electric Resistance Welded-leidingen (ERW) bestaan uit lange buizen met een diameter van 300 mm of meer en met een lengte tot twaalf meter. Ze worden in onze elektriciteitscentrale gebruikt voor de afvoer van as-slurry. Op een dag, toen ik bezig was met deze lange buizen voor de assemblage van de afvoer-pijpleidingen, viel me op dat mijn team elke buis nauwkeurig moest meten voordat deze door de uitgangspoort naar buiten werden gebracht. Elke dag moest er minstens 30 tot 50 keer iemand tijd vrijmaken om deze metingen uit te voeren. Buiten onder een brandende zon van 47°C, met het meetlint aan het ene uiteinde en een opzichter aan het andere uiteinde, en dan de lengte opnemen, is een uitputtende klus. Hier is het idee geboren om een precisie-meetinstrument te ontwerpen.
LiDAR-modules
De TFMini-S single-point ranging LiDAR (figuur 1) kan zeer snel (100 Hz) en zeer nauwkeurig (1 cm resolutie, 1% nauwkeurigheid) afstandsmetingen uitvoeren tot maximaal 12 m, wat perfect is voor de beoogde taak. Er bestaat ook een Plus-versie die sneller is (1 kHz) en een IP65-behuizing heeft. Beide zijn voorzien van een seriële interface.
Door de LiDAR aan het ene uiteinde van de buis te plaatsen en vervolgens op de eindplaat aan het andere uiteinde te richten, kan de lengte van de buis nauwkeurig worden gemeten. Beide versies van de LiDAR hebben een gezichtsveld (Field of View, FOV) van 3,4 graden; daarom is een goede uitrichting van de laser zeer belangrijk voor het verkrijgen van correcte metingen. Om dit gemakkelijker te maken, hebben we een laserpointer met drukknopbediening aan het systeem toegevoegd.
Ik gebruikte een ESP32 module om de LiDAR aan te sturen en de berekeningen uit te voeren. Een klein OLED-display toont de resultane van de afstandsmetingen. Een lopend gemiddelde van een paar metingen verhoogt de nauwkeurigheid. Het resultaat kan dan worden weergegeven als een floating-point waarde, maar omwille van de snelheid en eenvoud houden we het op een gewone integer-waarde.
De TFMini LiDAR’s maken gebruik van de reflectie van onzichtbaar infrarood laserlicht van het oppervlak van het object waarop ze zijn gericht. Indien het voorwerp het binnenkomende laserlicht niet reflecteert, volledig absorbeert of breekt, zal de meting foutief zijn. Vermijd bijvoorbeeld water en schuine en sterk reflecterende glazen ramen. De meeste andere voorwerpen weerkaatsen voldoende licht zodat zelfs wanneer het voorwerp beweegt, goede metingen kunnen worden uitgevoerd.
Bouw van de afstandsmeter
Bij het bouwen van het apparaat moest ik er rekening mee houden dat het draagbaar moest zijn, zodat mijn team het in het veld kon gebruiken. Het apparaat moet dus op batterijen werken. De schakeling waar ik uiteindelijk op uitkwam is te zien in figuur 2. Zowel de LiDAR als de laserdiode die ik voor het richten gebruik, hebben 5 V nodig. De ESP32 WROOM module draait op 3,3 V. Daarom heb ik een mini-boostconverter toegevoegd die een 5V-voedingsspanning genereert uit een ingangsspanning van slechts 2 V. Ik heb een low-dropout HT7333-A spanningsregelaar aangesloten op de 5V-uitgang om 3,3 V te maken voor de ESP32. Als je een ESP32 module met ingebouwde spanningsregelaar gebruikt, dan heb je de HT7333-A niet nodig. De volledige opstelling werkt op twee batterijen van 1,5 V of op een LiPo-accu van 3,7 V. Merk op dat de HT7333-A een SMD-component is; wees daarom voorzichtig bij het solderen.
Een woordje over de software
De software die ik voor het apparaat schreef is een Arduino-sketch en kan hier worden gedownload. Nodig zijn de TFMini-bibliotheek en de GFX SSD1306-bibliotheken van Adafruit, die beschikbaar zijn via de bibliotheekmanager van de Arduino IDE.
De LiDAR en de ESP32 communiceren met elkaar via een seriële poort (Serial1). Elke 25 ms wordt een nieuw datapunt opgevraagd. Al het zware werk wordt gedaan door de TFMini-bibliotheek, terwijl de sketch slechts een gebruikersinterface biedt. De waarden van de afstand en de signaalsterkte worden weergegeven op het OLED-display en worden ook doorgegeven via de seriële ‘Arduino’-poort (Serial0).
Gebruik van het apparaat
Nadat alle onderdelen op een stuk gaatjesprint zijn gemonteerd (figuur 3), wordt de LiDAR zodanig op de rand van de print bevestigd dat hij een onbelemmerd uitzicht heeft. De laseraanwijzer is een gewone rode laserdiode die met een drukknop wordt bediend. Indien mogelijk wordt deze met hotmelt (of iets dergelijks) boven op de LiDAR bevestigd, zodat beide in dezelfde richting wijzen.
De minimale afstand die de TFMini-S LiDAR aankan, bedraagt 30 cm. Richt hem daarom op een object of muur op een afstand van 30 cm tot 12 m. Meet de afstand en controleer deze met een meetlint. Uiteindelijk zul je merken dat de meting tot op een centimeter nauwkeurig is.
De tweede regel op het display geeft de sterkte van het ontvangen signaal aan. Naarmate het voorwerp zich verder weg bevindt, neemt de signaalsterkte af.
Gebruik de Automator!
De Elektor Automator is het perfecte platform om met de TFMini-S LiDAR te spelen. Hij is gebaseerd op een ESP32-module, heeft een Grove-connector die compatibel is met de LiDAR-module, een OLED-display en de nodige voedingen. Wij (van Elektor Labs) hebben daarom voor dit project een Arduino-sketch gemaakt die op de Automator draait. Deze maakt gebruik van de TFLidar-en U8g2-bibliotheken, die beschikbaar zijn via de bibliotheekmanager van de Arduino IDE. De software kan gemakkelijk worden uitgebreid om WiFi- of Bluetooth-connectiviteit toe te voegen en om het relais en de LED’s van de Automator te bedienen. De software kan hier worden gedownload.