Problema bus I2C, arduino pro mini - GY 85

Salve, come da titolo ho un problema con il bus I2C.

Utilizzo un arduino mini pro 5V/16 MHz e, sul bus I2C, ho posizionato un IMU GY-85.

Ho utilizzato due resistenze di pull up da 1.8 KOhm ciascuna per tentare di eliminare gli errori, ma nulla è cambiato.

Ma senza info che possiamo dirti ?
Quali errori ? In compilazione ? In esecuzione ? Usi una libreria ? Se si, quale ?
Quale modulo IMU ? (un link servirebbe, non credo usi il chip nudo e crudo)

... i collegamenti? la lunghezza dei cavi? altre cose sul bus? schema?

Guglielmo

Scusate per la mancanza di informazioni.

Sto utilizzando multiwii e gli errori me li mostra nel programma inerente alla configurazione.

L' IMU (non sono riuscito a trovare un datasheet relativo all'IMU in se) è composta da:

Un accelerometro (ADXL345): http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL345.pdf

Un giroscopio (ITG3200): https://www.sparkfun.com/datasheets/Sensors/Gyro/PS-ITG-3200-00-01.4.pdf

Un magnetometro(HMC5883L): http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Magneto/HMC5883L-FDS.pdf

Tra questi utilizzo solo accelerometro e giroscopio.

I cavi sono dei normalissimi jumper lunghi circa 15 cm e sul bus è presente solamente l'IMU. (Sto disegnando lo schema elettrico)

I collegamenti al momento sono:
IMU Arduino
5V Vcc
Gnd Gnd
SDA A4
SCL A5

Le resistenze di pull-up sono collegate:
Una resistenza a SDA, un'altra resistenza su SCL ed entrambe, con l'altro reoforo sono collegate alla Vcc di Arduino da 5V.

Se fai girare lo scanner I2C cosa ti riporta?

Guglielmo

Non l'ho mai utilizzato, ma ecco quello che mi riporta il monitor seriale:
I2C Scanner
Scanning...
I2C device found at address 0x0D !
I2C device found at address 0x53 !
I2C device found at address 0x68 !
done

Quindi i devices vengono regolarmente visti con il loro indirizzo I2C sul bus ... e quindi NON è un problema hardware.

Il problema è evidentemente nel software ... ::slight_smile:

Prendi gli esempi che sono nelle librerie dei singoli sensori e provli uno ad uno e verifica se gli esempi di base funzionano.

Guglielmo

Per funzionare, funziona. Solo che ogni tot. , in maniera completamente casuale, le letture vengono sballate.
Forse ho sbagliato il valore delle resistenze di pull-up, per cui ogni tanto il valore sul bus risulta flottante? Perché a livello software non dovrebbero esserci problemi.

NO, le resistenze vanno bene ... il problema è altrove ... se hai usato cavetti jumper, molto probabilmente sono falsi contatti.

Guglielmo

Provo a cambiare i jumper relativi ai bus SDA e SCL.

Ho cambiato i jumper, ma ci sono ancora errori.

Posso aver sbagliato la configurazione all'interno del config.h di multiwii?

Cos'è MultiWII ?

Multiwii è un software opensource il quale ha tutta una serie di configurazioni per veivoli (elicotteri, aerei ecc...).