BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   Arduino e sensori accelerometri (https://www.baronerosso.it/forum/circuiti-elettronici/377835-arduino-e-sensori-accelerometri.html)

Minestrone 30 ottobre 18 11:24

Arduino e sensori accelerometri
 
Premesso che sono molto, ma molto, nubbio in elettronica, vorrei realizzare un circuito con degli accelerometri. Ho trovato in rete un progettino liberamente scaricabile e molto simile al mio che utilizza due Adafruit MMA8451 facendo largo uso di librerie preconfezionate. Gli MMA8451 però li ho trovati abbastanza costosi.
Siccome ho trovato sensori GY 520 con MPU-6050 molto più economici, vorrei chiedervi che differenze ci sono tra gli uni e gli altri e se l'utilizzo, dal punto di vista del codice, cambia molto oppure no.

Grazie tante a tutti.

gawain 30 ottobre 18 11:52

Citazione:

Originalmente inviato da Minestrone (Messaggio 5120808)
Premesso che sono molto, ma molto, nubbio in elettronica, vorrei realizzare un circuito con degli accelerometri. Ho trovato in rete un progettino liberamente scaricabile e molto simile al mio che utilizza due Adafruit MMA8451 facendo largo uso di librerie preconfezionate. Gli MMA8451 però li ho trovati abbastanza costosi.
Siccome ho trovato sensori GY 520 con MPU-6050 molto più economici, vorrei chiedervi che differenze ci sono tra gli uni e gli altri e se l'utilizzo, dal punto di vista del codice, cambia molto oppure no.

Grazie tante a tutti.

devi usare le librerie per mpu6050

Minestrone 30 ottobre 18 13:53

Citazione:

Originalmente inviato da gawain (Messaggio 5120817)
devi usare le librerie per mpu6050

Trovate, grazie. Però immagino che dovrò creare una funzione di filtro per filtrare i valori in ingresso vero?

ps.
sono queste?
https://github.com/jarzebski/Arduino-MPU6050

gawain 30 ottobre 18 16:03

Citazione:

Originalmente inviato da Minestrone (Messaggio 5120845)
Trovate, grazie. Però immagino che dovrò creare una funzione di filtro per filtrare i valori in ingresso vero?

ps.
sono queste?
https://github.com/jarzebski/Arduino-MPU6050

ce ne sono tante, probabilmente vanno bene anche queste. per i filtri ci sono gia dentro mpu6050 da parametrizzare credo che la banda passante piu bassa sia 5hz.
comunque se devi fare un inclinometro di alta performance ti conviene fare la sensor fusion tra accelerometri e gyro. oppure piu semplice puoi sfruttare il sw interno di mpu6050 che fa gia la sensor fusion... certo ti togli il gusto di capirci qualcosa...

importante procurarsi la mappa dei registri... la trovi facilmente su internet digitando su google register map mu6050 pdf

Minestrone 30 ottobre 18 16:19

Citazione:

Originalmente inviato da gawain (Messaggio 5120870)
ce ne sono tante, probabilmente vanno bene anche queste. per i filtri ci sono gia dentro mpu6050 da parametrizzare credo che la banda passante piu bassa sia 5hz.
comunque se devi fare un inclinometro di alta performance ti conviene fare la sensor fusion tra accelerometri e gyro. oppure piu semplice puoi sfruttare il sw interno di mpu6050 che fa gia la sensor fusion... certo ti togli il gusto di capirci qualcosa...

importante procurarsi la mappa dei registri... la trovi facilmente su internet digitando su google register map mu6050 pdf

Ecco lo sapevo. Sono passato da un progetto quasi pronto da modificare nelle sue parti più banali ad un progetto da rifare quasi in toto. Vabbè, così sia.
A questo punto metterò in pausa perché questo mese non ho molto tempo ma tra un paio di settimane lo farò....
Intanto comincio a studiare perché non ne so nulla.
Se avessi qualche link da cui partire te ne sarei grato. Intanto grazie delle info.

Inviato dal mio Mi A1 utilizzando Tapatalk

gawain 03 novembre 18 06:51

Citazione:

Originalmente inviato da Minestrone (Messaggio 5120873)
Ecco lo sapevo. Sono passato da un progetto quasi pronto da modificare nelle sue parti più banali ad un progetto da rifare quasi in toto. Vabbè, così sia.
A questo punto metterò in pausa perché questo mese non ho molto tempo ma tra un paio di settimane lo farò....
Intanto comincio a studiare perché non ne so nulla.
Se avessi qualche link da cui partire te ne sarei grato. Intanto grazie delle info.

Inviato dal mio Mi A1 utilizzando Tapatalk

https://github.com/musse/tricot-malin/wiki/IMU
da questo link raggiungi una grande quantità di altri link... c'è di tutto e di più ..

Minestrone 03 novembre 18 06:58

Grazie molte

Inviato dal mio Mi A1 utilizzando Tapatalk

Minestrone 13 novembre 18 09:08

una piccola imbeccata
 
Ormai è quasi una settimana che smanetto con i sensori e l'arduino. Ho letto molto in merito ed ho trovato una infinità di librerie. Purtroppo sono al punto in cui mi sono sturato di informazioni e ho confusione.

La lettura dei dati raw e la loro elaborazione non è un problema (ci sono riuscito senza librerie) però mi sembra che i valori siano molto sporchi e molto variabili. Quello che voglio realizzare è un incidenziometro e, calcolando l'angolo rispetto alla verticale sfruttando solo gli accelerometri, trovo che il dato mi varia di parecchi decimi di grado.
So che i dati provenienti dagli accelerometri sono rumorosi di natura e pertanto ho capito che devo filtrare i dati e combinarli con l'angolo ottenuto integrando i valori dei giroscopi. Qui mi sto trovando in difficoltà.

Qualcuno sa darmi un'imbeccata su come applicare un filtro Kalman o, ancora meglio, complementare e come combinare i dati dei giroscopi con quelli degli accelerometri per ottenere dei dati che mi permettano di arrivare a capire l'angolo rispetto alla verticale?

Ho capito che questi calcoli li potrebbe fare il DMP integrato nella scheda ma non ho trovato alcuna informazione su come usarlo.

gawain 14 novembre 18 13:41

Citazione:

Originalmente inviato da Minestrone (Messaggio 5122519)
Ormai è quasi una settimana che smanetto con i sensori e l'arduino. Ho letto molto in merito ed ho trovato una infinità di librerie. Purtroppo sono al punto in cui mi sono sturato di informazioni e ho confusione.

La lettura dei dati raw e la loro elaborazione non è un problema (ci sono riuscito senza librerie) però mi sembra che i valori siano molto sporchi e molto variabili. Quello che voglio realizzare è un incidenziometro e, calcolando l'angolo rispetto alla verticale sfruttando solo gli accelerometri, trovo che il dato mi varia di parecchi decimi di grado.
So che i dati provenienti dagli accelerometri sono rumorosi di natura e pertanto ho capito che devo filtrare i dati e combinarli con l'angolo ottenuto integrando i valori dei giroscopi. Qui mi sto trovando in difficoltà.

Qualcuno sa darmi un'imbeccata su come applicare un filtro Kalman o, ancora meglio, complementare e come combinare i dati dei giroscopi con quelli degli accelerometri per ottenere dei dati che mi permettano di arrivare a capire l'angolo rispetto alla verticale?

Ho capito che questi calcoli li potrebbe fare il DMP integrato nella scheda ma non ho trovato alcuna informazione su come usarlo.



qui trovi comi utilizzare dmp
https://maker.pro/arduino/tutorial/h...pu-6050-sensor

ElNonino 15 novembre 18 13:18

Non conosco direttamente la MPU in oggetto però per lavoro ho utilizzato accelerometri per leggere un'inclinazione sul piano, alcuni analogici altri con uscita digitale e DSP interni.

Per misurare un'inclinazione in regime statico come è la lettura dell'incidenza di ali, piani di coda o pale di elicottero basta un accelerometro, il giroscopio è inutile, il problema degli accelerometri analogici è che l'uscita non era lineare rispetto all'angolo d'inclinazione ma bensì ha un andamento sinusoidale che va compensato tramite algoritmi di fusione dei dati di almeno due assi e poi ulteriormente linearizzato con una tabella appositamente creata.

Uso un solo accelerometro analogico da oltre 10 anni per leggere l'inclinazione verticale dei pannelli FV installati in baita sul mio sistema di inseguimento solare senza alcun problema, utilizzo solo gli assi X ed Y in quanto l'asse Z è sempre parallelo al suolo e la velocità di rotazione è estremamente bassa quindi non ho necessità di effettuare ulteriori compensazioni.

Indipendentemente dal tipo di sensore usato è comunque necessario filtrare molto bene il segnale, sia attraverso reti RC passa basso + algoritmi digitali nel caso di analogico che filtri digitali + DSP in quelli puramente digitali, mi ricordo di aver disquisito di ciò sul Barone in un'altra discussione (forse in elicotteri o multirotori)

Comunque una soluzione semplicissima (ma non di soddisfazione) per realizzare un incidenziometro è quella di acquistare un inclinometro digitale e fissarlo su opportuni supporti, cosa che ho fatto io per le pale dei miei elicootteri RC.

Se servono info a disposizione.

:yeah:


Tutti gli orari sono GMT +2. Adesso sono le 09:51.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002