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. :-/
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.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang