日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]MPU-60X0是全球首例9軸運動處理傳感器。它集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴展的數(shù)字運動處理器DMP(Digital Motion Processor),可用I2C接口連接一個第三方的數(shù)字傳感器,比如磁力計。擴展之后就

MPU-60X0是全球首例9軸運動處理傳感器。它集成了3軸MEMS陀螺儀,3軸MEMS

加速度計,以及一個可擴展的數(shù)字運動處理器DMP(Digital Motion Processor),可用I2C

接口連接一個第三方的數(shù)字傳感器,比如磁力計。擴展之后就可以通過其I2C或SPI接口

輸出一個9軸的信號(SPI接口僅在MPU-6000可用)。MPU-60X0也可以通過其I2C接口

連接非慣性的數(shù)字傳感器,比如壓力傳感器。

MPU-60X0對陀螺儀和加速度計分別用了三個16位的ADC,將其測量的模擬量轉化

為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運動,傳感器的測量范圍都是用戶可控的,

陀螺儀可測范圍為±250,±500,±1000,±2000°/秒(dps),加速度計可測范圍為±2,±4,±8,±16g

對MPU6050的配置主要需要1.上電檢測芯片序列號,自檢2.設定加速度陀螺儀的閾值和檢測頻率3.設定外部鏈接設備的驅動模式以及地址4.設定中斷模式,比如要打開自由落體中斷需要的設置,數(shù)據(jù)準備好中斷需要的設置等5.設定電源管理模式,防止進入休眠6.循環(huán)讀取數(shù)據(jù)

MPU輸出一共三種數(shù)據(jù),包括陀螺儀輸出加速度傳感器輸出和溫度輸出,溫度輸出需要計算,計算方法是讀出16位溫度數(shù)據(jù)temp,然后temp/340.0 + 36.53

另外,中斷引腳的模式也是可以配置的,詳細的說明在MPU6050驅動的頭文件中有,包含每一個寄存器的說明,請查看源碼,如下

1.MPU6050.h

#ifndef__MPU6050_H_

#define__MPU6050_H_

#include"common.h"

#include"ioremap.h"

#include"stm32f10x.h"

#include"delay.h"

#include"uart.h"

#defineMPU_ACK_WAIT_TIME200//us

#defineMPU6050_ADDRESS_AD0_LOW0xD0//AD0為低的時候設備的寫地址

#defineMPU6050_ADDRESS_AD0_HIGH0XD1//AD0為高的時候設備的寫地址

#defineMPU_ADDR0xD0//IIC寫入時的地址字節(jié)數(shù)據(jù)

#defineMPU_DEBUG1

//技術文檔未公布的寄存器主要用于官方DMP操作

#defineMPU6050_RA_XG_OFFS_TC0x00//[bit7]PWR_MODE,[6:1]XG_OFFS_TC,[bit0]OTP_BNK_VLD

#defineMPU6050_RA_YG_OFFS_TC0x01//[7]PWR_MODE,[6:1]YG_OFFS_TC,[0]OTP_BNK_VLD

//bit7的定義,當設置為1,輔助I2C總線高電平是VDD。當設置為0,輔助I2C總線高電平是VLOGIC

#defineMPU6050_RA_ZG_OFFS_TC0x02//[7]PWR_MODE,[6:1]ZG_OFFS_TC,[0]OTP_BNK_VLD

#defineMPU6050_RA_X_FINE_GAIN0x03//[7:0]X_FINE_GAIN

#defineMPU6050_RA_Y_FINE_GAIN0x04//[7:0]Y_FINE_GAIN

#defineMPU6050_RA_Z_FINE_GAIN0x05//[7:0]Z_FINE_GAIN

#defineMPU6050_RA_XA_OFFS_H0x06//[15:0]XA_OFFS兩個寄存器合在一起

#defineMPU6050_RA_XA_OFFS_L_TC0x07

#defineMPU6050_RA_YA_OFFS_H0x08//[15:0]YA_OFFS兩個寄存器合在一起

#defineMPU6050_RA_YA_OFFS_L_TC0x09

#defineMPU6050_RA_ZA_OFFS_H0x0A//[15:0]ZA_OFFS兩個寄存器合在一起

#defineMPU6050_RA_ZA_OFFS_L_TC0x0B

#defineMPU6050_RA_XG_OFFS_USRH0x13//[15:0]XG_OFFS_USR兩個寄存器合在一起

#defineMPU6050_RA_XG_OFFS_USRL0x14

#defineMPU6050_RA_YG_OFFS_USRH0x15//[15:0]YG_OFFS_USR兩個寄存器合在一起

#defineMPU6050_RA_YG_OFFS_USRL0x16

#defineMPU6050_RA_ZG_OFFS_USRH0x17//[15:0]ZG_OFFS_USR兩個寄存器合在一起

#defineMPU6050_RA_ZG_OFFS_USRL0x18

/*陀螺儀的采樣頻率*/

/*傳感器的寄存器輸出,FIFO輸出,DMP采樣、運動檢測、

*零運動檢測和自由落體檢測都是基于采樣率。

*通過SMPLRT_DIV把陀螺儀輸出率分頻即可得到采樣率

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

*禁用DLPF的情況下(DLPF_CFG=0或7),陀螺儀輸出率=8khz

*在啟用DLPF(見寄存器26)時,陀螺儀輸出率=1khz

*加速度傳感器輸出率是1khz。這意味著,采樣率大于1khz時,

*同一個加速度傳感器的樣品可能會多次輸入到FIFO、DMP和傳感器寄存器*/

#defineMPU6050_RA_SMPLRT_DIV0x19//[0-7]陀螺儀輸出分頻采樣率

/*配置外部引腳采樣和DLPF數(shù)字低通濾波器*/

#defineMPU6050_RA_CONFIG0x1A

//bit5-bit3一個連接到FSYNC端口的外部信號可以通過配置EXT_SYNC_SET來采樣

//也就是說,這里設置之后,FSYNC的電平0或1進入最終數(shù)據(jù)寄存器,具體如下

//0不使用1FSYNC電平進入所有數(shù)據(jù)寄存器2FSYNC電平進入GYRO_XOUT_L3FSYNC電平進入GYRO_YOUT_L

//4FSYNC電平進入GYRO_ZOUT_L5FSYNC電平進入ACCEL_XOUT_L6FSYNC電平進入ACCEL_YOUT_L

//7FSYNC電平進入SYNC_ACCEL_ZOUT_L

//bit2-bit0數(shù)字低通濾波器用于濾除高頻干擾高于這個頻率的干擾被濾除掉

/*對應關系如下

**|加速度傳感器|陀螺儀

**DLPF_CFG|帶寬|延遲|帶寬|延遲|采樣率

*-------------+--------+-------+--------+------+-------------

*0|260Hz|0ms|256Hz|0.98ms|8kHz

*1|184Hz|2.0ms|188Hz|1.9ms|1kHz

*2|94Hz|3.0ms|98Hz|2.8ms|1kHz

*3|44Hz|4.9ms|42Hz|4.8ms|1kHz

*4|21Hz|8.5ms|20Hz|8.3ms|1kHz

*5|10Hz|13.8ms|10Hz|13.4ms|1kHz

*6|5Hz|19.0ms|5Hz|18.6ms|1kHz

*7|Reserved|Reserved|Reserved

**/

/*陀螺儀的配置,主要是配置陀螺儀的量程與自檢(通過相應的位765開啟自檢)*/

#defineMPU6050_RA_GYRO_CONFIG0x1B

//bit4-bit3量程設置如下

//0=+/-250度/秒

// 1 = +/- 500 度/秒

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