最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

基于STM32CUBEMX驅動TOF模塊VL6180與VL6180X(1)----單模塊距離獲取的最佳實踐

2023-08-21 15:08 作者:記帖  | 我要投稿

概述

VL6180X是基于ST FlightSense?專利技術的最新產品。作為一項突破性技術,它實現了獨立于目標反射率的絕對距離測量。傳統的測量方法通過測量反射光的光量來估算距離,然而這種方法存在一個主要缺點,即被測物體的顏色和表面特性對測量精度產生很大影響。VL6180X采用了一種全新的方法,它精確測量了光線從傳感器照射到最近物體,并在反射回傳感器所需的時間(即飛行時間),從而準確計算出兩者之間的距離。?

VL6180X模塊集成了一個紅外發(fā)射器、一個紅外傳感器和一個環(huán)境光傳感器,全部封裝在一個便于集成的三合一回流焊封裝中。這種設計使終端產品制造商能夠減少光學和機械設計的優(yōu)化過程,并降低相關成本。 該模塊具備低功耗操作的特點。測距和環(huán)境光感應(ALS)測量可以在用戶定義的時間間隔內自動執(zhí)行。此外,它支持多種門限和中斷方案,以最大程度地減少主機操作的需要。 主機控制和結果讀取是通過I2C接口實現的,方便快捷。此外,VL6180X還提供兩個可編程的GPIO引腳,用于可選的附加功能,例如測量準備和門限中斷。 通過以上的優(yōu)化和擴寫,文案更加詳細地描述了VL6180X模塊的工作原理、集成設計的優(yōu)勢以及支持的功能和接口。這些信息可以幫助讀者更好地了解該模塊的特性和應用價值。 最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:6_15061293 。?

視頻教程

https://www.bilibili.com/video/BV1tX4y1q7Zj/


樣品申請

https://www.wjx.top/vm/OhcKxJk.aspx#

完整代碼下載

https://download.csdn.net/download/qq_24312945/87945855

所有功能

  • 三合一智能光學模塊

    • 接近傳感器

    • 環(huán)境光傳感器

    • VCSEL光源

  • 快速,精確測距

    • 絕對測量范圍從0到超過10 cm(10cm以上的測距取決于具體情況)

    • 不受目標反射率影響

    • 環(huán)境光抑制

    • 蓋片的串擾補償

  • 蓋片的串擾補償

    • 主機系統可以用距離和信號電平實現手勢識別

    • 可用演示系統:P-NUCLEO-6180X1 評估板

  • 環(huán)境光傳感器

    • 高動態(tài)范圍

    • 精確/超低光敏感

    • 校準輸出值(以勒克斯為單位)

  • 方便集成

    • 單回流焊元件

    • 無附加光學元件

    • 單電源

    • 用于器件控制和數據的I2C接口

    • 提供一個文檔化的C可移植 API(應用程序接口)

  • 兩個可編程GPIO

    • 測距和ALS的窗口和門限功能

技術規(guī)范

該模塊的供電要求為2.8V,適合于低電壓應用場景。它通過I2C接口進行主機控制和數據通信,方便與其他設備的集成。支持最大快速模式速率,達到400k,確保高效的數據傳輸。 此外,VL6180X模塊具備出色的光照強度檢測能力,覆蓋了廣泛的光照強度范圍。從微弱的1 Lux到高達100 kLux的光照強度,該模塊能夠準確測量環(huán)境的光照水平。這使得它在需要實時監(jiān)測光照條件的應用中非常有用,例如室內照明控制、自動調節(jié)顯示亮度等。 最后,VL6180X模塊具有一個默認地址為0x29的設備地址,這樣在多個I2C設備共享同一總線時,可以輕松管理和區(qū)分不同的模塊。?

接口

vl6180模塊接口的示意圖如下所示。?

接口說明

最小系統圖

生成STM32CUBEMX

用STM32CUBEMX生成例程,這里使用MCU為STM32G030C8。 配置時鐘樹,配置時鐘為64M。?

串口配置

查看原理圖,PA9和PA10設置為開發(fā)板的串口。

配置串口。

IIC配置

在這個應用中,VL6180模塊通過I2C(IIC)接口與主控器通信。具體來說,VL6180模塊的I2C引腳連接到主控器的PB6(引腳B6)和PB7(引腳B7)兩個IO口。 這種連接方式確保了模塊與主控器之間的可靠數據傳輸和通信。PB6作為I2C總線的串行數據線(SDA),負責數據的傳輸和接收。而PB7則充當I2C總線的串行時鐘線(SCL),用于同步數據傳輸的時序。?

配置IIC為快速模式,速度為400k。?

串口重定向

