Wenn man Mal ein wenig zurückdenkt und die Copterszene vor gut einem Jahr betrachtet, ist es beinahe schon unglaublich, was sich alles so getan hat. Besonders in Bezug auf die Sensoren hat sich das MultiWii Projekt stark weiterentwickelt.
So befinden sich aktuell bereits winzige Break-Out-Boards (BOBs), also kleine Platinen, auf dem Markt, die eine Vielzahl an Sensoren tragen. Diese Lösungen werden auch als IMU bezeichnet, was für Inertial measurement unit steht.
Es handelt sich dabei also um eine Einheit die Sensoren zur Messung von translatorischen und rotatorischen Bewegungen jeweils auf allen drei Achsen zulässt (auch Inertialsensoren genannt). Eine IMU hat im eigentlichen Sinne also immer mindestens sechs Freiheitsgrade (6 DOFs, DOF = Degrees of freedom) und besteht aus einem 3-Achsen Gyroskop (Kreisel) und einem 3-Achsen-Beschleunigungsmesser*.
IMUs mit 9 oder gar 10 DOFs weisen dann noch ein 3-Achsen-Magnetometer sowie ein Barometer auf (dieses misst logischerweise nur in der Höhenachse).
In diesem kurzen Artikel möchte ich euch das neue Flyduino 9DOF IMU (zurzeit 35,90 €, Update August 2014: Flyduino führt den Artikel nicht länger im Sortiment.) vorstellen und zeigen, wie ihr den MultiWii 2.0 Code schnell und einfach an den neuen Sensor anpasst, der in dieser Kombination meines Wissens nach noch nicht offiziell in MultiWii integriert worden ist.
Flyduino Komponenten auf Amazon ansehen!*
Zu erst aber noch etwas über die technischen Daten der neuen Flyduino 9DOF IMU. Auf den winzigen Board befinden sich drei Sensoren. Alle, die oben aufmerksam gelesen haben, können aus den neun Freiheitsgraden bereits bestimmen, um welche Arten von Messeinrichtungen es sich handeln muss. So ist das kleine schwarze BOB mit einem MPU6050 Gyro/ACC Chip sowie einem HMC5883L Magnetometer bestückt. Das MPU6050 von InvenSense kommuniziert dabei über I2C mit dem Arduino*, während das Honeywell HMC5883L Magnetometer über einen Eingang des MPU6050 angebunden ist.
Anschließen könnt ihr die IMU direkt an 5 Volt. Ein 3,3 Voltage Regulator und Logic Level Converter (LLC)* sind bereits mit an Bord. Damit auch genug zu den technischen Eingenschaften der neuen Flyduino 9DOF IMU. Widmen wir uns nun lieber der Inbetriebnahme. Es sind lediglich zwei kleine Erweiterungen im MultiWii Code notwendig, um die Flyduino 9DOF IMU verwenden zu können.
Wer sich bereits mit dem Thema Sensoren beschäftigt hat, erkennt, dass es sich bei der Flyduino 9DOF IMU eigentlich um die bekannte FreeIMU 0.4.3 handelt, die lediglich um das Barometer* zur Höhenmessung beschnitten worden ist. Mit diesem Wissen kann man sich in wenigen Minuten den richtigen Code zusammenbasteln. Ich gehe in diesem Beitrag ausschließlich auf die nötigen Erweiterungen des MultiWii Codes ein, alle weiteren notwendigen Änderungen, um den Copter in die Luft zubekommen, entnehmt ihr am besten dem MultiWii FAQ von Rosewhite.
Zu erst passen wir die „def.h“ des MultiWii Codes entsprechend an, indem wir den folgenden Abschnitt ergänzen:
#if defined(Flyduino9DOF)
#define MPU6050
#define HMC5883
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = -Z;}
#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = -Z;}
#define MPU6050_EN_I2C_BYPASS // MAG connected to the AUX I2C bus of MPU6050
#undef INTERNAL_I2C_PULLUPS
#endif
Ich habe dieses Snippet der Übersichtlichkeit halber zwischen dem Konfigabschnitt der FREEIMUv04 und dem PIPO positioniert.
Nun ergänzt man in der „config.h“ noch die Liste im Abschnitt boards and sensor definitions um den Eintrag:
#define Flyduino9DOF // Flyduino 9DOF IMU MPU6050+HMC5883l
Dieser ist natürlich am besten direkt aktiv, da wir den Sensor ja verwenden wollen. Mit diesen beiden Schritten ist die Konfiguration im Code auch bereits abgeschlossen. Nachdem Upload auf den Arduino* folgt nur noch die bekannte Konfiguration und Kalibrirung von ACC und Magnetometer* über die MultiWiiConfig.
Flyduino Komponenten auf Amazon ansehen!*
Wer im Übrigen nicht immer das Kabel anstecken will, um seinen Quad zu konfigurieren, für den könnten die Konfiguration von MultiWii via Bluetooth interessant sein.
Viel Spaß beim Fliegen!
Super Anleitung!!!
Freut mich sehr, dass ich weiterhelfen konnte! :)