Drift der vom Arduino MPU6050-Sensor gelesenen Werte

Wir verwenden ein Breakout-Board GY-521 Arduino MPU6050 mit Jeff Rowbergs DMP6-Bibliotheken .

Wenn wir jedoch Werte vom Sensor ablesen, während er stationär gehalten wird, driften die Werte erheblich, bis sie sich nach etwa 1 Minute auf einem Wert stabilisieren.

Wird dieses Verhalten von diesen Chips mit diesen Bibliotheken erwartet? Wir haben es mit mehr als 4 Chips versucht, und alle driften.

Insbesondere driftet der Chip nicht, wenn wir den Code auf dem Arduino-Spielplatz verwenden ( http://playground.arduino.cc/Main/MPU-6050 ).

Rowbergs Code hat jedoch zusätzliche Funktionen, die wir benötigen. Wie können wir das beheben?

Selbes Problem hier. Ich habe auch versucht, die Empfindlichkeit zu verringern, aber es scheint, dass DMP6 bereits auf die am wenigsten empfindlichen Einstellungen eingestellt ist. Diese Seite hier inventige.com/… schlägt die RK4-Filterung vor, um Driftfehler zu verringern.
Überprüfen Sie diesen Link , der das Kompensieren von MPU6050-Driften mit Kalman- oder kostenloser Filterung erklärt.

Antworten (1)

Hast du daran gedacht, die Temperatur auszugleichen? Dass das Gerät über einen integrierten Temperatursensor verfügt, ist kein Zufall.

7.19 Temperatursensor mit digitalem Ausgang

Ein On-Chip-Temperatursensor und ein ADC werden verwendet, um die MPU-60X0-Die-Temperatur zu messen. Die Messwerte vom ADC können aus dem FIFO oder den Sensordatenregistern gelesen werden.

Können Sie erläutern, wie die Entschädigung erfolgen soll?
Sorry, habe ich selbst noch nie gemacht.