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