发布时间:2025-12-09 20:17:47 浏览次数:3
MPU6050是InvenSense公司推出的全球首款整合性6轴运动处理组件,内带3轴陀螺仪和3轴加速度传感器,并且含有一个第二IIC接口,可用于连接外部磁力传感器,利用自带数字运动处理器(DMP: Digital Motion Processor)硬件加速引擎,通过主IIC接口,可以向应用端输出完整的9轴姿态融合演算数据。有了DMP,我们可以使用InvenSense公司提供的运动处理资料库,非常方便的实现姿态解算,降低了运动处理运算对操作系统的负荷,同时大大降低了开发难度 。
1、电源管理寄存器1(0x6B)
DEVICE_RESE=1,复位MPU6050,复位完成后,自动清零。
SLEEP=1,进入睡眠模式;SLEEP=0,正常工作模式。
TEMP_DIS,用于设置是否使能温度传感器,设置为0,则使能。
CLKSEL[2:0],用于选择系统时钟源,如下图所示:
2、陀螺仪配置寄存器(0x1B)
FS_SEL[1:0]:用于设置陀螺仪的满量程范围:00,±250°/S;01,±500°/S;10,±1000°/S;11,±2000°/S;一般设置为3,即±2000°/S,因为陀螺仪的ADC为16位分辨率,所以得到灵敏度为:65536/4000=16.4LSB/(°/S)。
3、加速度传感器配置寄存器(0x1C)
AFS_SEL[1:0]:用于设置加速度传感器的满量程范围。00,±2g;01,±4g;10,±8g;11,±16g;我们一般设置为00,即±2g,因为加速度传感器的ADC也是16位,所以得到灵敏度为:65536/4=16384LSB/g。
4、FIFO使能寄存器(0x23)
该寄存器用于控制FIFO使能,在简单读取传感器数据的时候,可以不用FIFO,设置对应位为:0,即可禁止FIFO,设置为1,则使能FIFO。
注意:加速度传感器的3个轴,全由1个位(ACCEL_FIFO_EN)控制,只要该位置1,则加速度传感器的三个通道都开启FIFO了
5、陀螺仪采样率分频寄存器(0x19)
该寄存器用于设置MPU6050的陀螺仪采样频率。
计算公式为: 采样频率 = 陀螺仪输出频率 / (1+SMPLRT_DIV)
这里陀螺仪的输出频率,是1Khz或者8Khz,与数字低通滤波器(DLPF)的设置有关,当DLPF_CFG=0/7的时候,频率为8Khz,其他情况是1Khz。而且DLPF滤波频率一般设置为采样率的一半。采样率,我们假定设置为50Hz,那么:SMPLRT_DIV=1000/50-1=19。
6、配置寄存器(0x1A)
重点看数字低通滤波器(DLPF)的设置位,即:DLPF_CFG[2:0],加速度计和陀螺仪,都是根据这三个位的配置进行过滤的,如下表:
7、电源管理寄存器2(0x6C)
该寄存器的LP_WAKE_CTRL用于控制低功耗时的唤醒频率。剩下的6位,分别控制加速度和陀螺仪的x/y/z轴是否进入待机模式。
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读到的温度传感器值。