MPU6050 (G-Y521) gibt vertauschte Werte aus

DrDiettrich:
So irrsinnig hohe Gy Werte deuten immer noch auf Fehler hin. Aber wenn Du meinst, daß das so paßt...

Ganz grobe 180 Grad pro Sekunde sind doch nicht irrsinnig hoch. Also ich kann einen Sensor so schnell drehen.

Hallo,

damit das etwas Praxisnah wird rechnet ungaricus sein Accelerometer in Grad um.
Das hatte ich mit einem ADXL345 probiert und damit ein Servo gesteuert.

int xAxis, yAxis, zAxis;  // Rohwerte vom Sensor
float pitch, roll; // Winkelwerte

...
...

    //Roll & Pitch Equations
    float xxAxis = (float)xAxis*16.0/1024;  //  [g]
    float yyAxis = (float)yAxis*16.0/1024;  //  [g]
    float zzAxis = (float)zAxis*16.0/1024;  //  [g]
    roll  = (atan2(-yyAxis,zzAxis)*180.0)/3.14;
    pitch = (atan2(xxAxis,sqrt(yyAxis*yyAxis+zzAxis*zzAxis))*180.0)/3.14;

Wie die Berechnungen für einen Quadrocopter aussehen weiß ich nicht, dafür ist die Berechnung hier sicherlich zu langsam, denke ich zumindestens.

Ich halte diesen Sprung in GyX für einen Vorzeichenfehler:
AcX = 2704 | AcY = 5428 | AcZ = 13540 | Tmp = 24.86 | GyX = 8246 | GyY = -6191 | GyZ = -4119
AcX = 1216 | AcY = -972 | AcZ = 14504 | Tmp = 24.81 | GyX = -21597 | GyY = 6468 | GyZ = 224
Zudem ändert sich GyX im Ruhezustand von vorher 784 auf 1465 nachher, das ist weit mehr als bei den übrigen Gy Kanälen. Das sind immerhin 4°/s bleibende Abweichung.

Aber wie gesagt, ist ja nicht meine Drohne :wink:

Hallo,

der TO wird nicht ruhig gehalten haben. Wenn er den Sensor an einem Stück Holz festklebt o.ä. und in Ruhe lässt und dann nochmal Werte ausgibt wirste das sehen.