20902.jpg

Fotolia

Ein elektronischer Kompass besteht vornehmlich und naheliegender Weise aus einem Magnetsensorelement. Dabei handelt es sich bei Memsic um einen 3- Achssensor. Das Sensorelement besteht aus anisotropisch magnetoresistiven Elementen (AMR), die als Wheatstonebrücke angeordnet sind (Bild 1). Da der Sensor vorrangig zur Messung des Erdmagnetfeldes, das je nach Standort zwischen 0,4 und 0,6 Gauß beträgt, gedacht war, ist er für diesen Bereich ausgelegt und optimiert. Der Umstand, dass die magnetischen Pole nicht mit den geografischen Polen übereinstimmen und um einen Winkel von 11,5 Grad versetzt sind, kann durch eine Kompensation berücksichtigt und korrigiert werden.
Bei den AMR-Sensoren handelt es sich um Widerstände, deren Wert sich mit dem Magnetfeld ändert. Zum Einsatz kommen Permalloy Filmwiderstände (permanentmagnetische Fe-Ni-Legierung). Während der Fertigung werden diese einem hohen magnetischen Feld ausgesetzt und die magnetischen Dipole in der gewünschten Richtung ausgerichtet.
Die Auslegung der Sensoren deckt den Bereich -2…+2 Gauß ab. Für den Fall, dass die Sensorelemente einem Feld von mehr als 6 Gauß ausgesetzt werden, kann es zu einer Veränderung der Grundausrichtung der Dipole kommen, was zu schlechteren Messergebnissen führen würde. Es besteht aber die Möglichkeit, mit der Set/Reset-Funktion, die einen internen Strompuls erzeugt, die Dipole wieder korrekt auszurichten (Bild 1).

Bild 1: 3-achsige Wheatstone-Brücke mit Set/Reset-Spulen.

Bild 1: 3-achsige Wheatstone-Brücke mit Set/Reset-Spulen.Acal BFi

Das kann entweder manuell als Einzelevent oder periodisch, durch den Mikrocontroller gesteuert, erfolgen. In der Praxis könnte man jedem Samplevorgang solch einen Set/Reset vorausschicken. Dadurch lassen sich Gleichtaktanteile, wie sie durch Temperatur- und sonstige Driftvorgänge entstehen, durch zwei aufeinander folgende Messungen eliminieren. Die Kommunikation mit dem Baustein erfolgt über eine Fast I2C-Bus-Schnittstelle (400 kHz). Die einzelnen Funktionsblöcke sind in Bild 2 dargestellt.

Bild 2: Blockschaltung des Magnetsensors MMC328xMS.

Bild 2: Blockschaltung des Magnetsensors MMC328xMS.Acal BFi

Ganz dem Titel folgend, deckt der Magnetsensor 3 Freiheitsgrade mit den Sensorelementen für X-, Y- und Z-Achse ab. Wie später gezeigt, benötigen wir noch zwei weitere Freiheitsgrade, wozu der folgende Beschleunigungssensor dienen wird.
Memsic DTOS Accelerometer MXC6226 stellt einen Digital Thermal Orientation Sensor dar. Im Prinzip handelt sich um einen Beschleunigungssensor mit zusätzlichen neuen Funktionen, die speziell für Orientierungsaufgaben Vorteile bringen. Das Ganze basiert auf dem patentierten, thermischen MEMS-Prinzip von Memsic. Das Wesentliche ist hierbei, dass der Sensor über keine beweglichen Teile, wie beim kapazitiven Kammprinzip, verfügt und somit mit einer Schockstabilität von 50.000 g als sehr robust bezeichnet werden kann. Außerdem wird kein Klicken erzeugt, wie es typisch für kugelbasierte, einfache Orientierungs- und Bewegungssensoren ist.
Mit dem Sensor lassen sich vier Orientierungsrichtungen erfassen, was in entsprechenden Statusbits festgehalten wird.

Bild 3: Zusammenhang  Status- bits und Lage.

Bild 3: Zusammenhang Status- bits und Lage.Acal BFi

Bild 4: Lage- (Bilddarstellung) und Bewegungserkennung.

Bild 4: Lage- (Bilddarstellung) und Bewegungserkennung.Acal BFi

