网站大量收购独家精品文档,联系QQ:2885784924

MPU6050 计算角度.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MPU6050计算角度MPU6050计算角度.doc

short MPU6050_Get_Angle(float x,float y,float z,u8 dir) { float temp; float res=0; switch(dir) { case 0://与自然Z轴的角度 temp=sqrt((x*x+y*y))/z; res=atan(temp); break; case 1://与自然X轴的角度 temp=x/sqrt((y*y+z*z)); res=atan(temp); break; case 2://与自然Y轴的角度 temp=y/sqrt((x*x+z*z)); res=atan(temp); break; } return res*1800/3.14;//把弧度转换成角度 } HYPERLINK /forum.php?mod=attachmentaid=ODUyOXw0ZDU3ZTA3M3wxNDA0MDQ0OTgxfDB8MjMyOA==nothumb=yesQQ截图20121029102235.jpg (18.21 KB, 下载次数: 130) 有更简单的 accelgyro.getMotion6(ax, ay, az, gx, gy, gz); angleAx=atan2(ax,az)*180/PI; 计算量更少,而且atan2返回值范围-PI~PI 角速度传感器输出的是某个轴的角速度,所以,如果想计算某个轴的角度(一般是相对于自然坐标轴),那么只需要对角速度进行积分就可以了,举例来说,我们现在要测量X轴的角度,那么先假设起始状态x轴和自然坐标轴的角度为0,那么现在你可以将x轴想象成一辆只有速度仪表的汽车,汽车按照一定的速度行驶在一段时间后,如果你要计算汽车(x轴)到起始点的距离(x轴和自然周的角度),那么你只需要用车速(x轴的角速度)*时间就可以算出来了。 当然,传感器的角速度输出严格来说是一个瞬时值,实际中不太可能是一个匀速值,所以需要做一些处理。 希望对你有帮助。我也是刚接触这个东西,共同学习吧。 你好,请问mpu6050的传感器,既可以求加速度,也可以算出角度?如果我想消除重力加速度的影响,有木有什么办法? 具体的我也没做过,根据我了解的一些信息提供以下几个方法:第一通过滤波器,过滤掉重力角速度的影响;第二看你需要计算那个轴的加速度,想办法保持这个轴和重力成90度角;第三将两个陀螺仪安装到一个平面,其中一个作为测量平面??倾斜角度,另外一个作为测量加速度,通过角度来反推消除重力加速度对其他各轴的影响。第四如果你需要测量的加速度远大于重力加速度,那么这个基本就不是个问题了。 你可以查阅一下重力加速度计的手册,一般都推荐第一种方式。 以上摘自  HYPERLINK /thread-2328-1-1.html /thread-2328-1-1.html mpu6050角度换算 如果觉得我是小白,勿喷,直接忽视即可,这其中也有我个人一些鄙薄的理解。如有错误欢迎指正,有交流才有进步。 其实原理很简单,但是对刚开始接触6050的人来说,了解其原理应该会比直接移植代码理解更深刻吧。 大家可以直接把6050的加速度计部分的检测元件想象成一个方盒子,方盒子里面放着个小球,小球因重力作用会在盒子的各个面上产生垂直于作用面的力, 各个力矢量合成就是和重力相平衡的力了(不考虑除重力加速度以外的加速度) 上图是一个手绘的,水平不咋样别见怪。上图是6050绕Y轴旋转一定角度产生的力的合成图,绕一个轴旋转哈理解一些。 gx = g重*cosΦ2; gz = g重*cosΦ1; 同理gy = g重*cosΦ3;(该图上Φ3 = 90°) gx就是X轴输出的数值除以最小分辨率。如±2g时,最小分辨率是2^16/4 =16384 LSB/g;(资料上是16384LSB/mg当时我怎么看都不能明白,这里就提醒下,如果都懂就当我没说) 很多人以为都以为角度是加速度读出来的值除以180°-0°的线性关系,其实用在飞思卡尔平衡车上的线性关系只是相对一个

文档评论(0)

ganqludp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档