Boa noite garajistas. Estou com um problema no qual uso um acelerometro MPU6050, o qual utiliza I2C. Meu problema é o seguinte: preciso usa-lo com fios longos, porém, assim que o faço, o acelerometro para de funcionar. Estou utilizando o código base. Alguém teve algum problema semelhante e saberia me ajudar?

Exibições: 103

Responder esta

Respostas a este tópico

Olá,

Uma das limitações do I2C é a distancia, se usar fios longos vai ter este tipo de problema. Não funciona se os dispositivos estiverem conectados em um Bus I2C com fios longos. 

Link I2C_ORG

Abs.

CK

Olá Gabriel 

Porque o sensor não pode ficar perto do microcontrolador ?

Existem algumas alternativas para resolver o seu problema.

Você pode usar um driver para extender o I2c, é um CI dedicado P82B96.

Ou então criar um rede de sensores, ou por CAN ou RS485, isso implica em colocar um microcontrolador ao lado de cada sensor.

Boa tarde Flávio Hernan. 

Vc é familiarizado com esse driver extender do I2C, o P82B96? O que nós fizemos é exatamente isso, estamos usando-o, confeccionamos a placa com ele, porém não funcionou. Será que poderia te mostrar o projeto pra vc dar um olhada?

O sensor não pode ficar perto do microcontrolador porque usamos ao todo 3 acelerometros em diferentes partes do carro, sendo que só tem um microcontrolador pra controla-los.

Ainda não usei esse CI, aparentmente não é dificil sua utilização.

Creio que você possa colocar aqui o seu projeto, permitindo que outros garagistas opinem também.

Boa noite, 

Qual a velocidade da comunicação I2C?

Esta usando cabo blindado? 

Esta usando um P82B96 em cada ponta da I2C ? Esta usando 12V no barramento?

https://www.nxp.com/docs/en/data-sheet/P82B96.pdf

Boa tarde CEFAST.

Uma informação importante para sua aplicação é a frequencia do clock barramento I2C. Importante saber qual é o clock atual e o range de clock aceito pelo MPU6050. Nesse caso seria bom trabalhar com o clock próximo da velocidade minima, afim de minimizar os efeitos da capacitância parasita da rede. Outra maneira de contornar esse problema é reduzir o valor dos resistores pull up do barramento. Procure utilizar um osciloscópio para os testes.

Boa sorte.

Jucelei, boa noite.

Esta no datasheet do P82B96 => velocidade máxima = 400KHz.

Por isso eu perguntei para o CEFAST.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço