Forum: Mikrocontroller und Digitale Elektronik GY-271 (HMC5883) Meßfehler bei Kippung


von Martin K. (kutt)


Lesenswert?

Hallo,

ich experimentiere gerade mit dem Kompassmodul GY-271 (HMC5883).

Es funktioniert wunderbar (auslesen, umrechnen etcpp)!

Jedoch scheint der Meßfehler sehr groß (+-20°) zu werden, wenn man das 
Modul nur leicht aus der Ebene kippt.

z.B. Nutze ich die X-Y Orientierung und rechne dann mit dem atan2 auf 
den Winkel zurück.

Bei einer geringen Kippung (sagen wir mal +-15°) müssten eigentlich nur 
die Vektoren sich im Verhältnis ändern und somit der Betrag. Dem scheint 
aber nicht so zu sein, da sich der Winkel dazwischen auch ändert.

Hab ich da einen grundsätzlichen Denkfehler, warum das so ist?

Kann man das irgendwie kompensieren?

Meine 2 Ideen wäre einen Neigungssensor zu verwenden und damit das Ganze 
zu korrigieren. Idee 2 wäre das Modul selbst in eine Art Gyroskop 
einzubauen, damit es sich immer in Waage befindet.

Hintergrund: Ich will daraus einen Autopiloten für mein Schiff bauen, da 
kann das Modul durch Seegang schon mal 30° in jede Richtung kippen...

von Wolfgang (Gast)


Lesenswert?

Martin K. schrieb:
> Hab ich da einen grundsätzlichen Denkfehler, warum das so ist?

Ja, das Magnetfeld hat eine kräftige Inklination. Wenn du deine beiden 
Sensorelemente nicht sauber auf die Horizontale ausrichtest, hast du 
einen Anteil der Vertikalkomponente des Magnetfeldes mit drin.

> Kann man das irgendwie kompensieren?
Ja, miss zusätzlich zu den 3 Magnetfeldkomponenten die Richtung des 
Lotvektors und rechne dann.

> Hintergrund: Ich will daraus einen Autopiloten für mein Schiff bauen, da
> kann das Modul durch Seegang schon mal 30° in jede Richtung kippen...

So ist das auf einem Schiff, wenn es keine aktiven Stabilisatoren 
besitzt.

von Martin K. (kutt)


Lesenswert?

Heh :) Stabilisatoren im Segelboot - nee. Da hätt ich mir nen Katamaran 
gekauft.

Aber zurück zur Kippung.

Die Out-of-Plane Komponente kommt ja immer schon mit.

Sagen wir mal: Das Modul liegt in der X-Y Ebene, und durch Kippung 
entstehen Fehler. Eigentlich müsste Z ein Maß dafür sein.

Die Frage ist nur: Wie kann man das zur Fehlerkorrektur einsetzen? 
Inklenation berechnen und dann?

von Wolfgang (Gast)


Lesenswert?

Martin K. schrieb:
> Die Frage ist nur: Wie kann man das zur Fehlerkorrektur einsetzen?
> Inklenation berechnen und dann?

Du misst mit dem Magnetfeldsensor den 3D-Magnetfeldvektor bezogen auf 
das Schiff und mit dem Beschleunigungssensor den Vektor der 
Erdschwerkraft. Dann projizierst du deinen Magnetfeldvektor auf die 
Ebene senkrecht zur Schwerkraft. Vorher musst du noch das Magnetfeld des 
Schiffes abziehen.

von Martin K. (kutt)


Lesenswert?

Hmm .. einen zusätzlichen Sensor wollte ich eigentlich vermeiden.

Zudem ich mit den Gyros etwas auf Kriegsfuß stehe.

Ich hab bestimmt ein halbes Jahr mit einem herumexperimentiert, aber 
leider ist das Teil immer nach einer gewissen Zeit einfach abgestürzt :(

Mit dem Teil hab ich praktisch alles durch, was man sich so vorstellen 
kann. Aber auch im Netz haben viele Leute ähnlich Probleme gehabt.

Es müsste das MPU-6050 gewesen sein - nie wieder.

Es muß doch auch möglich sein, direkt aus dem Z Vektor (wenn man in der 
X-Y Ebene misst) eine Korrektur zu rechnen.

Die Frage ist nur "Wie"?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Martin K. schrieb:
> Hmm .. einen zusätzlichen Sensor wollte ich eigentlich vermeiden.

Dann brauchst du eine kardanische Aufhängung mit einer vernünftigen 
Öldämpfung. Da ist ein kleiner zusätzlicher Sensor für rund einen Euro 
wohl das kleinere Übel.

> Zudem ich mit den Gyros etwas auf Kriegsfuß stehe.

Du brauchst keinen Gyro.
Du brauchst einen Beschleunigungssensor, z.B. einen ADXL345.

> Es muß doch auch möglich sein, direkt aus dem Z Vektor (wenn man in der
> X-Y Ebene misst) eine Korrektur zu rechnen.

IMHO müsstest du dafür zumindest die Inklination des Magnetfeldes kennen 
und die ist ortsabhängig.

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
Noch kein Account? Hier anmelden.