system
October 31, 2012, 9:57am
1
Hi,
I tried to use the library on http://bildr.org/2012/02/hmc5883l_arduino/ for HMC5883L magnetometer and it works fine. I only have a bit question concerning scaled values: If I set the scale range to +/- 0.88 Gauss and I put my cellphone on the sensor, the maximum value for scaled values aren't -800 (mGauss) but something near -3000 (mGauss). It's seems that, despite I set the Scale Range to +/- 0.88 Gauss, it uses another scale range.
Do you have some suggestions?
Regards,
Alessandro
Here is the output:
Starting the I2C interface.
Constructing new HMC5883L
Setting scale to +/- 0.88 Ga
Setting measurement mode to continous.
Raw: -4096 -1795 -4096 Scaled: -2990.08 -1310.35 -2990.08 Heading: 3.60 Radians 206.28 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Raw: -4096 -4096 -4096 Scaled: -2990.08 -2990.08 -2990.08 Heading: 3.97 Radians 227.62 Degrees
Do you have some suggestions?
Post your code how you use the library, it sounds like some overflow / int rounding error (or a bad connector)
do the sample sketches of the lib work?
If you are getting raw values of 4096 all the time, it looks suspiciously like you have a 12 bit A/D converter there which is stuck on limit. Or maybe 13 bits. Stuck on limit, anyway.
This could mean that the device is not working properly. It could also mean that your I2C communication isn't actually working but the microcontroller end of the I2C doesn't realise it is doing nothing and actually thinks it is reading something.
I recently got several of these devices and had quite a bit of bother getting them to work, although they all eventually did.
I downloaded several bits of library code to read the device, some of them had problems, eventually I wrote a new one which works for me on all of my devices.
system
November 5, 2012, 11:45am
4
Hi,
I've only tried to run the example (just changed the default scale):
Serial.println("Setting scale to +/- 0.88 Ga");
error = compass.SetScale(0.88); // Set the scale of the compass.
if(error != 0) // If there is an error, print it out.
Serial.println(compass.GetErrorText(error));
@michinyon :
I don't get 4096 all the time but only when I put the cellphone on the magnetometer (and this is right)
The problem is the scaled values: If I set the scale to 0.88, when I put the cellphone on the mag, should the scaled values be comprised between -800 and 800 or not?
Thanks
Alessandro
Starting the I2C interface.
Constructing new HMC5883L
Setting scale to +/- 0.88 Ga
Setting measurement mode to continous.
Raw: -458 -393 -31 Scaled: -334.34 -286.89 -22.63 Heading: 3.90 Radians 223.25 Degrees
Raw: -457 -390 -28 Scaled: -333.61 -284.70 -20.44 Heading: 3.89 Radians 223.10 Degrees
Raw: -455 -398 -27 Scaled: -332.15 -290.54 -19.71 Heading: 3.91 Radians 223.80 Degrees
Raw: -457 -396 -28 Scaled: -333.61 -289.08 -20.44 Heading: 3.90 Radians 223.53 Degrees
Raw: -456 -393 -29 Scaled: -332.88 -286.89 -21.17 Heading: 3.90 Radians 223.37 Degrees
Raw: -455 -390 -31 Scaled: -332.15 -284.70 -22.63 Heading: 3.90 Radians 223.22 Degrees
Raw: -461 -396 -31 Scaled: -336.53 -289.08 -22.63 Heading: 3.90 Radians 223.28 Degrees
Raw: -455 -395 -28 Scaled: -332.15 -286.16 -21.17 Heading: 3.90 Radians 223.36 Degrees
Raw: -459 -391 -30 Scaled: -335.07 -285.43 -21.90 Heading: 3.89 Radians 223.04 Degrees
Raw: -458 -393 -31 Scaled: -334.34 -286.89 -22.63 Heading: 3.90 Radians 223.25 Degrees
Raw: -454 -393 -28 Scaled: -331.42 -286.89 -20.44 Heading: 3.90 Radians 223.50 Degrees
Raw: -456 -391 -28 Scaled: -332.88 -285.43 -20.44 Heading: 3.90 Radians 223.23 Degrees
Raw: -459 -392 -31 Scaled: -335.07 -286.16 -22.63 Heading: 3.89 Radians 223.12 Degrees
Raw: -458 -393 -32 Scaled: -334.34 -286.89 -23.36 Heading: 3.90 Radians 223.25 Degrees
Raw: -459 -395 -29 Scaled: -335.07 -288.35 -21.17 Heading: 3.90 Radians 223.33 Degrees
Raw: -452 -393 -29 Scaled: -329.96 -286.89 -21.17 Heading: 3.90 Radians 223.62 Degrees
Raw: -461 -393 -26 Scaled: -336.53 -286.89 -18.98 Heading: 3.89 Radians 223.07 Degrees
Raw: -457 -393 -31 Scaled: -333.61 -286.89 -22.63 Heading: 3.90 Radians 223.31 Degrees
Raw: -457 -392 -31 Scaled: -333.61 -286.16 -22.63 Heading: 3.90 Radians 223.24 Degrees
Raw: -458 -392 -29 Scaled: -334.34 -286.16 -21.17 Heading: 3.90 Radians 223.18 Degrees
Raw: -456 -396 -29 Scaled: -332.88 -289.08 -21.17 Heading: 3.90 Radians 223.59 Degrees
Raw: -457 -396 -31 Scaled: -333.61 -289.08 -22.63 Heading: 3.90 Radians 223.53 Degrees
Raw: -459 -397 -30 Scaled: -335.07 -289.81 -21.90 Heading: 3.90 Radians 223.48 Degrees
Raw: -458 -394 -29 Scaled: -334.34 -287.62 -21.17 Heading: 3.90 Radians 223.32 Degrees
Raw: -458 -396 -31 Scaled: -334.34 -289.08 -22.63 Heading: 3.90 Radians 223.47 Degrees
Raw: -452 -394 -30 Scaled: -329.96 -287.62 -21.90 Heading: 3.90 Radians 223.70 Degrees
Raw: -450 -392 -32 Scaled: -328.50 -286.16 -23.36 Heading: 3.90 Radians 223.68 Degrees
Raw: -441 -389 -33 Scaled: -321.93 -283.97 -24.09 Heading: 3.91 Radians 224.03 Degrees
Raw: -419 -369 -17 Scaled: -305.87 -269.37 -12.41 Heading: 3.91 Radians 223.99 Degrees
Raw: -367 -269 107 Scaled: -267.91 -196.37 78.11 Heading: 3.82 Radians 218.86 Degrees
Raw: -360 -180 248 Scaled: -262.80 -131.40 181.04 Heading: 3.65 Radians 209.18 Degrees
Raw: -166 193 667 Scaled: -121.18 140.89 486.91 Heading: 2.33 Radians 133.32 Degrees
Raw: 220 1429 -4096 Scaled: 160.60 1043.17 -2990.08 Heading: 1.46 Radians 83.87 Degrees
Raw: -332 1127 -4096 Scaled: -242.36 822.71 -2990.08 Heading: 1.90 Radians 109.03 Degrees
Raw: -1860 85 -4096 Scaled: -1357.80 62.05 -2990.08 Heading: 3.14 Radians 180.00 Degrees
putting the cellphone on the mag:
Raw: -4096 -236 -4096 Scaled: -2990.08 -172.28 -2990.08 Heading: 3.24 Radians 185.92 Degrees
Raw: -4096 -957 -4096 Scaled: -2990.08 -698.61 -2990.08 Heading: 3.42 Radians 195.77 Degrees
Raw: -4096 -628 -4096 Scaled: -2990.08 -458.44 -2990.08 Heading: 3.34 Radians 191.34 Degrees
Raw: -4096 -610 -4096 Scaled: -2990.08 -445.30 -2990.08 Heading: 3.34 Radians 191.09 Degrees
Raw: -4096 -584 -4096 Scaled: -2990.08 -426.32 -2990.08 Heading: 3.33 Radians 190.73 Degrees
Raw: -4096 -528 -4096 Scaled: -2990.08 -385.44 -2990.08 Heading: 3.32 Radians 189.96 Degrees
Raw: -4096 -509 -4096 Scaled: -2990.08 -371.57 -2990.08 Heading: 3.31 Radians 189.70 Degrees
Raw: -4096 -480 -4096 Scaled: -2990.08 -350.40 -2990.08 Heading: 3.30 Radians 189.30 Degrees
Raw: -4096 -467 -4096 Scaled: -2990.08 -340.91 -2990.08 Heading: 3.30 Radians 189.12 Degrees
Raw: -4096 -445 -4096 Scaled: -2990.08 -324.85 -2990.08 Heading: 3.30 Radians 188.82 Degrees
Raw: -4096 -430 -4096 Scaled: -2990.08 -313.90 -2990.08 Heading: 3.29 Radians 188.61 Degrees
Raw: -4096 -405 -4096 Scaled: -2990.08 -295.65 -2990.08 Heading: 3.29 Radians 188.27 Degrees
Raw: -4096 -402 -4096 Scaled: -2990.08 -293.46 -2990.08 Heading: 3.29 Radians 188.22 Degrees
Raw: -4096 -402 -4096 Scaled: -2990.08 -293.46 -2990.08 Heading: 3.29 Radians 188.22 Degrees
Raw: -4096 -400 -4096 Scaled: -2990.08 -292.00 -2990.08 Heading: 3.28 Radians 188.20 Degrees
Raw: -4096 -401 -4096 Scaled: -2990.08 -292.73 -2990.08 Heading: 3.28 Radians 188.21 Degrees
Raw: -4096 -388 -4096 Scaled: -2990.08 -283.24 -2990.08 Heading: 3.28 Radians 188.03 Degrees
Raw: -4096 -390 -4096 Scaled: -2990.08 -284.70 -2990.08 Heading: 3.28 Radians 188.06 Degrees
Raw: -4096 -395 -4096 Scaled: -2990.08 -288.35 -2990.08 Heading: 3.28 Radians 188.13 Degrees
Raw: -4096 -387 -4096 Scaled: -2990.08 -282.51 -2990.08 Heading: 3.28 Radians 188.02 Degrees
Raw: -4096 -389 -4096 Scaled: -2990.08 -283.97 -2990.08 Heading: 3.28 Radians 188.04 Degrees
Raw: -4096 -389 -4096 Scaled: -2990.08 -283.97 -2990.08 Heading: 3.28 Radians 188.04 Degrees
Raw: -4096 -379 -4096 Scaled: -2990.08 -276.67 -2990.08 Heading: 3.28 Radians 187.90 Degrees
Raw: -4096 -366 -4096 Scaled: -2990.08 -267.18 -2990.08 Heading: 3.28 Radians 187.72 Degrees