VL53L0X:高精度激光距離傳感器

VL53L0X

在某些項目中,您將需要測量距離。 好吧,你應該知道 VL53L0X是可以高精度測量的設備。 此外,它的小尺寸和低價格使其非常適合您的DIY項目,尤其是與Arduino集成時。

有很多可以測量距離的設備,其中一些是基於超聲波的測距儀,可以發出聲音,當與物體一起彈跳時,可以以足夠的精度知道存在的距離。 但是,如果要獲得最高的精度,則需要 光學測距儀。 這種類型的測量設備 基於激光,與VL53L0X一樣。

什麼是ToF?

ToF原理(方案)

飛行時間或ToF(飛行時間)相機 它是一種用於測量距離的技術。 它基於光學器件,測量光束髮射與接收之間的時間間隔。 它們可以是CCD,CMOS傳感器,脈衝可以是紅外,激光等。 當脈衝被觸發時,系統將同步以開始時間測量,並在接收到來自傳感器的跳動時停止計數器。

以這種方式 距離可以很準確地計算出來。 從發射光束到接收到光束,僅需集成到芯片中的附加邏輯電路即可執行計算,從而確定距離是多少。 原理很簡單。

ESP8266
相關文章:
ESP8266:Arduino的WIFI模塊

這種類型的設備用於 機器人 允許機器人或無人駕駛飛機避開障礙物,知道它們距目標有多遠,以檢測移動或接近,用於不同應用的汽車傳感器,實現電子儀表,例如執行器,以便Arduino在它檢測到物體的某些接近程度,等等。

什麼是VL53L0X和數據表

VL53L0X

El VL53L0X使用此原理通過激光紅外測量距離。 上一代。 與像Arduino這樣的處理器一起使用,它可以成為強大的測量工具。 具體而言,芯片可以捕獲50mm至2000mm之間的距離,即5厘米至2米之間的距離。

要測量更近的距離,您可能需要該芯片的變體VL6180X,該變體允許您測量5到200毫米之間的範圍,即在半厘米到20厘米之間。 如果您出於任何技術原因想要找​​到類似的設備但基於超聲波的設備,則應查看HC-SR04,這是另一款在製造商中頗為便宜的模塊。

El VL53L0X芯片 旨在 即使周圍光線很高也可以工作。 請記住,以光學方式工作時,環境的光“污染”越大,充分捕獲信號反彈的難度就越大。 但是在這種情況下,它不會帶來太多問題。 此外,它集成的補償系統即使在保護玻璃後面使用它也可以進行測量。

那使它成為一個 最佳距離傳感器 您會在市場上找到的。 與基於超聲波或紅外(IR)的傳感器相比,其精度要高得多。 如此精確的原因是,激光不會像其他情況一樣受到物體迴聲或反射率的影響。

目前,您可以將其集成到integrated子中,並附有一些額外的配件,價格約為16歐元,或者在其他情況下,也可以將其集成在價格略高於1歐元或3歐元的較簡單盤子中。 您已經知道可以在eBay,AliExpress,Amazon等商店中找到它。 這些設備的製造商各不相同,因此,如果您需要了解所購買型號的詳細信息,最好檢查一下 製造商的數據表 您選擇的。 例如:

El VL53L0X 它在芯片內部具有激光脈衝的發射器和用於捕獲返迴光束的傳感器。 在這種情況下,發射器是VCSEL類型的940nm波長激光器(垂直腔表面發射激光器)。 至於捕獲傳感器,它是SPAD(單光子雪崩二極管)。 它還集成了稱為FlightSenseTM的內部電子設備,可以計算距離。

El 測量角度或FOV(視場) 在這種情況下為25º。 這意味著在0,44m的距離處直徑為1m的測量區域。 儘管測量範圍將取決於周圍條件。 如果在室內完成,則比在室外完成的要高一些。 它還將取決於您所指向的對象的​​反射率:

目標反射率 條款 室內 外觀
白靶 典型 200cm 80cm
模仿 120cm 60cm
灰色目標 典型 80cm 50cm
最低限度 70cm 40cm

此外,VL53L0X還具有多個 操作模式 這可能會改變結果。 下表總結了這些模式:

摩多 定時 範圍 精確
默認值 30ms 1.2m 見下表
精度高 200ms 1.2m + / - 3%
長距離 33ms 2m 見下表
高速 20ms 1.2m + / - 5%

根據這些模式,我們有幾種 標準和遠程精度 您在此表中擁有的:

室內 外觀
目標反射率 距離 33ms 66ms 距離 33ms 66ms
白靶 120厘米 4% 3% 60厘米 7% 6%
灰色目標 70厘米 7% 6% 40厘米 企業排放佔全球 12% 9%

引腳排列和連接

VL53L0X芯片圖

為了使所有這些正常工作,您需要 與外界的接口。 這是通過一些引腳或連接來實現的。 VL53L0X的引腳排列非常簡單,只有6個引腳。 為了與Arduino集成,可以通過I2C進行通信。

要餵牠,你可以 連接引腳 所以:

  • Arduino的VCC至5v
  • Arduino的GND至GND
  • SCL到Arduino模擬引腳。 例如A5
  • SDA連接到另一個模擬引腳。 例如A4
  • 目前無需使用GPI01和XSHUT引腳。

與Arduino集成

VL53L0X連接到Arduino

至於其他許多模塊,對於VL53L0X,您還具有庫(例如,用於 Adafruit的)可用於編寫某些功能的可用代碼 在Arduino IDE中處理項目的源代碼。 如果這是您第一次使用Arduino,我建議 我們的編程手冊.

一個例子 簡單的代碼,您可以通過串行端口進行測量並顯示測量值 因此,當您連接Arduino板時,可以從PC屏幕上看到它:

#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自己的庫中,如果需要,您可以使用更多示例...


成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。