VL53L0X: laserafstandssensor met hoge precisie

VL53L0X

Bij sommige van uw projecten moet u afstanden meten. Nou, je moet weten dat de VL53L0X is een apparaat waarmee ze met hoge precisie kunnen worden gemeten. Bovendien maken het kleine formaat en de lage prijs het ideaal voor uw doe-het-zelfprojecten, vooral om te integreren met Arduino.

Er zijn veel apparaten die afstanden kunnen meten, sommige zijn afstandsmeters op basis van echografie die een geluid uitzenden en wanneer het met het object stuitert, kan met voldoende precisie de afstand worden bepaald die er is. Maar als je de hoogste precisie wilt, heb je hiervoor een optische afstandsmeter. Dit type meetapparatuur is gebaseerd op laser, zoals het geval is bij de VL53L0X.

Wat is de ToF?

ToF-principe (schema)

Time of Flight of ToF (Time-of-Flight) camera het is een techniek die wordt gebruikt om afstanden te meten. Het is gebaseerd op optica en meet de tijd die is verstreken tussen de emissie van een lichtstraal en de ontvangst ervan. Dit kunnen CCD-, CMOS-sensoren zijn en de pulsen kunnen infrarood, laser, enz. Zijn. Het systeem wordt gesynchroniseerd om de tijdmeting te starten net wanneer de puls wordt geactiveerd en de teller te stoppen wanneer ze de stuitering van de sensor ontvangen.

Op die manier afstand kan vrij nauwkeurig worden berekend. Er is alleen een extra logisch circuit nodig dat in de chip is geïntegreerd om de berekeningen uit te voeren vanaf het moment dat de straal wordt afgevuurd totdat deze wordt ontvangen en zo te bepalen wat de afstand is. Het principe is vrij eenvoudig.

ESP8266
Gerelateerd artikel:
ESP8266: de wifi-module voor Arduino

Dit type apparaat wordt gebruikt in robotica om de robot of drone obstakels te laten ontwijken, om te weten hoe ver ze van een doel verwijderd zijn, om beweging of nabijheid te detecteren, voor autosensoren die voor verschillende toepassingen worden gebruikt, om een ​​elektronische meter te implementeren, zoals een actuator zodat Arduino iets doet wanneer het detecteert een bepaalde nabijheid van een object, enz.

Wat is de VL53L0X en het gegevensblad

VL53L0X

El De VL53L0X gebruikt dit principe om afstanden te meten met laser-infrarood. laatste generatie. Samen met een processor, zoals Arduino, kan het een krachtig meetinstrument zijn. Concreet kan de chip afstanden vastleggen tussen 50 mm en 2000 mm, dat wil zeggen tussen 5 centimeter en 2 meter.

Om kleinere afstanden te meten, heb je waarschijnlijk een variant van deze chip nodig, de VL6180X genaamd, waarmee je een bereik kunt meten tussen 5 en 200 mm, dat wil zeggen tussen een halve centimeter en 20 centimeter. Als je een soortgelijk apparaat wilt vinden, maar om een ​​technische reden gebaseerd is op echografie, dan zou je naar de HC-SR04 moeten kijken, een andere redelijk goedkope module die populair is bij makers.

El VL53L0X-chip is ontworpen om werken zelfs als het omgevingslicht vrij hoog is. Houd er rekening mee dat bij optisch werken, hoe groter de "lichtvervuiling" van de omgeving, hoe moeilijker het zal zijn om de terugkaatsing van het signaal adequaat op te vangen. Maar in dit geval levert het niet al te veel problemen op. Bovendien maakt het compensatiesysteem dat het integreert het mogelijk om te meten, zelfs als u het achter beschermglas gebruikt.

Dat maakt het een van de beste afstandssensoren die u op de markt zult vinden. Met een veel hogere precisie dan sensoren op basis van ultrageluid of infrarood (IR). De reden om zo nauwkeurig te zijn, is dat de laser niet wordt beïnvloed door echo's of reflecties van objecten, zoals in de andere gevallen.

Momenteel vind je het geïntegreerd in muilezels met wat extra voor ongeveer € 16 of in eenvoudigere platen van iets meer dan € 1 of € 3 in andere gevallen. Je weet al dat je het in winkels als eBay, AliExpress, Amazon, etc. zult vinden. De fabrikanten van deze apparaten zijn divers, dus als u de details wilt weten van het model dat u heeft gekocht, kunt u het beste controleren het gegevensblad van de fabrikant die je hebt gekozen. Bijvoorbeeld:

