Go Down

Topic: ridurre disturbi esterni su magnetometro CMPS03? (Read 1 time) previous topic - next topic

ƎR

è da ormai un anno che ho a che fare con una CMPS03: http://www.robot-italy.com/it/cmps03-robot-compass-module.html
ed ho sempre avuto problemi con i disturbi esterni che mi falsano le misure... cosa si può fare per "schermare" la bussola dai disturbi esterni? qualcuno ha qualche suggerimento?
grazie in anticipo! ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

astrobeed


cosa si può fare per "schermare" la bussola dai disturbi esterni? qualcuno ha qualche suggerimento?


Impossibile per il semplice motivo che se la schermi poi no rileva più il campo magnetico terrestre, purtroppo le bussole in interno non servono a nulla perché sono disturbate da tutto, basta una qualunque massa ferrosa, o un cavo della 220, nelle vicinanze per farle deviare di molti gradi.
Un paio di anni fa assieme ad un amico abbiamo fatto dei test proprio con la CMPS03 all'interno di una palestra, quindi teoricamente lontani da fonti di disturbo, eppure abbiamo lo stesso verificato deviazioni fino a +/- 5° spostandoci all'interno dell'ambiente.
Anche in esterno per utilizzare le bussole è necessario prendere diverse precauzioni, la prima è installarla il più lontano possibile dai motori, se ci fai caso tutti i robot outdoor di piccole/medie dimensioni hanno delle torrette installate su un supporto lungo diverse decine di cm dove viene messa la bussola, e anche il GPS se presente, per tenerla lontana dai motori.
Poi ci sarebbe da fare tutta una serie di ragionamenti relativamente al fatto che la bussola deve funzionare in bolla e su un robot per esterni, ma anche in quelli per interni, diventa un obbligo l'utilizzo di sistemi per la compensazione dell'errore dovuto all'inclinazione del magnetometro.

ƎR

si è vero anch'io la monto su una "torretta" sui miei robot, però il problema non si risolve...
Se non posso schermare la bussola posso schermare le fonti di disturbo, tipo i motori e i componenti elettronici vicini, è fattibile?
Nel caso non vedesse più il nord della terra, le misure sarebbero casuali o avrebbero comunque una continuità?
Ci sono modelli migliori della CMPS03 o il problema è uguale per tutti?
Grazie mille
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

astrobeed


si è vero anch'io la monto su una "torretta" sui miei robot, però il problema non si risolve...


Stiamo parlando di robot indoor o outdoor, nel primo caso non c'è soluzione, il problema sono le componenti magnetiche ambientali.

Quote

Nel caso non vedesse più il nord della terra, le misure sarebbero casuali o avrebbero comunque una continuità?


Non è che non vede più il Nord, è che vede qualunque componente magnetica nelle vicinanze e questo porta ad una deviazione della misura, le componenti magnetiche statiche, come i magneti dei motori, possono essere compensate tramite dei magnetini regolabili in posizione come si fa con le normali bussole ad ago sulle imbarcazioni.

ƎR

il mio robot è da indoor...
Però avevo avuto esperienze diverse con un sensore di bussola per i Lego Mindstorm (http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NMC1034), infatti avvolgendola con della carta stagnola la bussola funzionava meglio ed era più costante nelle misure... Non so se c'è qualche spiegazione, però funzionava
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

uwefed

La carta stagnola (che é aluminio) funge da gabbia farraday e elimina le interferenze elettromagnetiche e ic campi magnetici alternati prodotti da correnti AC. Per schermare campi magnetici si usa mymetal ma nel caso della bussola mettendo quel metallo alteri anche il flusso del campo magnetico terestre e hai misure false.

Ciao Uwe

ƎR

ma io non l'avevo collegata a massa, non so se poteva funzionare lo stesso... Però i valori rillevati mi sembravano più "lineari" nei cambiamenti
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

lesto

bho, magari non scaricando a terra non crevi una gabbia di faraday, ma distribuivi il distubro su tutte le componenti... però bho
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

ƎR


bho, magari non scaricando a terra non crevi una gabbia di faraday, ma distribuivi il distubro su tutte le componenti... però bho

beh se così fosse non sarebbe male :)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

ƎR

ma come fanno sugli smartphone a fare delle misure precise con tutta la roba intorno?
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

lesto

chi ti dice che sono precise? hai verificato?  :smiley-mr-green:
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

astrobeed


ma come fanno sugli smartphone a fare delle misure precise con tutta la roba intorno?


Infatti la bussola degli smartphone racconta barzellette  :D

ƎR


