Pages: [1] 2   Go Down
Author Topic: ridurre disturbi esterni su magnetometro CMPS03?  (Read 1285 times)
0 Members and 1 Guest are viewing this topic.
Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

è 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! smiley-wink
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 137
Posts: 9768
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 137
Posts: 9768
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21881
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

0
Online Online
Shannon Member
****
Karma: 132
Posts: 10502
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

0
Online Online
Shannon Member
****
Karma: 132
Posts: 10502
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 137
Posts: 9768
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Infatti la bussola degli smartphone racconta barzellette  smiley-grin
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

(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  smiley-grin
beh ma mi sembrano costanti nella lettura, a me andrebbe bene una cosa così smiley-razz
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 137
Posts: 9768
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

beh ma mi sembrano costanti nella lettura, a me andrebbe bene una cosa così smiley-razz

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.
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 5
Posts: 956
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

beh ma mi sembrano costanti nella lettura, a me andrebbe bene una cosa così smiley-razz

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...
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Pages: [1] 2   Go Up
Jump to: