mpu6050寄存器詳解文檔_第1頁(yè)
mpu6050寄存器詳解文檔_第2頁(yè)
mpu6050寄存器詳解文檔_第3頁(yè)
mpu6050寄存器詳解文檔_第4頁(yè)
mpu6050寄存器詳解文檔_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、詳解MPU6050,用STM32讀取原始數(shù)據(jù),并相互融合算出俯仰角、翻滾角、偏航角(2014-01-16 16:53:41)轉(zhuǎn)載1.MPU6050是什么?MPU6050是一個(gè)6軸運(yùn)動(dòng)處理組件,包含了3軸加速度 和3軸陀螺儀。MPU-6000為全球首例整合性6軸運(yùn)動(dòng)處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時(shí)之軸間差的問(wèn)題,減少了大量的包裝空間。MPU-6000整合了3軸陀螺儀、3軸加速器,并含可藉由第二個(gè)I2C端口連接其他廠牌之加速器、磁力傳感器、或其他傳感器的數(shù)位運(yùn)動(dòng)處理(DMP: Digital Motion Processor)硬件加速引擎,由主要I2C端口以單一數(shù)據(jù)流的形式,

2、向應(yīng)用端輸出完整的9軸融合演算技術(shù)InvenSense的運(yùn)動(dòng)處理資料庫(kù),可處理運(yùn)動(dòng)感測(cè)的復(fù)雜數(shù)據(jù),降低了運(yùn)動(dòng)處理運(yùn)算對(duì)操作系統(tǒng)的負(fù)荷,并為應(yīng)用開(kāi)發(fā)提供架構(gòu)化的API。MPU-6000的角速度全格感測(cè)范圍為±250、±500、±1000與±2000°/sec (dps),可準(zhǔn)確追緃快速與慢速動(dòng)作,并且,用戶(hù)可程式控制的加速器全格感測(cè)范圍為±2g、±4g±8g與±16g。產(chǎn)品傳輸可透過(guò)最高至400kHz的I2C或最高達(dá)20MHz的SPI。MPU-6000可在不同電壓下工作,VDD供電電壓介為2.5V±

3、;5%、3.0V±5%或3.3V±5%,邏輯接口VVDIO供電為1.8V± 5%。MPU-6000的包裝尺寸4x4x0.9mm(QFN),在業(yè)界是革命性的尺寸。其他的特征包含內(nèi)建的溫度感測(cè)器、包含在運(yùn)作環(huán)境中僅有±1%變動(dòng)的振蕩器。2.加速度傳感器是干嘛用的?總而言這,加速度傳感器,其實(shí)是力傳感器。用來(lái)檢查上下左右前后哪幾個(gè)面都受了多少力(包括重力),然后計(jì)算角度。3.陀螺儀是干嘛用的?簡(jiǎn)而言之,陀螺儀就是角速度檢測(cè)儀。比如,一塊板,以X軸為軸心,在一秒鐘的時(shí)間轉(zhuǎn)到了90度,那么它在X軸上的角速度就是 90度/秒  (DPS, 角速度

4、單位,Degree Per Second的縮寫(xiě)°/S ,體現(xiàn)了轉(zhuǎn)動(dòng)的快慢)4.MPU6050分辨率是多少?3軸加速度 和3軸陀螺儀分別用了3個(gè)16位的ADC, 也就是說(shuō),加速度有3個(gè)16位ADC,其中每個(gè)軸使用了一個(gè)。也是說(shuō),每個(gè)軸輸出的數(shù)據(jù),是216 也就是 -32768 - +32768。陀螺儀也是一樣。5. 單位換算上面說(shuō)的-32768 - +32768 ,那么這個(gè)數(shù)字到底代表了什么呢?比如陀螺儀 32768 到底是指角速度達(dá)到多少度/秒 ?這個(gè)其實(shí)是根據(jù)MPU6050設(shè)置的量程來(lái)決定的,量程不一樣,32768代表的值就不一樣。MPU6050的量程設(shè)置,在 MPU60

5、50:initialize() (MPU6050.cpp庫(kù))初始化函數(shù)中進(jìn)行了設(shè)置:setFullScaleGyroRange(MPU6050_GYRO_FS_250);setFullScaleAccelRange(MPU6050_ACCEL_FS_2);分別設(shè)置為,250度/秒 , 2g按陀螺儀來(lái)說(shuō),MPU6050 有四個(gè)量程可選:±250,±500,±1000,±2000 度/s比方說(shuō),設(shè)置了是 ±250 , 那么-32768  - +32768 就代表了 -250 - +250 。此時(shí)它的LSB(拉傻B,最低有效位)

6、是 131 LSB/(度/s)STM32自帶I2C,但一般有兩個(gè)I2C1(PB6,PB7)和I2C2(PB10,PB11),而且,I2C分為硬件、和模擬。軟件i2c是程序員使用程序控制SCL,SDA線(xiàn)輸出高低電平,模擬i2c協(xié)議的時(shí)序.硬件i2c程序員只要調(diào)用i2c的控制函數(shù)即可,不用直接的去控制SCL,SDA高低電平的輸出本模塊采用的是IIC通信方式,所以我們只需要連接四跟線(xiàn)就可以完成電路的連接,簡(jiǎn)單方便!原始數(shù)據(jù)有:AX、AY、AZ    GX、GY、GZ簡(jiǎn)單的算法之后可以得到 Roll,pitch,yaw參考MPU-6050數(shù)據(jù)手冊(cè)引腳說(shuō)明:VDD 供電電壓

7、為2.5V±5%、3.0V±5%、3.3V±5%;VDDIO 為1.8V± 5%內(nèi)建振蕩器在工作溫度范圍內(nèi)僅有±1%頻率變化。可選外部時(shí)鐘輸入32.768kHz 或19.2MHz找出幾個(gè)重要的寄存器:1)Register 25 Sample Rate Divider  (SMPRT_DIV)1)SMPLRT_DIV 8位無(wú)符號(hào)值,通過(guò)該值將陀螺儀輸出分頻,得到采樣頻率    該寄存器指定陀螺儀輸出率的分頻,用來(lái)產(chǎn)生MPU-60X0的采樣率。  傳感器寄存器

8、的輸出、FIFO輸出、DMP采樣和運(yùn)動(dòng)檢測(cè)的都是基于該采樣率。  采樣率的計(jì)算公式                    采樣率 = 陀螺儀的輸出率 / (1 + SMPLRT_DIV)  當(dāng)數(shù)字低通濾波器沒(méi)有使能的時(shí)候,陀螺儀的輸出平路等于8KHZ,反之等于1KHZ。2)Register 26 Configuration  &

9、#160;     (CONFIG) 1)EXT_SYNC_SET 3位無(wú)符號(hào)值,配置幀同步引腳的采樣 2)DLPF_CFG 3位無(wú)符號(hào)值,配置數(shù)字低通濾波器  該寄存器為陀螺儀和加速度計(jì)配置外部幀同步(FSYNC)引腳采樣和數(shù)字低通濾波器(DLPF)。 通過(guò)配置EXT_SYNC_SET,可以對(duì)連接到FSYNC引腳的一個(gè)外部信號(hào)進(jìn)行采樣。  FSYNC引腳上的信號(hào)變化會(huì)被鎖存,這樣就能捕獲到很短的頻閃信號(hào)。 采樣結(jié)束后,鎖存器將復(fù)位到當(dāng)前的FSYNC信號(hào)狀態(tài)。

