Skip to content
Advertisements

Quadrocopter selber bauen #4: Arduino und MultiWii Software

Der Quadrocopter ist fertig gebaut und verkabelt. Jetzt geht es an die Konfiguration mit der Arduino und MultiWii-Software, um den Flightcontroller zu konfigurieren und sich mit der WinGui vertraut zu machen.

INHALT: Quadrocopter selber bauen
 #1 – Teileliste, Frame bauen
 #2 – Motoren, ESCs löten & Kabel verlängern
 #3 – MultiWii 2.5 SE und X8R verkabeln
 #4 – Arduino & MultiWii Software
 #5 – ESCs kalibrieren/anlernen
 #6 – MultiWii 2.5 GPS Modul

Die Funktionsüberprüfung und korrekte Einrichtung aller Sensoren und Erweiterungen des Flightcontrollers geschieht per Software. Dazu muss man sich definitiv einarbeiten und mit verschiedenen Programmen hantieren. Auf der anderen Seite finde ich es faszinierend, was sich dann (doch relativ einfach) alles einstellen und prüfen lässt – und später noch erweitern, etwa um Status-LEDs, Landelichter oder Wegpunkt-Navigation.

Heute geht es darum, die MultiWii v2.5 SE einzurichten und sich mit dem WinGUI vertraut zu machen. Im Folge-Beitrag zeige ich dann, wie mit dem Taranis X9D Sender und Arduino die ESCs kalibriert / angelernt werden, um die Rotoren zu starten.

Das wird benötigt

Der Quadrocopter wird nur dann schweben, wenn die Rotoren laufen. Dazu muss eine Grund-Konfiguration auf das MultiWii-Board. In weiteren Schritten lassen sich dann die ersten Funktionstests machen. Dafür wird benötigt:

Wichtig: Akkus voll, Props ab!

Damit sich Fehler aufgrund „zu wenig Saft“ in den Akkus ausschließen lassen, sollten die Akkus in der Funke und zur Versorgung des Copters voll sein.

Oberwichtig: Alles OHNE PROPELLER ausführen!
Die Motoren können beim Einstellen der ESCs voll aufdrehen! Ebenso kann es sein, dass beim Aktivieren der Motoren der Leerlauf zu hoch ist oder dein Gas zu hoch steht – und das bei womöglich noch falsch rum drehenden Motoren.
Kurzum: Drinnen montierte Propeller? NOGO!

Damit die Arduino- und MultiWii-Software laufen, muss Java auf dem Rechner installiert sein. Das gibt es kostenfrei auf Java.com

Mit Arduino konfigurieren

Das MultiWii 2.5 SE Board basiert auf dem quelloffenen Arduino.  Die gleichnamige Software dient dazu, um Änderungen und Konfigurationen auf das MultiWii Controller-Board zu flashen.

Screenshot: Arduino Webseite

Arduino Homepage: Hier gibt´s die aktuelle Software

Ich benutze für die folgenden Ausführungen die Arduino Version 1.0.6 (Stand Jan 2015).

MultiWii und Mw WinGUI

Jetzt braucht es noch die MultiWii Software. Aktuell als Paket 2.3 (Download-Links siehe oben), das nach dem entpacken des ZIP-Files in ein Verzeichnis zwei Ordner enthält:

  • MultiWii   ….  enthält die nötige Konfigurationsdatei
  • MultiWiiConf …. ist das GUI für spätere Schritte
MultiWii.ino Datei

MultiWii.ino Datei zum Aufruf in Arduino

Mit Arduino lassen sich Dateien mit der Endung *.ino aufrufen. Gebraucht wird gleich die Datei im Ordner MultiWii/MultiWii.ino

Tipp: Wenn dein Rechner keine Dateiendungen anzeigt, lässt sich dies über die Ordneransicht einstellen: „Dateinamenerweiterungen anzeigen“ heisst das bei mir auf Windows 8.2

screenshot: arduino config.h

Multiwii.ino in Arduino: Wichtig ist nur der Reiter config.h

Ein Doppelklick öffnet die Multiwii.ino in Arduino (alternativ in Arduino über „Datei >Öffnen…„). Oben in den Tabs auf den Reiter „config.h“ gehen. Hier wird alles nötige konfiguriert. Die übrigen Reiter und Inhalte kannst du getrost ignorieren.

Copter über USB verbinden, Board & Schnittstelle prüfen
Schritt 1
: Jetzt den Copter – genauer das MultiWii Board  – mit dem FTDI-Adapter via USB mit dem Rechner verbinden. Nicht den Flugakku anschließen. Funke kann auch aus bleiben. Es gibt ein paar Piep-Signale und eine LED sollte bei erfolgreicher Verbindung dauerhaft grün leuchten.

Schritt 2: Prüfe die Verbindung in Arduino. Gehe dazu auf „Tools – Serieller Port„. Hier sollte ein COM-Port aktiv sein, was an einem Häkchen zu erkennen ist, auch wenn mehrere zur Verfügung stehen sollten . Bei mir ist das zB COM 3.

Schritt 3: Checke in Arduino unter „Tools > Board“ ob das richtige Board ausgewählt ist.  MultiWii V2.5 SE ist dort explizit nicht zu finden, ich habe ausgewählt

  • Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega 328

Damit funktioiert´s. Unten links im Arduino-Fenster wird das auch angezeigt:

Arduino: Board und aktive Schnittstelle

