使用模塊:ATK-VL53L0X激光測距模塊或者淘寶其他模塊
通信方式:IIC,接口SHUT用於開機啓動時序中,int是中斷模式中的引腳(觸發中斷)
參考資料:
https://blog.csdn.net/tiramisu_l/article/details/90729964
vl53l1x+stm32激光測距分析
https://wenku.baidu.com/view/1cfc5e556d175f0e7cd184254b35eefdc8d315e7.html
VL53L1X 的API中文用戶手冊
https://blog.csdn.net/tiramisu_L/article/details/89502121
VL53L0X+stm32激光測距
http://www.51hei.com/bbs/dpj-150015-1.html
VL53L0X中文資料(翻譯版)激光測距+手勢檢測傳感器API源碼
前期主要閱讀文檔:VL53L1X用戶手冊(系統狀態流程圖,介紹3種距離模式,長,中,短,分別對應誤差和最大測量距離,)
和API中文用戶手冊(主要包括校準和測距功能函數)
3、整體測量時序如下圖所示,主要包括timing budget 和measurement period
主機可以通過使用專用驅動程序功能來更改默認的時間預算和測量間隔時間
下圖就是介紹不同的timing budget對應不同的距離,在程序編程中可以改變
不同的預測時間對應不同的模式
4、測距偏移校準
上圖是校準流程圖,API函數最主要是performrefspadmanagement,PerformRefCalibration,PerformOffsetCalibration,PerformXTalkCalibration
Status = VL53L0X_PerformRefSpadManagement(dev,&refSpadCount,&isApertureSpads);//執行參考Spad管理
Status = VL53L0X_PerformRefCalibration(dev,&VhvSettings,&PhaseCal);//Ref參考校準
Status = VL53L0X_PerformOffsetCalibration(dev,CalDistanceMilliMeter,&OffsetMicroMeter);//偏移校準
Status = VL53L0X_PerformXTalkCalibration(dev,XTalkCalDistance,&XTalkCompensationRateMegaCps);//串擾校準
5、3 種測距模式
單次測距、連續測距、定時範圍測距
下圖是測量結構圖,重要的是下圖獲取數據的方式形式
6、數據獲取形式:中斷或者輪詢
結合上圖理解
輪詢模式: 用戶必須通過輪詢api 函數來檢查正在進行的測量的狀態。
中斷模式: 中斷引腳(gpio1) 在新測量可用時向主機發送中斷。
下圖是中斷模式時,按照上圖流程編寫的
7、開機和啓動時序
shut引腳可以被主機控制來啓動或者不被主機控制來控制啓動,下圖是被控制的時候,時序圖
8、性能
光照強度對激光測距具有很大的影響,文檔說這款激光測距能夠達到4m,那是在灰暗的情況下,普通情況是3m左右。
實驗結果融合氣壓計,無人機能夠實現懸停。
.所以參考資料,英文中文,過程中遇到的問題解決方式,程序如以下鏈接!