Überblick:
Die 9DOF IMU verwendet drei Sensoren ITG3200/3205 (MEMS-Dreiachsen-Gyroskop), ADXL345 (Dreiachsen-Beschleunigungsmesser) und HMC5883L (Dreiachsen-Magnetometer), um Ihnen neunachsige Trägheitsmessungen bereitzustellen. Die Ausgabe aller Sensoren wird von einem integrierten ATMEGA328 verarbeitet und über eine serielle Schnittstelle ausgegeben. Dies macht die 9DOF IMU zu einem sehr leistungsfähigen Kontrollmechanismus für unbemannte Flugzeuge, unbemannte Fahrzeuge und Bildstabilisierungssysteme.
Spezifikationen:
Verwendung des Chips: Atmega328+ITG3200/ITG3205+ADXL345+HMC5883L
Stromversorgung: 3-5 V Gleichstrom
Ausgangsport: serieller Port, kann an Bluetooth, XBee-Kommunikationsmodul usw. angeschlossen werden; Bereitstellung von Umgebungsalgorithmus-Referenzquellcode
Größe: 49,53 x 27,94 mm
Testdaten:
Standardkalibrierung:
Es könnte gut sein, die einzuschaltenRasierereinige Minuten vor der Kalibrierung, damit sich die Sensoren aufwärmen können. Das erstmalige Kalibrieren der Sensoren kann etwas knifflig sein, aber los geht's:
- Öffnen Sie für /Razor_AHRS/Razor_AHRS.ino unter Verwendung von und finden Sie den Abschnitt "USER SETUP AREA" / "SENSOR CALIBRATION". Hier legen Sie später die Kalibrierwerte ab.
- Verbinden Sie dieAHRS-Rasiereran Ihren Computer, stellen Sie den richtigen seriellen Anschluss für ein und öffnen Sie dieSerieller Monitor.
Wenn Sie die Firmware-Standardeinstellungen nicht geändert haben, sollten Sie viele Ausgaben wie diese sehen:
#YPR=-155,73,-76,48,-129,51Stellen Sie die Firmware einAusgabemodusZuKalibrierungindem Sie die Zeichenfolge #oc senden. Sie sollten jetzt eine Ausgabe wie diese sehen:
Beschleunigung x,y,z (min/max) = -5,00/-1,00 25,00/29,00 225,00/232,00
- Kalibrieren des Beschleunigungssensors:
- Wir werden versuchen, die minimalen und maximalen Ausgabewerte für die Erdgravitation auf jeder Achse zu finden.Wenn Sie das Brett bewegen, bewegen Sie es sehr langsam, damit die Beschleunigung, die Sie darauf anwenden, so gering wie möglich ist.Wir wollen nur die reine Schwerkraft!
- Nehmen Sie die Platine und zeigen Sie mit der x-Achse gerade nach unten (denken Sie daran: x-Achse = zur kurzen Kante mit den Verbindungslöchern). Während Sie das tun, können Sie sehen, wie das x-Maximum (der zweite Wert) größer wird.
- Halten Sie das Board ganz ruhig und setzen Sie die Messung zurück, indem Sie erneut #oc senden.
- Kippen Sie nun vorsichtig die Platine ein wenig in alle Richtungen, bis der Wert nicht mehr größer wird und notieren Sie den x-Maximalwert.
- Machen Sie dasselbe für die gegenüberliegende Seite (x-Achse zeigt nach oben), um die x-Mini-Mum zu erhalten: Bringen Sie sie in Position, senden Sie #oc , um die Messung zurückzusetzen, finden Sie den x-Mini-Mum-Wert und schreiben Sie ihn auf.
- Machen Sie dasselbe für die z-Achse (nach unten und oben) und die y-Achse (rechts und links).
- Wenn Sie der Meinung sind, dass Sie die Messung durch zu schnelles Schütteln oder Bewegen des Boards vermasselt haben, können Sie es jederzeit zurücksetzen, indem Sie #oc senden.
- Sie sollten jetzt alle Min/Max-Werte haben. Fügen Sie sie in Razor_AHRS.ino ein.
- NOTIZ: Sie müssen dabei wirklich vorsichtig sein! Schon ein leichtes Antippen der Platine mit dem Finger bringt die Messung durcheinander (probieren Sie es aus!) und führt zu einer falschen Kalibrierung. Verwenden Sie #oc sehr oft und überprüfen Sie Ihre Min/Max-Werte.)
Kalibrieren des Magnetometers:
Kalibrieren des Gyroskops:
Erweiterte Magnetometerkalibrierung
Die standardmäßige Magnetometerkalibrierung kompensiert nurhartes EisenFehler, die durch die erweiterte Kalibrierung kompensiert werdenhartUndweiches EisenFehler. Dennoch muss in beiden Fällen die Verzerrungsquelle im Sensorkoordinatensystem fixiert sein, sich also mit dem Sensor bewegen und drehen.
- Um mit der Kalibrierung zu beginnen, bringen Sie den Sensor in die magnetische Umgebung, in der er später verwendet wird - z. an der genauen Stelle auf Ihren Kopfhörern, wenn Sie Head-Tracking für Audioanwendungen benötigen (Kopfhörer haben starke Magnete, je weniger Sie den Sensor nach dem Kalibrieren bewegen, desto besser werden Ihre Ergebnisse; Sie sollten auch daran denken, etwas Dummy-Material anzubringen zwischen den Ohrmuscheln, um sie in normale Hörposition zu bringen).
- Beenden Sie alle Anwendungen, die vom Sensor lesen (z.Serieller Monitor,wird bearbeitetTestskizze, …) und führen Sie die auswird bearbeitetMagnetometer-Kalibrierungsskizze in Processing/Magnetometer_calibration. Tatsächlich müssen Sie zuerst die EJML-Bibliothek installieren, sonst wird der Sketch nicht ausgeführt. Wie geht das? Schauen Sie sich die anNOTIZoben in Magnetometer_calibration.pde.
Versuchen Sie, den Sensor so zu drehen, dass Sie alle Ausrichtungen abdecken, sodass Sie Punkte erzeugen, die die Kugel mehr oder weniger gleichmäßig abdecken.
In einer weitgehend unverzerrten Umgebung könnte das etwa so aussehen:
Drücken Sie die LEERTASTE und beobachten Sie diewird bearbeitet-Konsole - Sie finden einige Codezeilen, die Sie in die Firmware unter "USER SETUP AREA" / "SENSOR CALIBRATION" einfügen müssen, und Sie sind fertig.
Die gesammelten Daten (die Punkte) werden auch in eine Datei magnetom.float im Skizzenordner geschrieben. Falls Sie nun Matlab besitzen, finden Sie unter Matlab/magnetometer_calibration ein Skript namens magnetometer_calibration.m , das diese Datei verwendet und einige Diagramme für Sie erstellt, sodass Sie die Kalibrierung visuell überprüfen können.
Ellipsoidanpassung und korrigierte Werte:
Ein weiteres Kalibrierungsbeispiel: Weicheisen ergibt eine Kugel, die zu einem Ellipsoid skaliert und verzerrt ist.