学习笔记5-MPU6050模块


一、相关介绍

MPU-60X0是世界上第一款集成 6 轴MotionTracking设备。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP( DigitalMotion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I2C或SPI接口输出一个9轴的信号( SPI接口仅在MPU-6000可用)。 MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。

二、相关图解

2.1模块电路图

在这里插入图片描述

2.2系统结构图

在这里插入图片描述

三、MPU6050初始化

  1. 初始化I2C接口。

  2. 复位MPU6050(电源管理寄存器1-0x6B)。

  3. 设置角速度传感器和加速度传感器的满量程范围(陀螺仪采样率——采样率分频寄存器0x19;设置数字低通滤波器——配置寄存器0x1A)。

  4. 设置系统时钟(电源管理寄存器1-0x6B)。

  5. 使能角速度传感器(陀螺仪)和加速度传感器(电源管理寄存器2-0x6C)。

四、寄存器配置

1、电源管理寄存器1(0x6B)

在这里插入图片描述
在这里插入图片描述
DEVICE_RESE=1,复位MPU6050,复位完成后,自动清零
SLEEP=1,进入睡眠模式;SLEEP=0,正常工作模式。
TEMP_DIS,用于设置是否使能温度传感器,设置为0,则使能CLKSEL[2:0],用于选择系统时钟源。

2、电源管理寄存器2(0x6C)

在这里插入图片描述
在这里插入图片描述
该寄存器的LP_WAKE_CTRL用于控制低功耗时的唤醒频率剩下的6位,分别控制加速度和陀螺仪的x/y/z轴是否进入待机模式,全部设置为:0 (全部都不进入待机模式)。

3、陀螺仪配置寄存器(0X1B)

在这里插入图片描述
在这里插入图片描述

只需要关心FS_SEL[1:0]这两个位;一般设置为3(即±2000°/S),因为陀螺仪的ADC为16位分辨率,所以得到灵敏度为:65536/4000=16.4LSB/(°/S)。

4、加速度传感器配置寄存器(0X1C)

在这里插入图片描述
在这里插入图片描述
只关心AFS_SEL[1:0]这两个位;一般设置为0(即±2g),因为加速度传感器的ADC也是16位,所以得到灵敏度为:65536(2^16)/4000(2000*2)=16384LSB/g。

5、FIFO使能寄存器(0X23)

在这里插入图片描述
该寄存器用于控制FIFO使能,在简单读取传感器数据的时候,可以不用FIFO,设置对应位为:0,即可禁止FIFO,设置为1,则使能FIFO。
注意:加速度传感器的3个轴,全由1个位(ACCEL_FIFO_EN)控制,只要该位置1,则加速度传感器的三个通道都开启FIFO。陀螺仪的各自控制(位4-6)。

6、陀螺仪采样率分频寄存器(0X19)

在这里插入图片描述
该寄存器用于设置MPU6050的陀螺仪采样频率,计算公式为:
采样频率 = 陀螺仪输出频率 / (1+SMPLRT_DIV)
这里陀螺仪的输出频率,是1KHz或者8KHz,与数字低通滤波器(DLPF)的设置有关,当DLPF_CFG=0/7的时候,频率为8KHz,其他情况是1KHz。而且DLPF滤波频率一般设置为采样率的一半。采样率,我们假定设置为50Hz,那么:SMPLRT_DIV=1000/50-1=19。

7、配置寄存器(0X1A)

在这里插入图片描述
重点看数字低通滤波器(DLPF)的设置位,即:DLPF_CFG[2:0],加速度计和陀螺仪,都是根据这三个位的配置进行过滤的,如下表:
在这里插入图片描述

设置:带宽=1/2采样率

DLPF_CFG为4时较为合理。

8、加速度传感器数据输出寄存器(0X3B~0X40)

在这里插入图片描述
该寄存器总共由6个寄存器组成,输出X/Y/Z三个轴的加速度传感器值,高字节在前,低字节在后。

9、陀螺仪数据输出寄存器(0X43~0X48)

在这里插入图片描述

该寄存器总共由6个寄存器组成,输出X/Y/Z三个轴的陀螺仪传感器数据,高字节在前,低字节在后。

10、温度传感器数据输出寄存器(0X41~0X42)

在这里插入图片描述
通过读取0X41(高8位)和0X42(低8位)寄存器得到,温度换算公式为:
Temperature = 36.53 + regval/340
其中,Temperature为计算得到的温度值,单位为℃,regval为从0X41和0X42读到的温度传感器值。

参考自1、。

总结