Von ST gibt es einen feinen Chip mit Kompass und Lagesensor mit drei Achsen.
Damit kann man eigentlich ie Lage des Kompasses kompensieren, wie in
formatting link
beschrieben.
Auf Seite 21 wird aber darauf hingewiesen, daß die Genauigkeit bei Kippwinkeln über 45° stark nachläßt.
Ließe sich das nicht verbessern?
Ich habe die Präzision von Google Sky Map noch nicht getestet, aber das ist nicht die einzige Anwendung, bei der das Smartphone in beliebiger Lage die richtige Richtung anzeigt. Das tun auch viele Kompass-Apps.
Auf jeden Fall, indem du drei von den Dingern verwendest, je einen pro Raumachse. Dann ist immer mindestens einer im brauchbaren Bereich und i.d.R. kannst du zwei besten zur gegenseitigen Kontrolle benutzen.
Wie das allerdings gehen soll, ist mir unklar. Schließlich ist das Display nur zweidimensional...
Das Ding hat erstmal einen 3d-Kompass und einen 3d Beschleunigungssensor, also ist ein 6 Achsen-System. Die Genauigkeit läßt sich schon verbessern, wenn du annehmen kannst, dass sich das ganze Ding während der Messung nicht bewegt und auch keine störende magnetische Felder vorhanden sind.
Wie ich schon schrieb: Je einen pro Raumachse. Gemeint ist natürlich, daß jeweils die "Vorzugsebene", in der das Teil brauchbare Ergebnisse bezüglich des Richtungsvektors liefert, entlang einer der drei Raumachsen ausgerichtet ist. Offensichtlich handelt es sich nämlich nicht wirklich um "dreiachsige" Sensoren. Jedenfalls nicht bezüglich des Richtungsvektors.
Nein, natürlich nicht unter allen Umstanden. Spätestens wenn der Erdmittelpunkt sich auf der Ebene befindet, die die Displayfläche aufspannt, wird es einigermaßen schwierig. Dann muß nämlich der Zielpunkt ebenfalls auf dieser Ebene liegen, damit das Display überhaupt eine Richtung anzeigen kann...
Sphärische Geometrie, abstrakte mathematische Betrachtungen überhaupt scheinen nicht deine Stärke zu sein. Ganz schlecht. Programmierer sollten sich jederzeit über möglichen Extremfälle im Klaren sein. Und sei es nur, um die damit unweigerlich einhergehenden Ausnahmesituationen in der Numerik korrekt behandeln zu können...
Laut Datenblatt sind die Werte für den Lagesensor in allen Achsen identisch. Beim Magnetfeldsensor zumindest in X- und Y-Richtung. Ich sehe da keine "Vorzugsebene".
Das Datenblatt sagt etwas anderes.
Was sollte das Telefon daran hindern, 89° anzuzeigen?
Schlechten Shit geraucht? Dafür kann ich Datenblätter[0] lesen und weiß, was Google Sky View[1] ist ;-)
Oder auch nur frech, denn deine ursprüngliche Fragestellung dreht sich doch eben um das Problem, daß es eine Vorzugsrichtung für den Magnetfeldsensor gibt und du daran was geändert haben möchtest. Mein Vorschlag würde die Situation erheblich verbessern, allerdings auch immer noch keine vollständige Lageunabhängigkeit bringen.
Keine Ahnung, was das Telefon daran hindern sollte, diesen Wert anzuzeigen. Das ist aber nicht das Thema. Das Thema ist: Der Wert wäre unter den gegebenen Voraussetzungen schlicht und ergreifend FALSCH.
Lesen vielleicht. Aber offensichtlich nicht verstehend.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.