VL53L0X: nagy pontosságú lézeres távolságérzékelő

VL53L0X

Egyes projektjeiben szükség lesz a távolságok mérésére. Nos, tudnia kell, hogy a A VL53L0X olyan eszköz, amely lehetővé teszi nagy pontosságú mérést. Ezenkívül kis mérete és alacsony ára ideális a barkácsolási projektjeihez, különösen az Arduino-val való integrációhoz.

Sok olyan eszköz van, amely képes mérni a távolságokat, közülük néhány olyan távolságmérő, amely ultrahang alapján hangot bocsát ki, és amikor az objektummal ugrál, kellő pontossággal megismeri a meglévő távolságot. De ha a legnagyobb pontosságot akarja, ehhez a optikai távolságmérő. Az ilyen típusú mérőeszközök lézeren alapul, mint a VL53L0X esetében.

Mi az a ToF?

ToF elv (séma)

Repülési idő vagy ToF (Repülési idő) kamera ez a távolságok mérésére szolgáló technika. Optikán alapul, a fénysugár emissziója és annak vétele között eltelt idő mérésével. Lehetnek CCD, CMOS érzékelők, és az impulzusok lehetnek infravörös, lézeres stb. A rendszer szinkronizálja az időmérés megkezdését éppen akkor, amikor az impulzus beindul, és leállítja a számlálót, amikor megkapják a visszapattanást az érzékelőtől.

Ily módon a távolság elég pontosan kiszámítható. Csak egy további, a chipbe integrált logikai áramkörre van szükség a számítások elvégzéséhez a sugár kilövésétől a befogadásáig, és ezáltal meghatározza a távolságot. Az elv elég egyértelmű.

ESP8266
Kapcsolódó cikk:
ESP8266: WIFI modul az Arduino számára

Ezt a típusú eszközt használják robotika lehetővé teszi, hogy a robot vagy a drón elkerülje az akadályokat, megtudja, milyen messze vannak a céltól, észlelje a mozgást vagy a közelséget, a különböző alkalmazásokhoz használt autóérzékelők számára, elektronikus mérőeszközt, például működtetőt valósítson meg, hogy Arduino tegyen valamit, amikor egy tárgy bizonyos közelségét észleli stb.

Mi a VL53L0X és az adatlap

VL53L0X

El A VL53L0X ezt az elvet használja a lézeres infravörös távolságok mérésére. utolsó generáció. Egy olyan processzorral együtt, mint az Arduino, hatékony eszköz lehet a méréshez. Pontosabban, a chip képes 50 mm és 2000 mm, azaz 5 centiméter és 2 méter közötti távolságokat megragadni.

A közelebbi távolságok méréséhez valószínűleg szüksége van ennek a chipnek a VL6180X nevű változatára, amely lehetővé teszi 5 és 200 mm, azaz fél centiméter és 20 centiméter közötti tartomány mérését. Ha bármilyen hasonló okból szeretne hasonló, de ultrahang alapú eszközt találni, akkor érdemes megnéznie a HC-SR04-et, egy másik meglehetősen olcsó, a gyártók körében népszerű modult.

El VL53L0X chip úgy tervezték akkor is működik, ha a környezeti fény elég magas. Ne feledje, hogy az optikai munkavégzés során minél nagyobb a környezet fényszennyezése, annál nehezebb megfelelő módon megragadni a jel visszapattanását. De ebben az esetben nem jelent túl sok problémát. Ezenkívül az integrált kompenzációs rendszer lehetővé teszi a mérést akkor is, ha védőüveg mögött használja.

Ettől lesz egy a legjobb távolságérzékelők közül hogy megtalálja a piacon. Sokkal nagyobb pontossággal, mint az ultrahang vagy infravörös (IR) alapú érzékelők. Az ilyen pontosság oka az, hogy a lézert nem befolyásolják a tárgyak visszhangjai vagy visszaverődése, mint a többi esetben.