Bild 3 und Bild 4 zeigen dies. Wichtig dabei, der Sensor muss nach einer Lageänderung eine vordefinierte Zeit in der neuen Lage verweilen und darf nicht zurückbewegt werden. Nur in diesem Fall werden die Statusbits geändert. Das verhindert beispielsweise eine Unruhe in einer Darstellung.
Zusätzlich zu dieser einfachen Lageerkennung lassen sich Schüttelbewegungen erkennen. Diese Ereignisse werden über einen Interruptausgang dem Controller signalisiert, der dann über einen I2C-Bus die Statusbits auslesen kann. Zusätzlich zu diesen Darstellungen können über den Bus die Beschleunigungswerte der beiden Achsen ausgelesen werden.

Bild 5: Beschaltung des Bausteins.

Bild 5: Beschaltung des Bausteins.Acal BFi

In Bild 5 ist die Beschaltung dargestellt.

Fünf Freiheitsgrade

Wie eingangs erwähnt, reicht ein Magnetsensor zur Richtungsbestimmung alleine nicht aus. Im Idealfall würden wir den Kompass exakt waagerecht halten, d.h. angenommener Weise zeigt die x-Achse nach vorne zum Ziel, die y-Achse zur Seite und die z-Achse genau senkrecht.

Fünf Freiheitsgrade für Richtung und Beschleunigung

Die Memsic Inc. darf man mit Sicherheit als einen der Pioniere im Bereich der MEMS-Sensoren bezeichnen. Auf Basis des patentierten thermischen MEMS-Prinzips wurden in der letzten Zeit die Beschleunigungssensoren optimiert und zusätzlich mit SPI-Schnittstelle versehen. Mit einem Beschleunigungssensor allein ist es oft nicht getan, es sollte auch klar sein, in welche Richtung es geht.

In diesem Fall könnten wir auf den Beschleunigungssensor verzichten. Im Normalfall darf man aber davon ausgehen, dass der Kompass nach vorne oder hinten um die y-Achse geneigt (pitch) und zusätzlich um die x-Achse (roll) verdreht ist (Bild 6)

Bild 6: Achsenlage im Raum und resultierende Kipp- und Drehwinkel.

Bild 6: Achsenlage im Raum und resultierende Kipp- und Drehwinkel.Acal BFi

Wird der Kompass nicht genau lotrecht zum Erdmagnetfeld gehalten, würden signifikante Fehler bei der Auswertung auftreten. Der korrekte Azimuth basiert auf der Projektion Xh und Yh der drei Feldkomponenten X, Y, Z.
Um dies zu erreichen, bedient man sich des Umstandes, dass ein Beschleunigungssensor in Bezug auf die Erdbeschleunigung g auch als Winkelmesser eingesetzt werden kann. Liegt der Sensor exakt horizontal, erhält man bei einem 2-Achssensor an den Ausgängen den Wert Null. Wird der Sensor gekippt oder gedreht, erhalten wir den, dem Winkel entsprechenden Projektionsanteil. Umgekehrt lassen sich die Winkel trigonometrisch ermitteln (Bild 7).

Bild 7: Trigonometrischer Ansatz zur Winkelberechnung.  Ax und Ay, Ausgänge des Beschleunigungssensors, g die Erdbeschleunigung und Inklinationsswinkel.

Bild 7: Trigonometrischer Ansatz zur Winkelberechnung. Ax und Ay, Ausgänge des Beschleunigungssensors, g die Erdbeschleunigung und Inklinationsswinkel. Acal BFi

Diese dreidimensionale Schieflage lässt sich mittels der folgenden Kompensationsmethode leicht in die horizontale Xh/Yh-Ebene projizieren. Die Xh- und Yh-Anteile lassen sich folgendermaßen berechnen:

Der Azimuth ergibt sich aus: Azimuth = arctan (Yh/Xh). Da der arctan nur im Intervall –Pi / 2 … + Pi/2 definiert ist, müssen noch die folgenden Nebenbedingungen berücksichtigt werden:

20912.jpg

Zusätzlich zu dieser Neigungskompensation ist es notwendig, noch eine weitere Kompensation durchzuführen. Genau genommen unterzieht man den Kompass einem Lernprozess, um eventuelle lokale Einflüsse zu eliminieren.

Bild 8: Darstellung des un-  beeinflussten geomagnetischen Feldes.

Bild 8: Darstellung des un- beeinflussten geomagnetischen Feldes. Acal BFi

Bild 8 zeigt, wie sich ein ideales Magnetfeld als numerical coordinate frame des Sensors (NCFS) darstellt. Wenn der Magnetsensor um 360 Grad um jede Achse gedreht wird, erhält man am Sensorausgang eine Sinuskurve. Die Vektorsumme aller drei Achsen ergibt eine perfekte Kugelsphäre.
Unter realen Bedingungen werden diese idealen Werte durch magnetische Einflüsse gestört. Die ideale sphärische Kugel wird dann zum dargestellten Ellipsoid (Bild 9).

Bild 9: Lokales Magnetfeld, hervorgerufen durch Störungen des geomagnetischen Feldes.

Bild 9: Lokales Magnetfeld, hervorgerufen durch Störungen des geomagnetischen Feldes.Acal BFi

Man erkennt leicht, dass gravierende Unterschiede zwischen dem lokalen geomagnetischen Feld und dem realen Magnetfeld zu Verfälschungen des Messergebnisses führen würden. Als Ursache hierfür kommen Eisenmetalle oder Magnetfelder anderer Quellen in Frage. Ziel eines Kompensationsansatzes muss es sein, die lokalen geomagnetischen Feldkomponenten von den lokalen Feldkomponenten zu extrahieren.

Kompensationsansatz

Grundsätzlich wird zwischen hard iron und soft iron magnetischer Interferenz unterschieden. Unter hard iron fallen Magnete oder der Einfluss durch Spulen oder Strom-führende Leitungen. Diese Felder werden zum geomagnetischen addiert und bewirken einen Offset am Ausgang des Sensors, was zu einer Nullpunktverschiebung des sphärischen Modells führt. Ein soft iron-Einfluss entsteht in Weicheisenmaterialien, die selbst unmagnetisch sind, aber durch ein externes Feld magnetisiert werden und damit ein sekundäres Magnetfeld erzeugen. Materialen hierbei sind Fe, Co und Ni. Je nach Anordnung wird ein sekundäres Feld das geomagnetische Feld vergrößern oder verringern. Im Falle einer fixen Anordnung lässt sich das erfassen.
Ist die Anordnung beweglich, ist das nicht möglich. Wird eine Kalibrierung durchgeführt, wird der Sensor um 360 Grad jeweils um die x-, y- und z-Achse gedreht, womit das bereits erwähnte Ellipsoid aufgenommen wird. Die Empfindlichkeiten und der Offset der einzelnen Achsen ergeben sich dann folgendermaßen:

Mx_Sensitivity = (Mx_max-Mx_min)/2
My_Sensitivity = (My_max-My_min)/2
Mz_Sensitivity = (Mz_max-Mz_min)/2

Mx_Offset = (Mx_max+Mx_min)/2
My_Offset = (My_max+My_min)/2
Mz_Offset = (Mz_max+Mz_min)/2

Damit sieht der Korrekturansatz dann folgendermaßen aus:

Mx_cal = (Mx- Mx_Offset) / Mx_Sensitivity
My_cal = (My- My_Offset) / My_Sensitivity
Mz_cal = (Mz- Mz_Offset) / Mz_Sensitivity

Diese Methode ist grundsätzlich für alle Magnetsensoren anwendbar und geeignet, wenn soft iron-Einflüsse und geomagnetisches Feld Achsenparallelität aufweisen. Der Vorteil dieses Algorithmus liegt in seiner Einfachheit, wodurch nur geringe Ressourcen nötig sind und eine Implementierung mit einem einfachen Kontroller möglich ist.
Nachteilig bei dieser Methode ist der Umstand, dass ein Sensor immer in seiner realen Umgebung kalibriert und somit um alle drei Achsen rotiert werden muss, wobei in der Serienfertigung, sofern die soft iron-Umgebung immer die Gleiche ist, sicherlich eine Initialkalibrierung mit einigen Prototypen ausreicht. Erwähnenswert ist, dass Memsic die Kunden bei der Implementierung auf den jeweiligen Controller unterstützt.

