Recientemente compré esta placa de conexión MPU6050 GY-521 . Lo probé con mi Arduino Mega usando este boceto de Arduino proporcionado por arduino.cc oficial .
( Hoja de datos MPU-6050 , página de InvenSence (productor) )
¡Hombre, da esta salida extraña!
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,
(Esto es solo una parte, le da a este rey de salida continuamente). Lo sé con certeza, solo la lectura de la temperatura es significativa. Pero, ¿cuáles son esos valores dados para lecturas de aceleración y giroscopio?
OK, dice que esos son valores brutos. Si es así, ¿cómo puedo convertirlos en valores significativos? Con la esperanza de que pueda ser útil (como muchos sugirieron), también me gusta saber cómo usar la llamada Jeff Rowberg
biblioteca.
Espero que haya alguien con experiencia en el módulo MPU-6050. Sólo dame un punto para empezar. No tengo idea de cómo usar el módulo... :(
Cualquier ayuda es muy apreciada. Gracias !
La lectura del acelerómetro parece tener sentido. La hoja de datos , página 13 indica 4 sensibilidades diferentes:
2 g
4 g
8 g
16 g
con resp. factores de escala de sensibilidad:
16 384 counts/g
8 192 counts/g
4 096 counts/g
2 048 counts/g
A partir de la lectura Z, supongo que tiene seleccionada la escala de 2 g, luego 15 608 es 0,95 g, que es lo que puede esperar de una lectura del eje Z cuando sostiene el sensor más o menos horizontal. Las lecturas X e Y probablemente también se deban a la gravedad cuando no sostiene la pieza perfectamente horizontal. Y tendrás un error en la lectura también.
Similar para el giroscopio . A 131 conteos por grado/s, puede tener este tipo de lectura si sostiene la pieza en sus manos.
1g/16384
(cuando se usa una escala de 2 g) para obtener la lectura de aceleración real (para todos los ejes)? Entonces, ¿cómo lidiar con las lecturas del giroscopio?LSB
en la unidad LSB/g
?Un giroscopio da los valores de velocidad angular (grados/seg) en los tres ejes respectivos (ejes de guiñada, cabeceo y balanceo respectivamente).
Pero cualquier valor bruto dado primero por estos sensores debe convertirse en valores sensibles de aceleración o velocidad angular mediante escalado.
La hoja de datos de InvenSense de MPU-6050 dice que tenemos que usar diferentes factores de escala para diferentes rangos de valores de giroscopio. Explicaré cómo usar estos factores de escala al final.
Angular Velocity Limit | Sensitivity
----------------------------------------
250º/s | 131
500º/s | 65.5
1000º/s | 32.8
2000º/s | 16.4
De manera similar, para el acelerómetro (que da la aceleración de los ejes x, y, z, incluida la gravedad), la unidad utilizada es g ( ).
Factores de escala para los valores del acelerómetro:
Acceleration Limit | Sensitivity
----------------------------------------
2g | 16,384
4g | 8,192
8g | 4,096
16g | 2,048
Convirtiendo los datos sin procesar:
Por ejemplo, en los primeros datos, obtuviste
accel x,y,z: 1944, 368, 15608
gyro x,y,z : -34, -204, -247
La aceleración parece estar en el límite de 2g. Entonces, factor de escala = 16384
implica
Gyro parece estar en el límite de . Entonces, factor de escala o sensibilidad = 131
implica
Espero que ayude. :)
JDD
scott seidman