打開魔術棒,勾選MicroLIB?

?在main.c中,添加頭文件,若不添加會出現 identifier "FILE" is undefined報錯。

函數聲明和串口重定向:

模塊片選

根據提供的表格信息,我們可以得知VL6180模塊的GPIO0/CE引腳用作片選腳(Chip Enable),在需要使用該功能時,需要給該引腳一個高電平信號。 確保在使用GPIO0/CE引腳時,正確設置引腳的電平狀態(tài),并按照VL6180模塊的規(guī)格和要求進行相應的配置和操作。這將確保模塊按照預期工作,并滿足特定的功能需求。

下面為模塊啟動時序圖。

模塊地址

VL6180模塊的默認設備地址為0x29。設備地址是用來識別和通信特定設備的標識符。通過將VL6180模塊的設備地址設置為0x29,您可以確保與該模塊進行正常的通信和控制。

?雖然VL6180模塊的默認設備地址為0x29,但可以通過使用I2C_SLAVE__DEVICE_ADDRESS {0x212}來修改模塊的設備地址。 通過修改設備地址,可以為VL6180模塊指定一個與默認地址不同的唯一地址。這種靈活性使您能夠在同一I2C總線上連接多個VL6180X模塊或與其他設備進行通信,而無需擔心地址沖突的問題。

讀寫位

在I2C總線上,由于可能連接多個設備,主設備在傳輸有效數據之前需要指定從設備的地址。大多數從設備使用7位地址,而一些設備支持10位地址尋址。主設備在需要發(fā)送或接收數據時,首先發(fā)送所需從設備的地址,并匹配總線上掛載的從設備的地址。然后,主設備可以將數據發(fā)送到SDA數據線上。 緊隨地址的第8位是數據方向位(R/W),其中'0'表示發(fā)送(寫入),'1'表示請求數據(讀?。?。 對于VL6180模塊,默認的7位地址是0x29(二進制為010 1001),加上寫位后為0x52(二進制為0101 0010),加上讀位后為0x53(二進制為0101 0011)。 這意味著當主設備與VL6180模塊進行通信時,要發(fā)送0x52地址字節(jié)進行寫操作,或發(fā)送0x53地址字節(jié)進行讀取操作。

模塊寄存器

對于VL6180,模塊寄存器的地址是16位的,不是8位的。VL6180模塊使用16位的寄存器地址來訪問和配置各種功能和參數。這種擴展的地址空間提供了更大的靈活性和更多的寄存器選項,以滿足不同的應用需求。 在與VL6180模塊進行通信時,主設備需要發(fā)送16位的寄存器地址,以指定所需的操作和寄存器位置。這樣可以確保主設備與模塊之間的正確數據交換和通信。

?所以對于vl6180模塊,讀寫代碼如下所示。

初始化

?首先需要檢查寄存器SYSTEM__FRESH_OUT_OF_RESET {0x16}是否為0x01.

可以通過讀取SYSTEM__FRESH_OUT_OF_RESET {0x16}進行判斷設備是否準備好,之后進行6180初始化。 初始化如下所示。

?


設備標識號

查詢設備號可以通過0x000指令進行查詢,返回值一般為0xB4。


單次讀取距離長度

在VL6180模塊中,可以使用單次讀取或多次讀取的方式來獲取所需的數據。在這里,我們將使用單次讀取的方式來讀取數據。下圖中紅色框內的部分展示了單次讀取的操作方式。 單次讀取是一種簡單而常用的讀取數據的方法。它涉及到向VL6180模塊發(fā)送一個讀取命令,并從模塊的寄存器中讀取所需的數據。 圖示中的紅色框內部所示的讀取操作方式可以作為參考,幫助理解和實施單次讀取操作。

由上圖可以得知,讀取的寄存器地址為0x062,0x062寄存器的說明如下所示,單位為mm。

代碼如下所示。

測試結果

測試結果如下所示。






基于STM32CUBEMX驅動TOF模塊VL6180與VL6180X(1)----單模塊距離獲取的最佳實踐的評論 (共 條)

分享到微博請遵守國家法律
皋兰县| 哈尔滨市| 乌兰察布市| 古浪县| 北京市| 外汇| 渭源县| 浙江省| 泰和县| 方正县| 永吉县| 通州区| 称多县| 临朐县| 龙游县| 岢岚县| 安徽省| 平阴县| 章丘市| 永善县| 普兰店市| 壤塘县| 桃园县| 辽源市| 兰坪| 台安县| 黎川县| 成都市| 富顺县| 绵竹市| 清水县| 灌阳县| 兴安县| 无为县| 宜良县| 连州市| 漯河市| 铜山县| 萨迦县| 新泰市| 和田市|