Wie funktioniert die Kompasskalibrierung?


8

Ich frage mich, wie die Kompasskalibrierung funktioniert / warum z. B. das Zeichnen einer 8 oder das Drehen des Telefons auf alle 3 Achsen funktioniert (oder zumindest funktionieren wird) - ich meine, ich würde den Kalibrierungsprozess verstehen, wenn eine Anwendung mir sagen würde: Zeigen Sie nach Norden, Drücken Sie dann diese Taste dort unten, aber Sie können bei null Wissen für die App beginnen, indem Sie einfach Ihr Telefon drehen! Wie geht das? Muss ich auch einen speziellen Kalibrierungsmodus aufrufen oder kann ich diese Zahlen (wie die 8) direkt in Google Maps zeichnen? Woher weiß Google Maps, dass ich das Telefon nicht nur wirklich bewege, sondern auch den Kompass kalibrieren möchte? Danke für jeden Hinweis!


Als betrogen markieren, stellen Sie bitte keine zwei separaten Fragen für dasselbe Problem. Bearbeiten Sie Ihre vorhandene Frage mit neuen Informationen. android.stackexchange.com/questions/30328/…
pzkpfw

1
Das Bewegen eines Objekts durch ein Magnetfeld kann einen elektrischen Strom induzieren, der in diesem Fall vermutlich gemessen wird. Die Abbildung 8 stellt sicher, dass sich das Telefon entlang jedes möglichen Vektors in einer 2D-Ebene bewegt, sodass es zwischen Nord und Süd unterscheiden kann. Meiner Ansicht nach. Was das Erkennen von Karten angeht, ist das einfach - zu welcher anderen Zeit machen Sie mit Ihrem Telefon eine so absurde Bewegung? Es ist ganz anders als normale Bewegungen und sollte einfach zu erkennen sein.
Matthew Read

@ bigbadonk420 Dies ist kein Duplikat, es ist eine ganz andere Frage.
Matthew Read

Antworten:


3

Die Kompasskalibrierung erfasst die Magnetfeldstärke der Erde. Aber manchmal kann der Kompasssensor aufgrund starker Interferenzen durch andere elektronische Geräte wie Transformatoren eine falsche Vorstellung von den Magnetpolen der Erde bekommen und in die falsche Richtung zeigen.

Um dies sicherzustellen, werden die Benutzer aufgefordert, den Kompass durch Drehen in Richtung 8 neu zu kalibrieren, damit die magnetische Intensität in alle Richtungen beurteilt werden kann. Aus diesen Daten werden die tatsächlichen Pole der Erde abgeleitet.


1
Dies ist eigentlich eine falsche Antwort. Die Kalibrierung kann nur die Verzerrungen aufheben, die von am Gerät angebrachten Objekten ausgehen (und sich daher während der Kalibrierung mit dem Gerät drehen). Wenn sich die Objekte in der Umgebung befinden, beobachtet das Telefon ein festes Magnetfeld und hat keine Ahnung, wie weit es vom wahren Norden entfernt ist.
Marko Topolnik

5

Der Zweck der Kalibrierung besteht darin, herauszufinden, wie Sie kompensieren können, wie die Komponenten in Ihrem Telefon (Schrauben, Lautsprechermagnete usw.) das gemessene Magnetfeld stören.

Der Kalibrierungsprozess basiert auf der Tatsache, dass Sie die internen und externen Beiträge zum Magnetfeld trennen können, indem Sie untersuchen, wie sich das Feld ändert, wenn das Telefon gedreht wird. In einer Ausrichtung wird beispielsweise das Magnetfeld des Magneten im Lautsprecher zum Erdfeld addiert. Wenn das Telefon jedoch in die entgegengesetzte Richtung ausgerichtet ist, werden die beiden Felder teilweise gelöscht.

Während Sie mit dem Telefon herumwedeln, zeichnet das Magnetometer auf, wie sich die Größe des gemessenen Felds ändert, und kalibriert damit die Magnetfeldsensoren x, y und z. Siehe geometrikal Antwort auf eine ähnliche Frage für weitere Details zu diesem Prozess. Beachten Sie, dass Sie mit dieser Kalibrierung den Einfluss anderer externer Objekte (z. B. Ihres Kühlschranks) auf das Magnetfeld nicht kompensieren können.

In Bezug auf die Implementierung in Google Maps: Ich glaube, dass Google Maps keine Kontrolle über die Kompasskalibrierung hat, da die Android-API keine solche Funktionalität enthält. Das Magnetometer kalibriert sich wahrscheinlich kontinuierlich selbst, und Google Maps fordert Sie lediglich auf, Ihr Telefon zu drehen, damit das Magnetometer die Daten erfassen kann, die für eine genaue Kalibrierung erforderlich sind.

Mit anderen Worten, Sie können Ihren Kompass jederzeit kalibrieren, wenn der Magnetfeldsensor verwendet wird, indem Sie einfach mit Ihrem Telefon winken - es gibt keinen "Kalibrierungsmodus".


