Ich habe kürzlich dieses Breakout Board MPU6050 GY-521 gekauft . Ich habe es mit meinem Arduino Mega versucht, indem ich diese Arduino-Skizze verwendet habe, die von der offiziellen arduino.cc bereitgestellt wurde .
( MPU-6050 Datenblatt , InvenSence (Produzent) Seite )
Mann, es gibt diese seltsame Ausgabe !!!
InvenSense MPU-6050
June 2012
WHO_AM_I : 68, error = 0
PWR_MGMT_2 : 0, error = 0
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1944, 368, 15608
temperature: 30.576 degrees Celsius
gyro x,y,z : -34, -204, -247,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1952, 364, 15304
temperature: 30.435 degrees Celsius
gyro x,y,z : -38, -216, -274,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1864, 388, 15356
temperature: 30.482 degrees Celsius
gyro x,y,z : -34, -233, -278,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1888, 324, 15260
temperature: 30.576 degrees Celsius
gyro x,y,z : -14, -220, -261,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1904, 392, 15316
temperature: 30.624 degrees Celsius
gyro x,y,z : -34, -241, -238,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1856, 308, 15604
temperature: 30.435 degrees Celsius
gyro x,y,z : -33, -252, -235,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1892, 444, 15528
temperature: 30.624 degrees Celsius
gyro x,y,z : 20, -236, -251,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1924, 356, 15520
temperature: 30.576 degrees Celsius
gyro x,y,z : -19, -224, -251,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 1844, 280, 15732
temperature: 30.529 degrees Celsius
gyro x,y,z : -1, -240, -249,
MPU-6050
Read accel, temp and gyro, error = 0
accel x,y,z: 2004, 372, 15396
temperature: 30.671 degrees Celsius
gyro x,y,z : -20, -252, -255,
(Dies ist nur ein Teil davon, es gibt diesem König der Ausgabe kontinuierlich). Ich weiß sicher, nur die Temperaturanzeige ist sinnvoll. Aber was sind diese Werte für Beschleunigung und Kreiselwerte?
OK, es heißt, das sind Rohwerte. Wenn ja, wie kann ich sie dann in aussagekräftige Werte umwandeln? In der Hoffnung, dass es hilfreich sein kann (wie viele vorgeschlagen haben), möchte ich auch wissen, wie man eine sogenannte Jeff Rowberg
Bibliothek benutzt.
Ich hoffe, es wird jemanden geben, der Erfahrung mit dem MPU-6050-Modul hat. Gib mir nur einen Punkt, um zu beginnen. Ich habe keine Ahnung, wie man das Modul benutzt ... :(
Jede Hilfe wird sehr geschätzt. Vielen Dank !
quelle
Antworten:
Die Anzeige des Beschleunigungsmessers scheint sinnvoll zu sein. Das Datenblatt , Seite 13 zeigt 4 verschiedene Empfindlichkeiten:
mit resp. Sensitivitätsskalenfaktoren:
Aus der Z-Messung gehe ich davon aus, dass Sie die 2-g-Skala ausgewählt haben, dann ist 15 608 0,95 g, was Sie von einer Z-Achsen-Messung erwarten können, wenn Sie den Sensor mehr oder weniger horizontal halten. Der X- und Y-Wert ist wahrscheinlich auch auf die Gravitation zurückzuführen, wenn Sie das Teil nicht perfekt horizontal halten. Und Sie werden auch einen Fehler beim Lesen haben.
Ähnliches gilt für den Kreisel . Bei 131 Zählungen pro Grad / s können Sie diese Art des Lesens haben, wenn Sie das Teil in Ihren Händen halten.
quelle
1g/16384
(bei Verwendung einer 2g-Skala) zu multiplizieren , um den tatsächlichen Beschleunigungswert (für alle Achsen) zu erhalten? Wie gehe ich dann mit Kreiselmessungen um?LSB
in der EinheitLSB/g
?Ein Gyroskop gibt die Werte der Winkelgeschwindigkeit (Grad / Sek.) In den drei jeweiligen Achsen (Gier-, Nick- bzw. Rollachse) an.
Der von diesen Sensoren zuerst angegebene Rohwert sollte jedoch durch Skalierung in sinnvolle Beschleunigungs- oder Winkelgeschwindigkeitswerte umgewandelt werden.
Das InvenSense-Datenblatt der MPU-6050 besagt, dass wir unterschiedliche Skalierungsfaktoren für unterschiedliche Bereiche von Kreiselwerten verwenden müssen. Ich werde am Ende erklären, wie diese Skalierungsfaktoren verwendet werden.
Skalierungsfaktoren für Beschleunigungsmesserwerte:
Konvertieren der Rohdaten:
Zum Beispiel haben Sie in den ersten Daten
Die Beschleunigung scheint im Grenzbereich von 2 g zu liegen. Skalierungsfaktor = 16384
Gyro scheint sich in der Grenze von . Skalierungsfaktor oder Empfindlichkeit = 131250ºs
impliziertgyro_value=−34131degreessec
Ich hoffe, das hilft. :) :)
quelle