Escolar Documentos
Profissional Documentos
Cultura Documentos
topic/floripa-hackerspace/VsAo6s4l3l8
Opa,
Cada valor desses deve ter 512 reduzido e o resultado dividido por 248
para obter o valor em g. Por exemplo:
(692.5450-512)/248 = 0.728g
na qual offX, offY e offZ são os offsets de cada eixo. Isso é supondo
que o erro de cada eixo se limita a um valor de offset. Se alguém
tiver uma sugestão para encontrarmos os offsets, por favor nos avise
=)
Outro problema que tem que ser muito bem tratado é o fato de termos
que integrar duas vezes para obter a posição, e integração só
amplifica ruído. E mais um problema é o número de graus de liberdade
que o sensor vai ter. Se ele tiver que se mexer em todas as direções e
puder girar em volta de qualquer eixo, teremos um problema muito maior
para resolver, e que provavelmente precisará de um IMU[3] com pelo
menos acelerômetro e giroscópio.
Ramiro
[1] http://www.sparkfun.com/datasheets/Components/General/MMA7361L.pdf
[2] http://www.lctech-inc.com/Hardware/Detail.aspx?id=053796b3-3b90-4fe5-8588-
7b5d14bc0512
[3] http://en.wikipedia.org/wiki/Inertial_measurement_unit
Como alguns de vocês já sabem, estou na fase de formulação da minha tese de mestrado. E uma das
objeto em movimento (em outra oportunidade explico melhor o que estou desenvolvendo). E é claro que,
quando surgiu essa necessidade, não tive dúvidas de que um acelerômetro seria uma solução bastante
Como não encontrei na internet muitas informações em português sobre esses dispositivos, resolvi
escrever este post para ajudar aqueles que, com um inglês não muito bom, estão tentando entender um
Durante minhas pesquisas, encontrei um Application Note da Freescale muito interessante onde eles
mostram um algoritmo bem simples para transformarmos a aceleração captada pelo acelerômetro em
velocidade e/ou espaço. E são as informações deste documento da Freescale que eu vou tentar resumir
Para começar vamos tentar definir o que é um acelerômetro. Os acelerômetros são dispositivos que
captam variações de aceleração e as transformam em um sinal elétrico analógico. Eles são baseados na
Segunda Lei de Newton que diz que uma força aplicada a uma determinada massa gera uma aceleração
diretamente proporcional à esta força (F=m.a). Então, dentro do acelerômetro existe uma massa
“conhecida”. Sabendo-se qual foi a força aplicada sobre ela, torna-se possível o cálculo da aceleração.
Não vou me prender muito nesses detalhes porque a internet está cheia desse tipo de informação.
A maneira mais fácil de compreendermos como podemos converter aceleração em velocidade e espaço é
Outra coisa que devemos lembrar é que a integral de uma função nada mais é do que a área formada
abaixo do seu gráfico e que esta área pode ser calculada dividindo-a em n retângulos cuja largura tende a
zero e em seguida somando-se a área de cada um desses retângulos, conforme ilustra a figura abaixo.
Visto isso, deduzimos que podemos então amostrar em intervalos fixos o sinal vindo do acelerômetro e
assim montar a área de cada retângulo amostrado para daí conseguirmos encontrar a velocidade a partir
No entanto ao fazermos isso é criado um erro de amostragem conforme mostrado na figura a seguir:
Se no seu sistema, precisão não for um item de extrema importância, é possível que esse erro seja
desprezível. Mas no caso do meu projeto, por exemplo, esse tipo de erro é inadmissível. Estão como
Bom, uma idéia é a seguinte: ao invés de dividirmos a área em retângulos podemos dividi-la em
A área total de cada divisão pode ser obtida pela soma da Área 1 com a Área 2 conforme mostra a
fórmula a seguir:
Com esta nova abordagem, temos agora uma aproximação muito melhor do valor da velocidade a partir
da aceleração.
Isso resolvido, nos deparamos com outro probleminha básico: como saberemos se temos uma aceleração
(aceleração positiva) ou uma desaceleração (aceleração negativa)? Esta é outra pergunta fácil de ser
respondida. Os acelerômetros trabalham com um sinal de saída que varia de 0 a V dd volts, onde
Vdd dependerá das suas especificações, ou seja, ele apresenta apenas valores positivos de saída.
Quando parados, eles fornecem um offset de saída que dependerá da sua posição. Se ele estiver
perfeitamente paralelo à superfície da terra, sua saída será de de V dd/2. Sabendo-se isso, para obtermos
os valores positivos e negativos da aceleração basta deduzirmos que para valores abaixo de V dd/2, temos
acelerações negativas e que para valores acima de V dd/2 temos acelerações positivas. Em outras
palavras, se subtrairmos o sinal vindo do acelerômetro do valor de offset (V dd/2), teremos certinho os
valores positivos e negativos da aceleração. Isso pode ser observado no esquema abaixo:
Até agora falamos apenas de encontrarmos o valor da velocidade a partir da aceleração. Vocês devem
estar se perguntando: Mas e o deslocamento? Pois é, como falei no inicio do post, o espaço nada mais é
do que a integral dupla da aceleração, ou seja, se é o deslocamento que queremos, teremos que tomar a
velocidade encontrada e integrá-la utilizando novamente a fórmula apresentada no início
(árean=amostran…).