VL53L0X: augstas precizitātes lāzera attāluma sensors

VL53L0X

Dažos projektos jums būs nepieciešams izmērīt attālumus. Nu, jums vajadzētu zināt, ka VL53L0X ir ierīce, kas ļauj tos precīzi izmērīt. Turklāt tā mazais izmērs un zemā cena padara to ideāli piemērotu jūsu DIY projektiem, īpaši integrācijai ar Arduino.

Ir daudz ierīču, ar kurām var izmērīt attālumus, dažas no tām ir attāluma mērītāji, kuru pamatā ir ultraskaņa, kas izstaro skaņu, un, atsitoties ar objektu, tas ļauj pietiekami precīzi zināt attālumu, kāds ir. Bet, ja vēlaties augstāko precizitāti, šim nolūkam jums ir nepieciešams optiskā attāluma mērītājs. Šāda veida mērīšanas ierīces pamatā ir lāzers, kā tas ir gadījumā ar VL53L0X.

Kas ir ToF?

ToF princips (shēma)

Lidojuma laiks vai TOF (Time-of-Flight) kamera tā ir tehnika, ko izmanto attālumu mērīšanai. Tas ir balstīts uz optiku, mērot laiku, kas pagājis starp gaismas staru emisiju un tā uztveršanu. Tie var būt CCD, CMOS sensori, un impulsi var būt infrasarkanie, lāzera utt. Sistēma tiks sinhronizēta, lai sāktu laika mērīšanu tieši tad, kad tiek iedarbināts impulss, un apturētu skaitītāju, kad viņi saņem atlēcienu no sensora.

Tādā veidā attālumu var aprēķināt diezgan precīzi. Lai veiktu aprēķinus no stara izšaušanas brīža līdz tā saņemšanai, lai aprēķinātu attālumu, ir nepieciešama tikai mikroshēmā integrēta papildu loģiskā shēma. Princips ir diezgan vienkāršs.

ESP8266
saistīto rakstu:
ESP8266: WIFI modulis Arduino

Šāda veida ierīces tiek izmantotas robotika ļaut robotam vai bezpilota lidaparātam izvairīties no šķēršļiem, uzzināt, cik tālu viņi atrodas no mērķa, noteikt kustību vai tuvumu, automašīnu sensoriem, ko izmanto dažādām lietojumprogrammām, ieviest elektronisku skaitītāju, piemēram, izpildmehānismu, lai Arduino kaut ko darītu, kad tas nosaka noteiktu objekta tuvumu utt.

Kas ir VL53L0X un datu lapa

VL53L0X

El VL53L0X izmanto šo principu, lai mērītu attālumus ar lāzera infrasarkano staru. pēdējā paaudze. Kopā ar procesoru, piemēram, Arduino, tas var būt spēcīgs mērīšanas rīks. Konkrēti, mikroshēma var notvert attālumus no 50 mm līdz 2000 mm, tas ir, no 5 centimetriem līdz 2 metriem.

Lai izmērītu tuvākus attālumus, jums, iespējams, ir nepieciešams šīs mikroshēmas variants ar nosaukumu VL6180X, kas ļauj izmērīt diapazonu no 5 līdz 200 mm, tas ir, no puscentimetra līdz 20 centimetriem. Ja vēlaties atrast līdzīgu ierīci, bet jebkura tehniska iemesla dēļ, pamatojoties uz ultraskaņu, jums vajadzētu apskatīt HC-SR04, vēl vienu diezgan lētu moduļu populāru moduli.

El VL53L0X mikroshēma ir paredzēts darbojas pat tad, ja apkārtējā gaisma ir diezgan augsta. Paturiet prātā, ka, strādājot optiski, jo lielāks ir vides gaismas piesārņojums, jo grūtāk būs adekvāti uztvert signāla atlēcienu. Bet šajā gadījumā tas nerada pārāk daudz problēmu. Turklāt tā integrētā kompensācijas sistēma ļauj to izmērīt, pat ja jūs to izmantojat aiz aizsargstikla.

Tas padara to par vienu labāko attāluma sensoru ko atradīsit tirgū. Ar daudz lielāku precizitāti nekā sensori, kuru pamatā ir ultraskaņa vai infrasarkanais (IR). Tik precīzi izskaidrojams ar to, ka lāzeru neietekmēs objektu atbalss vai atstarošana, kā citos gadījumos.

Pašlaik jūs to varat atrast integrētā mūļos ar papildu summu par apmēram 16 eiro vai vienkāršākās plāksnēs, kuru cena ir nedaudz virs 1 vai 3 eiro citos gadījumos. Jūs jau zināt, ka to atradīsit tādos veikalos kā eBay, AliExpress, Amazon utt. Šo ierīču ražotāji ir dažādi, tādēļ, ja jums jāzina informācija par iegādāto modeli, vislabāk ir pārbaudīt ražotāja datu lapu ko esat izvēlējies. Piemēram:

El VL53L0X Mikroshēmas iekšpusē ir lāzera impulsa izstarotājs un sensors, lai uztvertu atgriezenisko staru. Šajā gadījumā izstarotājs ir 940 nm viļņa garuma lāzers, kas ir VCSEL tips (vertikālās dobuma virsmas izstarojošais lāzers). Kas attiecas uz uztveršanas sensoru, tas ir SPAD (Single Photon Avalanche Diodes). Tajā ir integrēta arī iekšējā elektronika ar nosaukumu FlightSenseTM, kas aprēķinās attālumu.

El mērījuma leņķis vai FOV (redzes lauks) šajā gadījumā tas ir 25º. Tas nozīmē 0,44 m diametra mērījumu laukumu 1 m attālumā. Lai gan mērījumu diapazons būs atkarīgs no apkārtējiem apstākļiem. Ja tas tiek darīts telpās, tas ir nedaudz augstāks nekā tad, ja tas tiek darīts ārpus telpām. Tas būs atkarīgs arī no objekta atstarošanas, uz kuru jūs norādāt:

Mērķa atstarošana Noteikumi interjers ārpuse
Baltais mērķis Tipiski 200cm 80cm
Atdarināt 120cm 60cm
Pelēks mērķis Tipiski 80cm 50cm
minimo 70cm 40cm

Turklāt VL53L0X ir vairāki darbības režīmi tas var atšķirties no rezultātiem. Šie režīmi ir apkopoti šajā tabulā:

Modo laika noteikšana Sasniedziet precizitāte
Noklusējums 30ms 1.2m Skatiet tabulu zemāk
Augsta precizitāte 200ms 1.2m + / - 3%
Garš diapazons 33ms 2m Skatiet tabulu zemāk
Liels ātrums 20ms 1.2m + / - 5%

Saskaņā ar šiem režīmiem mums ir vairāki standarta un tālsatiksmes precizitātes kas jums ir šajā tabulā:

interjers ārpuse
Mērķa atstarošana Attālums 33ms 66ms Attālums 33ms 66ms
Baltais mērķis pie 120cm 4% 3% pie 60cm 7% 6%
Pelēks mērķis pie 70cm 7% 6% pie 40cm 12% 9%

Pinout un savienojums

VL53L0X mikroshēmas diagramma

Lai tas viss darbotos pareizi, jums tas ir nepieciešams saskarne ar ārpasauli. Un tas tiek panākts, izmantojot dažus tapas vai savienojumus. VL53L0X pinout ir diezgan vienkāršs, tam ir tikai 6 tapas. Lai to integrētu ar Arduino, saziņu var veikt, izmantojot I2C.

Lai to pabarotu, jūs varat savienojiet tapas Tātad:

  • VCC līdz 5v no Arduino
  • Arduino no GND līdz GND
  • SCL uz Arduino analogo tapu. Piemēram, A5
  • SDA uz citu analogo tapu. Piemēram, A4
  • Pašlaik nav jāizmanto GPI01 un XSHUT tapas.

Integrācija ar Arduino

VL53L0X savienots ar Arduino

Tāpat kā daudziem citiem moduļiem, arī VL53L0X jums ir bibliotēkas (piemēram, domēna Adafruit) pieejamo kodu, kuru varat izmantot, lai rakstīšanas laikā darbotos ar noteiktām funkcijām pirmkods, lai apstrādātu jūsu projektu Arduino IDE. Ja jūs pirmo reizi izmantojat Arduino, es iesaku mūsu programmēšanas rokasgrāmata.

Piemērs Vienkāršs kods, lai veiktu mērījumus un parādītu mērījumu vērtību, izmantojot seriālo portu lai jūs to varētu redzēt no datora ekrāna, kamēr esat pievienojis Arduino dēli, ir:

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

Adafruit paša bibliotēkā jums ir vairāk izmantošanas piemēru, ja jums tas nepieciešams ...


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.