4
\$\begingroup\$

We are using a GY-521 Arduino MPU6050 breakout board, using Jeff Rowberg's DMP6 libaries.

However, when we read values from the sensor while it is held stationary, the values drift considerably, until they stabilize at a value after around 1 minute.

Is this expected behavior from these chips with these libraries? We've tried with more than 4 chips, and all drift.

Notably, the chip does not drift when we use the code at the Arduino playground (http://playground.arduino.cc/Main/MPU-6050).

Rowberg's code has additional functions that we need, however. How can we fix this?

\$\endgroup\$
  • \$\begingroup\$ Same problem here. I've also tried to decrease sensitivity but it seems DMP6 is already set to least sensitive settings. This page here inventige.com/… suggests RK4 filtering for decreasing drift errors. \$\endgroup\$ – andig May 13 '13 at 9:17
  • \$\begingroup\$ Check this link which explains compensating MPU6050 drifts with Kalman or Complimentary filtering. \$\endgroup\$ – andig May 14 '13 at 12:27
1
\$\begingroup\$

Did you remember to compensate for temperature? It is not coïncidence that the device has an integratged temperature sensor.

7.19 Digital Output Temperature Sensor

An on chip temperature sensor and ADC are used to measure the MPU-60X0 die temperature. The readings from the ADC can be read from the FIFO or the Sensor Data registers.

\$\endgroup\$
  • 1
    \$\begingroup\$ Could you elaborate on how the compensation should be done? \$\endgroup\$ – andig May 13 '13 at 9:14
  • \$\begingroup\$ Sorry, never did that myself. \$\endgroup\$ – jippie May 13 '13 at 18:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.