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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren