Serie inDetail - komplexe Themen verständlich dargestellt

Gierwinkel bzw. Kompassrichtung bestimmen

Für die Ausrichtung im Verhältnis zu unserem Erdmagnetfeld (also zur Nordrichtung) kommt nun der dritter Sensor ins Spiel. Der Magnetfeldsensor. Dieser misst das Erdmagnetfeld in Tesla und zwar wieder für die x-, y- und z-Richtung.
Schauen wir uns zuerst das Grundprinzip an: Nehmen wir an der Sensor liegt flach auf dem Tisch. Dann brauchen wir den z-Anteil, der ja dann genau senkrecht nach unten zeigt nicht zu berücksichtigen. Die Ausrichtung zur Nordrichtung α ergibt sich hier mit α = arctan(magnetX / magnetY);

Kompassrichtung 2D

Soll der Kompass in jeder Lage zuverlässig die Ausrichtung anzeigen muss auch der Magnetfluss in z-Richtung betrachetet werden. Der z-Anteil ist übrigens erheblich und kann nicht vernachlässigt werden! Die Herleitung der mathematischen Formel kann man folgender Skizze entnehmen.

Heading bestimmen Herleitung 1 Heading bestimmen Herleitung 2

Der Gesamtvektor welcher in Richtung x zeigt (projiziert auf eine Ebene welche parallel zur Erdoberfläche ist) ergibt sich: xH = XRichtungX + YRichtungX + ZRichtungX

xH = mX*cos(Rollwinkel) - mY*sin(Rollwinkel)*sin(Nickwinkel) + mZ*sin(Rollwinkel)*cos(Nickwinkel);

Der Gesamtvektor welcher in Richtung y zeigt (projiziert auf eine Ebene welche parallel zur Erdoberfläche ist) ergibt sich: yH = XRichtungY + YRichtungY + ZRichtungY

yH = mZ*sin(nWRad) + mY*cos(nWRad);

Mit der oben angegebenen Formel kann man aus den beiden projizierten Richtungen die Ausrichtung (eng. Heading) berechnen.

heading = atan2(yH, xH);

Kompassrichtung bestimmen

Auf dem oberen Bild wird die Ausrichtung ausgegeben. Die Sprünge von 180° auf 0° kommen durch die Tangensfunktion und müssen im weiteren Programm entsprechen berücksichtigt bzw. abgefangen werden.