Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243851
  • 博文数量: 56
  • 博客积分: 2595
  • 博客等级: 少校
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 20:28
文章分类

全部博文(56)

文章存档

2015年(6)

2014年(1)

2013年(2)

2012年(3)

2011年(7)

2010年(9)

2009年(21)

2008年(7)

我的朋友

分类: C/C++

2012-07-06 12:00:06

通过这几周的学习,总算把3D罗盘给搞定了,现在拿来和大家分享一下。

在此过程中主要存在几个问题:

1>     要详细学习磁力计和加速计的相关文档;

2>     选择好参考平面,对着文档修改相应的公式;(这一步非常关键)

3>     确定方向轴,这个对修改公式很关键;

4>     通过加速计确定仰角和滚角的度数;

5>     PCB布局一定要注意,将干扰扼杀到摇篮里。

资料中的相关公式:

 

Pitch         φ= atan[ ax / sqrt( ay*ay + az*az ) ]

Roll            θ= atan[ ay / az ]

 

XH = X*cos(f) + Y*sin(q)*sin(f) - Z*cos(q)*sin(f)

YH = Y*cos(q) + Z*sin(q)

Azimuth = arcTan (YH / XH)

关于参考平面的选择,就是设备正常使用的时候是怎么个方位放置的,放置好后,那个坐标平面是和水平面平行的,文档中都是XY坐标平面,但实际应用中肯定不一样,像我这次用到的就是YZ坐标平面,

阅读(513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~