Wie ich ja bereits angekündigt hatte, habe ich vor eine Kamerastabilisierung mithilfe von zwei Servos für meinen QuadX zu realisieren, um aus der Luft schönere Aufnahmen machen zu können. Das letztendliche Rennen unter den Gimbal-Halterungen hat ja nun das Produkt von Flyduino, das 2-Axis Gimbal gemacht. Wie immer war der Service top und die Bestellung zwei Tage später bei mir. Hier folgt nun also mein Gimbal Erfahrungsbericht / Kurztest.
Der Aufbau
Ich habe mich natürlich schon an den Aufbau der Halterung gemacht. Hier ist zu erst einmal zu sagen, dass das Set, bis auf die Servos (dazu im Übrigen später mehr) und die passenden Servorarme, alles beinhaltet, was zum Aufbau benötigt wird. Die wichtigste Sache fehlt aber leider: Es gibt keine richtige Anleitung. Ich selbst habe dies nicht als Problem empfunden, kann man sich mit dem auf der Shopseite zur Verfügung gestellten PDF, welches eine grobe Planzeichnung enthält, doch gut behelfen.
Die GFK-Teile sind alles sehr sauber gefräst, Löcher und Schlitze sind allerdings mit relativ geringen Toleranzen bemaßt worden, sodass man zum Verschrauben am besten einen Akku-Schrauber* zur Hand nimmt. Gleiches gilt beim Ineinanderfügen der GFK-Platten, welche an vielen Stellen einfach zusammengesteckt werden. Hier war bei meinem Set der ein oder andere Kraftakt erforderlich, um die Teile „gefügig zu machen“. Das unschöne Nacharbeiten der GFK-Platten bleibt aber zum Glück aus. Insgesamt dauert der Aufbau des Grundgerüsts in etwas eine dreiviertel Stunde, wenn man die Anpassung der Servohörner mit einbezieht. Damit wären wir auch schon beim nächsten Thema.
Die gesamte Konstruktion kann letztendlich durch die Kraft zweier Servos in zwei Achsen gekippt werden, um die Lage der Kamera relativ zum Quadrocopters in der Luft auszugleichen. Hierzu müssen über Gewindestangen, welche dem Set ebenfalls beiliegen, die Servos mit dem Gestell verbunden werden. Damit wir ein nutzbares Drehmoment übertragen können, sind natürlich noch entsprechende Servohörner notwendig. Diese liegen meist in großer Zahl beim Servokauf bei. Um die M2 Schrauben der Konstruktion durch mit dem Servoarm in Verbindung zu bringen, habe ich die Arme einfach mit einem 2,5-mm-Bohrer* aufgebohrt.
Letztendlich fehlte natürlich noch die Befestigung der Halterung am QuadX. Dazu habe ich schnell ein paar M3 Gewindestangen abgelängt und aus 4 mm Alurohr ein paar Distanzhülsen gesägt. Alles an den Enden schön entgratet und plan geschliffen, zusammengesetzt und schon hin die Halterung unter dem Fluggefährt. Die Arbeit an der „Hardware“ war also zunächst abgeschlossen.
Software Konfiguration
Um die Stabilisierungsfunktion in MultiWii zu aktivieren, ist eine kurze Anpassung am Arduino Code nötig. In der config.h findet man den folgenden Code, der durch //define SERVO_TILT standardmäßig deaktiviert ist.
The following lines apply only for a pitch/roll tilt stabilization system
Uncomment the first line to activate it */
#define SERVO_TILT
#define TILT_PITCH_MIN 1020 //servo travel min, don't set it below 1020
#define TILT_PITCH_MAX 2000 //servo travel max, max value=2000
#define TILT_PITCH_MIDDLE 1500
#define TILT_PITCH_PROP 15 //servo proportional (tied to angle) ; can be negative to invert movement
#define TILT_ROLL_MIN 1020
#define TILT_ROLL_MAX 2000
#define TILT_ROLL_MIDDLE 1520
#define TILT_ROLL_PROP 10
Nachdem man diese Tatsache durch Entfernen von // aus der Welt geschafft hat und der Code kompiliert und auf den Arduino Pro Mini* gelanden ist, folgt die abschließende Konfiguration über das MultiWii Config GUI (in meinem Fall Version 2.0).
Hier muss einer der übrigen zwei Kanäle (AUX 1 oder AUX 2) der Camstab Funktion zugewiesen werden. Dies passiert einfach durch setzen des entsprechenden Hackens bei der gewünschten Schalterstellung (Low / High). Nachdem die Werte auf den Controller geschrieben sind, lässt sich die Stabilisierung jederzeit ein und ausschalten. Wie du den AUX-Kanal einer Spektrum DX6i Fernsteuerung* aktivierst, habe ich separat beschrieben.
Hinweis: Der zweite AUX-Kanal muss auch zuerst aktiviert werden:
/* possibility to use PIN8 or PIN12 as the AUX2 RC input
it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8)
*/
#define RCAUXPIN8
//#define RCAUXPIN12
Ist dieser Schritt erledigt, sollte das Gimbal bei angeschlossenem Akku bereits zum Leben erwachen und seine erstene Ausgleichversuche starten, wenn man den Qaudrocopter schwenkt. Schnell fällt aber auf, dass die Bewegungen des Gimbals noch nicht wirklich proportional zur Neigung des Kopters ausgeführt werden. Dies kann man Anhang des obigen Codes ändern.
Der Wert
#define TILT_ROLL_PROP 10
erlaubt das Anpassen genau dieser Proportionalität zwischen Neigung und Auslenkung. Ein negativer Wert an dieser Stelle kehrt die Reaktion des Gimbals im Bezug auf die Neigungsrichtung des Copters um. Die übrigen Variablen dienen zur einfachen Anpassung der maximalen Servowege sowie des Nullpunktes. Somit lassen sich mechanische Ungleichheiten der Gewindestangen schnell per Software korrigieren.
Zurück in die Werkstatt
Schnell wurde bei den von mir zu erst eingesetzten Kyosho Perfex Servos*, die ich noch von einem RTR-Buggy* liegen hatte, klar, dass absolute Untauglichkeit im Bezug auf eine Kamerastabilisation besteht. Die Teile waren schon im Leerlauf furchtbar zitterich und die kleinste Neigung artete in ein wildes Gezappel der gesamten Gimbal-Konstruktion hin. Kurzer Hand mussten also neue Servor her. Da MultiWii in der aktuellen Version 2.0 nur Software PWM zur Ansteuerung der Servos nutzt, das mit einer Fequenz von nur 50 Hz arbeitet, habe ich mich nach ausführlicher Rücksprache mit meinem Modellbauhändler für analoge Hitec Servos des Typs HS645-MG Ultra Torque* entschieden. Dazu gab es dann gleich noch zwei anständige Servoarme aus Aluminium*, die ich wieder etwas bearbeiten musste (s.o.).
Und tastächlich, die Investition hat sich sofort bemerkbar gemacht. Das Gimbal war sofort ruhig in der neutralen Lage und es stellte sich ein annembar leichter Lauf ein. Für ein direkt angetriebenes Gimbal ohne Übersetzung zwischen Servo und Auslenkung sind die Bewegungen schon erstaunlich weich. Diese Tatsache wird auch durch die Kugellagerung aller Achsen unterstützt.
Praxistest
Natürlich musste sich die Konstruktion auch gleich in der Praxis beweisen. Schnell einen Akku im Garten verbraten und Mal ausprobiert, wo die Grenzen der Stabilisation liegen. Dabei ist mir aufgefallen, dass vor allem die Nick-Kompensation noch nicht so gut funktioniert, wie ich das gerne hätte. Bei schnellen Manövern kippt die Kamera* oft plötzlich in die falsche Richtung, um dann schlagartig ihre richtige Position einzunehmen. Hier muss ich noch einmal genau nachsehen, ob an anderer Stelle im Code noch etwas anzupassen ist.
Die Roll-Achse hingegen stabilisiert schon sehr gut, nur bei zu wilden Einschlägen kommt das Servo nicht mehr hinterher. Da ich mit dem QuadX aber so wie so nur ein paar ruhige Aufnahmen machen möchte, anstatt die 1390 Gramm (mit 2200 mAh 3S Lipo) wild durch die Luft zu jagen, ist die aktuelle Konfiguration in Ordnung. Video folgt hoffentlich die Tage!
Vorläufiges Fazit
Es bleibt zu aller erst einmal festzuhalten, dass das Flyduino Gimbal zu dem Preis von nicht Mal 40 € definitiv zu empfehlen ist. Das Preisleistungsverhältnis ist hier sehr gut. Die fehlende Anleitung ist zwar nicht schön, trotz allem denke ich, dass Personen die sich mit diesem speziellen Thema beschäfigen, in der Lage sind etwas anhand eines Bildes oder rein nach logisch-technischem Verstand zu bauen. Die Stabilisierung an sich funktioniert schon ganz passabel, ich setze meine Hoffnungen aber auf den nächsten MultiWii Release und wünsche mir, dass hier Hardware PWM auch für Servos realisiert wird.
Hi,
tolle Seite hier. Danke für die Anleitung und die Konfigurationanleitung. Bitte weiter machen!
Grüße,
Peter
Einfach und aufschlussreiche Erklärung!!
Hallo Nils,
habe mir jetzt auch die Flyduino gekauft und meine GoPro 2-Achs Halterung für DJI Phantom mit 2 Servus wegen wackeliger Konstruktion zurückgegeben.
Mir fehlt dazu noch immer eine vernünftige Gyro Steuerung, die autark am Gerät arbeiten sollte.
Gib mir bitte einen Tipp. Das Geld spielt weniger eine Rolle!
Gruß Hajo
Hi Hajo,
entschuldige die späte Reaktion. Ich habe mich aktuell noch umgesehen. Ganz ohne Fernbedienung (RC-Signal) und dann noch Plug’n’Play wird wirklich schwer. Mir ist aktuell keine solche Lösung bekannt. Mit MultiWii und einem Arduino Controller kann man so etwas selber löten und am Rechner konfigurieren. Dann macht es genau das, was es soll. Ist mit unter aber ein etwas längerer Weg. Einfacher wäre es (wenn auch beinahe Verschwendung) einen DJI NAZA-M Controller zu kaufen. Der kann ebenfalls ein Gimbal ansteuern und die Software am Rechner ist sehr einfach gehalten. Du musst aber glaube ich auf jeden Fall ein RC-Signal (wenn nicht sogar zwei Kanäle) dafür über haben. Eigentlich ist das NAZA-M nämlich ein vollständiger Flugcontroller für Multicopter mit bis zu 6 Rotoren.
Andere Möglichkeiten habe ich noch nicht gefunden.
Hier ein Video zum Naza: http://www.youtube.com/watch?v=LZJdaBJx3aA
Viele Grüße!
Hallo Nils,
vielen Dank einstweilen. Werde schon noch 2 Kanäle über haben. Allerdings habe ich nur einen Apple Computer, mit dem ich diese Software wahrscheinlich nicht aktivieren kann.
Jedenfalls lieben Dank !!!!!!!!!!!!!!
Gruß Hajo
Gerne. Solltest du noch frageb haben, gerne her damit. Bin gespannt, welche Lösung sich für dich als praktikabel herausstellt.
Viele Grüße
Tolle Anleitung. Hat mir sehr weiter geholfen und funktioniert. Versuche den Pitch mit einer RC einzustellen. Welche Codeteile habe ich dafür zu ändern bzw. welchen Eingang kann ich dafür sinnvoll nutzen?
Danke für die Hilfe!
Hallo Rico, danke für das Feedback. Da die Anleitung schon etwas älter ist, kann ich dir in Bezug auf den leider Eingang gar nicht wirklich weiterhelfen. Das Steuern des Pitches via manuellem Over-Ride habe ich unter MultiWii nie ausprobiert. Ich würde dir CleanFlight ans Herz legen, dort ist dein Vorhaben relativ leicht umzusetzen und die Software ist mittlerweile wesentlich nutzerfreundlicher, als das MultiWii Projekt.
Grüße,
Nils