Jelenleg öszvérekbe integrálva, némi extra összeggel, körülbelül 16 euróért, vagy egyszerűbb lemezekben, amelyek valamivel több, mint 1 euró vagy más esetben 3 euró. Már tudja, hogy olyan üzletekben talál, mint az eBay, az AliExpress, az Amazon stb. Ezeknek az eszközöknek a gyártói különbözőek, ezért ha meg kell ismernie a megvásárolt modell részleteit, a legjobb, ha megnézi a gyártó adatlapja hogy te választottad. Például:

El VL53L0X A chipen belül van a lézerimpulzus-sugárzó és az érzékelő a visszatérő sugár megfogására. Ebben az esetben az emitter 940 nm hullámhosszú lézer és VCSEL típusú (függőleges üregű felületet kibocsátó lézer). Ami a rögzítési érzékelőt illeti, ez egy SPAD (Single Photon Avalanche Diodes). Beépíti a FlightSenseTM nevű belső elektronikát is, amely kiszámítja a távolságot.

El mérési szög vagy FOV (látómező) ebben az esetben 25º. Ez 0,44 m átmérőjű mérési területet jelent 1 m távolságban. Bár a mérési tartomány a környező körülményektől függ. Ha beltéren végezzük, akkor valamivel magasabb, mint a szabadban. Ez függ a mutatott objektum tükröződésétől is:

Célvisszaverődés Feltételek belső Külső
Fehér célpont Tipikus 200cm 80cm
Utánzó 120cm 60cm
Szürke cél Tipikus 80cm 50cm
mínimo 70cm 40cm

Ezenkívül a VL53L0X-nek több is van üzemmódok amelyek eltérhetnek az eredményektől. Ezeket a módokat a következő táblázat foglalja össze:

Modo Időzítés terület Pontosság
alapértelmezés szerint 30ms 1.2m Lásd az alábbi táblázatot
Nagy pontosság 200ms 1.2m + / - 3%
Hosszú távú 33ms 2m Lásd az alábbi táblázatot
Magassebesség 20ms 1.2m + / - 5%

E módok szerint többünk van szabványos és nagy hatótávolságú pontosság amit ebben a táblázatban tartalmaz:

belső Külső
Célvisszaverődés távolság 33ms 66ms távolság 33ms 66ms
Fehér célpont 120 cm-nél 4% 3% 60 cm-nél 7% 6%
Szürke cél 70 cm-nél 7% 6% 40 cm-nél 12% 9%

Pinout és csatlakozás

VL53L0X chipdiagram

Ahhoz, hogy mindez megfelelően működjön, szüksége van interfész a külvilággal. Ez pedig bizonyos csapok vagy csatlakozások révén valósul meg. A VL53L0X kivezetése meglehetősen egyszerű, csak 6 tűvel rendelkezik. Az Arduino-val való integrációja érdekében a kommunikáció az I2C-n keresztül valósulhat meg.

Etetni, akkor lehet csatlakozzon csapokhoz Így:

  • VCC-től 5v-ig az Arduino-tól
  • Arduino GND – GND
  • SCL egy Arduino analóg csapra. Például A5
  • SDA egy másik analóg csapra. Például A4
  • A GPI01 és az XSHUT csapokat jelenleg nem kell használni.

Integráció az Arduinóval

VL53L0X csatlakozik az Arduino-hoz

Sok más modulhoz hasonlóan a VL53L0X esetében könyvtárak is vannak (pl Adafruit) a rendelkezésre álló kód, amelyet használhat bizonyos funkciók használatához írás közben a forráskód a projekt Arduino IDE-ben történő kezeléséhez. Ha ez az első alkalom az Arduino-val, ajánlom programozási kézikönyvünk.

Példa a Egyszerű kód a mérések elvégzéséhez és a mérési érték megjelenítéséhez a soros porton keresztül így láthatja a számítógép képernyőjén, miközben az Arduino kártya csatlakoztatva van:

#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);
}

Az Adafruit saját könyvtárában van több felhasználási példa, ha szüksége van rá ...


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.