Forum: Mikrocontroller und Digitale Elektronik MPU 6050 Winkelberechnung


von Felix E. (felix1601)


Lesenswert?

Hallo!

Bei einer Arbeit in der Schule möchte ich die axialen Winkeländernungen 
in Grad eines MPU 6050 auslesen
Nun habe ich mich schon an die MPU 6050 Bibliothek gehalten und erhalte 
Beschleunigungswerte und Gyrowerte

Wie komme ich nun aber auf Grad in Achse x und Achse y?

Wäre schön wenn mir wer behilflich sein könnte.
Sollten noch Unklarheiten sein was ich erreichen will, einfach fragen!

von Wolfgang (Gast)


Lesenswert?

Felix E. schrieb:
> Wie komme ich nun aber auf Grad in Achse x und Achse y?

Das Gyro liefert die Drehrate, also Winkeländerung pro Zeit.

Um auf die Winkel zu kommen, musst du also ein Verfahren namens 
"Integration" anwenden.

Absolute Winkel wirst du damit aber nur schlecht bestimmen können, weil 
der Nullpunkt nicht richtig stabil ist und dadurch der Wert, auch bei 
ruhendem Sensor, immer driftet.

von Test (Gast)


Lesenswert?

Felix E. schrieb:
> Nun habe ich mich schon an die MPU 6050 Bibliothek gehalten und erhalte
> Beschleunigungswerte und Gyrowerte
>
> Wie komme ich nun aber auf Grad in Achse x und Achse y?

Dafür würde ich mir fertigen IMU-Code für den MPU6050 holen. Eine IMU 
wird meistens über ein Kalmanfilter gemacht. Das ist ziemlich heftige 
Mathematik ...  hier ein Einstieg 
https://www.cbcity.de/das-kalman-filter-einfach-erklaert-teil-1

von Einer K. (Gast)


Lesenswert?

Felix E. schrieb:
> Wie komme ich nun aber auf Grad in Achse x und Achse y?
Preisfrage:
Ruhendes, oder bewegtes System?

Wenn ruhendes, dann vergiss den Gyro, den brauchst du nicht.

von Felix E. (felix1601)


Lesenswert?

Wolfgang schrieb:
> Felix E. schrieb:
>> Wie komme ich nun aber auf Grad in Achse x und Achse y?
>
> Das Gyro liefert die Drehrate, also Winkeländerung pro Zeit.
>
> Um auf die Winkel zu kommen, musst du also ein Verfahren namens
> "Integration" anwenden.
>
> Absolute Winkel wirst du damit aber nur schlecht bestimmen können, weil
> der Nullpunkt nicht richtig stabil ist und dadurch der Wert, auch bei
> ruhendem Sensor, immer driftet.

Es ist egal wenn der Wert ein wenig driftet. Es soll nur die 
Orientierung des MPU, welcher mittig in einem Modell-Spaceshutlle 
montiert ist, erfasst werden. Diese Winkel in x und y Achse sollen dann 
via MQTT an eine Hololens gesendet werden welche dann das Spaceshuttle 
in eben dieser gleichen Orientierung in einer AR Umgebung darstellt.

von Felix E. (felix1601)


Lesenswert?

Test schrieb:
> Felix E. schrieb:
>> Nun habe ich mich schon an die MPU 6050 Bibliothek gehalten und erhalte
>> Beschleunigungswerte und Gyrowerte
>>
>> Wie komme ich nun aber auf Grad in Achse x und Achse y?
>
> Dafür würde ich mir fertigen IMU-Code für den MPU6050 holen. Eine IMU
> wird meistens über ein Kalmanfilter gemacht. Das ist ziemlich heftige
> Mathematik ...  hier ein Einstieg
> https://www.cbcity.de/das-kalman-filter-einfach-erklaert-teil-1

Ich denke ein Kalman Filter wäre ein wenig zu heftig, geht das nicht mit 
einem Komplementärfilter einfacher? Wenn ja, wie funktioniert der?

von Felix E. (felix1601)


Lesenswert?

Arduino Fanboy D. schrieb:
> Felix E. schrieb:
>> Wie komme ich nun aber auf Grad in Achse x und Achse y?
> Preisfrage:
> Ruhendes, oder bewegtes System?
>
> Wenn ruhendes, dann vergiss den Gyro, den brauchst du nicht.

Das Spaceshuttle in dem der MPU montiert ist, ist wiederrum an einem 
Roboter (ABB 1600) montiert, welcher eben das Spaceshuttle in 
verschiedene Positionen rotiert, aber immer an der gleichen Stelle.

Beitrag #5747553 wurde vom Autor gelöscht.
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.