Anwendungsgebiete

Nahe liegend sind selbstverständlich jegliche Art von Navigation, wie ein elektronischer Kompass. Eine Darstellung einer Kompassrose im Rückspiegel eines Fahrzeuges wäre sicherlich denkbar, ist aber was den Nutzen angeht, in unseren Breitengraden eher als fragwürdig zu bezeichnen. In den Weiten der USA oder im skandinavischen Off-Road-Bereich wäre es aber sicherlich eine Überlegung wert.
Für unsere Breiten wäre eine Grundinitialisierung eines Navigationssystems eher sinnvoll. Bei einem Kaltstart kennt dieses zwar die aktuelle Position, aber nicht die Orientierungsrichtung des Benutzers. Diese ergibt sich erst, wenn sich der Benutzer in Bewegung setzt. Jeder Besitzer eines Navigationssystems in einem Fahrzeug kennt sicherlich die Anweisung „fahren Sie in die vorgesehene Richtung“; das heißt nichts anderes, als dass unsere freundliche Stimme zuerst mal nicht weiß, in welche Richtung wir stehen und erst ein paar Meter zurückgelegte Strecke benötigt, um beispielsweise zu erkennen, dass wir umdrehen müssen.
Ein weiterer Ansatz für Navigationssysteme wäre das so genannte Dead Reckoning. Man versteht darunter den Umstand, dass der Satellitenempfang beispielsweise in Tunneln oder Gebäuden abreißt. In den Anfangszeiten wurden hier schon Ansätze unternommen, dieses Problem nur auf Basis eines Beschleunigungssensors in den Griff zu bekommen. Das Prinzip ist einfach: durch zweimalige Integration der Beschleunigung erhält man den Weg und weiß immer wo man ist. Das Problem dabei wird verständlich, wenn man sich ein Fahrzeug vorstellt, das sich auf einer Kreisbahn bewegt. Die auf das Fahrzeug wirkende Zentripetalbeschleunigung ist dabei bekanntermaßen eine Funktion von Radius und Geschwindigkeit:

b = v2/r
Solange man sich mit signifikanter Geschwindigkeit bewegt, ist das darstellbar. Schwierig wird es dann, wenn die Geschwindigkeit gegen Null geht, was im normalen Fahrbetrieb sicherlich nicht ungewöhnlich ist. Dann würde dieser Ansatz scheitern. In solch einem Fall wäre ein weiterer, rein richtungsabhängiger Sensor hilfreich. Die Kombination Beschleunigungssensor und Magnetsensor stellt hier einen Ansatz dar.
Ein anderes Beispiel: Im Gebäudeschutz soll erkannt werden, wenn eine Tür unerlaubterweise geöffnet wird. Beschleunigungssensoren stellen bei näherer Betrachtung einen ungeeigneten Ansatz dar, da mit ihnen nicht zuverlässig erfasst werden kann, wenn eine Tür extrem langsam geöffnet wird. Hier wäre das Erkennen einer Richtungsänderung ein möglicher Ansatz. Da Magnetsensoren eine Auflösung von ca. 0,1 Grad ermöglichen, ist somit erkennbar, wenn eine Tür minimal geöffnet wird.
Um Einflüsse auf das lokale Magnetfeld zu kompensieren, ist folgender Ansatz denkbar: Ein Sensor ist im beweglichen Teil (Tür) angebracht, ein zweiter relativ nahe zu diesem, stationär im Türstock. Im geschlossenen Zustand erkennen beide das gleiche lokale Feld, wobei in dieser Anwendung die reale Nordrichtung nicht interessiert. Wird die Tür minimal geöffnet, wird eine Änderung zur Referenz erkannt und ausgewertet. Mittels der Referenzauswertung wird sichergestellt, dass eine Änderung des lokalen Feldes, beispielsweise durch die Annäherung von Eisenmetallen, keinen Störeinfluss darstellt. Um Entwicklern den Einstieg leichter zu machen stehen hierzu Evaluierungsumgebungen für erste Versuche zur Verfügung.