J'ai récemment acheté cette carte de dérivation MPU6050 GY-521 . Je l'ai essayé avec mon Arduino Mega en utilisant ce croquis Arduino fourni par arduino.cc officiel .
( Fiche technique MPU-6050 , page InvenSence (producteur) )
Mec, ça donne cette sortie bizarre !!!
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,
(Ce n'est qu'une partie de celui-ci, il donne ce roi de sortie en continu). Je suis sûr que seule la lecture de la température est significative. Mais quelles sont ces valeurs données pour les lectures d'accélération et de gyroscope ??
OK, ça dit que ce sont des valeurs brutes. Si c'est le cas, comment puis-je les convertir en valeurs significatives. En espérant que cela puisse être utile (comme beaucoup l'ont suggéré), j'aime aussi savoir comment utiliser la soi-disant Jeff Rowberg
bibliothèque.
J'espère qu'il y aura quelqu'un d'expérience avec le module MPU-6050. Donnez-moi un point pour commencer. Je n'ai aucune idée de comment utiliser le module ... :(
Toute aide est grandement appréciée. Merci !
la source
Réponses:
La lecture de l' accéléromètre semble avoir du sens. La fiche technique , page 13 indique 4 sensibilités différentes:
avec resp. facteurs d'échelle de sensibilité:
D'après la lecture Z, je suppose que vous avez sélectionné l'échelle 2 g, puis 15608 est 0,95 g, ce que vous pouvez attendre d'une lecture de l'axe Z lorsque vous maintenez le capteur plus ou moins horizontal. Les lectures X et Y sont probablement également dues à la gravitation lorsque vous ne tenez pas la pièce parfaitement horizontale. Et vous aurez également une erreur de lecture.
Similaire pour le gyroscope . À 131 comptes par degré / s, vous pouvez avoir ce type de lecture si vous tenez la pièce entre vos mains.
la source
1g/16384
(lorsque vous utilisez l'échelle 2g) pour obtenir la lecture réelle de l'accélération (pour tous les axes)? Alors, comment gérer les lectures gyroscopiques?LSB
dans l'unitéLSB/g
?Un gyroscope donne les valeurs de la vitesse angulaire (degrés / sec) dans les trois axes respectifs (axes de lacet, de tangage et de roulis respectivement).
Mais quelle que soit la valeur brute donnée en premier par ces capteurs, elle doit être convertie en valeurs d'accélération sensible ou de vitesse angulaire par mise à l'échelle.
La fiche technique InvenSense du MPU-6050 indique que nous devons utiliser différents facteurs d'échelle pour différentes plages de valeurs gyroscopiques. J'expliquerai finalement comment utiliser ces facteurs d'échelle.
De même, pour l'accéléromètre (qui donne l'accélération des axes x, y, z, y compris la gravité), l'unité utilisée est g ( ).9.81ms2
Facteurs d'échelle pour les valeurs de l'accéléromètre:
Conversion des données brutes:
Par exemple, dans les premières données, vous avez
L'accélération semble être dans la limite de 2g. Donc, facteur d'échelle = 16384
impliqueax=194416384g
Le gyro semble être dans la limite de . Donc, facteur d'échelle ou sensibilité = 131250ºs
impliquegyro_value=−34131degreessec
J'espère que ça t'as aidé. :)
la source