Forum: Mikrocontroller und Digitale Elektronik Mpu 6050 Winkel Fehler?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Sibbi (Gast)


Lesenswert?

Hallo ich lese die Winkelgeschwindigkeit meines mpu6050 und integriere 
diese. Allerdings bekomme ich einen Winkel von 90 grad erst bei ca. 100 
grad bewegung? Wie kan dass sein? Muss ich außer dem abziehen des offset 
noch etwas beachten?

von Max H. (hartl192)


Lesenswert?

Sibbi schrieb:
> Muss ich außer dem abziehen des offset noch etwas beachten?

Ja, ob der Sensor auch die x LSB/(°/s) hat.

von Sibbi (Gast)


Lesenswert?

Das müsste stimmen

von Wolfgang A. (Gast)


Lesenswert?

Sibbi schrieb:
> Das müsste stimmen

Dann müßten bei 90° Drehung auch 90° rauskommen, wenn in dem Programm 
alles richtig gerechnet wird ;-)

von Sibbi (Gast)


Lesenswert?

Habe einen Fehler gefunden. Jetzt kommen 90,01 Grad heraUS.  Warum nicht 
90,00 wie kann das sein ?

von Max H. (hartl192)


Lesenswert?

Sibbi schrieb:
> Habe einen Fehler gefunden. Jetzt kommen 90,01 Grad heraUS.  Warum
> nicht 90,00 wie kann das sein ?
Hast du den Offset auf genau 0.000000 kompensiert, der Sensor die x 
LSb/(°/s) mit 0.00% Fehler, kein Rauschen und hast du ihn auch exakt um 
90.000° gedreht?
Beschleunigungen und die Erdrotation können das Ergebniss auch 
verfälschen.

: Bearbeitet durch User
von Jan K. (jan_k)


Lesenswert?

Nicht zu vergessen, dass der offset zeitvariant ist.

von Max H. (hartl192)


Lesenswert?

Jan K. schrieb:
> Nicht zu vergessen, dass der offset zeitvariant ist
und sich auch mit der Temperstur änder wenn man den Sensor beim Drehen 
anfasst

Bei der Berechnung könnte es z.B. wenn Float verwendet wir auch 
Rundungsfehler geben. Zusätzlich hat man auf dem Weg von der analogen in 
die digitale Welt auch Informationsverluste/Rundungsfehler.

: Bearbeitet durch User
von Wolfgang A. (Gast)


Lesenswert?

Sibbi schrieb:
> Habe einen Fehler gefunden. Jetzt kommen 90,01 Grad heraUS.  Warum nicht
> 90,00 wie kann das sein ?

Ich würde mir eher Sorgen machen, wenn 90,00° raus kommt.
Das ist keine Mathematik, sondern eine Messung.

von Mike A. (Gast)


Lesenswert?

Sibbi schrieb:
> Habe einen Fehler gefunden. Jetzt kommen 90,01 Grad heraUS.  Warum nicht
> 90,00 wie kann das sein ?

Wie sieht denn deine Rechnung genau aus? Ohne das Programm zu kennen, 
ist es Kaffeesatzleserei.

von Basti B. (basti195) Benutzerseite


Lesenswert?

ich habe mein MPU60X0 ähnliche erfarungen gemacht. Der Sensor Rauscht 
recht stark und du musst drauf achten, dass auch die genaue 
Abtast-Frequenz mit in die Brechung mit einbezogen wird.

jeder noch so kleine Fehler vervielfacht sich über die zeit, so dass du 
z.B. nach 1 min schon ein ganz falsches Ergebnis hast.

ich habe relativ gute Ergebnisse über die Verbindung des Gyros und der 
Acces. Sensors erlangt.

von Jojo S. (Gast)


Lesenswert?

hier wird das auch ganz nett demonstriert: 
https://www.youtube.com/watch?v=qmd6CVrlHOM
zu den MPU6050/9150/9250 gibt es eine ganze Menge weiterer YouTube 
Filmchen.
Für den Filter wird gerne ein Algorithmus von S. Magdwick genommen: 
http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/
Für den Sensor gibt es eine sehr ausführliche Lib hier: 
http://www.i2cdevlib.com/
Ist in C++ für Arduino, es gibt aber schon Portierungen für RPi und 
MSP430. Ich habe das gestern auch für einen LPC1347 mit mbed zum Laufen 
bekommen.

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
Noch kein Account? Hier anmelden.