Compass always read saturated

By ekholm , 8 March 2014

Dear all,

I have developed my personal library (starting form the examples in library 5.1) to read the imu9150 as a
raw Inertial+Gyro+Compass sensor (no eMPL). We are using this library on several (about 60) imus 9150 connected in a I2C network (2IMUs per bus) and managed in different modalities (control program, interrupt and DMA) from a STM32F4 microcontroller.

These IMUs come from different distributors (INVENSENSE directly, DROTEK, ROBOTITALY and SPARKFUN).

Most of the IMUs works correctly, but we experienced the following problem: about 20% of them report the embedded compass sensor to be always saturated in conditions where no saturation is expected and all the other IMUs are working correctly. This behaviour is more frequent from IMU coming directly form INVENSENSE.

Does anybody else have experienced such a problem.

At beginning we considered to be a problem of Slave+Fifo+DMA reading, but then we experienced
the same problem whichever access modality we tested (using the secondary I2C bus, the bypass mode, or indirect reading of the AK7895 using the internal S0(read),S1(issue request). With async read or with a periodic read of 100Hz.

Given the software is working properly with most devices, We suppose the problem to be related to some strange internal configuration or time critical operation of the device. In our SW we completely neglect the use of the eMPL (we did not download the firmware) and use the devices as they come form the producer.

The other software we found on the WEB always upload the eMPL code that for use is not interesting. Could this lead to the improper behaviour, or could it be some improper configuration in the IMU persistent memory (could it be?).

thank you for any help you can provide us
C.Alberto Avizzano
mailto: c.avizzano@sssup.it

phpbb Topic ID
15993