10、60;根據(jù)下面的表格定義的值,采集到的數(shù)據(jù)會(huì)替換掉數(shù)據(jù)寄存器中上次接收到的有效數(shù)據(jù)數(shù)字低通濾波器是由DLPF_CFG來(lái)配置,根據(jù)下表中DLPF_CFG的值對(duì)加速度傳感器和陀螺儀濾波  3)Register 27 Gyroscope Configuration   (GYRO_CONFIG)1)XG_ST 設(shè)置此位,X軸陀螺儀進(jìn)行自我測(cè)試。2)YG_ST 設(shè)置此位,Y軸陀螺儀進(jìn)行自我測(cè)試。3)ZG_ST 設(shè)置此位,Z軸陀螺儀進(jìn)行自我測(cè)試。4)FS_SEL 2位無(wú)符號(hào)值。選擇陀螺儀的量程。 

11、0; 這個(gè)寄存器是用來(lái)觸發(fā)陀螺儀自檢和配置陀螺儀的滿(mǎn)量程范圍。   陀螺儀自檢允許用戶(hù)測(cè)試陀螺儀的機(jī)械和電氣部分,通過(guò)設(shè)置該寄存器的 XG_ST、YG_ST和 ZG_ST bits可以激活陀螺儀對(duì)應(yīng)軸的自檢。每個(gè)軸的檢測(cè)可以獨(dú)立進(jìn)行或同時(shí)進(jìn)行。    自檢的響應(yīng) = 打開(kāi)自檢功能時(shí)的傳感器輸出 - 未啟用自檢功能時(shí)傳感器的輸出    在MPU-6000/MPU-6050數(shù)據(jù)手冊(cè)的電氣特性表中已經(jīng)給出了每個(gè)軸的限制范圍。當(dāng)自檢的響應(yīng)值在規(guī)定的范圍內(nèi)

12、,就能夠通過(guò)自檢;反之,就不能通過(guò)自檢。    根據(jù)下表,F(xiàn)S_SEL選擇陀螺儀輸出的量程: 4)Register 28 Accelerometer Configuration  (ACCEL_CONFIG)1)XA_ST    設(shè)置為1時(shí),X軸加速度感應(yīng)器進(jìn)行自檢。2)YA_ST    設(shè)置為1時(shí),Y軸加速度感應(yīng)器進(jìn)行自檢。3)ZA_ST    設(shè)置為1時(shí),Z軸加速度感應(yīng)器進(jìn)行自檢。4)AFS_SEL&#

13、160; 2位無(wú)符號(hào)值。選擇加速度計(jì)的量程。   具體細(xì)節(jié)和上面陀螺儀的相似。  根據(jù)下表,AFS_SEL選擇加速度傳感器輸出的量程。5)Registers 59 to 64 Accelerometer Measurements (ACCEL_XOUT_H, ACCEL_XOUT_L, ACCEL_YOUT_H, ACCEL_YOUT_L, ACCEL_ZOUT_H, and ACCEL_ZOUT_L)1)ACCEL_XOUT  16位2s補(bǔ)碼值。   存儲(chǔ)最近的X軸加速度感應(yīng)器的測(cè)量

14、值。2)ACCEL_YOUT  16位2s補(bǔ)碼值。   存儲(chǔ)最近的Y軸加速度感應(yīng)器的測(cè)量值。3)ACCEL_ZOUT  16位2s補(bǔ)碼值。   存儲(chǔ)最近的Z軸加速度感應(yīng)器的測(cè)量值。   這些寄存器存儲(chǔ)加速感應(yīng)器最近的測(cè)量值。   加速度傳感器寄存器,連同溫度傳感器寄存器、陀螺儀傳感器寄存器和外部感應(yīng)數(shù)據(jù)寄存器,都由兩部分寄存器組成(類(lèi)似于STM32F10X系列中的影子寄存器):一個(gè)內(nèi)部寄存器,用戶(hù)不可見(jiàn)。另一個(gè)用戶(hù)可讀的寄存器。內(nèi)部寄存

