tanker110 发表于 2011-1-8 11:15:26

关于HMC5883使用中,修正offset的值为什么误差大?如何处理

1.HMC5883使用时,修正offset时,产生的值的效果不好,通过修正后的结果误差较大,有时效果还不如不修正。如何避免?
2.HMC5883测得的数据大家都如何处理,难道直接使用吗,或做滤波等处理后再计算角度吗?如何处理?
3.看DATASHEET说,寄存器3~6中的 数据是补码形式存储,但我读后如果按补码处理得到感觉异常的数据,不做补码效果处理到可以用。看别的人的处理好像也没按补码处理。大家如何处理?

COMPASS1 发表于 2011-1-10 15:43:38

回复【楼主位】tanker110
-----------------------------------------------------------------------
Offset可能你理解错误了,从你后面所询问的问题来看,你在对寄存器所读取的数据进行数据的处理都不是很明白,
   数据是按照补码的形式存在的,最高位是符号位;当你所采集的数据大于“8”时,和FFFFFF取“与”再转化十进制;

tanker110 发表于 2011-1-19 11:35:57

多谢楼上的兄台,我看了看资料,不过有些不明白;
当所采集的数据大于“8”时,是指采集的数据的哪一位大于8吗?
和FFFFFF取“与”转化十进制做什么?请详细讲解下吧.

数据是按照补码的形式存在的,是不是读出数据后然后得求出他的补码呢?
从5883L读到的数据处理处理流程是怎么样的?
比如,是先求出补码,还是先判断采集的数据大于“8”时什么的?然后如何?

tanker110 发表于 2011-1-19 11:42:14

5883L的数据寄存器,A+B一起是16位,为什么要与FFFFFF与呢?

COMPASS1 发表于 2011-1-21 14:58:21

回复【2楼】tanker110
-----------------------------------------------------------------------

我不是很清楚,你用HMC5883L是做什么用的,如果只要算Heading,那么就只要求转换十进制后,
取反正切,就可以得出角度了;
你应该先判断采集的数据是不是大于“8”,而“8”也是十六进制判断的;
A+B是十六位,但HMC5883L是十二位的数字转换,因此才要考虑与FFFFFF与

tanker110 发表于 2011-1-22 11:31:33

多谢老兄。
我是用5883L的只计算角度的。我测试只用两个轴。做水平测试用。5883L 中的a SET pulse , a RESET pulse分别如何产生的,是在哪中情况下可以产生,或给哪个引角送脉冲吗?或是让SETP,SETC来产生吗?该 如何使用?
HMC5883L是十二位的数字转换,要与也是该与FFF与吧,FFFFFF的是24位了啊。
先判断采集的数据是不是大于“8”,大于8怎么样,小于8又怎么样啊?关键我看资料中好像没有关于这个的描述啊。困惑..
请老兄赐教。

lou0908 发表于 2011-1-22 14:46:34

这个片子怎么样?批量价格如何?看坛子里很多人在讨论

COMPASS1 发表于 2011-1-24 16:34:53

这颗SENSOR很便宜,集成度高,开发设计起来比较简单,很适合用在消费类产品上的。

thl315 发表于 2011-1-30 17:43:31

这片子可以.
两个二进制补码转换为十六进制的数很简单的,或者说根本就不需要转换.offset 一般是要设的.
如下:
s16 Data;
u8 H,L;
data=H;
data<<=8;//符号位就移到了最高位.
data|=L;
完毕...

muojie 发表于 2011-2-25 15:37:26

大家好,我想问个问题,我现在能读出数据来,在没有修正的时候是这样的:

   x    y    z
-1067, 201, -668   //向北
-895, -245, -787   //向南
-710, 38,   -635   //向西

大家可以说一下你们大概的数据吗?我想分析一下,我的数据对不对。

你们又是怎么处理的呢?如果不考虑精度,直接atan(y/x)就可以吗?

为什么不管朝哪个方向求出的x和z都是负的呢?

COMPASS1 发表于 2011-3-22 10:45:16

回复【9楼】muojie
-----------------------------------------------------------------------

在你的原始贴上,有点点建议,你可以去看看,从你的数据上来看,Y轴正常工作是没问题;
但我总感觉你的磁场传感器不是水平运动的

COMPASS1 发表于 2011-3-22 10:50:31

回复【5楼】tanker110
-----------------------------------------------------------------------

