【江科大】STM32:MPU6050介绍

文章目录

  • MPU6050介绍
    • 结构图
    • MPU6050参数
    • 硬件电路
    • 模块内部结构框图
      • 数据帧格式
      • 寄存器地址

MPU6050介绍

MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景

  • 3轴加速度计(Accelerometer):测量X、Y、Z轴的加速度(加速度计具有静态稳定),不具有动态稳定性。)如一个车在斜坡上,椅子和靠背都受到了力的作用,但是车是水平向前的,因此当物体运动,使用加速度计来测量,测出来的角度就会不准确。

  • 3 轴陀螺仪传感器(Gyroscope):测量X、Y、Z轴的角速度 :具有动态稳定性,不具有静态稳定性。

举个例子:游乐园的旋转飞椅,中间的旋转轴转的越快,挂在上面的椅子就会飞的越远,直接测量两个对向椅子之间的距离就可以得到,旋转轴的角速度。
如果想得到角度,只需要对角速度积分即可。 当物体静止时,角速度值会因为噪声,无法完全归0,经过积分的不断累积,就会导致产生的角速度有缓慢的飘逸。
(因为加速度计和陀螺仪是互补的,因此采用互补滤波,就可进行姿态解算(简单))。

  • 3轴磁场传感器 9轴 飞机机头的上仰和下倾 称为俯仰
  • 气压传感器 10轴 飞机机身左翻滚和右翻滚称为ROLL
    通过数据融合可以得到欧拉角(飞控算法) :互补滤波,卡尔曼滤波
    欧拉角: 飞机机身保持水平,机头向左右转向,称为偏航
    应用:姿态解算
    在这里插入图片描述

【江科大】STM32:MPU6050介绍_第1张图片

结构图

【江科大】STM32:MPU6050介绍_第2张图片

MPU6050参数

  • 16位ADC采集传感器的模拟信号,量化范围:-32768~32767

  • 当测量的ADC是32767则代表满量程 对应加速度计16g.

  • 32768对应加速度计满量程选择:±2、±4、±8、±16(g) 满量程选择越小,测量就会越细腻 AD值是固定的,乘相应的系数就可以得到加速度值(一一对应)

  • 陀螺仪满量程选择: ±250、±500、±1000、±2000(°/sec) (也是和AD值一一对应)

  • 可配置的数字低通滤波器 (对输出数据进行低通滤波)

  • 可配置的时钟源 (为AD内部转换和内部电路提供时钟,控制分频系数,就可控制AD的转换快慢了)

  • 可配置的采样分频

  • I2C从机地址:1101000(AD0=0)
    1101001(AD0=1)
    如果0x68 是从机地址 (代表直接把7位地址转换为16进制得到的。在实际发送第一个字节时,不要忘了先左移一位。再或上读写位)
    如果0xD0是从机地址,(融入读写位的从机地址)

  • 绕Z轴的角度,无法通过加速度计来修正偏移。9轴姿态传感器 多出来的磁力计的作用,对陀螺仪的感知方向进行纠正。
    举个例子:当坐在车里,车一直运动,短时间可以通过陀螺仪来辨别车子的方向,但是时间长了,车子转的弯多了,就对方向失去
    辨别能力,因此这个时候加个指南针就可以了,磁力计起的也是类似的作用。
    当6轴传感器不够用,需要扩展的时候,SCL和XDA就起作用。用来外接磁力计,气压计。然后由DMP单元进行数据融合,姿态解算。
    AD0:从机地址的最低位
    接低电平:1101000(AD0=0)
    接高电平:1101001(AD0=1)
    自由落体检测,
    运动检测
    0运动检测 (需要的花可以进行中断配置)

硬件电路

【江科大】STM32:MPU6050介绍_第3张图片
【江科大】STM32:MPU6050介绍_第4张图片

模块内部结构框图

【江科大】STM32:MPU6050介绍_第5张图片

数据帧格式

【江科大】STM32:MPU6050介绍_第6张图片

寄存器地址

【江科大】STM32:MPU6050介绍_第7张图片
【江科大】STM32:MPU6050介绍_第8张图片

【江科大】STM32:MPU6050介绍_第9张图片
所有的寄存器上电默认都是0x00,除了107号寄存器默认为0x40(睡眠)117号寄存器为0x68.

你可能感兴趣的:(STM32学习,stm32,嵌入式硬件,单片机)