在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>傳感器>

初始化 - mpu6050六軸傳感器模塊驅動程序源代碼分享

2017年12月11日 14:26 網絡整理 作者: 用戶評論(0

  接下來,我們介紹一下利用STM32F1讀取MPU6050的加速度和角度傳感器數據(非中斷方式),需要哪些初始化步驟:

  1)初始化IIC接口

  MPU6050采用IIC與STM32F1通信,所以我們需要先初始化與MPU6050連接的SDA和SCL數據線。

  2)復位MPU6050

  這一步讓MPU6050內部所有寄存器恢復默認值,通過對電源管理寄存器1(0X6B)的bit7寫1實現。復位后,電源管理寄存器1恢復默認值(0X40),然后必須設置該寄存器為0X00,以喚醒MPU6050,進入正常工作狀態。

  3)設置角速度傳感器(陀螺儀)和加速度傳感器的滿量程范圍

  這一步,我們設置兩個傳感器的滿量程范圍(FSR),分別通過陀螺儀配置寄存器(0X1B)和加速度傳感器配置寄存器(0X1C)設置。我們一般設置陀螺儀的滿量程范圍為±2000dps,加速度傳感器的滿量程范圍為±2g。

  4)設置其他參數

  這里,我們還需要配置的參數有:關閉中斷、關閉AUXIIC接口、禁止FIFO、設置陀螺儀采樣率和設置數字低通濾波器(DLPF)等。本章我們不用中斷方式讀取數據,所以關閉中斷,然后也沒用到AUXIIC接口外接其他傳感器,所以也關閉這個接口。分別通過中斷使能寄存器(0X38)和用戶控制寄存器(0X6A)控制。MPU6050可以使用FIFO存儲傳感器數據,不過本章我們沒有用到,所以關閉所有FIFO通道,這個通過FIFO使能寄存器

  (0X23)控制,默認都是0(即禁止FIFO),所以用默認值就可以了。陀螺儀采樣率通過采

  樣率分頻寄存器(0X19)控制,這個采樣率我們一般設置為50即可。數字低通濾波器(DLPF)則通過配置寄存器(0X1A)設置,一般設置DLPF為帶寬的1/2即可。

  5)配置系統時鐘源并使能角速度傳感器和加速度傳感器

  系統時鐘源同樣是通過電源管理寄存器1(0X1B)來設置,該寄存器的最低三位用于設置系統時鐘源選擇,默認值是0(內部8MRC震蕩),不過我們一般設置為1,選擇x軸陀螺PLL作為時鐘源,以獲得更高精度的時鐘。同時,使能角速度傳感器和加速度傳感器,這兩個操作通過電源管理寄存器2(0X6C)來設置,設置對應位為0即可開啟。

  至此,MPU6050的初始化就完成了,可以正常工作了(其他未設置的寄存器全部采用默認值即可),接下來,我們就可以讀取相關寄存器,得到加速度傳感器、角速度傳感器和溫度傳感器的數據了。

  首先,我們介紹電源管理寄存器1,該寄存器地址為0X6B,各位描述如圖1.1.3所示:

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  圖1.1.3電源管理寄存器1各位描述

  其中,DEVICE_RESET位用來控制復位,設置為1,復位MPU6050,復位結束后,MPU硬件自動清零該位。SLEEEP位用于控制MPU6050的工作模式,復位后,該位為1,即進入了睡眠模式(低功耗),所以我們要清零該位,以進入正常工作模式。TEMP_DIS用于設置是否使能溫度傳感器,設置為0,則使能。最后CLKSEL[2:0]用于選擇系統時鐘源,選擇關系如表1.1.1所示:

  表1.1.1CLKSEL選擇列表

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  默認是使用內部8MRC晶振的,精度不高,所以我們一般選擇X/Y/Z軸陀螺作為參考的PLL作為時鐘源,一般設置CLKSEL=001即可。

  接著,我們看陀螺儀配置寄存器,該寄存器地址為:0X1B,各位描述如圖1.1.4所示:

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  圖1.1.4陀螺儀配置寄存器各位描述

  該寄存器我們只關心FS_SEL[1:0]這兩個位,用于設置陀螺儀的滿量程范圍:0,±250°/S;1,±500°/S;2,±1000°/S;3,±2000°/S;我們一般設置為3,即±2000°/S,因為陀螺儀的ADC為16位分辨率,所以得到靈敏度為:65536/4000=16.4LSB/(°/S)。

  接下來,我們看加速度傳感器配置寄存器,寄存器地址為:0X1C,各位描述如圖1.1.5所示:

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  圖1.1.5加速度傳感器配置寄存器各位描述

  該寄存器我們只關心AFS_SEL[1:0]這兩個位,用于設置加速度傳感器的滿量程范圍:0,±2g;1,±4g;2,±8g;3,±16g;我們一般設置為0,即±2g,因為加速度傳感器的ADC也是16位,所以得到靈敏度為:65536/4=16384LSB/g。

  接下來,我看看FIFO使能寄存器,寄存器地址為:0X1C,各位描述如圖1.1.6所示:

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  圖1.1.6FIFO使能寄存器各位描述

  該寄存器用于控制FIFO使能,在簡單讀取傳感器數據的時候,可以不用FIFO,設置對應位為0即可禁止FIFO,設置為1,則使能FIFO。注意加速度傳感器的3個軸,全由1個位(ACCEL_FIFO_EN)控制,只要該位置1,則加速度傳感器的三個通道都開啟FIFO了。

  接下來,我們看陀螺儀采樣率分頻寄存器,寄存器地址為:0X19,各位描述如圖1.1.7所示:

  mpu6050六軸傳感器模塊驅動程序源代碼分享

  圖1.1.7陀螺儀采樣率分頻寄存器各位描述

  該寄存器用于設置MPU6050的陀螺儀采樣頻率,計算公式為:

  采樣頻率=陀螺儀輸出頻率/(1+SMPLRT_DIV)

  這里陀螺儀的輸出頻率,是1Khz或者8Khz,與數字低通濾波器(DLPF)的設置有關,當DLPF_CFG=0/7的時候,頻率為8Khz,其他情況是1Khz。而且DLPF濾波頻率一般設置為采樣率的一半。采樣率,我們假定設置為50Hz,那么SMPLRT_DIV=1000/50-1=19。

