hmc5883L数据分析
大家好,我想问个问题,我现在能读出数据来,在没有修正的时候是这样的:x y z
-1067, 201, -668 //向北
-895, -245, -787 //向南
-710, 38, -635 //向西
大家可以说一下你们大概的数据吗?我想分析一下,我的数据对不对。
你们又是怎么处理的呢?如果不考虑精度,直接atan(y/x)就可以吗?
为什么不管朝哪个方向求出的x和z都是负的呢? LZ,你这数据是水平旋转读出来的还是空间运动呢?
如果是水平旋转的话,那Z轴的数据应该是相差不太大,但我看你其中的相差100多了;
而后面的那角度的计算,就是按照你所说的反正切就好,但你还要判定象限这样才能相加180度或者360度,才得到正确的航向角度; 当你把5883的有字面朝上,通过引脚1,判断出引脚4~8,我认为引脚4~8所得对的方向为X轴正方向。然后4~8指向正北方,应该得到的X最大值,如果在没太大干扰情况下,X应该为正值,Y会为0左右 ;
然后顺时针旋转,X的值逐渐变小,Y值逐渐变大;
到正东方时,X值为0左右,Y值最大;
顺时旋转,X为负值,在减小,Y值减小;
致正南,X最小,Y为0左右。
旋转,X增大,Y为负值;
正西,X为0左右,Y为最小;
继续,X正值,变大,Y负值,渐大。
我的测试,仅供参考。
中间我使用中还是有疑问的。
你的测试中,如果符合我测试的情况,再分象限,就可以吧360角度分出来了。 回复【2楼】tanker110
-----------------------------------------------------------------------
这个方式挺不错的,但在选装的过程中需要保证5883L产品是水平放置的,当然你所提到的过程是一个粗略的,要求可以不用那么高 MARK MARK hmc5883L数据分析 {:smile:}{:smile:}{:smile:}
页:
[1]