HMC5883自测试操作所得数据与标称差别大的疑问
可以在正常情况下读出处理数据,但在自测试操作中有些问题。在register A =0X01,
moderegister=0X01,
register B=0X60,
测了3个不同芯片,数据如下:
X Y Z
1+769 +731,+737
2+751,+694,+683
3+765,+717,+709
但按照PDF上关于SELF TEST OPERATION 所示,
得到的X,Y为+766LSB,Z为+713的值。
在相同条件下,我的这3个芯片为什么与标称的数据误差这么大,并且在经过校正后,芯片2得出的角度结果误差也比较大。都是在同样的温度下进行的。为什么出现这样的情况,请问有谁知道这样的情况该如何处理?尤其芯片2,这是芯片本身的差异,还是坏了? 回复【楼主位】tanker110
-----------------------------------------------------------------------
LZ你能把你的B寄存器设置为0xA0,再将你所测试到的数据发出来看看 也求助一下楼上的,regA为0x01,MODE为0x01
与SELF TEST OPERATION的标称差太多了。。。。
regB=0x40
1226
816
623
regB=0x60
1015
623
418
regB=0xA0
700
340
129
是不是因为两个电容的问题?还是周围有强磁场?
我电路上两个电容靠IC很近,会不会PCB走线上会有磁场? 我4.7uf的用了钽电解电容,是不是有问题? 回复【3楼】heuyck
-----------------------------------------------------------------------
钽电解电容,它会存在比较大的影响,建议你改用陶瓷的电容,在重复你上述的数据:A寄存器设置为正偏置,
B寄存器Gain设定为4.7Ga,C为连续测量模式,再麻烦你将原始数据采集共享下; 多谢回答,目前找不到陶瓷电容,暂时先搁置一下。。。 回复【4楼】COMPASS1 航纬
-----------------------------------------------------------------------
regB=0xA0
X:463;
Y:458;
Z:434;
? 回复【4楼】COMPASS1 航纬
-----------------------------------------------------------------------
上边是正偏,单次测量的数据。
正偏连续测量的方式没用过。正偏连续测量不是工作在自测试模式吧? 磁测量本身就不怎么靠谱,除非用很远的距离原理磁场。 回复【6楼】tanker110
-----------------------------------------------------------------------
Honeywell有出新的datasheet,在这那上面有一个self-test的说明,
当你设置寄存器在正偏,Gain设定为4.7Gauss,连续测量模式下,各轴所测量的磁场大小在245-575之间,说明你的sensor是正常的,
而从你所获得的数据来看,你的传感器是不存在问题的! 回复【8楼】asha
-----------------------------------------------------------------------
不是这不靠谱的问题,而是环境周边存在很多类似磁的物质存在,造成了很大的影响 回复【10楼】COMPASS1 航纬
-----------------------------------------------------------------------
我的HMC5883版本是2010.9的,如果你有新的是否可以发一个或提供下连接也行。我在它的网站上是没找到。多谢。 回复【11楼】tanker110
-----------------------------------------------------------------------
你可以发我注_册的邮箱询问该资料 回复【9楼】COMPASS1 航纬
回复【6楼】tanker110
-----------------------------------------------------------------------
honeywell有出新的datasheet,在这那上面有一个self-test的说明,
当你设置寄存器在正偏,gain设定为4.7gauss,连续测量模式下,各轴所测量的磁场大小在245-575之间,说明你的sensor是正常的,
而从你所获得的数据来看,你的传感器是不存在问题的!
-----------------------------------------------------------------------
我的设置:A=0x01,B=0xA0,MODE=0x00;得到结果为X:226,Y:-214,Z:223,是不是不正常?Y一直为负 回复【13楼】lihua
-----------------------------------------------------------------------
你在焊接sensor的时候是手工的还是钢网的呢?你在选用正常测量模式,和连续测量来旋转一周时,测量到的数据
各个轴的数据是稳定不变的还是什么样的状态呢?能否将那些采集到的数据提供一下;
对于你的问题可能引起原因:
1 Sensor焊接不良;C1和C2的电容焊接不好或者电容值没参考设计电路;
2 Sensor不良,焊接前未烘烤,焊接时由于潮湿引起sensor坏掉;
这些都是Self-test不通过的起因 回复【14楼】COMPASS1 航纬
-----------------------------------------------------------------------
收到你的新的资料。多谢啊
看来通过使用自测试功能来减小芯片本身所带来的差异还是很有必要的。因为在我使用前和使用后所得到的角度还是差别不小的。
那么我们在整个使用过程中,还可以通过什么方式来使自己5883测量的结果更准确呢?
我使用5883的XY轴的,只做水平方向的角度。
为了达到好的效果,我已经使用上了
(1)自测试功能,
(2)标定(校准)方法,就是确定定标因数和零偏移值的方法,通过这个我想是做了软磁校正吧
那么还有什么好方法让效果更好呢?至少我在测量正北,东,南,西各方向时,得到的角度是个正圆形。比如是0,90,180,270;而不是0,110,190,250。
1请问我还可以做些什么工作呢?
2另外,听说有人测试出现有漂移的现象,该如何解决呢。 回复【15楼】tanker110
-----------------------------------------------------------------------
不用客气,
自测功能在你正常产品量产后可以不用进行调试,那只是对于你在设计测试时,判定手工焊接时是否出现烧坏或者未焊接好;
对于精度的影响因素:
1 可能试验台上比较多的带铁的设备存在干扰而引起;
2 PCB板上在Sensor周边焊接了一些GPS,电容电感的元件以及铁质材料;
3 水平应用,可能在校准的时候或者使用时并未保证水平而存在有倾斜;
针对于这些问题,建议采用下述的一些测量校正:
1 寻找空旷的地带进行测试;
2 对于产品布局的设计,尽量上述器件;
3 保证水平;
希望以上对你有所帮助; 回复【15楼】tanker110
-----------------------------------------------------------------------
对于你所说的温漂的问题,在S/R回路制作好的情况下,这不会对Sensor造成影响;
该回路在你每次测量数据时,会进行自动运行,这样已经消除了环境对于Sensor的影响; 回复【16楼】COMPASS1 航纬
-----------------------------------------------------------------------
自测功能在你正常产品量产后可以不用进行调试,那只是对于你在设计测试时,判定手工焊接时是否出现烧坏或者未焊接好;
-----------------------------------------------------------------------
如果我的芯片A和B 在其他条件一样的情况下,自测试模式下,芯片是在同样磁场下,所得的数据是不一样的(实际测试结果也是不一样的),
那么这两芯片在正常测量模式下测同一位置,很有可能得到的数据还是不一样的,那么怎么样来保证测同一位置可以得出相同的正确的值(角度)呢?
例如:自测试模式的数据:
register A =0X01,
moderegister=0X01,
register B=0X60,
X Y Z
A+769 +731,+737
B+751,+694,+683
而他们的角度差别是1度的。
那么正常测量时在同一位置测量的数据和角度也会有差别吧。
那如何做是好呢? 回复【18楼】tanker110
-----------------------------------------------------------------------
我看过你上面所测试的结果,对于Self-test的设置测试,我想那新的datasheet上已经详细介绍了如何使用该功能,
以及使用该功能后,各个轴所读取的数据大概的情况;
self-test其实每次启动,同一个sensor各轴所读取的数据不一定是完全一样的,因为S/R回路带上所产生的磁场大小
不是完全一致,因此才表示一个范围内所测量到的数据是正常的;
对于你所测量到的数据,和上面所说明的情况是一样的,这不会对于你最后计算角度会有影响,
在同一位置上得出的角度,其影响不会很大 回复【楼主位】tanker110
-----------------------------------------------------------------------
可不可以共享一个自测试代码啊,看文档没看明白 回复【楼主位】tanker110
-----------------------------------------------------------------------
楼主 你的数据已经很棒了 我的都没谱 还没有规律 时不时设置错了 你能把代码共享一下吗?
感激~~ 我也在搞这个,发现铁的东西对它的干扰真是大。目前正在做矫正 固定位置,上电测出值,过一会再上电,数值就变了,不过不动数据波动很小,不知道咋回事 回复【23楼】yaoyaowugui乌龟
固定位置,上电测出值,过一会再上电,数值就变了,不过不动数据波动很小,不知道咋回事
-----------------------------------------------------------------------
你那断电后,有重新配置寄存器吗? 前两天 在上海一家公司采购了10个DEMO板,没想到 深圳航纬也卖这个啊 ,我们公司在深圳,和供应商沟通起来好麻烦啊 请问一下关于HMC5883有些问题,那个自测试是怎么回事?是为什么得到的数据是一组呢??应该是两组啊??请问怎么看这个数据呢??
X:+00003Y:+00342Z:-00088
X:+01184Y:+01182Z:+01136
请问楼主可以共享一下HMC5883的资料吗,现在弄的一头雾水,,希望楼主能给予帮助!!! tanker110 发表于 2011-4-8 09:08
回复【10楼】COMPASS1 航纬
-----------------------------------------------------------------------
我的设置:A=0x01,B=0xA0,MODE=0x01;得到结果为X:430,Y:399,Z:-130,为什么Z轴一直是负值呢,,,求指点!!!
页:
[1]