Ich habe kürzlich dieses Breakout-Board MPU6050 GY-521 gekauft . Ich habe es mit meinem Arduino Mega versucht, indem ich diese Arduino-Skizze von offizieller arduino.cc verwendet habe .
( MPU-6050 Datenblatt , InvenSence (Hersteller) 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 diesen König der Ausgabe kontinuierlich). Ich weiß es genau, nur die Temperaturanzeige ist aussagekräftig. Aber was sind diese Werte für Beschleunigungs- und Kreiselwerte?
OK, es heißt, das sind Rohwerte. Wenn ja, wie kann ich sie dann in sinnvolle Werte umwandeln? In der Hoffnung, dass es hilfreich sein kann (wie viele vorgeschlagen haben), möchte ich auch wissen, wie man die sogenannte Jeff Rowberg
Bibliothek verwendet.
Ich hoffe, es gibt jemanden, der Erfahrung mit dem MPU-6050-Modul hat. Geben Sie mir nur einen Anfangspunkt. Ich habe keine Ahnung, wie man das Modul benutzt ... :(
Jede Hilfe wird sehr geschätzt. Vielen Dank !
Die Messwerte des Beschleunigungsmessers scheinen sinnvoll zu sein. Das Datenblatt , Seite 13 gibt 4 verschiedene Empfindlichkeiten an:
2 g
4 g
8 g
16 g
mit bzw. Empfindlichkeitsskalierungsfaktoren:
16 384 counts/g
8 192 counts/g
4 096 counts/g
2 048 counts/g
Von der Z-Anzeige 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-Anzeige erwarten können, wenn Sie den Sensor mehr oder weniger horizontal halten. Die X- und Y-Ablesung sind wahrscheinlich auch auf die Schwerkraft 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 von Messwert haben, wenn Sie das Teil in Ihren Händen halten.
1g/16384
(bei Verwendung einer 2-g-Skala) zu multiplizieren, um den tatsächlichen Beschleunigungswert (für alle drei Achsen) zu erhalten? Wie geht man dann mit Kreiselwerten um?LSB
in der Einheit LSB/g
?Ein Gyroskop gibt die Werte der Winkelgeschwindigkeit (Grad/Sek.) in den drei entsprechenden Achsen (jeweils Gier-, Nick- und Rollachse) an.
Aber welcher Rohwert auch immer zuerst von diesen Sensoren geliefert wird, sollte durch Skalierung in vernünftige Beschleunigungs- oder Winkelgeschwindigkeitswerte umgewandelt werden.
Das InvenSense-Datenblatt des MPU-6050 besagt, dass wir unterschiedliche Skalierungsfaktoren für unterschiedliche Bereiche von Kreiselwerten verwenden müssen. Ich werde erklären, wie man diese Skalierungsfaktoren am Ende verwendet.
Angular Velocity Limit | Sensitivity
----------------------------------------
250º/s | 131
500º/s | 65.5
1000º/s | 32.8
2000º/s | 16.4
In ähnlicher Weise ist für den Beschleunigungsmesser (der die Beschleunigung der X-, Y- und Z-Achse einschließlich der Schwerkraft angibt) die verwendete Einheit g ( ).
Skalierungsfaktoren für Beschleunigungsmesserwerte:
Acceleration Limit | Sensitivity
----------------------------------------
2g | 16,384
4g | 8,192
8g | 4,096
16g | 2,048
Konvertieren der Rohdaten:
Zum Beispiel haben Sie in den ersten Daten
accel x,y,z: 1944, 368, 15608
gyro x,y,z : -34, -204, -247
Die Beschleunigung scheint im Limit von 2g zu liegen. Skalierungsfaktor = 16384
impliziert
Gyro scheint im Limit zu sein . Skalierungsfaktor oder Empfindlichkeit = 131
impliziert
Ich hoffe, das hilft. :)
JDD
Scott Seidmann