Go Down

Topic: Dubbi su utilizzo sensori (Accelerometro + Magnetometro + Bussola) (Read 2440 times) previous topic - next topic

0v3rl04d

Ciao a tutti,

cercando in rete non sono riuscito a trovare una soluzione al mio problema e per questo provo a chiedere a voi.

Ho necessità, per un mio progetto, di ruotare ed inclinare una parabola.

Da quello che ho capito, per ruotare la parabola nella giusta direzione mi serve un magnetometro. Invece per inclinarla non ho capito se devo usare un accelerometro o un giroscopio.

Grazie a tutti.

uwefed


0v3rl04d


direzione: bussola
inclinazione: accelerometro.
Ciao Uwe



Direi che la tua risposta è stata concisa e soddisfacente XD

Posso chiederti allora cosa misura e come si utilizza un giroscopio? (non mi piace rimanere con dubbi :-) )

uwefed

Un giroscopio misura la rotazione. Percui se deve misurare una cosa statica come l' antenna la sua incertezza e errore di misura col tempo si accumula e la misura sbaglia tanto. Un accelerometro misura in 3 assi l'accelerazione terestre g e percui é buono a misurare una posizione statica. e un angolo di elevazione.
Un acelerometro non puó misurare una curva sul piano se l' asse di rotazione passa in cantro al accelerometro mentre l' accelerazione puó essere misurata se la rotazione avviene non in asse dell' accelerometro. Ma in questo caso l' acelerazione dipende anche dal raggio.

Ciao Uwe 


MM81

I tre angoli di rotazione (beccheggio, rollio ed imbardata, in inglese: pitch, roll, yaw) possono essere evinti sia dal solo giroscopio (misura la velocità di rotazione), che dal solo accelerometro (rapportando i valori di g su ogni asse si risale all'istantaneo angolo di inclinazione), oppure da entrambi contemporaneamente.

Quest'ultima ipotesi è la più complicata da implementare (si tratta di un filtro di Kalman) ma certamente la più affidabile, siccome rimuove i rumori e gli "spikes" associati ai valori restituiti da uno solo dei due sensori in causa (o acceler o giroscopio). Dipende da cosa vuoi fare e da quale utilizzo vorrai fare delle letture del sensore. Se ti serve una stima grezza dell'angolo, va bene anche appoggiarsi ad uno solo dei sensori. Se invece ti servono misure di "alta precisione" (non dimenticarti mai che si tratta però di un sensore da poche decine di euro!) , senza picchi, o punte, o rumore di fondo, allora devi implementare in filtro di kalman.

Da notare che il giroscopio presenta un forte fenomeno di deriva, cioè si sposta nel tempo, senza che l'oggetto misurato si stia effettivamente spostando (drifting) ma è molto reattivo; mentre l'accelerometro non presenta deriva, e quindi converge al valore "vero",ma ha lo svantaggio di essere poco reattivo. Il filtro di Kalman serve anche per ovviare a questi inconvenienti, prendendo solo i vantaggi da entrambi, ed eclissando gli svantaggi. I filtri di kalman sono dappertutto al giorno d'oggi, anche nei nostri navigatori GPS commerciali o nei ns telefonini.

Ci sono già molte librerie, pre-confezionate e pronte all'uso, che ti permettono di usare filtri di kalman su arduino. Anche gli esempi sono molti, e con ottimi risultati! Se cerchi su youtube, Arduino, kalman filter accelerometer IMU, si vede la differenza tra lettura greza e con filtro. Di solito gli amatori lo fanno per sistemi di controllo di assetto di aerei raiocomandati, per mantenerli in volo livellato. Le punte, o i rumori di fondo, farebbero impazzire i servomeccanismi, che friggerebbero tentando di compensare in pochissimo tempo sbalzi altissimi (da cu il nome di punte, o spikes in angolsassone).

In teoria, se conosci l'angolo iniziale di partenza, se per esempio orienti la parabola verso quello che sai essere NORD (magnetico!), magari  misurato con uno strumento molto preciso (o appunto partendo da una posizione nota), puoi misurare lo spostamento a partire da quella posizione iniziale nota di riferimento, anche senza bussola magentica, appoggiandoti, cioè, sui sensori che misurano la rotazione (o il loro rateo nel tempo): i giroscopi, a partire da quella posizione nota di cui sopra. Oppure puoi utilizzare i volari già "Kalman filtrati" unendoli al dato ridondante (bussola magnetica). Il che ti darebbe misure di alta precisione.

Il fatto che esista un dato ridondante (bussola magnetica) ti permetterebbe una misura ancor più precisa. Di solito, l'accuratezza è proporzionale al grado di ridondanza (perchp riesci a ridurre, i alcuni casi anche di molto, l'errore associato alla misura fatta).


Non so quando sensibile sia una parabola, se ha bisogno dell'esatto valore angolare, preciso al centesimo di grado, per agganciare il segnale da satellite, oppure se è più tollerante e accetta ventagli molto più larghi. Sapendo la tua posizione (lat, lon, la data e l'ora), arduino può calcolare il valore angolare da impostare, impartire l'ordine a dei servomeccanismi che fanno puntare la parabola diretta verso il satellite e agganciarlo...

Non so. Dovresti darci altri dettagli.

ciao
Marco



Go Up