Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema con sensore MPU9250

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Problema con sensore MPU9250

Messaggioda Foto Utentega2bo » 30 ago 2021, 14:35

Salve,
sto realizzando un progetto nel quale utilizzo un sensore MPU-9250/6500 (https://www.futurashop.it/accelerometro ... 06-mpu9250).
Inizialmente l'ho collegato al mio Elegoo Uno R3 e facendo una scansione dei dispositivi I2C collegati è riuscito a trovarlo all'indirizzo 0x68. Quando però ho eseguito un codice per ricevere dei dati diceva che non riusciva ad inizializzare l'IMU. Per fare queste prove ho utilizzato la libreria Bolder Flight Systems MPU9250 di Brian Taylor e i relativi esempi.
In seguito, dopo essermi documentato, ho scoperto che esistono comunicazioni I2C a 5 e a 3.3V, quindi ho provato a vedere che tipo di comunicazione usasse il mio sensore e ho scoperto che era 3.3V mentre quello dell'Elegoo era a 5V. Ho pensato di utilizzare un convertitore di livello logico bidirezionale (https://www.amazon.it/ARCELI-Convertito ... ics&sr=1-1) al quale ho collegato a V1 l'SDA mentre a V2 l'SCL, ma il problema persiste, ovvero riesce a visualizzare l'indirizzo del sensore, ma non a ricevere dati.
Altre prove che ho già fatto, ma che non hanno variato in alcun modo il risultato sono state: alimentare il sensore a 3.3V anziché 5V (anche se supportate entrambe da quanto è stato detto dal produttore) e utilizzare i pin SDA ed SCL anziché i pin A4 e A5.

Qualcuno saprebbe dirmi che altri test potrei fare??
Avatar utente
Foto Utentega2bo
10 5
New entry
New entry
 
Messaggi: 80
Iscritto il: 10 mar 2020, 0:46

0
voti

[2] Re: Problema con sensore MPU9250

Messaggioda Foto UtenteEcoTan » 31 ago 2021, 15:27

Recentemente ho avuto un problema con una IMU GY-521 simile alla tua, appunto con slave address 0x68.
Il fatto è che il bit di ricezione occupa il posto a destra (least significant) quindi lo slave address trasla a sinistra rinunziando al bit più significativo.
In pratica l'istruzione diventa così:
I2C1TRN=0b11010001; //slave address GY521 x68 con bit ricezione=1
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5421
Iscritto il: 29 gen 2014, 8:54


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti