目录

  • 一、相关介绍
  • 二、相关图解
  • 2.1模块电路图
  • 2.2系统结构图
  • 三、MPU6050初始化
  • 四、寄存器配置
  • 1、电源管理寄存器1(0x6B)
  • 2、电源管理寄存器2(0x6C)
  • 3、陀螺仪配置寄存器(0X1B)
  • 4、加速度传感器配置寄存器(0X1C)
  • 5、FIFO使能寄存器(0X23)
  • 6、陀螺仪采样率分频寄存器(0X19)
  • 7、配置寄存器(0X1A)
  • 8、加速度传感器数据输出寄存器(0X3B~0X40)
  • 9、陀螺仪数据输出寄存器(0X43~0X48)
  • 10、温度传感器数据输出寄存器(0X41~0X42)
  • 总结

  • 一、相关介绍

    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、。

    总结


    物联沃分享整理
    物联沃-IOTWORD物联网 » 学习笔记5-MPU6050模块

    发表评论