Mit einem MPU-6050 wird die Beschleunigung in x-Richtung gemessen. Wenn der MPU um die Strecke x bewegt wird, sollte diese Strecke durch Beobachten der Beschleunigungswerte berechnet werden können. Es geht hier nur um die Auswertung der x-Beschleunigung AcX. AcY und AcZ und die Drehraten werden ignoriert. Die Bewegung ist nur in x-Richtung, die Erdbeschleunigung ist immer in z-Richtung. Ziel ist eine Genauigkeit von 1 cm über eine Zeit von 5 Sekunden. Notwendig ist die genaue Messung des Offsets, durch das hohe Rauschen der Daten ist der Offset erst nach langer Mittelung genau genug. Ein "Wandern" des Offsets durch Alterung oder Änderung von Temperatur oder Versorgungsspannung soll erstmal vernachlässigt werden. Mit dem gemessenen Offset ist die errechnete Bewegung x bei stillstehendem Sensor über 5 Sekunden recht gering (<1cm). Wird nun der Sensor in x-Richtung bewegt und wieder an die gleiche Position zurück, dann ist die Position sehr ungenau und driftet auch massiv weg. Das liegt natürlich an einem Offset der Geschwindigkeit, weil sich die Beschleunigungen nicht zu Null addieren. Sollten sie aber, denn vorher und nachher ist der Sensor stillstehend. Die Beschleunigung ist kleiner 2g, so dass der Sensor nicht in die Begrenzung geht. Eine Nachkalibration beim zweiten Stillstand scheidet aus, weil sie zu lange dauern würde. Jetzt die Fragen: 1. kann es sein, dass die Beschleunigungsdaten eine Hysterese haben? 2. kann es sein, dass die Beschleunigungsdaten grob nichtlinear sind? 3. wäre die Verwendung des DMP (interne Signalverarbeitung) sinnvoll?
Wird nix, das haben schon viele versucht. Nach 2x Integrieren ist ist nicht mehr von der Hand zu weisen, dass ein MPU6050 seine Grenzen hat. Lass das Ganze einfach mal 1min bei Stillstand laufen. Egal wie gut du kalibrierst, den Drift kriegst du nicht unter Kontrolle.
Der neue MPU9250 hat einen zusätzlichen Magnetfeldsensor mit dem er dieses driften gut kompensieren kann. Der alte Sensor kostet etwa 1€ beim Chinamann und der neue Sensor 2,30€. Die Differenz lohnt sich aber zu bezahlen, du verbrauchst keine Zeit um Dinge zu probieren die mit dem alten Sensor einfach nicht realisierbar sind. Auf meinen Sensor habe ich einen knappen Monat gewartet. :-/
Es geht hier um der ACC, nicht den gyro. Da hilft den magnetsensor nicht. Du brauchst ein hoch genaue ACC, aber die dingen sind kostlich.
RP6conrad schrieb: > Du brauchst ein hoch genaue ACC Kannst du mir einen empfehlen? Der Bosch BNO ist anscheinend ein bisschen besser. Was ist Dein Favorit?
Pink S. schrieb: > Mit einem MPU-6050 wird die Beschleunigung in x-Richtung gemessen. Wenn > der MPU um die Strecke x bewegt wird, sollte diese Strecke durch > Beobachten der Beschleunigungswerte berechnet werden können. > > Es geht hier nur um die Auswertung der x-Beschleunigung AcX. AcY und AcZ > und die Drehraten werden ignoriert. Die Bewegung ist nur in x-Richtung, > die Erdbeschleunigung ist immer in z-Richtung. Ziel ist eine Genauigkeit > von 1 cm über eine Zeit von 5 Sekunden. Hallo, Was für eine Art von Bewegung ist das (linear, sinoide, sägezahnförmig)? Wie wird die Bewegung (eine Maschinenachse?) angetrieben (Linaermotor, Schrittmotor, durch Explosion, Raketenantrieb ...)? Wie ist die Bewegung geführt? Welche Geschwindigkeiten werden erreicht? Welche Wege werden verfahren? Hintergrund zu meinen Fragen: Beschleunigungsaufnehmer messen nicht nur die Verfahrbewegung des zu messenden Objektes. Viele Arten von Bewegung verrauschen dir das eigentliche Messsignal derart, das du gar nicht mehr die eigentliche Lageverschiebung des Messobjektes im Signal erkennen kannst. Nur teilweise gelingt es mit Filtern einigermaßen brauchbare Signale zu erhalten. Und danach kommt das 2fache Integrieren ... Beispiel 1: Antriebe mit einem Schrittmotor - das 'Rasten' eines solchen Motor (Vollschritt, Teilschritte - fast egal) erzeugt weit aus höhere Störungen als die Beschleunigung der Achse auf z.B. wenige g. Beispiel 2: Schau dir mal die Köpfe der ehemaligen Space Shuttle Piloten an. Diese Köpfe werden während der Startphase in allen 3 Dimension umhergeschüttelt, obwohl die Feststoffbooster (SRB) fast gleichförmig mit 3g bis zum Abbrand beschleunigen. MfG
UA schrieb: > Was für eine Art von Bewegung ist das (linear, sinoide, sägezahnförmig)? Das Fahrzeug ist ein elektrisch angetriebenes Modellfahrzeug mit Meccanum-Rädern. Maximale Beschleunigung 1m/s2, max. Geschwindigkeit 0,2m/s, Weg 0,5m, Messzeit 5s. Die Räder haben Schlupf. Später soll auch y und z gemessen werden. Sicher ist die Bewegung etwas "rumpelig", mit Beschleunigungsspitzen bis ca. +-1g, aber die sollten sich ja ausmitteln. Mehr nervt das Sensorrauschen, denn das wird durch Mittelwertbildung nur kleiner, aber nicht garantiert Null. Und dann kommt - wie Du richtig sagst - das zweifache Integrieren. Da laufen die Messwerte für x quadratisch weg! Bei stillstehendem Sensor habe ich ein gemessenes x<1cm nach 5 Sekunden (nachdem der Sensor minutenlang kalibriert wurde). Aber eine Bewegung des Sensors führt zu erheblichen Fehlern im Mittelwert der Beschleunigung. Daher der Verdacht, dass solche MEMS-Sensoren neben Offset und Rauschen auch Probleme mit Linearität oder mit einer Hysterese haben könnten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.