Estou usando um MPU6050 com o arduino UNO, no entanto os valores estão variando absurdamente. Preciso dos valores da aceleração para calculo de distância, porém não estou conseguindo o valor real da aceleração. Vi alguns tutorias na internet e os resultados foram muito diferente do meu. Alguém saberia como resolver esse problema?
Essas são as respostas:
AcX = -13428 | AcY = 5280 | AcZ = -8384 | Tmp = 27.12 | GyX = -998 | GyY = -310 | GyZ = -86
AcX = -13120 | AcY = 5580 | AcZ = -7488 | Tmp = 27.07 | GyX = -269 | GyY = -203 | GyZ = -2
AcX = -13212 | AcY = 5444 | AcZ = -8396 | Tmp = 27.12 | GyX = -367 | GyY = -264 | GyZ = 135
AcX = -13148 | AcY = 5520 | AcZ = -7740 | Tmp = 27.07 | GyX = -85 | GyY = -63 | GyZ = 234
AcX = -13040 | AcY = 5516 | AcZ = -7924 | Tmp = 27.17 | GyX = -262 | GyY = -186 | GyZ = -101
AcX = -13212 | AcY = 5544 | AcZ = -7812 | Tmp = 27.12 | GyX = -128 | GyY = -249 | GyZ = 120
Tags:
Boa noite KSG,
Recomendações:
1. Remova seu sketch da área de texto do seu tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada linha e facilita a ajuda.
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.
RV
Boa noite Karine.
Os dados não estão variando tanto assim. Explique melhor oque você precisa fazer.
Sds;
Esses são valores brutos, gostaria de transformar para valores mais reais.
Boa noite,
Sugestão para estudos:
https://playground.arduino.cc/Main/MPU-6050
http://labdegaragem.com/forum/topics/giroscopio-mpu-6050-leitura-de...
https://www.sunrom.com/p/gyro-accelerometer-sensor-3-axis-based-on-...
https://cdn.sparkfun.com/datasheets/Components/General%20IC/PS-MPU-...
https://cdn.sparkfun.com/datasheets/Sensors/Accelerometers/RM-MPU-6...
Obrigada José irei estudar da uma olhada nesses links.
Confuso mesmo, eu nunca entendi.
Tem que pesquisar em materiais como esse:
http://www.if.ufrj.br/~pef/producao_academica/dissertacoes/2013_Leo...
Mas até isso virar código...
Os dados vem como aceleração instantânea. Até chegar em deslocamento tem que passar por velocidade primeiro.
É certamente possível fazer, mas não sei como.
Acredito que seja uma somatória no tempo da (Aceleração*t*t) onde t é tempo entre amostras.
Como Aceleração é dada em m/s2 (metros por segundo ao quadrado) vc precisaria multiplicar por tempo ao quadrado.
Mas... já começa que a aceleração deveria dar sempre 0 se está parado. Tem a gravidade, que afeta o giroscópio...
Enfim, não sei.
Boa sorte. Vamos ver se alguem tem algo mais preciso e direto para dizer.
Consigo encontrar o valor da velocidade usando a integral da aceleração, porém não estou conseguindo um tempo de transmissão constante, mas o maior problema está sendo em converter os valores brutos do acelerômetro em valores reais (m/s²).
Obrigada!
Bom dia KG,
O acelerômetro tem vários ranges Accelerometer ranges: ±2, ±4, ±8, ±16g
Na biblioteca desse módulo, os limites (range) do MPU é definido dentro da função initialize() através das funções setFullScaleAccelRange() para o acelerômetro e setFullScaleGyroRange() para o giroscópio.
Assim, se você está fazendo o uso da biblioteca MPU6050.h, basta chamar a função setFullScaleAccelRange(x)
após a chamada de initialize(), onde x é o range de 2g (MPU6050_ACCEL_FS_2) a 16g (MPU6050_ACCEL_FS_16) do acelerômetro.
Se você está acessando o MPU sem o uso de sua biblioteca, o processo é um pouco mais complexo,
pois será preciso adaptar e simplificar algumas funções de outras bibliotecas.
Os valores valores podem ser transformado em g ; 1g = 9,806 65 m/s²
Para transformar estes valores lidos em g, use a seguinte formula:
Valor g(x, y ou z) = Valor-lido/ sensibilidade
Em exemplos sem uso de biblioteca, o valor parece que está definido como 2g ;16.384,
mas não tenho certeza
User-programmable accelerometer full-scale range of ±2g, ±4g, ±8g, and ±16g.
2g | 16,384
4g | 8,192
8g | 4,096
16g | 2,048
Um exemplo com definição 2g:
AcX = -13428 | AcY = 5280 | AcZ = -8384 | Tmp = 27.12 | GyX = -998 | GyY = -310 | GyZ = -86
x = 13428 ; 13428/16384 = 0,819580078125 m/s²
y = 5280 ; 5280/16384 = 0,322265625 m/s²
z = -8384 ; -8384/16384 = -0,51171875 m/s²
RV
Obrigada! acho que isso irá ajudar muito. Você teria algum material de pesquisa sobre isso?
Boa tarde KG,
tudo que escrevi acima, foi baseado principalmente no datasheet do mpu-6xxx.
datasheet: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Data...
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por