Hi Leute, ich habe ein Problem mit meinem HMC5883L Kompass. Der Chip sitzt auf einem GY87 10DOF Board und ich moechte einen Kompass mit TILT Kompensation fuer meinen Quadro erstellen. Der verarbeitende uC ist ein STM32F334. Das Board ist flach montiert, daher sind die X und Y Achse horizontal und die Z Achse vertical zur Erdoberflaeche. Ich befinde mich derzeit nah am Aequator. Daher sind die zu erwartenden Gauss Messungen des Erdmagnetfeldes irgendwo zwischen 0.2-0.3 Gauss. Den HMC5883L habe ich auf die Full Scale Range of 1.3Ga gestellt und Selftest durchgefuehrt. Anders als im Datenblatt habe ich keine 1.1Ga gemessen, aber die Messungen sind konstant und Akzeptabel. Jetzt zum Problem: Wenn ich nun das Erdmagnetfeld messen moechte, dann klappt das soweit ersteinmal. Ich messe ca. 0.25Ga (peak), jedoch passen die Werte nicht wirklich zu den Achsen. Die X-Achse scheint zu stimmen: N: 422 (raw value) E: 0 (raw value) S: -354 (raw value) W: 0 (raw value) Y-Achse: N: 330 (raw value) E: 300 (raw value) S: 333 (raw value) W: 330 (raw value) Z-Achse: N: -240 (raw value) E: -600 (raw value) S: -212 (raw value) W: 157 (raw value) Damit laesst sich so nichts anfangen. Wenn ich das board um 90grad anwinkel, so dass X und Z horizontal sind und Y vertikal, dann sind die Werte okay: N: 430 (raw value) E: 0 (raw value) S: -333 (raw value) W: 0 (raw value) Y-Achse: N: 0 (raw value) E: -333 (raw value) S: 0 (raw value) W: 330 (raw value) Z-Achse: N: -593 (raw value) E: -576 (raw value) S: -590 (raw value) W: -600 (raw value) Nun moechte ich das Board allerdings in der ersten Konstallation verwenden, da die Gyros und Acc Sensoren so kalibriert wurden. Ich hatte eigentlich erwartet, dass die Z-Achse sich in der ersten Konstallation wie die Y-Achse in der zweiten verhaelt. Das ist aber nicht der fall. Warum? Habe ich hier einen Denkfehler? Derzeit komme ich hier mit Kraftvektorberechnung fuer einen TILTED Kompass nicht weiter und solange der Sensor mir nicht die richtigen Werte ausspuckt bringt alles andere auch nichts. Jemand eine Idee? Lasst mich wissen falls ihr irgendwelche Infos braucht. Habe Scope und so nen Gedoens da.
Dom schrieb: > Ich befinde mich derzeit nah am Aequator. Dennoch solltest du berücksichtigen, dass die Inklination beträchtlich sein kann: https://de.wikipedia.org/wiki/Datei:World_Magnetic_Inclination_2010.pdf
Hi guys, so, es scheint jetzt zu klappen. Die Achsen scheinen eine manuelle Kalibrierung zu benoetigen. Wenn ich einen entsprechenden Offset drauf packe, dann sieht die ganze Sache auch schon ganz anders aus. Ich wusste zwar, dass ein Kompass kalibriert werden soll, aber das sich das so sehr auswirkt haette ich nicht gedacht. An dieser Stelle Danke an Donvido fuer das Paper. Allerdings Frage ich mich echt, warum die Z-Achse im Gegensatz zu der Y und X Achse so daneben liegt. Werkseitig kalibriert scheint dort nichts zu sein.
Werkseitige Kalibrierung macht auch nur bedingt Sinn, da man ja ab Werk nicht weiß wo und wie der Chip verbaut wird. Du musst bei der Kalibrierung ja sowohl statische, als auch dynamische Effekte auf deiner Platine und der Umgebung berücksichtigen.
Durchaus richtig, leider kann auch kein Offset im IC selbst gespeichert werden und der uC muss die Kompensation manuell machen. Aber es funktioniert jetzt wenigstens. Einmal das Board in alle Richtungen drehen und der Offset berechnet sich selbst. Funktioniert wunderbar. Danke nochmal an alle :-)
Hast du berücksichtigt, dass die Register nicht in x-y-z angeordnet sind, sondern in x-z-y?
Hi Fritz, ja, darauf bin ich Anfangs auch reingefallen.Ist allerdings schon korrigiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.