下载此文档

mpu6050数据轻松分析.doc


文档分类:管理/人力资源 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
MPU6050 数据轻松分析这个文章是根据自己学****查资料的汇总, 同时把一些自己的心得加进去。如果有什么不对的,欢迎请大家指正、交流。邮箱: ount@ 最近看到加速度计和陀螺仪比较火, 而且也有很多人都在研究。于是也在网上淘了一个 mpu6050 模块, 想用来做自平衡小车。可是使用起来就发愁了。网上关于 mpu6050 的资料的确不少,但是大家都是互相抄袭,然后贴出一段程序,看完之后还是不知道所以然。经过翻阅各个方面的资料, 以及自己的研究在处理 mpu6050 数据方面有一些心得, 在这里和大家分享一下。在处理加速度计和陀螺仪用到的方法都是比较简单的, 这里的简单并不是不需要任何基础知识, 只是这些基本知识都是最基本的, 比如简单的三角函数, 数学计算, 物理知识,c 语言以及基本的 arduino 知识( 如果不会 arduino 会其它单片机也是一样的,本文实践是使用 arduino ) ,如果还不具备这些知识那就快去补课吧。 1、加速度和陀螺仪原理当然,在开始之前至少要弄懂什么是加速度计,什么是陀螺仪吧,否则那后边讲的都是没有意义的。简单的说, 加速度计主要是测量物体运动的加速度, 陀螺仪主要测量物体转动的角速度。这些理论的知识我就不多说了, 都可以在网上查到。这里推荐一篇讲的比较详细的文章《A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications 》,在网上可以直接搜索到。 2、加速度测量在开始之前, 不知大家是否还记得加速度具有合成定理?如果不记得可以先大概了解一下, 其实简单的举个例子来说就是重力加速度可以理解成是由 x,y,z 三个方向的加速度共同作用的结果。反过来说就是重力加速度可以分解成 x,y,z 三个方向的加速度。加速度计可以测量某一时刻 x,y,z 三个方向的加速度值。而自平衡小车利用加速度计测出重力加速度在 x,y,z 轴的分量, 然后利用各个方向的分量与重力加速度的比值来计算出小车大致的倾角。其实在自平衡小车上非静止的时候, 加速度计测出的结果并不是非常精确。因为大家在高中物理的时候都学过, 物体时刻都会受到地球的万有引力作用产生一个向下的重力加速度, 而小车在动态时, 受电机的作用肯定有一个前进或者后退方向的作用力, 而加速度计测出的结果是, 重力加速度与小车运动加速度合成得到一个总的加速度在三个方向上的分量。不过我们暂时不考虑电机作用产生的运动加速度对测量结果的影响。因为我们要先把复杂的事情分解成一个个简单的事情来分析, 这样才能看到成果,才会有信心继续。下边我们就开始分析从加速度得到角度的方法。如下图, 把加速度计平放,分别画出 xyz 轴的方向。这三个轴就是我们后边分析所要用到的坐标系。把 mpu6050 安装在自平衡车上时也是这样的水平安装在小车底盘上的,假设两个车轮安装时车轴和 y 轴在一条直线上。那么小车摆动时,参考水平面就是桌面,并且车轴( y 轴)与桌面始终是平行的,小车摆动和移动过程中 y 轴与桌面的夹角是不会发生变化的, 一直是 0度。发生变化的是 x 轴与桌面的夹角以及 z 轴与桌面的夹角,而且桌面与 x轴z 轴夹角变化度数是一样的。所以我们只需要计算出 x 轴和 z 轴中任意一个轴的夹角就可以反映出小车的倾斜的情况了。为了方便分析,由于 y 轴与桌面夹角始终不变,我们从 y 轴的方向俯看下去,那么这个问题就会简化成只有 x 轴和 z 轴的二维关系。假设某一时刻小车上加速度计( mpu6050 )处于如下状态,下图是我们看到简化后的模型。在这个图中, y 轴已经简化和坐标系的原点 o 重合在了一起。我们来看看如何计算出小车的倾斜角,也就是与桌面的夹角 a 。上图 g 是重力加速度, gx、 gz 分别是 g在x 轴和 z 轴的分量。由于重力加速度是垂直于水平面的,得到: 角 a+角 b=90 度 X 轴与 y 轴是垂直关系,得到: 角 c+角 b=90 度于是轻松的就可以得出: 角 a=角c 根据力的分解, g、 gx、 gz 三者构成一个长方形,根据平行四边形的原理可以得出: 角 c=角d 所以计算出角度 d 就等效于计算出了 x 轴与桌面的夹角 a 。前边已经说过 gx是g在x 轴的分量,那么根据正弦定理就可以得出: Sind=gx/g 得到这个公式可是还是得不到想要的角度,因为需要计算反正弦,而反正弦在单片机里不是很好计算。为了得到角度,于是又查了相关资料,原来在角度较小的情况下,角度的正弦与角度对应的弧度成线性关系。先看看下边的图: 这个图 x 轴是角度, 取值范围是 0~90 度, 有三个函数曲线, 分别是: Y=sinx 正弦曲线 Y=x*

mpu6050数据轻松分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wz_198614
  • 文件大小22 KB
  • 时间2017-06-18