MPU6050 Lageberechnungsmethode 1-DMP

Es gibt viele Methoden zur Lageberechnung für die MPU6050, einschließlich Hardware-DMP-Berechnung, Software-Euler-Winkel- und Rotationsmatrixberechnung, Software-Wellenwinkelmethode und Quaternionsberechnung. In diesem Artikel wird zunächst die am einfachsten zu bedienende DMP-Methode vorgestellt.

1MPU6050 Grundfunktionen

  • 3-Achsen-Gyroskop

Das Gyroskop misst die Winkelgeschwindigkeit um die xyz-Achse, und der Winkel kann durch Integrieren der Winkelgeschwindigkeit erhalten werden.

  • 3-Achsen-Beschleunigungsmesser

Der Beschleunigungsmesser misst die Beschleunigung in xyz-Richtung. Im Ruhezustand wird die Erdbeschleunigung gemessen. Wenn das Objekt also gekippt wird, kann der Winkel grob anhand der Schwerkraftkomponente berechnet werden. Während der Bewegung wird neben der Erdbeschleunigung auch die Bewegungsbeschleunigung überlagert.

  • IIC-Kommunikation

Es setzt die Datenübertragung mit dem Einzelchip-Mikrocomputer über den IIC-Modus fort, und der Ausgang ist ein digitales Signal. Darüber hinaus gibt es eine weitere IIC-Schnittstelle, die an einen geomagnetischen Sensor angeschlossen werden kann, um eine 9-Achsen-Datenfusion zu erreichen.

Grundkenntnisse über IIC: Beginnen Sie mit den gemessenen Wellenformen von IIC, um die IIC-Kommunikation zu verstehen

MPU6050 Lageberechnungsmethode 1-DMP

Einführung in 2DMP

DMP ist die interne Motion Engine der MPU6050. Der vollständige Name lautet Digital Motion Processor und gibt direkt Quaternion aus. Dies kann die Arbeitsbelastung des peripheren Mikroprozessors verringern und mühsames Filtern und Datenfusion vermeiden. Motion Driver ist Invensense's Softwarepaket für seine Bewegungssensoren. Es ist nicht alles Open Source. Der Kernalgorithmus ist in einer statischen Verbindungsbibliothek für den ARM-Prozessor und den MSP430-Prozessor kompiliert, die für MPU6050, MPU6500, MPU9150, MPU9250 und andere Sensoren geeignet ist .

3Quaternion zum Euler-Winkel

Quaternion kann die Rotation in einem dreidimensionalen Raum bequem darstellen, aber sein Konzept ist nicht leicht zu verstehen. Sie können zunächst komplexe Zahlen analogisieren, bei denen es sich tatsächlich um Rotationen in einer zweidimensionalen Ebene handelt.

Die grundlegende Darstellung einer Quaternion lautet: q0 + q1 i + q2 j + q3 * k, dh 1 Realteil und 3 Imaginärteile. Die spezifischen Details werden in diesem Artikel nicht vorgestellt.

Obwohl das Quaternion bequem ist, um Rotation auszudrücken, ist seine Form nicht sehr intuitiv und muss in Nick-, Roll- und Gierdarstellungen umgewandelt werden, um die Beobachtung der Haltung zu erleichtern.

Die Umrechnungsformel lautet:

MPU6050 Lageberechnungsmethode 1-DMP

Das Programm wird ausgedrückt als:


pitch = asin(-2 * q1 * q3 + 2 * q0* q2)
roll  = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)
yaw   = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3)4

4 Testergebnisse

Es wurde auf STM32F407 und FreeRTOS getestet und hat folgende Auswirkungen:

Wellenform

MPU6050 Lageberechnungsmethode 1-DMP

Einstellung

MPU6050 Lageberechnungsmethode 1-DMP

Klicken Sie unten, um den Originaltext zu lesen und zur Videopräsentation zu springen.

Ich denke du magst

Origin blog.51cto.com/15060517/2641139
Empfohlen
Rangfolge