文章目录
MPU6050介绍
MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角,常应用于平衡车、飞行器等需要检测自身姿态的场景
-
3轴加速度计 (Accelerometer):测量X、Y、Z轴的加速度(加速度计具有静态稳定),不具有动态稳定性。)如一个车在斜坡上,椅子和靠背都受到了力的作用,但是车是水平向前的,因此当物体运动,使用加速度计来测量,测出来的角度就会不准确。
-
3 轴陀螺仪传感器 (Gyroscope):测量X、Y、Z轴的角速度 :具有动态稳定性,不具有静态稳定性。
举个例子:游乐园的旋转飞椅,中间的旋转轴转的越快,挂在上面的椅子就会飞的越远,直接测量两个对向椅子之间的距离就可以得到,旋转轴的角速度。
如果想得到角度,只需要对角速度积分即可。 当物体静止时,角速度值会因为噪声,无法完全归0,经过积分的不断累积,就会导致产生的角速度有缓慢的飘逸。
(因为加速度计和陀螺仪是互补的,因此采用互补滤波,就可进行姿态解算(简单))。
- 3轴磁场传感器 9轴 飞机机头的上仰和下倾 称为俯仰
- 气压传感器 10轴 飞机机身左翻滚和右翻滚称为ROLL
通过数据融合可以得到欧拉角(飞控算法) :互补滤波,卡尔曼滤波
欧拉角: 飞机机身保持水平,机头向左右转向,称为偏航
应用:姿态解算
结构图
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运动检测 (需要的花可以进行中断配置)
硬件电路
模块内部结构框图
数据帧格式
寄存器地址
所有的寄存器上电默认都是0x00,除了107号寄存器默认为0x40(睡眠)117号寄存器为0x68.