15、器中數(shù)據(jù)在采樣的時(shí)候及時(shí)的到更新,僅在串行通信接口不忙碌時(shí),才將內(nèi)部寄存器中的值復(fù)制到用戶(hù)可讀的寄存器中去,避免了直接對(duì)感應(yīng)測(cè)量值的突發(fā)訪問(wèn)。    在寄存器28中定義了每個(gè)16位的加速度測(cè)量值的最大范圍,對(duì)于設(shè)置的每個(gè)最大范圍,都對(duì)應(yīng)一個(gè)加速度的靈敏度ACCEL_xOUT,如下面的表中所示:6)Registers 65 and 66 Temperature Measurement   (TEMP_OUT_H and TEMP_OUT_L)1)TEMP_OUT 16位有符號(hào)值。   存儲(chǔ)的最近溫

16、度傳感器的測(cè)量值。 7)Registers 67 to 72 Gyroscope Measurements    (GYRO_XOUT_H, GYRO_XOUT_L, GYRO_YOUT_H, GYRO_YOUT_L, GYRO_ZOUT_H, and GYRO_ZOUT_L) 這個(gè)和加速度感應(yīng)器的寄存器相似對(duì)應(yīng)的靈敏度:8)Register 107 Power Management 1   (PWR_MGMT_1) 該寄存器允許用戶(hù)配置電源模式和時(shí)鐘源。它還提供了一個(gè)復(fù)位整個(gè)器件的位,和一個(gè)關(guān)

17、閉溫度傳感器的位1)DEVICE_RESET  置1后所有的寄存器復(fù)位,隨后DEVICE_RESET自動(dòng)置0.2)SLEEP         置1后進(jìn)入睡眠模式  3)CYCLE         當(dāng)CYCLE被設(shè)置為1,且SLEEP沒(méi)有設(shè)置,MPU-60X0進(jìn)入循環(huán)模式,為了從速度傳感器中獲得采樣值,在睡眠模式和正常數(shù)據(jù)采集模式之間切換,每次獲得一個(gè)采樣數(shù)據(jù)。在LP_WAKE_

18、CTRL(108)寄存器中,可以設(shè)置喚醒后的采樣率和被喚醒的頻率。4)TEMP_DIS      置1后關(guān)閉溫度傳感器5)CLKSEL        指定設(shè)備的時(shí)鐘源    時(shí)鐘源的選擇:     9)Register 117 Who Am I         (WHO_AM_I

19、) WHO_AM_I中的內(nèi)容是MPU-60X0的6位I2C地址上電復(fù)位的第6位到第1位值為:110100為了讓兩個(gè)MPU-6050能夠連接在一個(gè)I2C總線(xiàn)上,當(dāng)AD0引腳邏輯低電平時(shí),設(shè)備的地址是 b1101000 ,當(dāng)AD0引腳邏輯高電平時(shí),設(shè)備的地址是 b1101001   () 淘寶買(mǎi)的貨終于到了,學(xué)習(xí)用所以沒(méi)買(mǎi)好的,這個(gè)模塊只要18塊錢(qián)。MPU-6000可以使用SPI和I2C接口,而MPU-6050只能使用I2C,其中I2C的地址由AD0引腳決定;寄存器共117個(gè),挺多的,下面的是精簡(jiǎn)常用的,根據(jù)具體的要求,適當(dāng)?shù)奶砑印?#1

20、60;#define SMPLRT_DIV  0x19    /采樣率分頻,典型值:0x07(125Hz) */#define CONFIG   0x1A       / 低通濾波頻率,典型值:0x06(5Hz) */#define GYRO_CONFIG  0x1B   / 陀螺儀自檢及測(cè)量范圍,典型值:0x18(不自檢,2000deg/s) */#define ACCEL_CONFIG 0x1C  / 加速計(jì)自檢、測(cè)量范圍及高通濾波頻率,典型值:0x01(不自檢,2G,5Hz) */ #define ACCEL_XOUT_H 0x3B  / 存儲(chǔ)最近的X軸、Y軸、Z軸加速度感應(yīng)器的測(cè)量值 */#define ACCEL_XOUT_L 0x3C#define ACCEL_YOU

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論