陀螺仪加速度计MPU6050

10933人阅读 评论(0) 收藏 举报
分类:

转载自:http://www.crazepony.com/wiki/mpu6050.html

陀螺仪

陀螺仪,测量角速度,具有高动态特性,它是一个间接测量角度的器件。它测量的是角度的导数,即角速度,要将角速度对时间积分才能得到角度。

陀螺仪就是内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出旋转方向和角度。传感器MPU6050实际上是一个结构非常精密的芯片,内部包含超微小的陀螺。

如果这个世界是理想的,美好的,那我们的问题到此就解决了,从理论上讲只用陀螺仪是可以完成姿态导航的任务的。只需要对3个轴的陀螺仪角速度进行积分,得到3个方向上的旋转角度,也就是姿态数据。这也就是说的快速融合

不过很遗憾,现实是残酷的,由于误差噪声等的存在,对陀螺仪积分并不能够得到完全准确的姿态,尤其是运转一段时间以后,积分误差的累加会让得到的姿态和实际的相差甚远。

那么哪些原因会使陀螺仪得到的姿态结果不准确呢?下面列举除常见的几种:

零点漂移

假设陀螺仪固定不动,理想角速度值是0dps(degree per second),但是存在零点漂移,例如有一个偏置0.1dps加在上面,于是测量出来是0.1dps,积分一秒之后,得到的角度是0.1度,1分钟之后是6度,还能忍受,一小时之后是360度,转了一圈,也就是说,陀螺仪在短时间内有很大的参考价值。

白噪声

电信号的测量中,一定会带有白噪声,陀螺仪数据的测量也不例外。所以获得的陀螺仪数据中也会带有白噪声,而且这种白噪声会随着积分而累加。

温度/加速度影响

陀螺仪是一个温度和加速度敏感的元器件。例如对于加速度,多轴飞行器中的马达一般会带来较强烈的振动,一旦减震控制不好,就会在飞行过程中产生很大的加速度,必会带来陀螺输出的变化,引入误差。这就是在陀螺仪数据手册上常见的deg/sec/g指标。

积分误差

对陀螺仪角速度的积分是离散的,长时间的积分会出现漂移的情况。所以要考虑积分误差的问题。

这是由于陀螺仪测量姿态存在这么多的误差,所以我们必须要使用其它传感器辅助校正,其中最重要的就是下面的加速度传感器。

加速度计

加速度计的低频特性好,可以测量低速的静态加速度。在我们的飞行器上,就是对重力加速度g(也就是前面说的静态加速度)的测量和分析,其它瞬间加速度可以忽略。记住这一点对姿态解算融合理解非常重要。

当我们把加速度计拿在手上随意转动时,我们看的是重力加速度在三个轴上的分量值。加速度计在自由落体时,其输出为0。为什么会这样呢?这里涉及到加速度计的设计原理:加速度计测量加速度是通过比力来测量,而不是通过加速度。

加速度计仅仅测量的是重力加速度,3轴加速度计输出重力加速度在加速度计所在机体坐标系3个轴上的分量大小。重力加速度的方向和大小是固定的。通过这种关系,可以得到加速度计所在平面与地面的角度关系.

加速度计若是绕着重力加速度的轴转动,则测量值不会改变,也就是说加速度计无法感知这种水平旋转。

有关陀螺仪和加速度计和关系,姿态解算融合的原理,再把下面这个比喻放到这里一遍。

机体好似一条船,姿态就是航向(船头的方位),重力是灯塔,陀螺(角速度积分)是舵手,加速度计是瞭望手。舵手负责估计和把稳航向,他相信自己,本来船向北开的,就一定会一直往北开,觉得转了90度弯,那就会往东开。当然如果舵手很牛逼,也许能估计很准确,维持很长时间。不过只信任舵手,肯定会迷路,所以一般都有瞭望手来观察误差。

瞭望手根据地图灯塔方位和船的当前航向,算出灯塔理论上应该在船的X方位。然而看到实际灯塔在船的Y方位,那肯定船的当前航向有偏差了,偏差就是ERR=X-Y。舵手收到瞭望手给的ERR报告,觉得可靠,那就听个90%ERR,觉得天气不好、地图误差大,那就听个10%ERR,根据这个来纠正估算航向。

MPU6050

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

MPU-60x0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16g。一个片上1024字节的FIFO,有助于降低系统功耗。和所有设备寄存器之间的通信采用400kHz的I2C接口或1MHz 的SPI接口(SPI仅MPU-6000可用)。对于需要高速传输的应用,对寄存器的读取和中断可用20MHz的SPI。另外,片上还内嵌了一个温度传感器和在工作环境下仅有±1%变动的振荡器。

在crazepony上,MPU6050/HMC5883/MS5611传感器之间的连接如下图所示。

DMP硬件解算

在Crazepony上,测试了软件解算四元素,然后通过四元素解算姿态角这种实现方式,其实总的来说,并没感觉36MHz的主控压力有多大,没有出现机身不稳,卡死的情况。

