Come si possono caratterizzare e compensare gli effetti dinamici della corrente del motore su una bussola digitale?


11

Le bussole digitali (magnetometri) richiedono una calibrazione del ferro duro / morbido per essere accurate. Ciò compensa i disturbi magnetici causati da oggetti metallici vicini: il telaio del robot.

inserisci qui la descrizione dell'immagine

(immagine da http://diydrones.com )

Tuttavia, le bussole digitali sono anche sensibili ai campi elettrici causati dalla quantità relativamente elevata di corrente assorbita dai motori.

Al fine di ottenere una lettura accurata della bussola, qual è il modo migliore per misurare (e compensare) l'interferenza causata dal cambiamento dei livelli di corrente del motore?


1
Non ho mai trovato i motori che disturbano molto le letture magnetiche. Prima farei alcune misurazioni e poi deciderò se valga la pena compensare.
Jakob,

Che tipo di robot era questo, e che dimensioni, per curiosità? E "non molto" significa meno di 0,5 gradi o meno di 3 gradi di errore?
Ian,

Robot a quattro ruote, massa di circa 15 kg, motori spazzolati 80W. IMU a circa 20 cm di distanza dai motori. L'errore nella stima dell'orientamento dovuto al funzionamento dei motori era inferiore a 1 grado. C'è stata una piccola ondulazione sui dati. Non l'ho misurato, ma penso che sia inferiore all'1%.
Jakob,

Risposte:


7

In generale, questo non è possibile. Questo perché i motori di solito ruotano molto rapidamente, creando campi magnetici che fluttuano rapidamente. Se il disturbo è sufficiente dipende dalla grandezza dei motori.

Ad esempio, perché ho montato un IMU (unità di misurazione inerziale) con magnetometri vicino ad alcuni motori, ed è stato costretto a spegnere i magnetometri per evitare che la misurazione influisse sulla stima dello stato.

In pratica, le soluzioni più probabili per risolvere il tuo problema sono:

  • allontanare la bussola / magnetometro dai motori
  • utilizzare materiale schermante (sostanzialmente materiale con elevata permeabilità magnetica). Non bloccano i campi magnetici, ma poiché forniscono un percorso di bassa resistenza magnetica, attirano il campo magnetico (linee da nord a sud) per attraversare il loro interno, in modo che l'intensità del campo magnetico sia inferiore altrove.

    La forma migliore per gli schermi magnetici è quindi un contenitore chiuso che circonda il volume schermato. L'efficacia di questo tipo di schermatura dipende dalla permeabilità del materiale, che generalmente diminuisce sia con intensità di campo magnetico molto basse sia con intensità di campo elevate in cui il materiale diventa saturo. Quindi, per ottenere bassi campi residui, gli schermi magnetici sono spesso costituiti da diversi alloggiamenti uno dentro l'altro, ognuno dei quali riduce successivamente il campo al suo interno. - Wikipedia / schermatura magnetica

    È quindi possibile avvolgere i motori in materiale schermante, come ad esempio:

    • Giron
    • MagnetShield
    • PaperShield
    • Lamina di schermatura magnetica
    • Piatti Mag-Stop
    • Metglas
    • JointShield
    • Finemet (per campi di frequenza kHz)
    • CobalTex

    Un buon sito per il confronto di questi materiali è LessEMF.com Magnetic Field Shielding


È teoricamente possibile correggere il disturbo magnetico senza schermatura. Dobbiamo essere consapevoli che ci sono due possibili fonti: un magnete permanente rotante e / o corrente nelle bobine. Se abbiamo feedback sulla posizione del rotore, possiamo correggere la posizione del magnete permanente o della bobina. Se esegui alcuni esperimenti, registrando la posizione corrente e del rotore, dovresti essere in grado di adattare un modello del campo magnetico. L'adattamento è necessario perché l'intensità di campo effettiva è molto difficile da calcolare a causa dell'aspetto del campo magnetico dipende dalle dimensioni e dalla forma del magnete e delle bobine.

In pratica, è difficile farlo - a meno che il motore non giri molto lentamente e il sensore e il modello siano abbastanza precisi. Innanzitutto, se la frequenza è elevata, può causare problemi a causa di problemi di sincronizzazione e ritardi di comunicazione. Se non è possibile sincronizzare i dati ottenuti dal feedback del motore (posizione e corrente) e quelli dei magnetometri, si aumenterà l'incertezza. Anche se la frequenza è bassa, devi avere un buon controllo dell'accuratezza di:

  • il magnetometro
  • il modello
  • gli ingressi al modello (posizione e corrente)

Se uno qualsiasi dei precedenti non è abbastanza preciso, il campo magnetico residuo (supposto essere il campo magnetico terrestre) potrebbe essere molto impreciso.

In generale, l'accuratezza può essere ridotta di:

  • frequenza
  • intensità del campo motore (poiché per il dell'equazione , se i due termini sul lato destro sono grandi, anche con una precisione dell'1%, l'assunzione della differenza potrebbe comportare grandi incertezze sul lato sinistro)residuemagneticfield=rawmeasurementmotormodel
  • risoluzioni del sensore

Mi aspetterei che l'interferenza dipendente dalla rotazione si spenga nel tempo, in modo che sia solo l'interferenza dello statore e quella del cablaggio. Non è così?
Ian

L'esatta forma di levigatura non è definita. Il campionamento, che influenza il modo in cui si attenua, dipende dall'implementazione. Ad esempio, prende più campioni e passa in media a un valore? Esiste un filtro passa-basso (per rimuovere il rumore ad alta frequenza)? Se lo volessi davvero, potrebbe essere possibile correggere in base a questo, ma diventa complicato molto velocemente. Infatti, poiché un sensore potrebbe fare ciò, il disturbo osservato potrebbe anche dipendere dalla velocità, quindi il tuo modello è ancora più complesso.
ronalchn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.