欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 常用電子制作 >> 正文

激光測(cè)距模塊 VL53L0X 激光測(cè)距傳感器

作者:佚名    文章來(lái)源:網(wǎng)絡(luò)    點(diǎn)擊數(shù):    更新時(shí)間:2023/3/7

這次我們聊一聊激光測(cè)距模塊

我們用的是正點(diǎn)原子的STM32F103ZET6精英版。

 

一。VL53L0X 簡(jiǎn)介

1.定義

VL53L0X 是 ToF 激光測(cè)距傳感器,利用飛行時(shí)間(ToF)原理,通過光子的飛行來(lái)回時(shí)間與光速的計(jì)算,實(shí)現(xiàn)測(cè)距應(yīng)用。

二。測(cè)量模式

1.VL53L0X 傳感器提供了 3 種測(cè)量模式,單次測(cè)量,連續(xù)測(cè)量,定時(shí)測(cè)量。

2.三種測(cè)量模式

(1) Single ranging(單次測(cè)量) ,在該模式下只觸發(fā)執(zhí)行一次測(cè)距測(cè)量,測(cè)量結(jié)束后,

VL53L0X 傳感器會(huì)返回待機(jī)狀態(tài),等待下一次觸發(fā)。

2Continuous ranging(連續(xù)測(cè)量) ,在該模式下會(huì)以連續(xù)的方式執(zhí)行測(cè)距測(cè)量。一

旦測(cè)量結(jié)束,下一次測(cè)量就會(huì)立即啟動(dòng),用戶必須停止測(cè)距才能返回到待機(jī)狀態(tài),最后的一

次測(cè)量在停止前完成。

3Timed ranging(定時(shí)測(cè)量) ,在該模式下會(huì)以連續(xù)的方式執(zhí)行測(cè)距測(cè)量。測(cè)量結(jié)

束后,在用戶定義的延遲時(shí)間之后,才會(huì)啟動(dòng)下一次測(cè)量。用戶必須停止測(cè)距才能返回到待

機(jī)狀態(tài),最后的一次測(cè)量在停機(jī)前完成。

三。ST 官方提供了 4 種不同的精度模式

 

注意:

針對(duì)不同的精度模式,測(cè)量時(shí)間也是有所區(qū)別的,

測(cè)量時(shí)間最快為高速模式,只需 20ms 內(nèi)就可以采樣一次,但精度確存在有±5%的誤差范圍

而在長(zhǎng)距離精度模式下,測(cè)距距離能達(dá)到 2m,測(cè)量時(shí)間在 33ms 內(nèi),

但測(cè)量時(shí)需在黑暗條件(無(wú)紅外線)的環(huán)境下。

所以在實(shí)際的應(yīng)用中,需根據(jù)當(dāng)前的要求去選擇合適的精度模式,以達(dá)到最佳的測(cè)量效果。

四。工作流程

 

當(dāng)上電,VL53L0X會(huì)進(jìn)入Hw Standby狀態(tài),這是待機(jī)狀態(tài),功耗很低。然后拉高XSHUT引腳,讓VL53L0X進(jìn)入Fw Boot狀態(tài),開始準(zhǔn)備測(cè)距。如果不需要待機(jī)狀態(tài),可以把XSHUT接到AVDD上。VL53L0X處于休眠狀態(tài)是不能進(jìn)行通信IIC

注意: VL53L0X3種工作模式:

(1)單次模式:收到測(cè)距開始命令后,開始進(jìn)行測(cè)量,測(cè)量完成后自動(dòng)退出,進(jìn)入Sw Standby狀態(tài)。

(2)連續(xù)模式:收到測(cè)距開始命令后,就一直進(jìn)行測(cè)量,直到收到測(cè)距停止命令。收到測(cè)距停止命令時(shí),會(huì)把最后一次測(cè)量完成才退出。

(3)連續(xù)間隔模式:收到測(cè)距開始命令后,開始進(jìn)行測(cè)量,完成一次測(cè)量后,等待一段時(shí)間再進(jìn)行

下次測(cè)量,直到收到測(cè)距停止命令。測(cè)量等待間隔時(shí)間可調(diào)。

