Inhaltsverzeichnis:

Einfache Hart- und Weicheisen-Magnetometerkalibrierung - Gunook
Einfache Hart- und Weicheisen-Magnetometerkalibrierung - Gunook

Video: Einfache Hart- und Weicheisen-Magnetometerkalibrierung - Gunook

Video: Einfache Hart- und Weicheisen-Magnetometerkalibrierung - Gunook
Video: Тяжело и крепко каждый день с этим простым рецептом - мед, яйца, чеснок 2024, November
Anonim
Einfache Hart- und Weicheisen-Magnetometerkalibrierung
Einfache Hart- und Weicheisen-Magnetometerkalibrierung

Wenn Ihr Hobby RC, Drohnen, Robotik, Elektronik, Augmented Reality oder ähnliches ist, dann werden Sie früher oder später mit der Aufgabe der Magnetometerkalibrierung konfrontiert. Jedes Magnetometermodul muss kalibriert werden, da die Messung des Magnetfeldes gewissen Verzerrungen unterliegt. Es gibt zwei Arten dieser Verzerrungen: die Harteisenverzerrungen und die Weicheisenverzerrungen. Die Theorie zu diesen Verzerrungen finden Sie hier. Um genaue Messungen zu erhalten, sollten Sie das Magnetometer auf Hart- und Weicheisenverzerrungen kalibrieren. Dieses anweisbare beschreibt den einfachen Weg, wie es geht.

Schritt 1: Sachen, die Sie brauchen

Dinge, die Sie brauchen
Dinge, die Sie brauchen
Dinge, die Sie brauchen
Dinge, die Sie brauchen
Dinge, die Sie brauchen
Dinge, die Sie brauchen

Hardware:

  • HMC5883L Magnetometermodul
  • Arduino Mega 2560-Board

* Aber Sie können dieses anweisbare leicht für ein anderes Magnetometermodul oder Arduino-Board übernehmen.

Software:

  • MagMaster
  • MagViewer

Firmware:

    Arduino-Skizze

*Dieser Sketch wurde für das HMC5883L-Modul geschrieben, Sie können ihn jedoch problemlos für Ihr Modul übernehmen.

Andere:

  • Pappschachtel
  • Steckbrett
  • Drähte

Schritt 2: Erstellen der Kalibrierungsbox

Herstellen der Kalibrierungsbox
Herstellen der Kalibrierungsbox

Für den Kalibriervorgang sollten Sie die spezielle Kalibrierbox erstellen (Bild 2.1). Für die Herstellung habe ich eine Pappschachtel verwendet, aber Sie können auch eine Plastikbox, eine Holzstange oder etwas anderes verwenden. Verbinden Sie das Magnetometermodul mit der Box (zB mit Kleber) wie in Bild 2.1 gezeigt. Auf den Flächen der Box sollten Sie das Koordinatensystem entsprechend dem Koordinatensystem des Magnetometermoduls zeichnen.

Schritt 3: Elektrischer Anschluss

Elektrische Verbindung
Elektrische Verbindung
Elektrische Verbindung
Elektrische Verbindung

Verbinden Sie das Magnetometermodul und die Arduino-Platine wie in Bild 3.1 gezeigt. Beachten Sie, dass die Versorgungsspannung des Magnetometermoduls 3, 3 V betragen kann (wie in meinem Fall bei der Version HMC5883L GY-273).

Schritt 4: Software und Firmware installieren

Installieren der Software und Firmware
Installieren der Software und Firmware

Laden Sie die Software und Firmware hier herunter. Dieses Archiv enthält Dateien:

  • MagMaster.exe - das Magnetometer-Kalibrierungsprogramm
  • MagViewer.exe - das Visualisierungsprogramm für Magnetometermessungen
  • Arduino_Code - die Arduino-Skizze für den Kalibrierungsprozess
  • Arduino_Test_Results - die Arduino-Skizze zum Testen von Kalibrierergebnissen
  • Arduino_Radius_Stabilisation - die Arduino-Skizze zum Testen von Kalibrierergebnissen mit dem Kugelradius-Stabilisierungsalgorithmus
  • MagMaster-Dateien und MagViewer-Dateien - die Systemdateien für MagMaster.exe und MagViewer.exe

Kopieren Sie alle diese Dateien in einen beliebigen Ordner. Laden Sie die Skizze "Arduino_Code" auf das Arduino-Board hoch. Diese Arduino-Skizze erfordert die HMC5883L-Bibliothek. Kopieren Sie den Ordner "HMC5883L" (im Ordner "Arduino_Code") in den Ordner "C:\Program Files\Arduino\libraries", bevor Sie die Skizze hochladen.

Schritt 5: Kalibrierung

Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung

Einführung

Die Kalibrierung des Magnetometers ist der Prozess zum Erhalten der Transformationsmatrix und des Bias.

Um die kalibrierten Messungen des Magnetfelds zu erhalten, sollten Sie diese Transformationsmatrix und den Bias in Ihrem Programm verwenden. In Ihrem Algorithmus sollten Sie den Bias auf den Vektor der nicht kalibrierten Magnetometerdaten (X-, Y-, Z-Koordinaten) anwenden und dann die Transformationsmatrix mit diesem resultierenden Vektor multiplizieren (Abbildung 5.4). Den C-Algorithmus dieser Berechnungen finden Sie in den Skizzen "Arduino_Test_Results" und "Arduino_Radius_Stabilization".

Kalibrierprozess

Führen Sie MagMaster.exe aus und wählen Sie den seriellen Port des Arduino-Boards aus. Die grünen Zeichenketten im Programmfenster zeigen die Koordinaten des Magnetometervektors an (Bild 5.1).

Platzieren Sie das Magnetometermodul (Kalibrierbox mit angeschlossenem Magnetometermodul) wie in Bild 5.2.1 gezeigt und klicken Sie auf die Schaltfläche "Punkt 0" der Gruppenbox "Achse X+". Beachten Sie, dass die Kalibrierungsbox relativ zur festen horizontalen Ebene nicht stationär ist. Platzieren Sie dann das Magnetometer wie in Bild 5.2.2 gezeigt und klicken Sie auf die Schaltfläche "Point 180" der Groupbox "Axis X+" und so weiter. Gehen Sie wie folgt vor (siehe auch Bild 5.3):

  • Bild 5.2.1: "Punkt 0", "Achse X+"
  • Bild 5.2.2: "Punkt 180", "Achse X+"
  • Bild 5.2.3: "Punkt 0", "Achse X-"
  • Bild 5.2.4: "Punkt 180", "Achse X-"
  • Bild 5.2.5: „Punkt 0“, „Achse Y+“
  • Bild 5.2.6: "Punkt 180", "Achse Y+"
  • Bild 5.2.7: "Punkt 0", "Achse Y-"
  • Bild 5.2.8: "Punkt 180", "Achse Y-"
  • Bild 5.2.9: "Punkt 0", "Achse Z+"
  • Bild 5.2.10: "Punkt 180", "Achse Z+"
  • Bild 5.2.11: "Punkt 0", "Achse Z-"
  • Bild 5.2.12: "Punkt 180", "Achse Z-"

Sie sollten die Tabelle ausfüllen. Klicken Sie danach auf "Transformationsmatrix und Bias berechnen" und erhalten Sie die Transformationsmatrix und den Bias (Abbildung 5.3).

Die Transformationsmatrix und der Bias sind erhalten! Die Kalibrierung ist abgeschlossen!

Schritt 6: Testen und Visualisieren

Image
Image
Testen und Visualisieren
Testen und Visualisieren

Die nicht kalibrierte Messvisualisierung

Laden Sie die Skizze "Arduino_Code" auf das Arduino-Board hoch. Führen Sie die MagViewer.exe aus, wählen Sie den seriellen Port des Arduino-Boards aus (die Übertragungsrate des seriellen Ports sollte 9600 bps betragen) und klicken Sie auf "Run MagViewer". Jetzt können Sie die Koordinaten des Magnetometer-Datenvektors im 3D-Raum in Echtzeit sehen (Bild 6.1, Video 6.1, 6.2). Diese Messungen sind nicht kalibriert.

Die kalibrierte Messvisualisierung

Bearbeiten Sie die Skizze "Arduino_Radius_Stabilization", ersetzen Sie die Standardtransformationsmatrix und die Bias-Daten durch Ihre während der Kalibrierung erhaltenen Daten (Ihre Transformationsmatrix und Bias). Laden Sie die Skizze "Arduino_Radius_Stabilization" auf das Arduino-Board hoch. Führen Sie die MagViewer.exe aus, wählen Sie den seriellen Port aus (die Übertragungsrate beträgt 9600 bps), klicken Sie auf "MagViewer ausführen". Jetzt können Sie die kalibrierten Messungen im 3D-Raum in Echtzeit sehen (Bild 6.2, Video 6.3, 6.4).

Mit diesen Skizzen können Sie ganz einfach den Algorithmus für Ihr Magnetometerprojekt mit kalibrierten Messungen schreiben!

Empfohlen: