MPU-9150 raw sensor readings

By stueckrath.c , 2 August 2012

I have a MPU9150 EVB (not the Motion Fit SDK with BlueTooth).

I am able to read and write to the registers using I2C from my microcontroller. After reset, as expected, all registers are 0 except for PWR_MGMT_1 (reset value = 0x40), WHO_AM_I (reset value = 0x68), and mystery registers 0x02-0x18.

I followed jrowberg's example MPU6050_raw.ino (http://www.i2cdevlib.com/usage) to read the raw sensor values.

Initialize:
setClockSource() -> PWR_MGMT_1[2:0] = 0x01
setFullScaleGyroRange() -> GYRO_CONFIG[4:3]=0x00
setFullScaleAccelRange() -> ACCEL_CONFIG[4:3]=0x00
setSleepEnabled(false) -> PWR_MGMT_1[6]=0x00
note: numbers in brackets are bit ranges for that register

I verified that PWR_MGMT_1 (Addr. 0x6B) starts at 0x40 on reset, changes to 0x41 after setting clock source, and then changes to 0x01 after disabling sleep.

Test Connection:
getDeviceID() -> returns 0x68 as expected for WHO_AM_I register

However, reading any of the sensor registers (Addr. 0x3B-0x48), I get all 0s even after disabling sleep.

Are there any necessary steps I'm missing to reading any sensor data from the device? Is it possible my EVB could be connected to my microcontroller in such a way that I2C works but the sensors are inactive?

phpbb Topic ID
14565