五。原理圖

 

六。引腳

1.基礎(chǔ)

模塊自帶了 2.8V 超低壓差穩(wěn)壓芯片,給 VL53L0X 芯片供電,因此外部供電可以選擇: 3.3V/5V 都可以的。

模塊通過 P1 排針與外部連接,引出了 VCC、 GND、IIC_SDA、 IIC_SCL、 VL_INT、 VL_XSH 信號(hào)。

其中, IIC_SCL、 IIC_SDA、 VL_INT 和 VL_XSH帶了 4.7K 上拉電阻,外部可以不用再加上拉電阻了。

2.ATK-VL53L0X 激光測(cè)距傳感器模塊通過一個(gè) 1*6 的排針(P1)同外部電路連接,各引腳的詳細(xì)描述如表 2.1.1 所示:

 

七。core文件

1.core 文件夾下有四個(gè)重點(diǎn).c 文件,

分別是: vl53l0x_api.c、 vl53l0x_api_calibration.c、vl53l0x_api_core.c 和 vl53l0x_api_strings.c

2.這四個(gè) C 文件的關(guān)系可以用以下關(guān)系圖來(lái)表示

 

注釋:

  1. vl53l0x_api_core.c 文件,

提供有 vl53l0x 傳感器的底層操作核心函數(shù)

2.vl53l0x_api_calibration.c 文件,

提供有 vl53l0x 傳感器校準(zhǔn)操作的底層函數(shù)。

3 vl53l0x_api_strings.c 文件,

實(shí)現(xiàn)信息內(nèi)容的獲取,提供有獲取 vl53l0x 傳感器設(shè)備 ID信息的底層函數(shù),以及提供根據(jù)功能函數(shù)返回的狀態(tài)值去獲得其狀態(tài)信息(字符串)的底層函數(shù)

4.vl53l0x_api.c 文件,

則對(duì)以上的底層函數(shù)進(jìn)行封裝,提供包括系統(tǒng)初始化、測(cè)量模式配置、參數(shù)配置、校準(zhǔn)功能、狀態(tài)信息獲取、以及中斷配置等 API 函數(shù)。在一般的使用時(shí),直接調(diào)取 vl53l0x_api.c 提供的 API 函數(shù)就可以了。

下面是激光測(cè)距的API函數(shù)部分:

一。常用的API函數(shù)有這些

 

二。各個(gè)API函數(shù)的備注

1VL53L0X_Datalnit()函數(shù)

1該函數(shù)實(shí)現(xiàn)傳感器初始化

(2)函數(shù)為 VL53L0X_DataInit(VL53L0X_DEV Dev),

(3)入口參數(shù)類型為 VL53L0X_DEV 結(jié)構(gòu)體,結(jié)構(gòu)體變量為設(shè)置傳感器的 I2C 地址等重要信息。

注意:在失能傳感器設(shè)備,到再重新使能設(shè)備,需調(diào)用該函數(shù)進(jìn)行初始化

2VL53L0X_Staticlnit()函數(shù)

1)該函數(shù)實(shí)現(xiàn)傳感器寄存器值恢復(fù)默認(rèn)初值和工作狀態(tài)切換為待機(jī)狀態(tài)

(2)函數(shù)為VL53L0X_StaticInit(VL53L0X_DEV Dev)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體變量,VL53L0X_DEV結(jié)構(gòu)體變量為設(shè)置傳感器的 I2C 地址等重要信息

4該函數(shù)在初始化時(shí)進(jìn)行調(diào)用

3VL53L0X_SetDeviceAddress()函數(shù)

(1)該函數(shù)實(shí)現(xiàn)修改傳感器設(shè)備的 I2C 地址

(2)函數(shù)為 VL53L0X_SetDeviceAddress(VL53L0X_DEVDev,uint8_t DeviceAddress)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體變量和 DeviceAddress 變量

(4)VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

(5)DeviceAddress 變量為新設(shè)置的 I2C 地址

注意:重新使能設(shè)備后,I2C 地址為會(huì)恢復(fù)為默認(rèn)的 0x52 地址

6若修改設(shè)備 I2C 地址,需在使能設(shè)備后進(jìn)行調(diào)用

7設(shè)置的 I2C 地址必須為偶數(shù),否則會(huì)出現(xiàn)通訊出錯(cuò)

4VL53L0X_SetDeviceMode()函數(shù)

1該函數(shù)實(shí)現(xiàn)傳感器測(cè)量的工作模式配置

(2)函數(shù)為 VL53L0X_SetDeviceMode(VL53L0X_DEVDev,VL53L0X_DeviceModes DeviceMode)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量和VL53L0X_DeviceModes 類型變量

(4)VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

5VL53L0X_DeviceModes 類型變量為設(shè)置的工作模式

其中包含 SINGLE_RANGING 單次測(cè)量、 CONTINUOUS_RANGING 連續(xù)測(cè)量和 TIMED_RANGING定時(shí)器測(cè)量

6該函數(shù)在測(cè)量前初始化進(jìn)行調(diào)用

5VL53L0X_PerformSingleMeasurement()函數(shù)

1該函現(xiàn)實(shí)現(xiàn)啟動(dòng)傳感器一次測(cè)量

(2)函數(shù)為VL53L0X_PerformSingleRangingMeasurement(VL53L0X_DEVDev,VL53L0X_RangingMeasurementData_t*pRangingMeasurementData)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量和 VL53L0X_RangingMeasurementData_t 結(jié)構(gòu)體類型變量

(4)VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

VL53L0X_RangingMeasurementData_t 結(jié)構(gòu)體變量為返回測(cè)量距離的數(shù)據(jù)和測(cè)量范圍狀態(tài)等數(shù)據(jù)

5該函數(shù)一般在傳感器工作在單次測(cè)量模式下進(jìn)行調(diào)用

6VL53L0X_StartMeasurement()VL53L0X_StopMeasurement()函數(shù)

(1)該函數(shù)分別實(shí)現(xiàn)了傳感器啟動(dòng)測(cè)量和暫停測(cè)量

實(shí)現(xiàn)啟動(dòng)測(cè)量的是VL53L0X_StartMeasurement()函數(shù),

實(shí)現(xiàn)暫停測(cè)量的是VL53L0X_StopMeasurement()函數(shù)。

(2)函數(shù)為 VL53L0X_StartMeasurement(VL53L0X_DEV Dev) 和 VL53L0X_StopMeasurement(VL53L0X_DEV Dev)

(3)入口參數(shù)都為VL53L0X_DEV 結(jié)構(gòu)體類型變量

(4)VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

5這兩個(gè)函數(shù)一般在測(cè)量時(shí)進(jìn)行使用

7VL53L0X_GetRangingMeasurementData()函數(shù)

1該函數(shù)實(shí)現(xiàn)獲取傳感器采樣的測(cè)量數(shù)據(jù)

(2)函數(shù)為 VL53L0X_PerformSingleRangingMeasurement(VL53L0X_DEV Dev,VL53L0X_Ranging MeasurementData_t *pRangingMeasurementData)

(3)入口參數(shù)為VL53L0X_DEV結(jié)構(gòu)體類型變量和VL53L0X_RangingMeasurementData_t結(jié)構(gòu)體類型變量

(4)VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

(5)VL53L0X_RangingMeasurementData_t 結(jié)構(gòu)體變量為返回測(cè)量距離的數(shù)據(jù)和測(cè)量范圍狀態(tài)等數(shù)據(jù)

6該函數(shù)一般在傳感器工作在連續(xù)測(cè)量模式下進(jìn)行使用

8VL53L0X_SetGpioConfig()函數(shù)

1該函數(shù)實(shí)現(xiàn)測(cè)量中斷模式的配置功能

(2)函數(shù)為 VL53L0X_SetGpioConfig(VL53L0X_DEV Dev,uint8_t Pin,VL53L0X_DeviceModes DeviceMode, VL53L0X_GpioFunctionality Functionality,VL53L0X_InterruptPolarity Polarity)