同时,本着务实他的态度,我们也测试了MPU6050的硬解四元素,即从IIC总线上读到的数据不再是MPU60x0的AD值,而是通过初始化对DMP引擎的配置,从IIC总线上读到的直接就是四元素的值,从而跳过了程序通过AD值计算四元素这个看起来繁琐的步骤。测试结果是,机身反应的确要比之前反应灵活,最关键的一点是,这样得出的偏航角(Yaw)很稳很稳,基本不会漂移或者说漂移小到了可以容忍的地步。

最后,MPU60x0的强大之处不仅于此,它支持一个从IIC接口,可以外部接上一个磁力计,如HMC5883,这样一来,DMP引擎可以直接输出一个绝对的方向姿态,即能够输出一个带东西南北的姿态数据包,很厉害的样子。

在Crazepony的5.2版本及以后,我们都会使用软件解算的办法,自己做姿态融合,不会再使用MPU6050自带的DMP进行硬件解算。

查看评论

中关村能成为下一个硅谷吗? -- 李开复观点

中关村能成为下一个硅谷吗? 1999年,世纪之末的中国发生了许多大事。从经济的层面上去看,中国与美国正式签署WTO双边协议,算是最让人高兴的事,无论是中国政府的官员,工业企业的老板,还是外商企业的代表...
  • zhangzhonghua
  • zhangzhonghua
  • 2000-12-30 11:38:00
  • 1241

MPU6050工作原理及STM32控制MPU6050

一·简介:1.要想知道MPU6050工作原理,得先了解下面俩个传感器:①陀螺仪传感器:       陀螺仪的原理就是,一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的。人们根据这个道理,用...
  • he__yuan
  • he__yuan
  • 2017-08-01 21:49:48
  • 19053

陀螺仪的理解(MPU6050)

起始,陀螺仪的参数理解和应用 自从看到四轴飞行器就一直想自己做一个,于是参考和查看各种资料,其中姿态解算应该是其中很重要一部分,其中涉及到四元数和各种算法(如数据融合:梯度下降,卡尔曼滤波,互补...
  • hujiafutc
  • hujiafutc
  • 2014-11-12 10:35:10
  • 3760

基于MPU6050的加速度求角度

初始状态是,加速度计读数是A_X =0; A_Y=0; A_Z=1g;如下图: 然后旋转一定角度后事这样: 旋转后仍要保证竖直方向是1g的加速度,所以有将X轴和Z轴的加速度值...
  • hx1298234467
  • hx1298234467
  • 2015-08-06 11:09:22
  • 1348

mpu6050姿态解算与卡尔曼滤波(3)加速度计标定

考虑单轴加速度计的测量模型为: am=k⋅atrue+a0+wa_{m}=k\cdot a_{true}+a_{0}+w ama_{m}为加速度计测量值,atruea_{true}为真实加速度值,...
  • qiguizhe
  • qiguizhe
  • 2017-05-06 21:25:41
  • 2287

姿态解算知识(三)-陀螺仪加速度计6轴数据融合

这么久的惯导总算是没白看,加上一篇博客的指点,这两天把Mahony的九轴数据融合算法看懂了。可惜第二版硬件还没到,磁力计用不了,没法验证效果~今天先总结下陀螺仪和加速度计的六轴数据融合。 版权声...
  • u010097644
  • u010097644
  • 2017-04-28 00:36:34
  • 3330

加速度计和陀螺仪指南

本帖翻译自IMU(加速度计和陀螺仪设备)在嵌入式应用中使用的指南。 这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论 介绍 本指南旨在向兴趣...
  • zhuanghe_xing
  • zhuanghe_xing
  • 2012-09-02 19:41:53
  • 36206

加速度计和陀螺仪原理

本帖翻译自IMU(加速度计和陀螺仪设备)在嵌入式应用中使用的指南。 这篇文章主要介绍加速度计和陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论 介绍 本指南旨在向兴趣者介绍惯性...
  • jj2060
  • jj2060
  • 2015-10-31 15:21:48
  • 4265

第六章:加速计与陀螺仪

iOS系统提供了加速计和陀螺仪支持,如果iOS设备提供了这些硬件支持,iOS即可通过CoreMotion框架提供的加速计来获取设备当前的加速度数据、陀螺仪数据、所处的磁场以及设备的方位等信息;对于iO...
  • xiaoxiaobukuang
  • xiaoxiaobukuang
  • 2016-06-21 11:34:28
  • 10716

加速度计和陀螺仪的区别

加速度计和陀螺仪的区别   这是一篇 diydrones.com 网站上的文章,介绍为什么在无人机自主导航中需要用到加速度计、陀螺仪、磁罗盘计和GPS等传感器(原文地址)。http://www....
  • kobbee9
  • kobbee9
  • 2012-03-26 17:33:03
  • 4313
    个人资料
    等级:
    访问量: 10万+
    积分: 1389
    排名: 3万+
    最新评论