ausgewähltes Board und aktive Schnittstelle in Arduino


Los geht´s: MultiWii flashen

Die Verbindung mit dem Copter ist hergestellt. Jetzt können die grundlegenden Einstellungen in der config.h vorgenommen werden. Dazu werden zunächst zwei Einträge verändert. Anschließend wird der sogenannte „Sketch“ kompiliert und auf das MultiWii-Board übertragen (geflasht).

Eintrag 1) Die config.h enthält voneinander getrennte und kommentierte Sektionen.  In „Section 1 – Basic Setup“ wird der Typ des verwendeten Multicopters aktiviert. Für einen Quadrocopter in X-Anordnung ist das in Zeile 35

//#define QUADX

Um den Eintrag zu aktivieren, müssen nur die zwei // entfernt werden. Ein aktiver Eintrag erscheint dann in schwarz statt ausgegraut.

QuadX in config.h aktivieren

config.h: QUADX aktivieren

Eintrag 2) In der Sektion „boards and sensor definitions“ wird dann das verwendete IMU Board aktiviert. Ich habe für meine MultiWii 2.5 SE den Eintrag in Zeile 141 gewählt

#define HK_MultiWii_SE_V2

Das ist eigentlich eine MultiWii des Händlers Hobbyking (meine habe ich von XXL-Modellbau). Aber weiter oben gibt es sonst nur den Eintrag „MultiWii SE“ was auch die frühe V1 sein könnte. Und die hier angegebene V2 passt ebenso wie die angegebenen Sensoren auf dem Board  „board with MPU6050 + HMC5883L + BMP085“

Ist eines der integrierten Boards aktiviert, muss man sich nicht um Aktivierung weiterer Sensoren, etc kümmern, die sonst einzeln in der nachfolgenden Sektion „independent sensors“ auftauchen.

Erster Test: MultiWii flashen
Nun in der Arduino Oberfläche ganz oben links auf das Häkchen Symbol „Überprüfen“ klicken. Daraufhin wird der Sketch kompiliert, was ein Statusbalken unten rechts anzeigt.

Ist dieser durch und alles ohne Fehlermeldung ok, auf den nächsten Button mit dem Pfeil-Symbol -> „Upload“ klicken. Daraufhin wird die Konfiguration auf das MultiWii-Board geflaasht. Auch hier zeigen Fortschrittsbalken den Status an – begleitet von einem abschließenden piepsen der MultiWii.

Mit WinGUI vertraut machen

Gut, die wichtigsten Settings sind auf dem Flightcontroller. Jetzt wirf doch mal einen Blick in die WinGUI Oberfläche und mach dich mit den wesentlichen Anzeigen und Funktionen vertraut. MultiWii WinGUI gibt es für Linux, iOS sowie Windows.

Keinen Flugakku anschließen! Per USB (wenn noch nicht geschehen) den Copter mit dem Rechner verbinden. Im Unterordner von MultiWii.Conf die Datei MultiWii.exe starten (bei mir /application.windows32/MultiWiiConf.exe).

Screenshot MultiWiiConf.exe

MultiWiiConf.exe ruft das WinGui auf

Der erste Aufruf mag interessant sein. Cool wird´s aber erst mit der Anzeige der Echtzeitdaten. Dazu oben links unter „Port Com“ klicken (bei mir COM 3). Aktive Anzeigen wechseln auf grün.  Dann unten auf START … nun sollte sich auf dem Schirm einiges tun. Bewege deinen Copter ein wenig und du wirst sehen, wie sich der Horizont oder auch das 3D-Modell ebenso verändern.

Noch sind die hier angezeigten Daten und zum Beispiel die Lage des 3D-Modells und Kompass-Richtung falsch. Das macht aber nichts. Dazu müssen eben alle Sensoren optimal kalibriert werden.  Du siehst aber, dass die Sensoren schon einmal arbeiten 🙂

Struktur der WinGUI
Die Oberfläche ist in diese Bereiche unterteilt

  1. Linke Spalte:
    COM-Port aktivieren/deaktivieren sowie
    Werte für ACC, GYRO & MAG
  2. Hauptanzeige Bereich Mitte
    Hier werden PID-Werte eingestellt (auf Eintrag klicken und Maus bewegen) sowie Funktionen aktiviert/deaktiviert
  3. Graphen unter Hauptanzeige
    Start/Stopp der Echtzeitanzeige d. Sensoren
    Wichtig: Cycle-Time Anzeige „um 3.000“ und I2C errors „0“
  4. Rechts: Fernsteuerung und Motoren
    Hier werden Fernsteuerwege und -werte angezeigt (Mittelstellung ideal bei 1.500. Min 1.000 – Max 2.000)
    Darunter Status aktivierter Motoren und 3D-Modell des Copters
  5. Ganz Rechts:  Lage, Kompass, GPS
    Horizont und Anzeige Roll-, Pitchachse
    Anzeige aktivierter (und möglicher nutzbarer) Sensoren
    Kompassanzeige und GPS-Daten

 

Teil #5: Im nächsten Beitrag werden die Servowege der Taranis X9D auf optimale Werte eingestellt und die ESCs kalibriert. Damit können die Rotoren dem ersten Funktionstest unterzogen werden – der erste Testflug ist nicht mehr weit 😉

nächster Beitrag #5 ESCs kalibrieren >>

 

Advertisements
%d Bloggern gefällt das: