Acelerômetro e Giroscópio MPU6050M

    O módulo MPU6050M é um acelerômetro e giroscópio em três eixos que aqui foi conectado num Atmega via I2C.

    A medição é em 16 bits com o fundo de escala positivo de 32767 em 2G, então o primeiro resultado dos testes é a medição da gravidade 1G que é a metade 16383 conforme mostrado na foto abaixo:

     

    Os demais eixos estão praticamente zerados. Já o giroscópio tem o fundo de escala em +-250 graus / s.

    Foram realizados testes em três AVRs diferentes: o Attiny85, o Atmega8 e o Atmega328 de acordo com os desenhos mostrados abaixo:


 

 



 



 



    A programação foi feita em ASM no AVRStudio e a comunicação I2C é feita por software apesar de os Atmegas terem o TWI que também foi testado mas aconteceu que justamente na leitura dos bytes o sinal de clock parou inesperadamente... A rotina que trata o I2C pulsa o CLK diretamente sem temporizações extras com a CPU rodando em 8MHz e parece que isso excede aquela taxa de bits de 400kHz mas o circuito funcionou normalmente, enquanto que a rotina de leitura demora um milisegundo para ler os doze registradores do MPU de uma vez.

Este módulo tem um funcionamento bem simples: escreve-se zero num registrador de controle que liga o MPU, espera-se um mínimo de 7ms e pode-se começar a ler os outros registradores que contém as medições. 

O vídeo abaixo mostra a tela com os dados sendo medidos: 


 


 

 

 

 Os programas podem ser acessados no link:

Programas

Comentários

Postagens mais visitadas deste blog

Gerador Aleatório

MP3

HD com relês