Compass Inertial Messurement Unit

Dieser Artikel wird auf diverse Kompass und IMU Module eingehen.




GY-9150 / GY-521 breakout board using MPU-9150


Gyro Accelerometer



There are two possible solutions to get the magnetometer data from this device:

IIRC,  there are at least two ways that this can potentially work.   

One way,  is to use the main I2C bus to look right through the 9250  and communicate with the magnetometer directly.   I could never get this to work.    I guess this scheme is the "serial interface bypass".

The other way,   is to tell the 9250   to  continually read the 6 data registers of the magnetic device itself,    and copy the data into 6 of the spare registers on the 9250,     and then you just read the data from those 6 spare registers on the 9250.     It was a problem to get this to work,    but once I got it working,   it worked just fine.     I guess this scheme is not the "serial interface bypass".




Verbindung AVR MPU9150

i2c is an open collector setup. The pins of a device should only pull the line low, or release them (set them as high-impedence inputs for example), allowing the i2c pullup resistors to pull the line up to VCC. VCC can be anything within the devices specs. In this case, a 3.3v pullup will work with the sensor, and at (AVR VCC 5v * 0.6) = 3v is higher than the minimum Logic High for the AVR. You just need to make sure that the pull-ups are only connected to 3.3v, so all others should be cut out/removed or in the case of internal pull-ups, disabled.

The Sensor module you link to already has external pull-up resistors tied to it's VCC (so assuming 3.3v). You just need to disable any internal pull-ups on the AVR or i2c library you are using (if you are using one).



Have you tried alternative addresses for the AK8975 slave, such as 0x0D or 0x0E? Also, have you enabled I2C slave bypass mode on the MPU9150? The AK8975 inside the MPU is wired up to the AUX I2C pins rather than the main I2C pins, so you will not be able to talk directly to the magnetometer without first enabling bypass.

I have not yet worked with the MPU9150 much yet, so I am kind of guessing here.


Weitere Kompass- bzw. IMU-Module:

HMC5883L - 3 - Axis Digital Compass


HDMM01 - Dual-axis Magnetic Sensor Module With I2C Interface

HMC1051Z - 1, 2 and 3 Axis Magnetic Sensors HMC1051/HMC1052L/HMC1053

MMA7361 - ±1.5g, ±6g Three Axis Low-g Micromachined Accelerometer

Xsens Motion Tracker MTi-Serie


Magnetic Field Calculators

Orders of magnitude




SOME more LINKS,8573.0.html