找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15609|回复: 8
打印 上一主题 下一主题
收起左侧

电子罗盘HMC5883物体倾斜时的补偿问题-方位角计算公式

  [复制链接]
跳转到指定楼层
楼主
pitch和roll角由重力加速度计可得,物体倾斜补偿时要注意pitch(俯仰角)和roll(横滚角)的方向,否则补偿误差消除不了。

如何得到罗盘的方位角
磁阻传感器为建立罗盘导航系统提供了固态有效的解决办法!但是我们怎么才能够从简单的3轴数据得到罗盘的方位角呢?
下面就将一步步告诉你如何去实现!
1)当 3 轴磁力计工作时可以读到 XYZ 三轴的磁场强度,此时的数值并不能直接用作方位角的计算!因为此时的读数可能受到器件版面上其他
一些含磁材料的影响,形成圆心坐标的硬铁漂移!

用作方位角计算的XYZ数值必须将此漂移值移除,使圆心回到原点上.

具体的办法是:
1,水平匀速旋转,收集 XY轴的数据
2,转动器材90 度(此时 Z轴水平)匀速旋转以收集 Z轴数据
3,将读取到的各轴数据的最大值加上最小值除以2,就得到一个各轴的offset 值
Xoffset=(Xmax+Xmin)/2
Yoffset=(Ymax+Ymin)/2
Zoffset=(Zmax+Zmin)/2
4,然后将磁力计读取的各轴的裸值减去前面计算所得的 offset值,就可以得到用作角度计算的 Heading 值
XH=X裸-Xoffset
YH=Y裸-Yoffset
ZH=Z裸-Zoffset
如果只用作水平测量,则此时的方位角为
方位角=arctanYH/XH

如果在测量时,我们的器件不是处在水平位置,套用以上公式,罗盘的方位角将出现偏差,此时就需要使用加速度传感器对磁力计进行倾角补偿。
要对电子罗盘进行倾角的补偿,首先要计算出横滚角(θ)Roll 以及俯仰角(φ)Pitch
代入以下公式, 计算 Heading 值
Xh=X*cos(φ)+Y*sin(θ)*sin(φ)-Z*cos(θ)*sin(φ)
Yh=Y*cos(θ)+Z*sin(θ)
考虑到角度的4 个象限,航向角的计算公式可变为以下公式
for(Xh<0)=180-[arctan(Yh/Xh)*180/π]
for(Xh>0,Yh<0)=-[arctan(Yh/Xh)*180/π]
for(Xh>0,Yh>0)=360-arctan(Yh/Xh)*180/π
for(Xh=0,Yh<0)=90
πfor(Xh=0,Yh>0)=270

完整的pdf格式文档51黑下载地址:
电子罗盘方位角计算公式.pdf (336.86 KB, 下载次数: 303)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:190698 发表于 2017-12-20 13:17 | 只看该作者
这个资料很好,感谢分享!
回复

使用道具 举报

板凳
ID:276104 发表于 2018-1-15 11:44 | 只看该作者
很想下载这个资料,第一次来到这个论坛。不知道资料实用不实用
回复

使用道具 举报

地板
ID:276104 发表于 2018-1-17 16:47 | 只看该作者
请教楼主,我不分四象限,直接用公式
Xh=X*cos(φ)+Y*sin(θ)*sin(φ)-Z*cos(θ)*sin(φ)
Yh=Y*cos(θ)+Z*sin(θ)
航向角也能在 360度范围内转得很好,就是pitch和roll有点不太对,不知什么原因
回复

使用道具 举报

5#
ID:283248 发表于 2018-2-9 09:47 | 只看该作者
好,支持,我在学习这个,还想请问下,我们的数据比如说现在是90°,它磁力计数据在90±10之间不停的跳动(我设备放着没有动),这种情况是电路设计有问题吗?还是说软件需要滤波?±10跳的有点夸张啊。
回复

使用道具 举报

6#
ID:324936 发表于 2018-5-8 12:14 | 只看该作者
非常感谢楼主的分享
回复

使用道具 举报

7#
ID:447929 发表于 2018-12-17 13:49 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

8#
ID:360864 发表于 2020-3-19 16:05 | 只看该作者
最近在研究这个,下载下来看看
回复

使用道具 举报

9#
ID:879896 发表于 2021-1-23 11:26 | 只看该作者
最近在研究这个,下载下来看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表