Aber wie entscheidet das Android-Betriebssystem, wann es seine Kalibrierungswerte ändert, ob es auf Bewegungen reagiert oder in regelmäßigen Abständen oder beides?
Hamish_Fernsby

Android muss lediglich einen Verlauf der Messwerte beibehalten und die Hard-Iron- Korrektur weiterhin anwenden . Dies ist sogar in der Dokumentation angegeben .
Marko Topolnik

3

An jedem Punkt im Raum ist die Magnetfeldstärke und -richtung der Nettoeffekt aller Magnetfeldquellen, die diesen Punkt beeinflussen. Das Erdmagnetfeld ist eines davon. Magnetisierte Schraubendreher, Autos, Kühlschrankmagnete usw. produzieren Felder. Felder werden auch durch Strom erzeugt, der durch Drähte fließt. Es ist, als würde man Wasser aus mehreren Quellen in ein Glas gießen. Sobald es im Glas ist, kann man nicht sagen, woher es kam.

Es gibt kein Instrument, das die "tatsächlichen Pole" der Erde durch Messung des Magnetfelds an einem Punkt bestimmen kann. Das Telefon kann jedoch den Punkt erfassen, an dem die Telefonachse parallel zur N / S-Magnetkraftlinie verläuft, und bestimmen, welches Ende des Telefons nach Norden zeigt. Wenn Sie weit entfernt von Gegenständen tanzen, die möglicherweise magnetisiert sind, wie Autos und Stahlzäune, ist das Feld, das das Telefon misst, möglicherweise hauptsächlich das Erdfeld, und daher wird der Telefonkompass ordnungsgemäß kalibriert. Wenn Sie das Telefon dann in ein magnetisiertes Auto stecken, zeigt es in die falsche Richtung nach Norden. Der Stahl in jedem Auto ist auf die eine oder andere Weise magnetisiert.

Hochpräzise Kompasse wie diese werden in Flugzeugen verwendet, und ernsthafte Seeschiffe haben tatsächlich winzige Korrekturmagnete, die mit Schrauben für N / S- und E / W-Fehler einstellbar sind. Sie werden nach dem Einbau kalibriert, indem das Fahrzeug auf bekannte Überschriften gedreht wird (z. B. eine Kompassrose, die von einem Vermesser auf einem Rollweg weit entfernt von Metallgebäuden gemalt wurde) und mit den Magneten herumgespielt wird, bis der Kompassfehler minimiert ist. Dann werden die verbleibenden Fehler auf einer "Kompasskorrekturkarte" zur Korrektur der angezeigten Messwerte aufgezeichnet. Suchen Sie nach "Kompasskorrekturkarte", um die Bilder zu sehen.

Theoretisch könnte das GPS verwendet werden, um den Kompass beim Gehen oder Fahren zu kalibrieren, da die momentane GPS-Spur genau ist. Ich habe noch nichts davon gehört, obwohl es möglicherweise üblich ist. Es würde sogar in einem magnetisierten Auto funktionieren. In einem Flugzeug oder Schiff würde dies jedoch nicht funktionieren, da der Kurs des Fahrzeugs bis zu dem einen oder anderen Grad normalerweise leicht gegen den Wind gerichtet ist und das GPS keine Kenntnis davon hat.


Dies scheint nicht zu sagen, wie und warum das übliche Kalibrierungsverfahren in Android funktioniert.
Ruslan

1

Ich habe die vom Android-Telefon bereitgestellten Kompassfeldmessungen getestet und festgestellt, dass sich das Feld nicht um genau das Gegenteil ändert, wenn ich das Telefon um 180 Grad drehe. Dies muss der Fall sein, wenn die Sensoren korrekt sind. Dies kann an einem inneren Magnetismus der Telefondetails oder an einer Ungenauigkeit der Sensoranzeige liegen.

Wenn Sie dies nicht kompensieren und einfach so lesen, wie es ist, und versuchen, die Nordrichtung zu berechnen, werden Sie feststellen, dass sie falsch sind: Wenn Sie das Telefon um 90 Grad um die vertikale Achse drehen, wird das gemessene Magnetfeld nicht um gedreht der gleiche Winkel (das gilt für jeden Winkel, es ist nur einfacher, ihn mit 90 Grad zu überprüfen).

Ziel der Kalibrierung ist es daher, eine Kompensationsformel zu entwickeln, die falsche Messwerte vom Magnetsensor in realistischere Werte umwandelt, aus denen wir die richtige Peilung berechnen können. Ich vermute, dass für jede Achse eine optimale Verschiebung von Null angestrebt wird, die unabhängig von der Ausrichtung des Telefons die resultierende magnetische Vektorlänge ergibt (dies muss im Idealfall der Fall sein, ist jedoch nicht der Fall, wenn die Null auf einer Achse verschoben wird ).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.