Probleme mit HMC5883 Magnetometer

Hallo Zusammen!

Ich verzweifle an diesem Magentometer.

Ich habe zuerst ein standard example genutzt um das Teil zum Leben zu erwecken. Nachdem ich auch raus gefunden hatte wie ein Heading zu berechnen ist über den atan, habe ich einmal das ganze auf einem Tisch ausprobiert mit einem rechtwinkligen Kreuz. Zuerst das Kreuz mit dem HMC5883 auf Norden ausgerichtet und dann um 90° gedreht. Aber was nun? Es sind nur 75°! Beim Drehen um 180° bin ich irgendwo bei 200 und so weiter…

Ich habe bisher verschiedene gefundene Bibliotheken benutzt und auch Kalibrirungstools. Ich komme zu keinem vernünftigen Ergebnis.

Bisher habe ich den Ausdruck der z Achse immer ignoriert. Gestern habe ich festgestellt, dass diese nur 0 anzeigt!? Ich hatte ja 2 Mangetometer gekauft: Das zweite zeigt das gleiche Bild!! :o :o :o

Ich lese so aus:

Wire.requestFrom(address, 6);
	  if(6<=Wire.available()){
		  x = Wire.read()<<8; //X msb
		  x |= Wire.read(); //X lsb
		  z = Wire.read()<<8; //Z msb
		  z |= Wire.read(); //Z lsb
		  y = Wire.read()<<8; //Y msb
		  y |= Wire.read(); //Y lsb
	  }

Jetzt meine Frage(n):

Kann es sein, dass meine Module defekt sind? Ich habe sie für einen Spotpreis bei Ebay von einem chin. Händler bezogen, der aus D liefert.
Woran könnte es sonst liegen, dass ich kein vernünftiges Heading bekomme (±2° laut Spezifikation)?

Gibt es vielleicht ein besseres Mangetometer zu empfehlen, das auch im gleichen Preisrahmen ist? (Nein, ich meine nicht den Ebay-Preis sondern von einschlägigen D Quellen).

Ich hoffe Ihr könnt mir helfen!

Gruß

Andreas

Greccofly: Kann es sein, dass meine Module defekt sind? Ich habe sie für einen Spotpreis bei Ebay von einem chin. Händler bezogen, der aus D liefert. Woran könnte es sonst liegen, dass ich kein vernünftiges Heading bekomme (+-2° laut Spezifikation)?

Das kann ich natürlich nicht ausschließen daß Du kaputte oder ncht richtig funktionierende Module hast.

Wo mißt Duß in der Nähe von magneten oder größeren Ferromagnetischen (Eisen) Massen (zB Tischbeine ecc)?

Hast Du den gleichen Effekt wenn Du das Modul in der hand hälst?

Grüße Uwe

Die Dinger sind, wenn sie nicht kalibriert wurden, kaum zu gebrauchen. Es ist wirklich extrem. Aber: ich hatte auch eines, was gar nicht gescheit zu gebrauchen war...

Die anderen beiden funktionieren- nachdem sie "hard iron"-kalibriert wurden! Dann allrdings recht gut- Abweichungen von 5-8 Grad hab ich hier auf dem Tisch im Stand aber immer. Die kann man easy rausrechnen. Beachte auch, dass die Teile keine Neigungskompensation haben (und man ihnen die auch nicht beibringt, ohne nen zweiten Sensor(Acclerometer), also schon geringe Neigungen ( ~10 Grad) ziemlichen Datenmüll produzieren.

Such mal nach nem Thread mit nem Namen "Hmc5883l-was treibt er" oder so ähnlich, da gibt es von Jurs nen tolles Programmteil, mit dem man die Kalibrierungsdaten schön verwursten kann. Dort dürfte auch de Link rumschwirren, wie man "hard iron" kalibrieren kann-ich hab dafür nen extra Programm benutzt, namens "MagMaster". Damit kann man leicht die nötigen Datenarrays erzeugen, dann im Programm von Jurs eintragen und-das Ding spielt mit. Inzwischen so gut, dass ich es, zusammen mit nem GPS, in meinem Monstertruck-Roboter als Navi benutze, obwohl das Ding dort keine 20cm von nem 540er Bürstenmotor werkelt.

Hi,

Kalibrierung habe ich schon alles durch inclusive MAgMaster. Hier mal die Links für die Vollständigkeit:

MAgMaster

2D Autocalibration

Nach dem anderen Thread werde ich gleich mal schauen.

@Rabenauge: Wenn Du sagst, 5-8 Grad, die einfach rauszurechnen waren: Meinst Du eine eine Gesamtabweichung, so dass immer 8° raus zu rechnen waren?

Ansonsten ist bei mir auf dem Tisch halt das Notebook und ich. Egal ob auf dem Tisch oder in der Hand, immer das gleiche.

Ich gehe mal schwer von einer MAcke aus, da die z-Achse keinen Wert zeigt.

Gibt es bessere Module?

Gruß

Andreas

Das war genau der richtige Link:

HMC5883L...was treibt er.

Würde sagen, wenn dann Poste ich da weiter. Torzdem bleibt der verdacht, dass er defekt ist.

Wie gesagt: einen Kandidaten hab ich auch, der partout nicht brauchbar laufen will-die anderen beiden sind nun artig.

Und nein, die acht Grad sind so das Maximum- vier in jede Richtung schwankt der Wert. Kann man, wie gesagt, rausfiltern, wenn mans braucht (oft ist das jedoch gar nicht nötig). Ich hab im Monstertruck-Roboter nen Demo-Modus geschrieben neulich, da werden dann mal so 50 Messungen gemacht, und die maximale Abweichung ausgegeben, daher weiss ich das. Sind aber nicht immer so viel, oft liegt der Schnitt auch nur bei 5°. Wenn man das Ding allerdings vernünftig einbaut (geht bei mir nicht, ich kann bzw. will den nicht zu weit "extern" montieren) dürft da noch einiges machbar sein.

Was Magmaster angeht: das bringts nur, wenn du in der endgültigen Einbau-Situation mal die Werte ermittelst, und die dann in das Matrix-Teil von Jurs einträgst.