Der Inertialsensor (oder auch IMU genannt). Ein Verbund unterschiedlicher Sensoren mit dem Ziel, alle Sechs möglichen Freiheitsgrade zu Messen. Dieses Thema interessierte mich bereits länger und wird auch in zukünftigen Arbeiten zum Einsatz kommen. Deshalb hab ich dies in meiner Vordiplomsarbeit an der HF, als Projektthema ausgewählt. Genauer gesagt, das entwickeln eines Sensorboards und der dazugehörenden Software.
Der Aufbau ist wie immer möglichst einfach gehalten. Als Sensorverbund wird ein 9DOF Sensorstick von Sparkfun eingesetzt. Dieser enthält einen ITG3200 (3 Achs Gyro), HMC5843 (3 Achs Magnetfeldsensor) und einen ADXL345 (3 Achs Accelerometer) welche alle über I2C Ausgelesen werden. Der Hauptprozessor ist, wie zu erwarten, ein AVR. Genauer gesagt ein ATMEGA644, welcher auf 18.432MHz Taktet (Baudratenquarz) bei 3.3V. Die Daten werden über ein XBee Modul an den PC gesendet. Zusätzlich ist noch ein OLED Grafikdisplay eingebaut (128×64 Pixel).
Die .NET Software welche in C# Programmiert ist, nimmt die Datensätze entgegen. Ein DCM Filter (direction-cosine-matrix) rechnet die Daten der Sensoren um und liefert als Rückgabewert ein Quaternion. Dieses wird mithilfe unterschiedlichen, von mir erstellten Controls in Echtzeit visualisiert (3D Würfel, Schräglageanzeige).
Im folgenden Video ist der gesamte Aufbau in Aktion zu sehen. Die Verzögerung zwischen Bewegung – Visualisierung ist wirklich sehr Minimal. Im grossen und ganzen ist die Umsetzung sehr gut gelungen.
Im Nächsten Video ist der Hardware Aufbau zu sehen. Das Display zeigt zuerst den Animierten Bildschirmschoner an. Danach wird über den PC die Software initialisiert, es wird der Kalibrierungsvorgang angezeigt.
Und nochmals die Software. Es sind dort noch einige zusätzliche Buttons vorhanden, z.B. um die Akkuspannung auf dem Sensorboard auszulesen.
Genauere Informationen können der Dokumentation entnommen werden, welche hier zum Download zur Verfügung steht -> “VDA Dokumentation”
Weitere Fragen, Anmerkungen usw. beantworte ich gerne per Email oder sonstigen Kommunikationswegen.



Keine Kommentare zu “Inertial measurement unit”