3入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量、 Pin 變量、VL53L0X_DeviceModes 類型變量VL53L0X_GpioFunctionality 類型變量 和VL53L0X_InterruptPolarity 類型變量。

其中五個(gè)變量的作用:

VL53L0X_DEV 結(jié)構(gòu)體變量作用 設(shè)置傳感器 I2C 地址等重要信息

VL53L0X_DeviceModes 類型變量的作用 設(shè)置的測(cè)量工作模式(單次測(cè)量、連續(xù)測(cè)量、定時(shí)測(cè)量)

Pin 變量的作用 設(shè)置 GPIO 引腳口(使用時(shí)默認(rèn)配置為 0)

VL53L0X_DeviceModes類型變量的作用 設(shè)置測(cè)量觸發(fā)中斷模式的

VL53L0X_InterruptPolarity 類型變量的作用 設(shè)置引腳的觸發(fā)模式(包含上升沿和下降沿)

注意:

VL53L0X_DeviceModes類型變量包含以下三種模式

CROSSED_LOW(采樣距離<下限值)

CROSSED_HIGH(采樣距離>上限值)

CROSSED_OUT(采樣距離<下限值或采樣距離>上限值)

(5)函數(shù)一般在傳感器工作在連續(xù)測(cè)量模式初始化配置時(shí)進(jìn)行使用。

9、VL53L0X_SetlnterruptThresholds()函數(shù)

(1)該函數(shù)實(shí)現(xiàn)測(cè)量中斷模式上下限距離值的設(shè)置

(2)函數(shù)為 VL53L0X_SetInterruptThresholds (VL53L0X_DEV Dev,VL53L0X_DeviceModes DeviceMode, FixPoint1616_t ThresholdLow,FixPoint1616_t ThresholdHigh)

(3)入口參數(shù) VL53L0X_DEV 結(jié)構(gòu)體類型變量、VL53L0X_DeviceModes 類 型變量、ThresholdLow 和 ThresholdHigh 變量,VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息,

(4) VL53L0X_DeviceModes 類型變量為設(shè)置的測(cè)量工作模式(單次測(cè)量、連續(xù)測(cè)量、定時(shí)測(cè)量等)

(5) ThresholdLow為中斷觸發(fā)的下限距離值

ThresholdHigh為設(shè)置中斷觸發(fā)的上限距離值

(6)該函數(shù)一般在傳感器工作在連續(xù)測(cè)量模式初始化配置時(shí)進(jìn)行使用

10、VL53L0X_ClearInterruptMask()函數(shù)

(1)該函數(shù)實(shí)現(xiàn)清除測(cè)量中斷模式的中斷標(biāo)志位

(2)函數(shù)為 VL53L0X_ClearInterruptMask(VL53L0X_DEV Dev,uint32_t InterruptMask)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量, InterruptMask 變量

(4) VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

(5) InterruptMask 變量為設(shè)置中斷清除,默認(rèn)設(shè)置為 0

(6)該函數(shù)在傳感器觸發(fā)中斷后時(shí)進(jìn)行使用

11、VL53L0X_SetMeasurementTimingBudgetMicroSeconds()函數(shù)

(1)該函數(shù)實(shí)現(xiàn)配置測(cè)量工作模式的周期采樣時(shí)間的功能

(2)函數(shù)為 VL53L0X_SetMeasure mentTimingBudgetMicroSeconds(VL53L0X_DEV Dev, uint32_t MeasurementTimingBudget MicroSeconds)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量、MeasurementTimingBudget MicroSeconds 變量

(4) VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

(5) MeasurementTimingBudgetMicroSeconds 變量為設(shè)置測(cè)量工作模式的周期采樣時(shí)間,單位為 ms

(6)該函數(shù)在工作模式初始化配置時(shí)進(jìn)行使用

12、VL53L0X_PerformOffsetCalibration()函數(shù)

(1)該函數(shù)實(shí)現(xiàn)距離偏移的校準(zhǔn)的功能

(2)函數(shù)為 VL53L0X_PerformOffsetCalibration VL53L0X_ DEV Dev,FixPoint1616_t CalDistanceMilliMeter, int32_t *pOffsetMicroMeter)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量、CalDistanceMilliMeter 變量和 pOffsetMicroMeter 指針變量, VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳感器 I2C 地址等重要信息

