Ich stoße auf ein seltsames Problem mit einem Bewegungssteuerungsprozessor (MPU 6050/9150), der rohe Gyroskopwerte wie zwischen -/+ 32768 angegeben zurückgibt, was in der Art und Weise, wie dieser Gyro konfiguriert ist, -/+ 2000 Grad / Sek. entspricht . Dies ist absolut sinnvoll, da dies mit der vorgeschriebenen Dokumentation einhergeht.
Wenn ich jedoch Daten vom digitalen Bewegungsprozessor (6-Achsen-Sensorfusion) verarbeite, erhalte ich maximal 1429. Ich glaube nicht, dass beim Lesen der Daten aus dem MPU-Puffer ein Fehler vorliegt, da die anderen Messungen gut aussehen (Lesen aus dem gleichen FIFO-Puffer). Ich nehme an, dass dies wahrscheinlich ein Problem mit Einheiten ist, das mit der 6-Achsen-Sensorfusion zu tun hat und wahrscheinlich auch das Bogenmaß betrifft
Sie fragen sich, ob einer von Ihnen klugen Leuten mit Ihrem Glühbirnen-Gehirn hier einen Einblick hat?
Es stellt sich also heraus, dass meine DMP-Paketstruktur von der Spezifikation abweicht.
Der DMP gibt ein 48-Byte-Paket zurück, und die ausgegebenen Beschleunigungsmesser- und Gyroskopwerte sind 32-Bit-Ganzzahlen. Bei unsachgemäßer Handhabung ergibt dies skalierte und falsche Daten.
/* ================================================================================================ *
| Default MotionApps v4.1 48-byte FIFO packet structure: |
| |
| [QUAT W][ ][QUAT X][ ][QUAT Y][ ][QUAT Z][ ][GYRO X][ ][GYRO Y][ ] |
| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
| |
| [GYRO Z][ ][MAG X ][MAG Y ][MAG Z ][ACC X ][ ][ACC Y ][ ][ACC Z ][ ][ ] |
| 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
* ================================================================================================ */
Marko Buršič
Kevin R.
Marko Buršič
Jakob Rakus
Kevin R.
Kevin R.