VL53L0X: didelio tikslumo lazerinis atstumo jutiklis

VL53L0X

Kai kuriuose savo projektuose jums reikės matuoti atstumus. Na, jūs turėtumėte žinoti, kad VL53L0X yra prietaisas, leidžiantis juos tiksliai išmatuoti. Be to, dėl mažo dydžio ir mažos kainos jis idealiai tinka jūsų „pasidaryk pats“ projektams, ypač norint integruotis su „Arduino“.

Yra daugybė prietaisų, galinčių išmatuoti atstumus, kai kurie iš jų yra ultragarsu paremti atstumo matuokliai, skleidžiantys garsą ir šokdami su objektu, leidžia pakankamai tiksliai žinoti esamą atstumą. Bet jei norite didžiausio tikslumo, tam jums reikia optinio atstumo matuoklis. Šio tipo matavimo prietaisai yra pagrįstas lazeriu, kaip yra su VL53L0X.

Kas yra ToF?

ToF principas (schema)

Skrydžio laikas arba ToF (skrydžio laikas) kamera tai technika, naudojama matuoti atstumus. Jis pagrįstas optika, matuojančiu laiką, praėjusį nuo šviesos pluošto spinduliavimo iki priėmimo. Jie gali būti CCD, CMOS jutikliai, o impulsai gali būti infraraudonieji, lazeriniai ir kt. Sistema bus sinchronizuota, kad būtų galima pradėti matuoti laiką, kai suveikia impulsas, ir sustabdyti skaitiklį, kai jutiklis gauna peradresavimą.

Tokiu būdu atstumą galima apskaičiuoti gana tiksliai. Jums tereikia papildomos loginės schemos, įmontuotos į lustą, kad būtų galima atlikti skaičiavimus nuo spindulio paleidimo iki jo gavimo ir taip nustatyti atstumą. Principas yra gana paprastas.

ESP8266
Susijęs straipsnis:
ESP8266: „Arduino“ WIFI modulis

Šio tipo įrenginiai naudojami robotų technika leisti robotui ar dronui išvengti kliūčių, sužinoti, kaip toli jie yra nuo taikinio, aptikti judėjimą ar artumą, skirtingoms programoms naudojamiems automobilio jutikliams, įdiegti elektroninį skaitiklį, pvz., „Arduino“ pavarą, norint ką nors padaryti kai aptinka tam tikrą objekto artumą ir t.

Kas yra VL53L0X ir duomenų lapas

VL53L0X

El VL53L0X naudoja šį principą matuodamas atstumus lazeriniu infraraudonuoju spinduliu. paskutinė karta. Kartu su procesoriumi, pavyzdžiui, „Arduino“, tai gali būti galingas matavimo įrankis. Konkrečiai, lustas gali užfiksuoti atstumus nuo 50 mm iki 2000 mm, tai yra nuo 5 centimetrų iki 2 metrų.

Norėdami išmatuoti artimesnius atstumus, jums tikriausiai reikia šios mikroschemos varianto, vadinamo VL6180X, leidžiančiu išmatuoti diapazoną nuo 5 iki 200 mm, tai yra nuo pusės centimetro iki 20 centimetrų. Jei norite rasti panašų įrenginį, bet pagrįstą ultragarsu dėl bet kokių techninių priežasčių, turėtumėte pažvelgti į kitą gana pigų modulį, populiarų tarp gamintojų, HC-SR04.

El VL53L0X lustas buvo sukurta dirbti net tada, kai aplinkos šviesa yra gana didelė. Turėkite omenyje, kad dirbant optiškai, kuo didesnė aplinkos šviesos „tarša“, tuo sunkiau bus tinkamai užfiksuoti signalo atšokimą. Bet šiuo atveju tai nekelia per daug problemų. Be to, jos integruota kompensavimo sistema leidžia ją matuoti, net jei ją naudojate už apsauginio stiklo.

Tai paverčia jį vienu geriausių atstumo jutiklių kurį rasite rinkoje. Daug tiksliau nei jutikliai, pagrįsti ultragarsu arba infraraudonaisiais spinduliais (IR). Tokio tikslumo priežastis yra ta, kad lazerio nepaveiks daiktų aidai ar atspindys, kaip ir kitais atvejais.

Šiuo metu galite jį integruoti į mulus su papildomais mokesčiais už maždaug 16 EUR arba paprastesnėse plokštelėse, kurių vertė viršija 1 € arba 3 EUR, kitais atvejais. Jūs jau žinote, kad jį rasite tokiose parduotuvėse kaip „eBay“, „AliExpress“, „Amazon“ ir kt. Šių prietaisų gamintojai yra įvairūs, todėl, jei reikia žinoti išsamią informaciją apie įsigytą modelį, geriausia tai patikrinti gamintojo duomenų lapą kad pasirinkai. Pavyzdžiui:

El VL53L0X Mikroschemoje yra lazerio impulso skleidėjas ir jutiklis, kad būtų užfiksuotas grįžtantis spindulys. Šiuo atveju spinduolis yra 940 nm bangos ilgio lazeris ir VCSEL tipo (vertikalios ertmės paviršių skleidžiantis lazeris). Kalbant apie fiksavimo jutiklį, tai yra SPAD (Single Photon Avalanche Diodes). Ji taip pat integruoja vidinę elektroniką, vadinamą „FlightSenseTM“, kuri apskaičiuos atstumą.

El matavimo kampas arba FOV (regėjimo laukas) šiuo atveju jis yra 25º. Tai reiškia 0,44 m skersmens matavimo plotą 1 m atstumu. Nors matavimo diapazonas priklausys nuo aplinkinių sąlygų. Jei tai daroma uždarose patalpose, ji yra šiek tiek didesnė nei tuo atveju, jei tai daroma lauke. Tai taip pat priklausys nuo objekto, į kurį nukreipiate, atspindžio:

Tikslinis atspindys Sąlygos Salonas - Autosporto prekės išorinis
Baltas taikinys Tipiškas 200cm 80cm
Mimika 120cm 60cm
Pilkas taikinys Tipiškas 80cm 50cm
Minimo 70cm 40cm

Be to, „VL53L0X“ turi keletą darbo režimai tai gali skirtis rezultatais. Šie režimai apibendrinti šioje lentelėje:

Būdas Laikas Pasiekite tikslumas
Numatytasis 30ms 1.2m Žr. Toliau pateiktą lentelę
Didelis tikslumas 200ms 1.2m + / - 3%
Ilgo nuotolio 33ms 2m Žr. Toliau pateiktą lentelę
Didelis greitis 20ms 1.2m + / - 5%

Pagal šiuos režimus turime keletą standartiniai ir tolimieji tikslumai kurį turite šioje lentelėje:

Salonas - Autosporto prekės išorinis
Tikslinis atspindys Atstumas 33ms 66ms Atstumas 33ms 66ms
Baltas taikinys ties 120 cm 4% 3% ties 60 cm 7% 6%
Pilkas taikinys ties 70 cm 7% 6% ties 40 cm 12% 9%

Pinout ir jungtis

VL53L0X lusto schema

Kad visa tai veiktų tinkamai, jums reikia sąsaja su išoriniu pasauliu. Ir tai pasiekiama per kai kuriuos kaiščius ar jungtis. VL53L0X kištukas yra gana paprastas, jis turi tik 6 kaiščius. Dėl jo integracijos su „Arduino“ komunikacija gali būti vykdoma per „I2C“.

Norėdami jį išmaitinti, galite prijunkite kaiščius Taigi:

  • VCC iki 5v iš „Arduino“
  • „Arduino“ nuo GND iki GND
  • SCL į „Arduino“ analoginį kaištį. Pavyzdžiui, A5
  • SDA į kitą analoginį kaištį. Pavyzdžiui, A4
  • Šiuo metu nereikia naudoti kaiščių GPI01 ir XSHUT.

Integracija su „Arduino“

VL53L0X prijungtas prie „Arduino“

Kaip ir daugeliui kitų modulių, VL53L0X taip pat turite bibliotekų (pvz., Skirtų Adafruit) turimo kodo, kurį galite naudoti dirbdami su tam tikromis funkcijomis, kai rašote šaltinio kodas jūsų projektui tvarkyti „Arduino IDE“. Jei pirmą kartą naudojate „Arduino“, rekomenduoju mūsų programavimo vadovas.

Pavyzdys Paprastas kodas matavimams atlikti ir matavimo vertei parodyti per nuoseklųjį prievadą kad pamatytumėte jį iš savo kompiuterio ekrano, kai esate prijungę „Arduino“ lentą, yra:

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

Pačioje „Adafruit“ bibliotekoje galite rasti daugiau naudojimo pavyzdžių, jei jums to reikia ...


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.