Olá, estou com um problema em uma aplicação em que utilizamos o acelerômetro MPU6050 em conjunto com o ATMEGA328p. 
     O nosso problema é o seguinte: quando ligamos a aplicação, após um tempo ligado, o acelerômetro trava e para de mandar novos dados. Para que nós possamos voltar a receber os dados, é necessário que reiniciemos a eletrônica, entretanto, mesmo após esse reset, o problema em que os dados param de ser enviados volta a acontecer após um certo tempo. Esse fato ocorre sem que novas condições sejam aplicadas ao sensor, ou seja, ele fica estático. É importante ressaltar que esse sensor é ligado ao microcontrolador por cabos com uma distancia aproximada de 1,5m, visto que, em uma das nossas pesquisas, vimos que a distancia entre a comunicação é algo importante na I²C.
     Além disso, esse é um sensor utilizado em conjunto com mais sensores, os quais utilizam outros protocolos de comunicação que são processados no ATMEGA328-P. Em um dos testes chegamos a concluir que o problema ocorreu quando utilizamos um sensor que se comunica por PWM, e quando desconectamos, o funcionamento do MPU6050 ocorre como esperado.
     Enfim, gostaria de que alguém pudesse me esclarecer sobre as possíveis causas desse problema e, quem sabe, alguma solução.
     
     Obs: O código usado no nosso projeto é o código base do acelerômetro.

Exibições: 423

Responder esta

Respostas a este tópico

Olá, segue uma lista de checagem:

  • A alimentação adequada é 3,3V para o MPU6050 e ATMEGA328p, e não 5V;
  • Todos os sensores e o MCU devem compartilhar mesmo GND, inclusive os separados por 1,5m;
  • Se tudo estiver OK, é o caso analisar a comunicação I2C num osciloscópio.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço