Deriva de valores leídos por el sensor Arduino MPU6050

Estamos usando una placa de ruptura GY-521 Arduino MPU6050, usando las bibliotecas DMP6 de Jeff Rowberg .

Sin embargo, cuando leemos los valores del sensor mientras se mantiene estacionario, los valores se desvían considerablemente, hasta que se estabilizan en un valor después de aproximadamente 1 minuto.

¿Es este el comportamiento esperado de estos chips con estas bibliotecas? Hemos probado con más de 4 fichas, y todas a la deriva.

En particular, el chip no se desvía cuando usamos el código en el área de juegos de Arduino ( http://playground.arduino.cc/Main/MPU-6050 ).

Sin embargo, el código de Rowberg tiene funciones adicionales que necesitamos. como podemos arreglar esto?

El mismo problema aqui. También intenté disminuir la sensibilidad, pero parece que DMP6 ya está configurado en la configuración menos sensible. Esta página aquí inventige.com/... sugiere el filtrado RK4 para disminuir los errores de deriva.
Consulte este enlace que explica la compensación de desviaciones MPU6050 con filtrado Kalman o complementario.

Respuestas (1)

¿Te acordaste de compensar la temperatura? No es casualidad que el dispositivo tenga un sensor de temperatura integrado.

7.19 Sensor de temperatura de salida digital

Se utiliza un sensor de temperatura en el chip y un ADC para medir la temperatura del chip MPU-60X0. Las lecturas del ADC se pueden leer desde el FIFO o los registros de datos del sensor.

¿Podría explicar cómo se debe hacer la compensación?
Lo siento, nunca lo hice yo mismo.