Salü
Ich habe vier MPU6050-IMU-Boards (https://www.bastelgarage.ch/mpu-6050-3-achsen-beschleunigungssensor-mit-gyroskop) und lese die Beschleunigungsdaten über ein Multiplexer (TCA9548A) per Arduino Mega aus.
Nun habe ich folgendes Problem: Wie in der angehängten Grafik zu sehen habe ich die Magnitude der Daten (nur Beschleunigung, kein Gyro) pro Sensor mittels |a| = sqrt(ax^2 + ay^2 + az^2) dargestellt und diese ist nicht immer eins. Die vier Sensoren wurden dazu auf einem Breadboard gleich ausgerichtet und jeweils das gesamte Board um 90° in die Vertikale gedreht und danach wieder in die Horizontale gebracht. Die X-Achse entspricht dabei den gemessenen Datenpunkten und wurde über rund 50 Sekunden (30Hz) aufgenommen. Mich erstaunt des Weiteren, dass die Magnitude sich überhaupt ändern kann (sollte ja gleich bleiben während den Ruhephasen). Ich hatte auch schon Messungen da war die Magnitude zu Beginn 0.5 oder 1.6. Auch etliche DIY PCB's mit MPU6050 haben bei mir dieses Problem.
Im Datenblatt (https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf) steht bei Zero-G Output die initial Calibration Tolerance (X,Y = +-50mg, Z = +- 80mg) aber das reimt sich in meinem Kopf nicht zusammen mit den Messergebnissen.
Das Ziel ist es diesen Magnitudenfehler zu verkleinern (< 3%).
Alle konstruktive Hilfe ist herzlich willkommen und wird geschätzt.