chi ti dice che sono precise? hai verificato?  :smiley-mr-green:

si ho provato con quelle che ho linkato prima della lego perchè per fare i robot della robocup per orientarsi nel campo da gioco, tipo questo:
http://www.youtube.com/watch?v=SaO1IAXL5Bs
(lì la bussola non è neanche tanto in alto e non ha ancora la carta stagnola. ndr con i robot derivati da quel robot nel video abbiamo vinto alla robocup jr di riva del garda ques'anno)
adesso non faccio più la robocup per l'età però l'uso che vorrei farne di questa bussola è lo stesso con la CMPS03...
comunque a me non interessa che puntino giusto, nel senso che per esempio lo 0 sia sempre a nord in qualsiasi posizione della terra in cui io accenda il robot, a me basta che se io lo accendo e per lui 330°è il nord, che continui a leggere circa 330 come il nord anche 5m più in là, e poi mi piacerebbe che se il robot si gira di 90 gradi a destra o a sinistra, comunque la bussola leggesse i 90 sia a destra che a sinistra, invece mi capità spesso che a dx per esempio mi da 110° e a sinistra 70...
per risolvere quest'ultimo problema stavo pensando di ricalibrare il modulo...


ma come fanno sugli smartphone a fare delle misure precise con tutta la roba intorno?

Infatti la bussola degli smartphone racconta barzellette  :D

beh ma mi sembrano costanti nella lettura, a me andrebbe bene una cosa così :P
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

astrobeed


beh ma mi sembrano costanti nella lettura, a me andrebbe bene una cosa così :P


Qui tocca fare una grossa distinzione dei possibili errori, prima di tutto se non calibri bene il magnetometro oltre ad errori assoluti di misura hai anche errori di non linearità, e questo mi sembra il tuo caso, inoltre se il magnetometro non si trova sempre perfettamente in bolla hai errori assoluti di misura direttamente proporzionali all'inclinazione sugli assi X e Y.
Oltre agli errori citati ci sono quelli dovuti alle condizioni magnetiche ambientali, p.e. la declinazione magnetica che oltre a dipendere dalla tua latitudine e longitudine dipende anche dalla conformazione delle linee di flusso magnetico sul globo terrestre, a seconda della zona è necessario compensare la lettura della bussola, però parliamo sempre di errori assoluti, tabellati e/o calcolabili, che vanno sommati o sottratti dalla lettura per ottenere quella reale.
La bussola CMPS03 non ha problemi di linearità nella lettura, ovviamente riferita alla sua reale precisione che attorno al singolo grado, ovvero se giri 90° in ambo i sensi devi misurare un valore compreso tra 89° e 91° di variazione.
Attenzione che se la bussola non lavora perfettamente in bolla il solo fatto di farla ruotare può introdurre errori di svariati gradi, per risolvere o si usa un supporto a gimball autostabilizzante, come nelle bussole nautiche, oppure si usa una IMU per conoscere l'assetto e compensare la misura.

ƎR



beh ma mi sembrano costanti nella lettura, a me andrebbe bene una cosa così :P


Qui tocca fare una grossa distinzione dei possibili errori, prima di tutto se non calibri bene il magnetometro oltre ad errori assoluti di misura hai anche errori di non linearità, e questo mi sembra il tuo caso, inoltre se il magnetometro non si trova sempre perfettamente in bolla hai errori assoluti di misura direttamente proporzionali all'inclinazione sugli assi X e Y.
Oltre agli errori citati ci sono quelli dovuti alle condizioni magnetiche ambientali, p.e. la declinazione magnetica che oltre a dipendere dalla tua latitudine e longitudine dipende anche dalla conformazione delle linee di flusso magnetico sul globo terrestre, a seconda della zona è necessario compensare la lettura della bussola, però parliamo sempre di errori assoluti, tabellati e/o calcolabili, che vanno sommati o sottratti dalla lettura per ottenere quella reale.
La bussola CMPS03 non ha problemi di linearità nella lettura, ovviamente riferita alla sua reale precisione che attorno al singolo grado, ovvero se giri 90° in ambo i sensi devi misurare un valore compreso tra 89° e 91° di variazione.
Attenzione che se la bussola non lavora perfettamente in bolla il solo fatto di farla ruotare può introdurre errori di svariati gradi, per risolvere o si usa un supporto a gimball autostabilizzante, come nelle bussole nautiche, oppure si usa una IMU per conoscere l'assetto e compensare la misura.


infatti pensavo di ricalibrarla, anche se ho il dubbio che sia rotta... Boh... Ricalibro e riprovo...
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Go Up