L53L0X TOF Sensor Introduction
一、介紹
1、原理
採用940nm垂直腔面發射激光器(Vertical-Cavity Surface-Emitting Laser,簡稱VCSEL)發射出激光,激光碰到障礙物後反射回來被VL53L0X接收到,測量激光在空氣中的傳播時間,進而得到距離。VCSEL相關知識
2、參數
- 超小體積:4.4 x 2.4 x 1.0mm
- 最大測距:2m
- 發射的激光對眼鏡安全,且完全不可見。
- 工作電壓:2.6 to 3.5 V
- 通信方式:IIC,400KHz,設備地址0x52,最低位是讀寫標誌位。0表示寫,1表示讀
三、HW Cover規範
這邊Cover的安裝等規定,會有AIR GAP與COVER對於940nm穿透度的限制ST官方針對這個部分提供AN4907 Application note 做詳細說明
理想的蓋玻片有如下特點:
- (1)塑料或玻璃材料無結構缺陷
- (2)無可導致指紋光散射或污跡敏感的表面缺陷
- (3)在近紅外(940nm±10nm)和低霧度條件下,透過率>90%
- (4)不降低指紋免疫性的外塗層(抗指紋或抗反射塗層)
- (5)單一材料。使用雙重材料可能會改變性能。
理想的結構設計(蓋玻片蓋在VL53L0X上的結構)有如下特點:
- 氣隙小(<0.5 mm)
- 蓋玻片薄
- 蓋玻片與VL53L0X表明的傾角低於2度
- 嚴格的公差。
四、校準流程
(1)Data init
調用VL53L0X_DataInit()函數一次,設備上電後調用一次。把VL53L0X_State從VL53L0X_STATE_POWERDOWN改爲 VL53L0X_STATE_WAIT_STATICINIT。VL53L0X_State是初始化狀態機,看此變量的值可以就可以知道當前的初始化進度。
(2)Static Init
調用VL53L0X_StaticInit()函數來做基本的設備初始化。把VL53L0X_State從VL53L0X_STATE_WAIT_STATICINIT改爲VL53L0X_STATE_IDLE.
(3)Reference SPADs calibration
調用VL53L0X_PerformRefSpadManagement()函數來校準SPAD,此函數會輸出SPADs的數量和類型,當獲取到這兩個值後,VL53L0X會自動編程到自己的Flash中。同時主機也要保存這兩個參數用於以後的參數初始化。
本校準過程不需要目標物或者光照條件,但是如果放置一個高反射率的目標物體在VL53L0X前面,導致過多的激光被檢測到,會導致校準失敗,報’-50’狀態碼。
(4)Ref (temperature) calibration
調用VL53L0X_PerformRefCalibration()函數。獲得溫度相關的兩個參數:VHV 和 phase cal。這兩個參數可以用來設置VL53L0X的靈敏度。當溫度變化大於8度,建議重新校準。如果溫度沒變,校準數據可以直接加載使用。
(5)Offset calibration
調用VL53L0X_PerformOffsetCalibration()函數。本校準值也會在校準完成後自動保存到VL53L0X的Flash中,本值在VL53L0X出廠的時候一般都是校準好的,但是根據用戶的使用環境(比如溫度不同、自己加了一個玻片)不同,可能會出現很大的偏差,這就需要重新校準了。
推薦使用白色的目標物體(88%反射率),距離100mm,放在黑暗環境中來校準。目標物體的距離可以根據自己的使用環境進行調整,但必須在測距曲線的線性部分進行選擇,因爲偏移值應該是一個常數,如果處於非線性區,偏移值就不好確定了。