El VL53L0X Het heeft in de chip de zender van de laserpuls en de sensor om de terugkerende straal op te vangen. In dit geval is de emitter een laser met een golflengte van 940 nm en een VCSEL-type (Vertical Cavity Surface-Emitting Laser). Wat betreft de capture-sensor, het is een SPAD (Single Photon Avalanche Diodes). Het integreert ook een interne elektronica genaamd FlightSenseTM die de afstand berekent.

El meethoek of FOV (gezichtsveld) het is in dit geval 25 °. Dat vertaalt zich naar een meetgebied van 0,44 m in diameter op een afstand van 1 m. Hoewel het meetbereik afhankelijk is van de omgevingsomstandigheden. Als het binnen wordt gedaan, is het iets hoger dan wanneer het buiten wordt gedaan. Het hangt ook af van de reflectie van het object waarnaar u wijst:

Doelreflectie Algemene voorwaarden Interieur Exterieur
Wit doelwit typisch 200cm 80cm
Nabootsen 120cm 60cm
Grijs doelwit typisch 80cm 50cm
minimum 70cm 40cm

Daarnaast heeft de VL53L0X er meerdere werkingsmodi dat kan de resultaten variëren. Deze modi worden samengevat in de volgende tabel:

Mode timing strekking precisie
bij verstek 30ms 1.2m Zie onderstaande tabel
Hoge precisie 200ms 1.2m + / - 3%
Langeafstand 33ms 2m Zie onderstaande tabel
Hoge snelheid 20ms 1.2m + / - 5%

Volgens deze modi hebben we er verschillende standaard- en langeafstandsnauwkeurigheden die je in deze tabel hebt:

Interieur Exterieur
Doelreflectie Afstand 33ms 66ms Afstand 33ms 66ms
Wit doelwit een 120cm 4% 3% een 60cm 7% 6%
Grijs doelwit een 70cm 7% 6% een 40cm 12% 9%

Pinout en verbinding

VL53L0X chip diagram

Om dit allemaal goed te laten werken, heb je nodig een interface met de buitenwereld. En dat wordt bereikt via enkele pinnen of verbindingen. De pinout van de VL53L0X is vrij simpel, hij heeft maar 6 pinnen. Voor de integratie met Arduino kan communicatie worden gedaan via I2C.

Om het te voeden, kunt u verbind pinnen Zo:

  • VCC naar 5v van Arduino
  • GND naar GND van Arduino
  • SCL naar een Arduino analoge pin. Bijvoorbeeld A5
  • SDA naar een andere analoge pin. Bijvoorbeeld A4
  • De GPI01- en XSHUT-pinnen hoeven op dit moment niet te worden gebruikt.

Integratie met Arduino

VL53L0X aangesloten op Arduino

Zoals voor veel andere modules, heb je voor de VL53L0X ook bibliotheken (bv. Die voor Adafruit) van beschikbare code die u kunt gebruiken om met bepaalde functies te werken wanneer u schrijft de broncode om uw project in Arduino IDE af te handelen. Als het je eerste keer met Arduino is, raad ik aan onze programmeerhandleiding.

Een voorbeeld van Eenvoudige code voor u om metingen uit te voeren en de meetwaarde weer te geven via de seriële poort zodat je het op je pc-scherm kunt zien terwijl je het Arduino-bord hebt aangesloten, is:

#include "Adafruit_VL53L0X.h"
 
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
 
void setup() {
  Serial.begin(9600);
 
  // Iniciar sensor
  Serial.println("VL53L0X test");
  if (!lox.begin()) {
    Serial.println(F("Error al iniciar VL53L0X"));
    while(1);
  }
}
 
 
void loop() {
  VL53L0X_RangingMeasurementData_t measure;
    
  Serial.print("Leyendo sensor... ");
  lox.rangingTest(&measure, false); // si se pasa true como parametro, muestra por puerto serie datos de debug
 
  if (measure.RangeStatus != 4)
  {
    Serial.print("Distancia (mm): ");
   Serial.println(measure.RangeMilliMeter);
  } 
  else
  {
    Serial.println("  Fuera de rango ");
  }
    
  delay(100);
}

In de eigen bibliotheek van Adafruit heb je meer gebruiksvoorbeelden als je die nodig hebt ...


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.