shineblink VL53L0X激光测距传感器
VL53L0X激光測距
- 一、本例程實現功能
- 二、VL53L0X傳感器介紹
- 三、傳感器性能描述
- 四、 傳感器工作模式配置說明
- 五、接線圖
- 七、完整代碼
- 八、代碼運行結果
- 九、關于校準
一、本例程實現功能
通過VL53L0X激光測距傳感器模塊測量障礙物離傳感器的距離,通過print()函數在電腦串口調試終端打印輸出距離(單位:毫米)。
二、VL53L0X傳感器介紹
VL53L0X是世界上體積最小的高精度激光測距傳感器,基于"飛行時間(TOF)"原理測距,最大測量距離可達到兩米。VL53L0X內部的激光發射器對肉眼不可見,并且符合“CLASS 1”激光類產品的安全標準。
VL53L0X傳感器的測距視場角(FOV)為25°,如下圖所示:
三、傳感器性能描述
以下兩個摘自官方資料的表格分別從測量距離和測量精度兩個方面描述了傳感器在不同外界環境下的性能表現:
測量距離(客觀因素:室內/室外/被測物體偏白/北側物體偏灰)
由下表可以看出傳感器能夠測量的最大距離和在室內環境或在戶外強光環境有關系,也和被測物體是偏白還是偏灰有關系。可以看出最佳的測量環境是在室內測量白色障礙物的距離。
測量精度(客觀因素:測量的距離遠近/被測物體偏白/北側物體偏灰)
由下表可以看出傳感器的測量精度和被測物體的遠近、以及被測物體偏白還是偏灰有一定的關系。
注意:下表中的33ms列為"Default"模式,"HighAccuracy"模式為200ms,"HighSpeed"為20ms,表中的66ms的模式不在Core的支持中,可以忽略。
四、 傳感器工作模式配置說明
Core的LIB函數提供四種模式供開發者根據自己的實際需求來初始化傳感器的配置,每種模式的描述如下表:
五、接線圖
七、完整代碼
--配置USB以虛擬串口模式工作,這樣調用print()函數就會在電腦串口終端打印輸出 LIB_UsbConfig("CDC") --配置VL53L0X激光傳感器開始工作,占用core的IIC0引腳,以高精度模式工作 --高精度模式下,精度在3%以內,測量范圍在1.2米以內 LIB_VL53L0XConfig("IIC0", "HighAccuracy") --開始大循環 while(true) do--每隔200ms查詢一次傳感器是否出數LIB_DelayMs(200)flag, distance = LIB_VL53L0XGetDistance()if flag == 1 then--打印測量距離(mm)print(string.format("distance:%03dmm", distance))end end八、代碼運行結果
電腦串口調試終端上顯示測距結果如下圖(傳感器距離白色墻面31厘米):
九、關于校準
開發者每次在設備上電調用LIB_VL53L0XConfig()函數配置VL53L0X傳感器時,Core會自動對傳感器自動進行溫度校準,以避免溫度的變化影響傳感器的測量精度。
但如果開發者給傳感器外部再加一個透明的外罩或保護殼時,就需要更多的校準流程了,主要涉及SPAD校準,OFFSET(偏移)校準,以及Cross Talk(串擾)校準。目前Core暫時不支持這些校準,所以盡量不要在傳感器外部增加其他可能干擾測量結果的物理屏障。未來如有需求,Core會增加這些校準功能。
總結
以上是生活随笔為你收集整理的shineblink VL53L0X激光测距传感器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自测过程,开发要有足够细心和敏感度
- 下一篇: Win7 不支持此接口问题