Fragen zu Magnometer Umrechnung

Gast #3319508
Lesenswert?
• ▲
▼
Hallo,

ich lese einen Magnetometer aus.
Auflösung ist 16Bit.
Measurementrange = +-1200µT

Die Werte die ich auslese sehen in etwa so aus:
X -576
Y -1012
Z -410

daraus möchte ich das heading berechnen.
Ohne Tilt kompensation sollte es so aussehen:

float heading = atan2( Y,X);
heading = heading * 180.0 / M_PI;

Wie müssen die ausgelesenen Werte umgerechnet werden, bevor diese mit 
atan2 berechnet werden können?

Gruß
#3319656
Lesenswert?
• ▲
▼
Wenn ich das aus deinen Rohwerten richtig schließe hast du die 
"Hard-Iron" noch nicht kompensiert hast und/oder keinene Offsetkorrektur 
gemacht. Das solltest du natürlich machen bevor du anfängst irgendwelche 
Winkel zu berechnen.

Am einfachsten geht es so:
1. Min und Max einer jeden Achse erfassen (Magnetsensor in alle 
Richtungen drehen bis min und max einer jeden Achse sich nicht mehr 
ändert)
2. Offset_Achse = (mag_max_achse - mag_min_achse)/2+mag_min_achse

(je nach Sensor kann es auch bereits im Chip integriert sein)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.