Society of Robots - Robot Forum

Electronics => Electronics => Topic started by: Jak24 on January 04, 2011, 10:45:54 AM

Title: compass sensor cmps03 vs HMC6352
Post by: Jak24 on January 04, 2011, 10:45:54 AM
Hi.

I am currently looking for compass sensors for my robot, the two sensors that seem to be the most
popular are the cmps03:
http://www.robot-electronics.co.uk/htm/cmps3tech.htm (http://www.robot-electronics.co.uk/htm/cmps3tech.htm)
http://www.robotshop.com/devantech-magnetic-compass-module-cmps03-1.html (http://www.robotshop.com/devantech-magnetic-compass-module-cmps03-1.html)
and the HMC6352:
http://www.robotshop.com/parallax-hmc6352-compass-module.html (http://www.robotshop.com/parallax-hmc6352-compass-module.html)
I currently have a cmps03 for my robot but i have some trouble with it because it isn't accurate
(most of time it give OK readings which are only off by a little, but if a bigger metal part comes near it then it immediately
messes up as it gives a reading that are 20-30 degrees off)
and also this is a problem because my robots structure includes some metal parts which disturb the sensor.
The HMC6352 on the other hand i have no experience with, apparently it has ''Stray magnetic field protection'' but i really don't
know if it can really sustain a good reading.
There is a another possible method of protecting the compass from stray magnetic fields, it is a metal with shielding capabilities
called Mu Metal:
http://en.wikipedia.org/wiki/Mu-metal (http://en.wikipedia.org/wiki/Mu-metal)
I know a person that used the cmps03 and had a problem caused by a large magnet in the motor, so they found some of this
mu metal in an old hard drive and apparently it did work.
Now my question is, does anyone know if the HMC6352 could really avoid readings from the stray magnetic fields and get the accurate readings?
or did any one have the same problem which i am having, and what could i do about it?

Thanks

Regards
Jak24
Title: Re: compass sensor cmps03 vs HMC6352
Post by: waltr on January 04, 2011, 12:06:12 PM
Any external magnetic field will be noticed by the magnetometer (compass). That is what it is intended to measure..the Earth's magnetic field.

For motors on a Bot, the motors can be shielded to keep the rotating magnetic field they produce from interfering with the compass. But you can not shield the compass since then it will not measure the Earth's magnetic field.

If the metal structure of the Bot remains fixed in relation to the compass then there will be a constant error offset that can be calibrated out. But any other magnetic materials in the passing environment will affect the readings from any compass (that includes to ancient magnetic needle type).

Quote
''Stray magnetic field protection''
This is to keep the magnetic sensing elements inside the compass from becoming saturated and no longer sensitive to the weak magnetic field of the Earth. What the internal electronics do is a Set/Reset of the sensor elements. This does not mitigate the proximity of strong magnetic field disturbing the reading.

Here are a few links that should help:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en024198 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en024198)
http://www.nxp.com/#/search/params= (http://www.nxp.com/#/search/params=)[q=AN00022,p=1,l=en]|filters=[]
And search for Philips app note: AN00022