不好意思,现在才回复你的询问,
对于Set/Reset的脉冲提供,其实就是你所说的那两个引脚,但这两个引脚已经连接了C1和C2的电容,组建了一个回路;
因此在采集的过程中你可以不要去考虑这回路电平的问题了;
对于大于8,你就需要进行与动作,小于8你就可以直接进行转化就可以了,在通过判断其符号来确定Sensor指向的象限就可以得到指向角;

tanker110 发表于 2011-6-15 14:56:33

-----------------------------------------------------------------------

1.在使用HMC5883过程中,长时间开机运行芯片,会出现芯片死机的情况吗;开始时正常,几个小时后,读出的数据不动了,或是出来就个固定的数据。
2.死机以后,如何恢复,如果重新设置配置寄存器A,B,模式值后,好象出现长时间不输出的值的情况,可能十几秒都不恢复正常测试值。
如果在程序中频繁添加设置配置寄存的程序,会出现长时间测试不正常的情况(如上)。
该检测什么信号可在5883死机时进行重新设置,又不影响正常使用。

COMPASS1 发表于 2011-6-20 09:20:04

回复【12楼】tanker110
-----------------------------------------------------------------------

HMC5883L不会出现“死机”的现象的,因为其内部不存在晶振;

yuanruizhang 发表于 2011-8-31 14:28:41

回复【13楼】COMPASS1 航纬
-----------------------------------------------------------------------

我现在也在使用HMC5883L,但是测试出的裸值变化不是连续的,我也请教过其他的人,他们说测试出的裸值是连续。所以我想请教你,在不对x,y,z的数据进行处理的情况,他们的值是什么情况?

yuanruizhang 发表于 2011-8-31 15:43:17

回复【13楼】COMPASS1 航纬
-----------------------------------------------------------------------
下面是我测试的值 按照楼上你们讲的处理过的
angle=269.8
x=-004.6                y=-266.1                z=-272.5
angle=269.9
x=-000.9                y=-266.5                z=-272.1
angle=269.9
x=-275.9                y=-267.0                z=-271.5
angle=224.9
x=-274.9                y=-266.6                z=-272.1
angle=224.9
x=-270.5                y=-270.9                z=-271.5
angle=225.0
x=-270.0                y=-275.8                z=-270.2
angle=225.0
x=-268.7                y=-002.6                z=-270.5
angle=180.0

yuanruizhang 发表于 2011-8-31 15:46:40

回复【15楼】yuanruizhang
-----------------------------------------------------------------------

在直接对x,y,z的数据处理的 出如下
x=542.3                y=553.3                z=549.8
angle=001.5
x=542.6                y=552.0                z=550.0
angle=008.2
x=543.0                y=551.5                z=550.0
angle=011.2
x=542.6                y=551.6                z=549.7
angle=010.3
x=542.8                y=550.9                z=549.8
angle=014.0
x=543.5                y=549.8                z=549.9
angle=020.6
x=544.1                y=548.9                z=550.0
angle=026.3
x=544.4                y=548.4                z=549.9
angle=029.4
x=544.4                y=548.3                z=549.7
angle=029.9
x=544.4                y=548.1                z=549.6
angle=030.8
x=544.7                y=547.6                z=549.5
angle=033.9
x=545.2                y=547.2                z=549.6
angle=037.3
x=545.3                y=547.6                z=549.5
angle=035.8
x=545.9                y=546.8                z=549.7
angle=041.4
x=545.9                y=546.1                z=550.0
angle=044.2
x=546.2                y=545.7                z=549.9
angle=046.8
x=547.0                y=544.9                z=549.6
angle=052.8
x=548.3                y=544.1                z=549.6
angle=060.8
x=549.3                y=543.5                z=549.8
angle=066.9
x=550.5                y=543.1                z=550.0
angle=073.5
x=552.4                y=542.2                z=550.4
angle=083.9
x=552.6                y=542.1                z=549.8
angle=085.0
x=000.1                y=541.9                z=550.0
angle=090.4
x=000.6                y=541.9                z=550.2
angle=092.9
x=002.9                y=541.6                z=550.6
angle=103.5
x=004.4                y=541.6                z=550.7
angle=110.1
x=005.6                y=541.6                z=550.7
angle=115.0
x=006.5                y=541.7                z=550.6
angle=118.6
x=007.1                y=541.8                z=550.6
angle=121.0
x=008.3                y=542.3                z=550.9
angle=126.2
x=009.6                y=542.9                z=551.3
angle=131.8
x=010.9                y=543.5                z=551.7
angle=137.1
x=011.8                y=543.9                z=552.0
angle=140.5
x=012.3                y=544.1                z=552.0
angle=142.3
x=012.5                y=544.4                z=551.5
angle=143.6
x=012.9                y=544.9                z=551.4
angle=146.0
x=013.7                y=546.2                z=551.4
angle=151.6
x=014.3                y=547.0                z=551.7
angle=155.2
x=014.4                y=546.5                z=551.5
angle=153.7
x=014.9                y=547.2                z=551.7
angle=156.7
x=015.6                y=548.2                z=552.2
angle=160.9
x=016.0                y=549.4                z=552.4
angle=165.2
x=016.4                y=550.4                z=552.7
angle=168.9
x=016.6                y=550.5                z=552.7
angle=169.4
x=016.7                y=550.7                z=552.5
angle=170.1
x=016.9                y=551.1                z=552.5
angle=171.5
x=017.1                y=551.6                z=552.5
angle=173.3
x=016.7                y=552.9                z=552.1
angle=177.5
x=016.1                y=001.3                z=551.8
angle=184.6
x=016.9                y=001.5                z=553.1
angle=185.0
x=017.4                y=001.9                z=000.1
angle=186.2
x=016.8                y=003.7                z=552.9
angle=192.4
x=015.6                y=005.1                z=552.3
angle=198.1
x=014.2                y=006.9                z=551.9
angle=205.9
x=013.3                y=007.4                z=551.2
angle=209.0
x=012.0                y=008.1                z=550.2
angle=214.0
x=011.4                y=008.4                z=549.7
angle=216.3
x=010.7                y=009.0                z=549.7
angle=220.0
x=010.2                y=010.2                z=550.6
angle=225.0
x=009.4                y=011.1                z=551.2
angle=229.7
x=008.0                y=012.0                z=551.4
angle=236.3
x=007.3                y=012.4                z=551.3
angle=239.5
x=006.5                y=012.9                z=551.4
angle=243.2
x=005.5                y=013.1                z=551.0
angle=247.2
x=004.1                y=013.6                z=551.1
angle=253.2
x=001.9                y=013.8                z=551.3
angle=262.1
x=000.6                y=013.4                z=551.1
angle=267.4
x=024.6                y=013.2                z=551.4
angle=208.2
x=552.2                y=013.3                z=550.9
angle=276.0
x=550.9                y=012.9                z=550.9
angle=281.8
x=549.7                y=012.3                z=551.0
angle=287.5
x=548.4                y=011.7                z=551.2
angle=293.9
x=547.4                y=011.3                z=551.3
angle=298.7
x=546.4                y=010.9                z=551.1
angle=303.4
x=545.7                y=010.2                z=550.9
angle=307.7
x=544.9                y=009.5                z=550.9
angle=312.4
x=544.1                y=008.6                z=551.2
angle=317.8
x=543.3                y=007.7                z=551.6
angle=323.2
x=542.5                y=006.6                z=551.8
angle=329.2
x=542.0                y=006.2                z=552.0
angle=331.8
x=541.6                y=005.7                z=551.9
angle=334.5
x=541.2                y=004.8                z=551.9
angle=338.8
x=540.9                y=004.0                z=552.1
angle=342.5
x=540.8                y=003.4                z=552.3
angle=345.1
x=540.6                y=001.8                z=552.6
angle=352.1
x=540.5                y=000.9                z=552.9
angle=356.0
x=540.3                y=001.2                z=552.4
angle=354.8
x=540.4                y=000.0                z=552.6
angle=360.0

楼上是对数据处理过的,反而还不如不处理的数据是怎么回事呢?上面的数据和实际的指向也不是很准确的!

tanker110 发表于 2011-9-10 10:53:28

回复【16楼】yuanruizhang
-----------------------------------------------------------------------
我看你的得到的值(16楼的数据)基本正常啊,算是连续的啊,中间偶尔蹦出个异常的值也有可能受到干扰吧。使用中要保证周围没磁性物体,包括螺丝刀等

COMPASS1 发表于 2011-10-31 16:41:56

回复【17楼】tanker110
回复【16楼】yuanruizhang
-----------------------------------------------------------------------
我看你的得到的值(16楼的数据)基本正常啊,算是连续的啊,中间偶尔蹦出个异常的值也有可能受到干扰吧。使用中要保证周围没磁性物体,包括螺丝刀等

-----------------------------------------------------------------------

我也认为他的数据不是很准确,在周边应该是存在磁场干扰的;
要不然90度的变化后,Y的数据还会保持一致吗?

cctsao1008 发表于 2011-11-12 20:55:37

學習了!!!
页: [1]
查看完整版本: 关于HMC5883使用中,修正offset的值为什么误差大?如何处理