Hello. I an using the 9 Axis Motion Shield in an autoguided vehicle. I have already performed the calibration process and stored the appropiate settings in the Arduino EEPROM. When I turn the device on, I copy the previously stored settings in the calibration registers and, after that, I put the sensor in IMU mode (only accelerometer and gyroscope). I don't know if any step I do is wrong, but when I place the sensor in my hand, the Heading angle I read is correct, but when it is mounted on the vehicle is wrong. What could be happening?
Yes. I tested that mode. I did not want to use NDOF mode becuase the sensor is surrounded by a lot of electrical noise that affects the magnetometer very much. Besides, the sensor is inserted on an Arduino Mega and both are fixed and can't be moved. When I was tested the sensor I saw that magnetometer calibration was lost very quickly and for that reason I decided to use IMUPLUS mode. Anyway, I have not seen an appreciable difference in behavior between the 2 modes.
When you used IMU mode, your feedback "the Heading angle I read is correct", could you give detailed description of it? If you had log, it is better.
I want to say that, when sensor is on my hand, I can turn in several revolutions around Z axis and I can see in Serial monitor that yaw angle reads form sensor are good. And when I return to the beginning position, yaw angle is (more or less) the same as before I started to turn. This is not happen when sensor is mounted on the vehicle. In this case, making the same movements with the sensor, when it returs to the starting position, there can be a difference of 40º in yaw angle. I am sorry but I don't have any log file.