Hallo Forum,
ich möchte gern einen neuen und recht günstigen 3-Achsen Magnetsensor
einsetzten. Leider bin ich etwas über die Angaben im Datenblatt
verwundert. Ich nehme stark an, dass der Einsatzzweck das Erdmagnetfeld
sein soll, leider widerspricht sich das mit dem Offset (Zero Gauss
Level? = +-1 Gauss).
Wollte mal fragen ob jemand schon Erfahrungen mit dem LIS3MDL
(http://www.farnell.com/datasheets/1841031.pdf) als Kompassmodul hat.
Kann ich hier mit +-15° magnetisch Norden bestimmen? Muss ich den Offset
nur einmal herausrechnen?
Hab leider noch nie mit nem Magnetometer IC gearbeitet und möchte auf
Nummer sicher gehen.
Danke
Rolf
Klar, solche Sensoren sind als Kompass gedacht. Das Erdmagnetfeld
betraegt bei uns etwa 0.5 Gauss, der Messbereich von einigen Gauss macht
also Sinn. Den von dir genannten kenne ich nicht, aber ich habe vor
kurzem mit einem LSM303 herumgespielt, der prinzipiell vergleichbar sein
sollte...
Was den Offset angeht, bei meinem LSM303 ist der sehr, sehr gering,
moeglicherweise ist er schon intern abgeglichen oder mit irgendeinem
Kompensationsmechanismus versehen... Ich glaube allerdings, dass er eine
ausgepraegte Anisotropie hat (unterschiedliche Empfindlichkeit in den
drei Achsen).
Fuer grobe Messungen sollte das alles egal sein, allerdings solltest du
aufpassen, dir keine Stoerfelder durch Eisenteile oder ungeschickt
herumfliegende Hochstromleitungen einzuhandeln. Am besten wirklich alles
aus Plastik. Fuer Kompassanwendungen macht es natuerlich auch Sinn, ein
Erdmagnetfeldmodell zu verwenden oder zumindest die Richtung des
Erdmagnetfeldes in deiner Gegend zu hinterlegen. In unseren Breiten ist
die Vertikalkomponente des Erdmagnetfeldes uebrigens doppelt so stark
wie die horizontale, daher macht es auch Sinn, mit einem
Beschleunigungssensor zusaetzlich die Erdbeschleunigung auszuwerten, da
die Projektion des Feldvektors auf die x/y Ebene dir die Richtung
verfaelscht, sobald du das Teil nicht exakt horizontal haelst.
Rolf schrieb:> Kann ich hier mit +-15° magnetisch Norden bestimmen?
Klar, das ist der Zweck des Sensors. Im Prinzip musst du aus den 3
Werten den Raumvektor bestimmen, wenn du aber das Ding so einbaust, dass
1 Achse immer senkrecht steht, dann kannst du diese Achse für die
Nordrichtung weglassen und aus den beiden anderen Achsen als X und Y den
Winkel des resultierenden Vektors bestimmen. Das ist einfacher und du
brauchst keinen Beschleunigungsmesser für die Lage im Raum, so kann man
das als Kompass nehmen, wenn man den immer waagrecht in der Hand hält.
Es gibt im Netz eine Menge Unerlagen wie man damit umgeht, mit Formeln
und/oder Programm.
Tip: das Erdmagnetfeld ist bei uns schon stark gekippt und taucht mit
etwa 40 Grad in den Boden, daher ergeben sich falsche Werte wenn man den
Kompass kippt.
Tip2: eine fertigen China-Kompass gibts für weniger als 10 Euro , das
schaffst du im Selbstbau nicht. Siehe Bild.
Georg
Danke für die Info...
Hm, das mit dem Beschleunigungssensor ist interessant. Da werde ich wohl
erstmal mit einem Demo Board von Adafruit experimentieren
(http://www.adafruit.com/product/1120), bevor es auf die eigentliche
Platine kommt.
Es soll natürlich letztendlich kein reiner Kompass werden... aber ein
wenig Genauigkeit darf ruhig sein. Die Lage kann ich ein wenig
beeinflussen... aber wenn dann baue ichs gleich ordentliche...
Viele Grüße
Rolf
Rolf schrieb:> aber wenn dann baue ichs gleich ordentliche...
Hardwaremässig ok, bei der Software solltest du vielleicht erst mal 2D
rein magnetisch zum Funktionieren bringen, also den Fall eines flach
liegenden Sensors. Die Verrechnung von 3 Lage-Dimensionen vom
Beschleunigungssensor mit 3 magnetischen Werten ist etwas nichttrivial.
Ausserdem, wie ist das Ganze montiert und was zeigst du letztendlich an?
Bei einem flachliegenden Kompass ist das einfach, aber was soll er
anzeigen, wenn er 90 Grad nach links geneigt ist? Da hast du noch viel
zu lesen vor dir.
Georg
es gibt ja kombinierte Magnetfeld/Beschleunigungssensoren, genau aus dem
Grund, weil beides zusammen praktisch ist. Eine sehr einfache Loesung
waere dann, den Magnetfeldvektor auf die Ebene zu projizieren, die zum
Beschleunigungsvektor senkrecht steht, das ist einfache Geometrie und
man erhaelt die gleiche Ansicht wie beim klassischen Kompass, nur dass
die Fehleranfaelligkeit gegenueber einer Neigung des Sensors aus der
Horizontalebene wegfaellt.
Wie schon gesagt gibt es dann die "High End" Loesung, die die genaue
Form des Erdmagnetfeldes miteinbezieht, hierzu eignet sich bspw. das
"world magnetic model", die Koeffizienten und Gleichungen zur Berechnung
sind frei verfuegbar. Ohne ein solches Modell muss man (wie bei jedem
herkoemmlichen Kompass auch) mit einer "Missweisung" rechnen, die
durchaus relevant sein kann. Auch die Low end Loesung kann man machen
(nur 2 Achsen auswerten), eben mit dem Nachteil, dass man immer schoen
gerade halten muss, ansonsten verfaelscht die vertikale Feldkomponente
die Bestimmung der Nordrichtung gewaltig (auch altbekanntes Problem bei
herkoemmlichen Kompassen).
Hallo,
die Mathematik ist ja schon da und die muss ich sicher nicht neu
herleiten... evtl gibts schon Kodeschnipsel... Ich werde doch ne eigene
Platine machen, mit einem Kombinierten IC von STM:
LIS303D
Die Software hat dann Zeit... mit +- 15 Grad sind meine Ansprüche auch
nicht besonders hoch...
Letztendlich möchte ich mir einen 6ten Sinn bauen... Hab das letztens in
ner Doku gesehen. Ein paar Vibrationsmotoren und ein Lipo akku + Kompass
und man bekommt unterschwällig (wie ein Vogel) immer die Nordrichtung
mitgeteilt... Hat wohl nach 4 Wochen die Orientierungsfähigkeit eines
Probanten stark verbessert...
Werd es auch frei veröffentlichen, wer interesse daran haben sollte...
Gruß
Rolf