I Forum di Amici della Vela

Versione completa: Openplotter: problema sensore bussola
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Salve a tutti. Sto cercando da qualche giorno di realizzare un sistema con Openplotter da installare sulla mia barca. Per ora sono nella fase delle prove a casa. Ho un problema con il sensore bussola. Ho acquistato questo:
Sensore IMU

In realtà è arrivato a casa questo:

[Immagine: IMG_20161111_085453.jpg]url immagine

Non è esattamente quello in foto su Amazon, ma il chip è lo stesso. Comunque una volta collegato al raspberry non viene riconosciuto da openplotter, sia se lo collego da solo, sia se faccio la catena con gli altri due sensori, che vengono regolarmente riconosciuti e funzionano, come da foto successiva:

[Immagine: IMG_20161111_085603.jpg]host image

Dove sbaglio? E' possibile che sia guasto? Devo acquistarne un altro, ed in questo caso quale acquistare a colpo sicuro?
Grazie a tutti per l'aiuto che mi vorrete dare!!
Hai verificato che l'interfaccia i2c sia abilitata? Di default non lo è.

Inviato dal mio A0001 utilizzando Tapatalk
(13-11-2016 13:35)Timo Ha scritto: [ -> ]Hai verificato che l'interfaccia i2c sia abilitata? Di default non lo è.

Inviato dal mio A0001 utilizzando Tapatalk

Innanzitutto grazie per la risposta. comunque ho scritto che quando collego anche gli altri due sensori, il BMB180 e l'HTU21D, questi funzionano e riesco a leggere i dati da loro inviati, quindi presumo che il bus sia attivo, a meno che ci siano altre impostazioni per la bussola che io non ho visto.
Come vedi dalla foto del primo post, i sensori sulla destra sono riconosciuti, mentre nella sezione dedicata al sensore IMU c'è una scritta "sensor detected: none" che non mi fa ben sperare Smiley6
Un classico di queste cose (ma visto il livello a cui stai operando credo già visto) è far riscrivere al software l'elenco delle periferiche collegate, scambiarle di posto (onde arrivare allo stesso risultato), scambiarle tra di loro, .
BV
(13-11-2016 14:02)simone71 Ha scritto: [ -> ]
(13-11-2016 13:35)Timo Ha scritto: [ -> ]Hai verificato che l'interfaccia i2c sia abilitata? Di default non lo è.

Inviato dal mio A0001 utilizzando Tapatalk

Innanzitutto grazie per la risposta. comunque ho scritto che quando collego anche gli altri due sensori, il BMB180 e l'HTU21D, questi funzionano e riesco a leggere i dati da loro inviati, quindi presumo che il bus sia attivo, a meno che ci siano altre impostazioni per la bussola che io non ho visto.
Come vedi dalla foto del primo post, i sensori sulla destra sono riconosciuti, mentre nella sezione dedicata al sensore IMU c'è una scritta "sensor detected: none" che non mi fa ben sperare Smiley6

ok, leggere messaggi mentre stai facendo due bordi non è il massimo della concentrazione e si pescano fischi per fiaschi.
Io inizierei con "i2cdetect -y 1" con il solo mpu92/65.
Sefunziona dovresti ottenere nella mappa dei devices riconosciuti nel bus gli indirizzi utilizzati(questo device in realtà oltre che magnetometro a 3 assi è anche accelerometro e giroscopio).
Poi, se funziona, aggiungi anche gli altri devices e vedi se ci sono conflitti di indirizzamento.
Fai come dice Timo.
È possibile che ci sia un conflitto con l'indirizzo delle altre due periferiche.

BV

Sent from my Nexus 9 using Tapatalk
OK. Appena possibile Provo a fare come mi dite, ma comunque ho provato anche a collegare solo il sensore IMU e non lo riconosceva. Vi aggiorno appena fatta la prova
Ho fatto come avete detto e questi sono i risultati:

collegando solo il sensore IMU:

[Immagine: IMG_20161113_185548.jpg]

Collegando solo il sensore HTU21D:

[Immagine: IMG_20161113_185840.jpg]


Collegando solo il sensore BMP180:

[Immagine: IMG_20161113_190126.jpg]

Collegando tutti e tre i sensori:

[Immagine: IMG_20161113_190311.jpg]


Sembra quindi che di conflitti non ce ne siano e che il sensore venga riconosciuto. A questo punto come procedo?
OK, quindi l'imu funziona ed è riconosciuto a livello OS.

Ora puoi controllare a livello applicativo se openplotter riconosce tutti i tuoi dispositivi i2c tramite uno script nel path presente:

~/.config/openplotter/imu/

da li esegui lo script check_sensors ed otterrai un output simile :

tester21@raspb13:~/.config/openplotter/imu $ python check_sensors.py

MPU-9150
0
BMP180
none

Se nella lista hai un dispositivo del tipo MPU-92xx allora l'imu è riconosciuta e non ci dovrebbe essere motivo perchè non funzioni, riavvia openplotter e dovresti poter vedere hill e pitch sull'inspector e conseguenti sentenze nmea $OSXDR.
Se invece non è nella lista si fa più complicato, ma non impossibile, perchè la serie 92xx è espressamente indicata come compatibile ...
non riesco a postare l'immagine, ma quello che viene fuori è:

none
0
BMP180
HTU21D

quindi il sensore viene riconosciuto dall'hardware, ma non dal software, giusto?
Come si procede ora?
(13-11-2016 15:29)Fede55 Ha scritto: [ -> ]Un classico di queste cose (ma visto il livello a cui stai operando credo già visto) è far riscrivere al software l'elenco delle periferiche collegate, scambiarle di posto (onde arrivare allo stesso risultato), scambiarle tra di loro, .
BV

ho provato a scambiarli di posto in tutte le posizioni possibili, e ho anche provato a collegarli a due alla volta. Il risultato è stato sempre lo stesso: la bussola non viene riconosciuta, gli altri due sensori sì.
Aggiorno il post per chiuderlo. Ho acquistato un altra breakboard, la 9-DOF di Ardafruit e questa è stata riconosciuta immediatamente ed ora sta funzionando. Credo quindi che la MPU9250 sia difettosa. Grazie a tutti per il supporto.
Aggiorno questa discussione perchè anche a me è arrivato lo stesso sensore di Simone71 (marcato GY-511) e ottengo lo stesso risultato, quindi deduco che questo modello non è compatibile attualmente con openplotter.
URL di riferimento