Acelerômetro - Como usar?


#1

Estou com um pequeno problema para conseguir fazer a aquisição dos dados da forma correta, queria utilizar um sensor eletromecânico desenvolvido por mim com sensores ópticos para avaliar as variações da superfície por onde o meu robô irá passar e estudar estes dados. Consigo através de um acelerômetro adquirir os dados das variações da superfície por onde meu projeto irá se locomover através das forças avaliadas pelo acelerômetro? Faço a pergunta pois nunca utilizei o mesmo, sei como ele funciona mas na prática não sei exatamente como os dados chegam para o computador que irá processar os dados.

Desde já, Obrigado.


#2

Amigo passe mais detalhes sobre o acelerômetro que vai usar. Se for usar um sensor de baixo custo recomendo utilizar o ADXL345 que é um dos mais utilizados em inúmeros projetos nas mais diversas aplicações.
Neste link você encontra toda documentação necessária sobre ele:


#3

Obrigado @marcelim

Bem, eu estava pesquisando os acelerômetros ainda, obrigado pela indicação.
Estou lendo agora suas especificações, parece muito aceitável para o meu projeto. Só preciso entender como os dados podem chegar para o computador, ja que eu preciso pelo menos dos dados das forças que atuam sobre o sensor para eu desenvolver o modelo matemático para calcular a direção e velocidade que o projeto se move.


#4

Kleber, pelo que percebi você quer saber a posição e sentido do corpo. Seria mais comodo utilizar então uma IMU (Unidade de Medida Inercial) que já contem magnetômetros, acelerômetros e girômetros.

Com o girômetros você irá medir a velocidade angular(p,q,r) em relação aos 3 eixos do corpo (roll,pitch,yaw) no sistema corpo (Body).

O acelerômetro irá te informar as acelerações referentes aos 3 eixos RPY, também no sistema corpo.

Utilizando-se de DCMs (Direction Cosin Matrix) é possível converter os valores medidos do sistema Corpo para o sistema Terra. O fluxograma para implementar este sistema de navegação está ilustrado na figura abaixo:

Onde,
Rbt = Transformação das velocidades angulares para o sistema Terra.
Cbt = Transformação das acelerações do sistema RPY para o sistema Terra.

As integrações matemáticas podem ser feitas de forma discreta. Exemplo:
Dada uma variável XPonto, e sua condição inicial:

X = Xo + XPonto*DELTAt

onde,
DELTAt é o tempo de amostragem que seu microcontrolador irá medir os valores.

Agora esses dados medidos com a IMU utilizam o protocolo I2C para enviar as informações, podendo então ser implementado uma comunicação sem fio através de módulos XBee. Se você deu uma olhada com atenção no esquema que te mandei do acelerômetro lá fala exatamente como é feita essa comunicação.

Bom tentei condensar ao máximo as informações para não ficar um post extenso e espero ter tirado algumas dúvidas.

Abraços.


#5

Entendi sim @marcelim, muito obrigado.
Acho que realmente a melhor ideia é utilizar um IMU, os dados assim ja irão chegar de forma facilitada para os meus cálculos, pq posso implementar as transformações das leituras para os resultados em terra diretamente nas minhas equações finais.

Muito Obrigado.


#6

oi @marcelim, onde posso encontrar um material com a teoria para montar o fluxograma que você postou acima?


#7

Bom dia Marcelim, eu comprei esse acelerômetro ADXL345 e tentei faze-lo funcionar com o arduino utilizando o código que peguei no site da sparkfun, mas não funcionou direito. Os valores que aparecem não parece fazer nenhum sentido e nem sempre se repetem mesmo o acelerômetro estando na mesmo posição. Será que o acelerômetro está com problema?