Caros,

Estou tentando utilizar 3 dispositivos na interface I2C, em um Wemos D1-R2 mini:

MPU6050 - acelerômetro e giroscópio

MAX30100 - frequencímetro de pulso e medidor de O2

GY906-MLX90614 - medidor de temperatura ambiente e de objeto

Mas quando conecto os 3 o GY906 fica maluco, coletando um valor fixo nas 2 temperaturas 1307 graus aproximadamente, isso pode ser devido ao resistor de pull-up? caso seja qual seria o valor ideal para esses resistores, estou utilizando alimentação de 3,3V para todos os dispositivos.

Exibições: 447

Responder esta

Respostas a este tópico

Boa tarde CMT,

Os resistores devem ser usados somente em um dos modulos, ou seja, eles são do

interface I2C.

Mas não acredito que o probema seja este.

Com o sketch I2C scanner, descubra o endereço de cada dispositivo, e verifique se não tem repetição de endereços.

RV

Já verifiquei e os endereços de cada dispositivo é diferente.

Alimentação 3,3v bastante estável e estou utilizando o pino de 3,3v do Wemos e os endereços são:

MPU6050 - 0x68

GY906 - 0x5A

MAX30100 - 0x57

Opa ! 

Um módulo pode estar sobrepondo a faixa de endereços com a faixa de endereços do outro. 

GY906 - 0x5A

MAX30100 - 0x57

Mude a faixa de algum desses módulos. É possível?

Pode ser o problema de endereço? os dois que estão em conflito começam com 0x5??

Acredito isso muito difícil, mas é o conflito que está ocorrendo, o MPU6050 com o MAX30100 funciona sem problema, o MPU6050 e o MLX90614 funcionam bem, quando ligo o MAX30100 e o MLX90614 dá pau no MLX90614.

Cada dispositivo tem seu próprio endereço então não seria um problema conectar esses 3 chips, isso não descarta um problema em software. Mas poderia ser um problema físico, se cada módulo possuir os resistores de pullup, vai deixar o barramento doido (torna difícil a mudança dos sinais) . Nesse caso é recomendável analisar cada módulo e remover os resistores. 

Os 3 módulos possuem resistores de pullup:

Gy521 - MPU6050 -> resistores de 2k2

Gy906 - MLX90614 -> resistores de 4K7

RCWL0530 - MAX30100 -> resistores de 4k7

O que devo fazer para poder melhorar os sinais pois acho que a quantidade de resistores de pullup é que está atrapalhando.

Bom dia , 

Não pode usar resistores de pullup em cada módulo. Como o Rui já te informou, use somente um par de resistores de pullup. Um na linha SCL e o outro na linha SDA.

Dessolde os resistores de dois módulos. Sugiro que mantenha os de 4,7K.

Ok, vou testar!

Pode confiar na galera aqui ! 

Só tem fera. KKKK

Tirei os 2 resistores do GY521 eu tinha visto na foto como sendo 2k2 mas na placa tinha 4k7 e tirei os 2 resistores do GY906.

Não sei porque o MPU6050 não está medindo mais nada e o termômetro continua lendo um valor doido como 1037.55, tanto pra temperatura ambiente como objeto.

Notei que cada módulo possui o seu regulador de 3v3, isso pode interferir?

Carlos envie uma foto da sua montagem .

Se cada módulo tem um regulador de 3,3V , qual a tensão de alimentação de cada um ?

Deve ter  alguma coisa errada na sua montagem.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço