I purchased 2 of the new DIY Drones Rev 1.1HMC5843 boards back in late NOV.
The data I'm get from them seems to have way too much "jitter".
With the magnetometers stationary and flat and level:
unit 1's readings vary by 54 count in X, 57 counts in Y and 62 counts in Z
unit 2's readings vary by 103 counts in X, 110 counts in Y and 102 counts in Z
when I apply the POSITIVE BIAS (unit still stationary, flat and level) the readings vary by:
unit1 75 counts X, 64 count Y and 109 counts Z
unit2 143 counts X, 170 counts Y and 194 counts Z
by vary I mean: for example readings range from 750 to 607 (unit 2 +BIAS CAL) 750-607 = 143
The i2c comm seems to be working as I can change modes, output rate etc.
But the variance of reading when sitting still seem WAY out.
I can't obtain meaningful scale factors or offsets with the readings jumping around so much.
Has anybody seem this problem or have any suggestions as to what's wrong.
Any help would be appreciated.
attached are raw data files for unit1 and unit2
in each data file:
1st group of readings are with the magneto stationary flat and level pointing approx 130 deg
2nd group is with positive bias applied
3rd group is with negative bias applied
the magnetometer is actually very very sensitive to magnetic noise. You should check if there are sources for magnetic noise in the vicinity. Try to toutput the HMC readings from another computer. They should vary +/- 5.
However, the difference between your 2 units in not explicable this way.
From when are these chips actually? I know there had been an issue with the chips from 2009 production which could be fixed by adding an external capacitor. Search in the sparkfun forum for this issue.
Thanks for the reply. My two HMC5843 boards are the REV1.1 from DIY Drones. I bought them just before Thanksgiving 2010. They have the smaller I2C translator chip than the original boards. As far as the actual HMC5843 chips manufacture date, I don't know. There may be a date code on them but I don't have them with me right now. I tried adding a 100 uF electrolytic cap in parallel but it didn't help.
I expected some variance in readings but not the amount I'm getting. Especially when calibration BIAS is applied since in that mode the2nd reading is subtracted from the 1st reading which should eliminate the external field. If the magnetic field varies between the 1st and 2nd reading I guess a variance would be expected. But since the readings occur within a short time of each other I don't see that being the case.
These large variances occur outside and well as inside. A variance of 10 degree between 10 or 20 sequential readings when the device is stationary, with pitch and roll = 0 is outside the expected performance according to marketing documents created by Honeywell which state that a 1 degree compass is possible with the HMC5843. I've tried scaling and offset compensation and still have variances(after scaling and offset comp) of 10 to 12 degrees in headings on my best performing unit and up to 20 to 22 degree variance with the other unit. I suspect there is some problem in manufacturing the HMC5843 since Honeywell has issued an END OF LIFE notice for it. I don't know the reason for the EOL since it's a relatively new device.
If I discover any additional useful info concerning this I'll post it here.
Quote from HMC5843 EOL:
The replacement for this discontinued product is the HMC5883L 3-Axis Compass IC magnetic sensor in a 3.0x3.0x0.9mm surface-mount 16-pin leadless chip carrier (LCC). The HMC5883L includes Honeywell’s state-of-the-art, high-resolution magneto-resistive sensors with automatic degaussing (demagnetizing) strap drivers, offset cancellation and a 12-bit ADC for high resolution earth field sensing. The HMC5883L offers higher performance and better resolution in a smaller package than the HMC5843.
Have you already solved your jitter problem?!?!
If not, please take a look in this forum:
It could be usefull for you!!
I think your problem is the same as mine ...
If possible, give me feed back ...