(4) CalDistanceMilliMeter變量為設(shè)置校準(zhǔn)時(shí)與傳感器設(shè)備的相對(duì)距離值,單位為 mm

(5) pOffsetMicroMeter指針變量為相對(duì)距離校準(zhǔn)后傳感器返回的修正距離變量的指針

(6)該函數(shù)在校準(zhǔn)時(shí)進(jìn)行使用

13、VL53L0X_SetOffsetCalibrationDataMicroMeter()函數(shù)

(1)該函數(shù)實(shí)現(xiàn)設(shè)置距離補(bǔ)償值的功能

(2)函數(shù)為 VL53L0X_SetOffsetCalibrationDataMicro Meter(VL53L0X_DEV Dev, int32_t OffsetCalibrationDataMicroMeter)

(3)入口參數(shù)為 VL53L0X_DEV 結(jié)構(gòu)體類型變量和 OffsetCalibrationDataMicroMeter 變量,VL53L0X_DEV 結(jié)構(gòu)體變量為設(shè)置傳 感器 I2C 地址等重要信息

(4)OffsetCalibrationDataMicroMeter 變量為設(shè)置的距離補(bǔ)償值

(5)該函數(shù)在補(bǔ)償時(shí)進(jìn)行使用

Tags:電子制作,測(cè)距,傳感器,激光測(cè)距  
責(zé)任編輯:admin
相關(guān)文章列表
陀螺儀傳感器加速度傳感器_MPU6050工作原理
常用傾角傳感器的原理是怎樣的
模擬量傳感器各類干擾原因有哪些 傳感器收到干擾的影響
應(yīng)變式測(cè)力傳感器稱重壓力工作原理 稱重模塊
二線制傳感器與plc接線接法
二線制儀表接線_二線傳感器與二次表和PLC接線方法圖解
電子制作 用TDA2822制作助聽器電路--TDA2822 audiphones circuit
濕度傳感器測(cè)量電路的設(shè)計(jì)原理解析 濕度測(cè)量電路
簡(jiǎn)易恒溫控制器的制作及原理
位移傳感器的分類
4-20ma信號(hào)發(fā)生器電路(可自已制作)
光電式測(cè)速傳感器的工作原理
壓力變送器安裝接線圖
什么是MEMS壓力傳感器?
測(cè)力傳感器有哪些?測(cè)力傳感器原理
熱釋電紅外傳感器結(jié)構(gòu)電路圖
磁通門電流傳感器原理圖解
四線制變送器接線方法圖解
毫伏表電路圖 OP07
六款ntc熱敏電阻測(cè)溫電路_ntc熱敏電阻測(cè)溫電路圖大全
電磁流量計(jì)的安裝要求
詳解電容式壓力傳感器的類型及原理
什么是凸輪軸位置傳感器它的作用是什么
什么是碰撞傳感器它的類型有哪些
詳解加速度傳感器的各種類型及工作原理
汽車安全氣囊主要部件:汽車安全氣囊傳感器
CD4069做的感應(yīng)測(cè)電筆,CD4069 test pencil
方便實(shí)用的電飯煲定時(shí)煮飯電路--Simple timer for rice cooker
電子制作 實(shí)用電子熔絲(保險(xiǎn)絲)電路,Electronic fuse
各種磁電式傳感器的原理與應(yīng)用
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
主站蜘蛛池模板: 鹿泉市| 正定县| 普兰店市| 建昌县| 织金县| 上虞市| 鄢陵县| 五华县| 新密市| 昌江| 英山县| 余姚市| 甘德县| 安宁市| 茌平县| 谢通门县| 泸水县| 永城市| 天峻县| 滦平县| 甘洛县| 南溪县| 彩票| 潞西市| 阿合奇县| 临安市| 皮山县| 平邑县| 安泽县| 鲁甸县| 钦州市| 香港| 上栗县| 巴塘县| 南丰县| 珠海市| 镇沅| 巴楚县| 上思县| 且末县| 吉首市|