Recentemente, comprei esta placa de expansão MPU6050 GY-521 . Eu tentei com o meu Arduino Mega usando este esboço do Arduino fornecido pelo arduino.cc oficial .
( MPU-6050 Folha de dados , Página InvenSence (produtor) )
Cara, dá essa saída estranha !!!
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,
(Isso é apenas uma parte, dá a esse rei da produção continuamente). Eu tenho certeza, apenas a leitura da temperatura é significativa. Mas quais são os valores dados para aceleração e leituras de giroscópio?
OK, diz que esses são valores brutos. Se for assim, então como posso convertê-los em valores significativos. Esperando que possa ser útil (como muitos sugeriram), eu também gosto de saber como usar a chamada Jeff Rowberg
biblioteca.
Espero que haja alguém com experiência com o módulo MPU-6050. Apenas me dê um ponto para começar. Não tenho idéia de como usar o módulo ... :(
Qualquer ajuda é muito apreciada. Obrigado !
fonte
Respostas:
A leitura do acelerômetro parece fazer sentido. A folha de dados , página 13, indica 4 diferentes sensibilidades:
com resp. fatores de escala de sensibilidade:
A partir da leitura Z, presumo que você tenha selecionado a escala de 2 g, então 15 608 é 0,95 g, o que você pode esperar de uma leitura do eixo Z ao manter o sensor mais ou menos na horizontal. As leituras X e Y provavelmente também se devem à gravitação quando você não está segurando a peça perfeitamente na horizontal. E você também terá um erro na leitura.
Semelhante para o giroscópio . Com 131 contagens por grau / s, você pode ter esse tipo de leitura se estiver segurando a peça em suas mãos.
fonte
1g/16384
(ao usar a escala de 2g) para obter a leitura real da aceleração (para todos os eixos)? Então, como lidar com as leituras de giroscópio?LSB
na unidadeLSB/g
?Um giroscópio fornece os valores de velocidade angular (graus / s) nos três eixos respectivos (eixos de guinada, inclinação e rotação, respectivamente).
Mas qualquer valor bruto dado primeiro por esses sensores deve ser convertido em aceleração sensível ou em valores de velocidade angular por escala.
A Folha de Dados InvenSense da MPU-6050 diz que precisamos usar diferentes fatores de escala para diferentes faixas de valores de giroscópio. Vou explicar como usar esses fatores de escala no final.
Fatores de escala para valores do acelerômetro:
Convertendo os dados brutos:
Por exemplo, nos primeiros dados, você obteve
A aceleração parece estar no limite de 2g. Então, fator de escala = 16384
Espero que ajude. :)
fonte