Hallo zusammen,
heute möchte ich euch mal eins meiner Projekte vorstellen: Bixler2 mit MultiWii-Autopilot & RTH!
Hier werde ich versuchen, alle Schritte, möglichst detailiert, zu beschreiben, sodass auch Anfänger mit der Anleitung klar kommen.
1. verwendete Komponenten
Ich nutze zusätzlich noch ein BT-Modul um die Parameter einfacher zu verstellen, so kann man auch mit der entsprechenden App am Handy auf dem Feld Einstellungen vornehmen.
2. benötigte Software
3. Vorbereitungen
Ich gehe davon aus, dass die Bixler aufgebaut und flugbereit ist. Mein erster Schritt war es, die Bixler im 45° Winkel aus ca. 25m Höhe gen Boden zu bringen. Hierbei sind 2 Faktoren besonders wichtig: der Winkel und der Untergrund! Ich bevorzuge bei letzterem eine nicht behandelte Wiese. Wiesen mit einer Jaucheschicht könnten das Ergebnis verfälschen! Die Nase der Bixler ist anschließend schön verbogen. Wenn ihr alles richtig gemacht habt, bricht hierbei auch der Carbonstab.
Nach dieser wichtigen Behandlung folgt die Vorbereitung der FC. Die Arduino IDE wird extrahiert und in einem, nicht zu tief verschachteltem Verzeichnis gespeichert. Bei mir war es "V:\MultiWii\Programme\arduino-1.0.5". Entpackt anschließend die Firmware in ein anderes Verzeichnis (bei mir liegt sie hier: "V:\MultiWii\Firmware\MultiWii_AP_RTH\140204"). Nun startet ihr die IDE und wählt unter "Datei" => "Einstellungen" => "Sketchbook Speicherort" euer Firmwareverzeichnis. Ihr solltet nach dieser Einstellung die IDE neu starten. Die Arduino IDE ist nun bereit. Steckt den FTDI Adapter an und lasst die Treiber installieren.
Wenn diese Vorbereitungen abgeschlossen sind, geht es an den SourceCode. Zuerst kümmern wir uns um die Software auf der FC. Interessant dafür ist die "config.h" ("V:\MultiWii\Firmware\MultiWii_AP_RTH\140204\MultiWii\config.h"). Öffnet diese mit einem beliebigen Editor (ich nutze dafür gerne Notepad++).
Da die Zeilen je nach Version unterschiedlich sind, nenne ich nur kurz die Einstellungen. In der anhängenden Zip-Datei sind nochmal alle Quelltexte, dort könnt ihr euch die genauen Zeilen anschauen! Aktivieren heißt, die Zeile wird für den Compiler eingeblendet, dazu entfernt ihr die beiden "//" vor der Zeile. Beim deaktivieren einfach wieder "//" vor die Zeile schreiben. Nutzt ihr Notepad++ weden kommentierte Zeilen in grün dargestellt. (deaktivierte Zeilen sind auskommentiert, nur der Richtigkeit halber)
Z50 => "#define AIRPLANE" aktivieren
Z63 => "#define MINTHROTTLE 1000"
Z67 => "#define MAXTHROTTLE 2000"
Z126 => "#define CRIUS_SE_V2_5" (ich habe eine eigene Definition für die V2.5 erstellt, es geht auch die CRIUS_SE_v2_0!)
Z230 => "#define ONLYARMWHENFLAT"
Z394 => "#define RCAUXPIN8"
Z519 => "#define GYRO_SMOOTHING {20, 20, 3}"
Z669 => "#define I2C_GPS"
Z697 => "#define MAG_DECLINATION 1.52f" => Die Declination ist entsprechend dem Flugort zu setzen!
Das sollten erstmal alle Anpassungen in der config.h sein. Bitte schaut nochmal in meine angehängte config.h, ob ich was übersehen habe!
Als nächstes folgen die Anpassungen für das Nav-Board. Die Datei ist hier zu finden: "V:\MultiWii\Firmware\MultiWii_AP_RTH\140204\I2C_GPS_Pactched\I2C_GPS_v2_2\config.h"
Z11 => "#define FIXEDWING" aktivieren!
Z14 => "#define GPS_SERIAL_SPEED 115200" Baudrate einstellen (wenn ihr später die "u-blox-config.ublox.txt" nutzt, 115200 eingeben).
Z28 => "#define UBLOX" aktivieren!
Z41 => "//#define SONAR" deaktivieren!
So, nachdem wir nun auch diese Einstellungen vorgenommen haben, können wir mit dem Flashen beginnen! Steckt den FTDI-Adapter an die FC, anschließend an den USB-Port des Rechners. Es ist sonst KEINE weitere Komponente an der FC angeschlossen! Öffnet jetzt die Arduino IDE und anschließend das MultiWii Sketch ("Datei" => "Sketchbook" => "MultiWii"). Wählt unter "Tools" => "Board" => "Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328" und unter "Tools" => "Serieller Port" den COM-Port eures FTDI Adapters. Beachtet bitte, dass das Menü "Tools" ein paar Sekunden braucht, wenn ihr BT am Rechner aktiviert habt, es wird erst versucht, alle gebundenen Geräte anzusprechen!
Jetzt könnt Ihr mit dem Button "Upload" (oder "Datei" => "Upload") die Firmware auf eure FC aufspielen. Die Arduino IDE kompiliert zunächst den Code und läd sie anschließend via USB auf den Microcontroller eurer FC.
Als nächstes kommt das Nav-Board dran, wählt nun als Sketchbook "I2C_GPS_Pactched" => "I2C_GPS_v2_2". Ihr müsst die Pinheader nicht umbedingt an das Nav-Board anlöten, wenn ihr die beiliegenden Pinheader in den FTDI-Adapter steckt, könnt ihr die andere Seite auch in das Nav-Board stecken und leicht verkanten, so das alle Pinne Kontakt bekommen. Hier müsst ihr aber aufpassen, dass nicht während dem Flashvorgang die Pinleiste verrutscht. Ich halte dazu das Board und den FTDI-Adapter in der Hand. Auch hier ist es wichtig, dass keine weiteren Komponenten angeschlossen sind! Die Board- und COM-Einstellungen können so verbleiben, der Upload erfolgt auch wieder mit dem Button "Upload".
Nun sin die Vorbereitungen fast abgeschlossen. Es fehlen nur noch die Einstellungen für das GPS Modul über u-center! *folgt später*
4. Verkabelung
Empfänger
Das Navboard wird an den i2c-Port angeschlossen:
Hier ein Bild zur Übersicht:
Ich habe hierbei die Stromversorgung der Komponenten weggelassen, sollten dazu noch Fragen bestehen, kann ich auch diesen Punkt noch erläutern!
5. FC in Bixler verbauen
Die FC sollte möglichst in Schwerpunktnähe angebracht werden. Am Anfang hatte ich die FC unter der Kabinenhaube, fand diese Lösung aber zu umständlich, da ich jedes mal mit dem Akku an die FC kam. Also schnitt ich kurzerhand eine Öffnung unterhalb der Tragflächen in den Rumpf:
Die FC habe ich auf einem Stück Bastelplatte montiert und mit doppelseitigem Schaumstoffklebeband im Rumpf fixiert! Der Empfänger sitz im hinteren Bereich. Das Nav-Modul befindet sich im Durchgang nach vorn, von da geht das Kabel für das GPS nach oben. Um den GPS Empfänger zu montieren habe ich die Brücke über den Tragflächen an einer Stelle plan gemacht. Darauf den GPS Empfänger und mit einer Schicht transparentem Paketklebeband gesichert:
Nicht schön, aber selten und passend zur Nase!
6. Einstellungen
Als nächstes kommen die Einstellungen, hier musste ich nicht mehr viel anpassen, fast alle Werte sind Default.
Die Höhe für RTH wird mit dem Parameter PosHoldRate D eingestellt, 0,03 beteutet 30m.
Wichtig ist es noch, alle Kalibrierungen vorzunehmen. Dank BT-Verbindung und GUI kein Problem!
Im Reiter "FC Config" können die Servo-Wirkrichtungen umgekehrt werden.
Die Zuordnung der Schalter im Reiter "RC Control Settings" kann beliebig erfolgen, ich habe mir ARM auf einen 2Pos-Schalter gelegt, der 3Pos-Schaltet 3 Funktionen: Passthru (normale Steuerrung, Befehle werden durchgereicht), Horizon (Stabi), GPS Home + Horizon (RTH inkl. Stabi).
7. Fliegen
Beim Akku anstecken muss drauf geachtet werden, dass der Flieger ausgelevelt liegt, sonst stimmen die Lagen nicht richtig! Dann sollte gewartet werden, bis ein GPS-Fix besteht. Sobald ihr armed wird die aktuelle Position als Home Position gespeichert. Kontrollieren könnt ihr eine gespeicherte Home Position ganz einfach, indem ihr am Boden auf RTH schaltet, ist eine Home position gespeichert, geht das Höhenruder nach oben (der Flieger will auf die eingestellte Höhe steigen).
In der Luft habe ich zunächst die Stabi-Funktion getestet (auf ausreichend Sicherheitshöhe achten!), der Flieger wirk in Kurven etwas träger, liegt aber sonst sehr sauber in der Luft! Danach auf RTH geschaltet. Soll während der RTH Funktion der Motor laufen, müsst ihr an der Funke etwas Gas geben, die FC regelt die Gasstellung dan automatisch, aber ein Impuls ist notwenig. Genauso geht der Motor wieder aus, wenn ihr den Gasknüppel auf 0 zieht.
8. Fazit
Trotz der "günstigen" Komponenten bin ich von der kleinen FC echt begeistert, Stabi, RTH und BT-Telemetrie, was will man für den Preis mehr. Demnächst kommt noch die Cam und der Sender drauf, danach überlege ich noch am KV-OSD, ich werde hier davon berichten! Auch werde ich noch ein Video nachreichen!
Vielen Dank an PatrikE aus dem MultiWii-Forum, der viel Arbeit in die Firmware gesteckt hat!
Wenn Ihr Fragen zum Setup habt, einfach fragen!
Schöne Grüße aus dem Sauerland!
Chriss
heute möchte ich euch mal eins meiner Projekte vorstellen: Bixler2 mit MultiWii-Autopilot & RTH!
Hier werde ich versuchen, alle Schritte, möglichst detailiert, zu beschreiben, sodass auch Anfänger mit der Anleitung klar kommen.
1. verwendete Komponenten
- Bixler 2 ARF
- Crius MultiWii SE v2.5 $25.41
- Crius CN-06 v2.0 (lieber den Nachfolger nehmen, $19.67)
- CRIUS MWC I2C-GPS Navigation Board ($4.92)
- beliebiger FTDI-Adapter ($6.56)
Ich nutze zusätzlich noch ein BT-Modul um die Parameter einfacher zu verstellen, so kann man auch mit der entsprechenden App am Handy auf dem Feld Einstellungen vornehmen.
2. benötigte Software
- Arduino IDE
- MultiWii RTH Airplane (Thread im MultiWii-Forum)
- I2C-GPS NaviBoard Firmware (kommt zusammen mit MultiWii RTH Airplane)
- MultiWiiGUI (2.3pre4)
- u-center
3. Vorbereitungen
Ich gehe davon aus, dass die Bixler aufgebaut und flugbereit ist. Mein erster Schritt war es, die Bixler im 45° Winkel aus ca. 25m Höhe gen Boden zu bringen. Hierbei sind 2 Faktoren besonders wichtig: der Winkel und der Untergrund! Ich bevorzuge bei letzterem eine nicht behandelte Wiese. Wiesen mit einer Jaucheschicht könnten das Ergebnis verfälschen! Die Nase der Bixler ist anschließend schön verbogen. Wenn ihr alles richtig gemacht habt, bricht hierbei auch der Carbonstab.
Nach dieser wichtigen Behandlung folgt die Vorbereitung der FC. Die Arduino IDE wird extrahiert und in einem, nicht zu tief verschachteltem Verzeichnis gespeichert. Bei mir war es "V:\MultiWii\Programme\arduino-1.0.5". Entpackt anschließend die Firmware in ein anderes Verzeichnis (bei mir liegt sie hier: "V:\MultiWii\Firmware\MultiWii_AP_RTH\140204"). Nun startet ihr die IDE und wählt unter "Datei" => "Einstellungen" => "Sketchbook Speicherort" euer Firmwareverzeichnis. Ihr solltet nach dieser Einstellung die IDE neu starten. Die Arduino IDE ist nun bereit. Steckt den FTDI Adapter an und lasst die Treiber installieren.
Wenn diese Vorbereitungen abgeschlossen sind, geht es an den SourceCode. Zuerst kümmern wir uns um die Software auf der FC. Interessant dafür ist die "config.h" ("V:\MultiWii\Firmware\MultiWii_AP_RTH\140204\MultiWii\config.h"). Öffnet diese mit einem beliebigen Editor (ich nutze dafür gerne Notepad++).
Da die Zeilen je nach Version unterschiedlich sind, nenne ich nur kurz die Einstellungen. In der anhängenden Zip-Datei sind nochmal alle Quelltexte, dort könnt ihr euch die genauen Zeilen anschauen! Aktivieren heißt, die Zeile wird für den Compiler eingeblendet, dazu entfernt ihr die beiden "//" vor der Zeile. Beim deaktivieren einfach wieder "//" vor die Zeile schreiben. Nutzt ihr Notepad++ weden kommentierte Zeilen in grün dargestellt. (deaktivierte Zeilen sind auskommentiert, nur der Richtigkeit halber)
Z50 => "#define AIRPLANE" aktivieren
Z63 => "#define MINTHROTTLE 1000"
Z67 => "#define MAXTHROTTLE 2000"
Z126 => "#define CRIUS_SE_V2_5" (ich habe eine eigene Definition für die V2.5 erstellt, es geht auch die CRIUS_SE_v2_0!)
Z230 => "#define ONLYARMWHENFLAT"
Z394 => "#define RCAUXPIN8"
Z519 => "#define GYRO_SMOOTHING {20, 20, 3}"
Z669 => "#define I2C_GPS"
Z697 => "#define MAG_DECLINATION 1.52f" => Die Declination ist entsprechend dem Flugort zu setzen!
Das sollten erstmal alle Anpassungen in der config.h sein. Bitte schaut nochmal in meine angehängte config.h, ob ich was übersehen habe!
Als nächstes folgen die Anpassungen für das Nav-Board. Die Datei ist hier zu finden: "V:\MultiWii\Firmware\MultiWii_AP_RTH\140204\I2C_GPS_Pactched\I2C_GPS_v2_2\config.h"
Z11 => "#define FIXEDWING" aktivieren!
Z14 => "#define GPS_SERIAL_SPEED 115200" Baudrate einstellen (wenn ihr später die "u-blox-config.ublox.txt" nutzt, 115200 eingeben).
Z28 => "#define UBLOX" aktivieren!
Z41 => "//#define SONAR" deaktivieren!
So, nachdem wir nun auch diese Einstellungen vorgenommen haben, können wir mit dem Flashen beginnen! Steckt den FTDI-Adapter an die FC, anschließend an den USB-Port des Rechners. Es ist sonst KEINE weitere Komponente an der FC angeschlossen! Öffnet jetzt die Arduino IDE und anschließend das MultiWii Sketch ("Datei" => "Sketchbook" => "MultiWii"). Wählt unter "Tools" => "Board" => "Arduino Pro or Pro Mini (5V, 16MHz) w/ ATmega328" und unter "Tools" => "Serieller Port" den COM-Port eures FTDI Adapters. Beachtet bitte, dass das Menü "Tools" ein paar Sekunden braucht, wenn ihr BT am Rechner aktiviert habt, es wird erst versucht, alle gebundenen Geräte anzusprechen!
Jetzt könnt Ihr mit dem Button "Upload" (oder "Datei" => "Upload") die Firmware auf eure FC aufspielen. Die Arduino IDE kompiliert zunächst den Code und läd sie anschließend via USB auf den Microcontroller eurer FC.
Als nächstes kommt das Nav-Board dran, wählt nun als Sketchbook "I2C_GPS_Pactched" => "I2C_GPS_v2_2". Ihr müsst die Pinheader nicht umbedingt an das Nav-Board anlöten, wenn ihr die beiliegenden Pinheader in den FTDI-Adapter steckt, könnt ihr die andere Seite auch in das Nav-Board stecken und leicht verkanten, so das alle Pinne Kontakt bekommen. Hier müsst ihr aber aufpassen, dass nicht während dem Flashvorgang die Pinleiste verrutscht. Ich halte dazu das Board und den FTDI-Adapter in der Hand. Auch hier ist es wichtig, dass keine weiteren Komponenten angeschlossen sind! Die Board- und COM-Einstellungen können so verbleiben, der Upload erfolgt auch wieder mit dem Button "Upload".
Nun sin die Vorbereitungen fast abgeschlossen. Es fehlen nur noch die Einstellungen für das GPS Modul über u-center! *folgt später*
4. Verkabelung
Empfänger
- THR => D2
- AIL => D4
- ELE => D5
- RUD => D6
- Mode => D7
- Arm => D8
- D12 => AIL 1
- D3 => RUD
- D9 => THR (ESC)
- D10 => ELE
- D11 => AIL 2
Das Navboard wird an den i2c-Port angeschlossen:
- FC => Nav-Board
- SCL => SCL
- SDA => SDA
- +5V => VCC
- GND => GND
- Nav-Board => GPS
- +5V => +5V
- RXD => TXD
- TXD => RXD
- GND => GND
Hier ein Bild zur Übersicht:
Ich habe hierbei die Stromversorgung der Komponenten weggelassen, sollten dazu noch Fragen bestehen, kann ich auch diesen Punkt noch erläutern!
5. FC in Bixler verbauen
Die FC sollte möglichst in Schwerpunktnähe angebracht werden. Am Anfang hatte ich die FC unter der Kabinenhaube, fand diese Lösung aber zu umständlich, da ich jedes mal mit dem Akku an die FC kam. Also schnitt ich kurzerhand eine Öffnung unterhalb der Tragflächen in den Rumpf:
Die FC habe ich auf einem Stück Bastelplatte montiert und mit doppelseitigem Schaumstoffklebeband im Rumpf fixiert! Der Empfänger sitz im hinteren Bereich. Das Nav-Modul befindet sich im Durchgang nach vorn, von da geht das Kabel für das GPS nach oben. Um den GPS Empfänger zu montieren habe ich die Brücke über den Tragflächen an einer Stelle plan gemacht. Darauf den GPS Empfänger und mit einer Schicht transparentem Paketklebeband gesichert:
Nicht schön, aber selten und passend zur Nase!
6. Einstellungen
Als nächstes kommen die Einstellungen, hier musste ich nicht mehr viel anpassen, fast alle Werte sind Default.
Die Höhe für RTH wird mit dem Parameter PosHoldRate D eingestellt, 0,03 beteutet 30m.
Wichtig ist es noch, alle Kalibrierungen vorzunehmen. Dank BT-Verbindung und GUI kein Problem!
Im Reiter "FC Config" können die Servo-Wirkrichtungen umgekehrt werden.
Die Zuordnung der Schalter im Reiter "RC Control Settings" kann beliebig erfolgen, ich habe mir ARM auf einen 2Pos-Schalter gelegt, der 3Pos-Schaltet 3 Funktionen: Passthru (normale Steuerrung, Befehle werden durchgereicht), Horizon (Stabi), GPS Home + Horizon (RTH inkl. Stabi).
7. Fliegen
Beim Akku anstecken muss drauf geachtet werden, dass der Flieger ausgelevelt liegt, sonst stimmen die Lagen nicht richtig! Dann sollte gewartet werden, bis ein GPS-Fix besteht. Sobald ihr armed wird die aktuelle Position als Home Position gespeichert. Kontrollieren könnt ihr eine gespeicherte Home Position ganz einfach, indem ihr am Boden auf RTH schaltet, ist eine Home position gespeichert, geht das Höhenruder nach oben (der Flieger will auf die eingestellte Höhe steigen).
In der Luft habe ich zunächst die Stabi-Funktion getestet (auf ausreichend Sicherheitshöhe achten!), der Flieger wirk in Kurven etwas träger, liegt aber sonst sehr sauber in der Luft! Danach auf RTH geschaltet. Soll während der RTH Funktion der Motor laufen, müsst ihr an der Funke etwas Gas geben, die FC regelt die Gasstellung dan automatisch, aber ein Impuls ist notwenig. Genauso geht der Motor wieder aus, wenn ihr den Gasknüppel auf 0 zieht.
8. Fazit
Trotz der "günstigen" Komponenten bin ich von der kleinen FC echt begeistert, Stabi, RTH und BT-Telemetrie, was will man für den Preis mehr. Demnächst kommt noch die Cam und der Sender drauf, danach überlege ich noch am KV-OSD, ich werde hier davon berichten! Auch werde ich noch ein Video nachreichen!
Vielen Dank an PatrikE aus dem MultiWii-Forum, der viel Arbeit in die Firmware gesteckt hat!
Wenn Ihr Fragen zum Setup habt, einfach fragen!
Schöne Grüße aus dem Sauerland!
Chriss
Anhänge
-
215,2 KB Aufrufe: 129
Zuletzt bearbeitet: