单片机/MCUwilliam hill官网
直播中

北斗下寻觅

8年用户 9经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

HMC5883L的正确读数应该是多少?为什么变化会这么大?

首先,在将磁力计水平放置的情况下,测试了东南西北四个方向上的三轴数值,输出值如下:
北:x : 012; y : 006; z : 500;
东:x : 537; y : 025; z : 504;
南:x : 507; y : 544; z : 505;
西:x : 545; y : 520; z : 499;

感觉数据怪怪的,应该是有错误吧,器件应该如何初始化呢?

在水平面上旋转磁力计,会发现x轴和y轴的读数从0开始增加,增加到20多一点的时候就开始减小,在小于0的时候就变为553,然后再减小,直到500的时候又开始增加,加到553的时候又变为0。

想利用磁力计和加速度传感器算航偏角,可磁力计一直有问题,到底正确的初始化应该如何设置,正确的读数应该是多少,希望可以有大神指点一下,谢谢
已退回6积分

回帖(4)

赵俊波

2015-12-1 18:01:47
HMC5883L的数据是16位二进制补码的形式存储数据的,而且它的数据表示的每个单位也就是LSB与自己的配置有关,需要自己换算与姿态算法结算后才是正常的角度值哈
举报

北斗下寻觅

2015-12-3 10:28:06
引用: z***hello 发表于 2015-12-1 18:01
HMC5883L的数据是16位二进制补码的形式存储数据的,而且它的数据表示的每个单位也就是LSB与自己的配置有关,需要自己换算与姿态算法结算后才是正常的角度值哈

目前我的初始化是对模式寄存器(0x02)赋值0,对B寄存器(0x01)赋值0,也是在网上看别人是这么初始化的,请问只对这两个寄存器初始化,这样行吗?
举报

技术分享者

2015-12-3 13:49:00
谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,谢谢楼主分享,
举报

pukaifei

2016-1-18 10:22:30
遇到了和你类似的问题,请问楼主最后是怎么解决的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分