非常好我支持^.^

(254) 99.6%

不好我反對

(1) 0.40000000000001%

( 發表人:金巧 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 婷婷免费高清视频在线观看 | 亚洲国产第一区二区香蕉 | 成人看片免费无限观看视频 | 爱逼综合 | h视频免费高清在线观看 | 2017天天干| 三级黄色在线视频中文 | 性试验k8经典 | 国产精品美女久久久久网 | 日韩城人视频 | 欧美日韩不卡码一区二区三区 | 视频一二三区 | 欧美三级视频在线 | 国产小视频在线高清播放 | 黄色视屏在线免费观看 | 性欧美一区 | 五月天婷婷久久 | 天天干天天操天天拍 | 国产人人艹 | 黄色成人在线网站 | 成年人午夜影院 | h小视频在线 | 精品国产乱码久久久久久浪潮 | 日韩免费精品一级毛片 | 生活片毛片 | 四虎国产在线观看 | 亚洲第一网站快活影院 | 性午夜影院 | 日本在线www | 欧美电影一区二区 | 91综合在线视频 | 黄色大片视频 | 日韩 ed2k| 五月婷婷激情五月 | 天堂电影在线 | 中国一级特黄剌激爽毛片 | 国产成人乱码一区二区三区 | 中文字幕一区二区三区免费看 | 婷婷国产成人久久精品激情 | 国产免费亚洲 | www.精品视频 |