Programmieren eines Flächenfliegers mit Flugphasen

Die Programmierung der Fernsteuerung für einen neuen Flieger ist immer wieder eine Herausforderung. Nicht nur, weil wir es nur gelegentlich machen und das Wissen damit immer wieder dem Vergessen anheimfällt (zumindest bei mir ;), sondern auch, weil dutzende Wege (und Umwege) mit verschiedenen Vor- und Nachteilen nach Rom führen. Als sich immer weiterentwickelnde Gedankenstütze für mich habe ich daher hier mein “Konzept” für die flugphasenabhängige Programmierung eines Flächenfliegers mit diversen Zusatzfunktionen niedergeschrieben.

Auch wen dieser Artikel schon lange nicht mehr in der ersten Version vorliegt, lerne ich ständig Neues hinzu, probiere andere Konzepte aus und wäge sie gegen das Bestehende ab. In diesem Sinne ist dies bestimmt nicht der Weisheit letzter Schluss und schon gar nicht die einzig richtige Möglichkeit Flächenflugzeuge zu programmieren. Ich werde hier weiterhin immer wieder anpassen, korrigieren und ergänzen. Sehr gerne nehme ich Anregungen, Kritik und Hinweise von Jeti- und Modellfliegerkollegen entgegen!

Voraussetzung zum Einstieg in diese Anleitung: Der Flieger ist gemäss Punkt 1 und 2 des Grundvorgehens eingerichtet.


Inhalt

1. Ein paar Gedanken zur Belegung des “Cockpits”
1.1 Cockpit Ergonimie
2. Flugphasen
3. Fahrwerk
3.1 Bugradsteuerung
3.2 Radbremsen
4 Landeklappen / Flaps
4.1 Klappensteuerung mit flugphasenabhängigen Funktionskurven
5. Flugphasenabhängige Trimmung
6. Zum Schluss…

Anhang

A.1 Variante: Klappensteuerung über einen (logischen) Schalter
A.2 TODO


1. Ein paar Gedanken zur Belegung des “Cockpits”

Eine im Flug wie am Boden gut und sicher bedienbare Belegung unserer Fernsteuerung ist essentiell für ein entspanntes und sicheres Flugvergnügen. Oder anders rum ausgedrückt: Die fliegerische Herausforderung reicht vollauf; Ich möchte so wenig meiner geistigen Kapazität wie möglich für die Bedienung der Steuerung aufbringen müssen.

Fliegen heisst auch hier:

Voraussetzungen schaffen – Mach Dir das gute Gelingen so einfach wie möglich.

Aus diesem Grund folgen zuerst ein paar Überlegungen zur “Cockpit-Ergonomie”.

Ich folge zwei Grundsätzen:

  1. Belege Dein Cockpit ergonomisch.
  2. Belege Dein Cockpit immer gleich (ähnlich).
    Das Fliegen mit verschiedenen Modellen soll kein Memoryspiel auf der Fernsteuerung sein. Besonders hilfreich ist das bei nicht ganz so häufig geflogenen Modellen wie vielleicht dem Hangboliden, für den es kaum je genug Wind hat. Und leg dir trotzdem ein Fliegerblatt an, Dummerchen ;)

Zum zweiten Punkt braucht es keine weitere Ausführungen. Auch wenn wohl die meisten Modellpiloten “ihre” Belegung bereits gefunden haben, möchte ich einige Gedanken zum ersten Punkt aufschreiben.

1.1 Cockpit Ergonomie

Ich fliege “Mode 2”, also Höhe & Quer rechts, während ich Gas & Seite links steuere. Während des Fluges befinden sich die Hauptfunktionen, das Quer- und Höhenruder, damit auf dem rechten Kreuzknüppel. Damit ich diese Hauptfunktionen immer im Griff habe, lege ich Funktionen, die ich im Flug manipulieren will, mit Vorteil auf die linke Hälfte der Fernsteuerung. Dort kann ich sie mit der “freien” Hand bedienen.

Die Anordnung innerhalb der linken Seite habe ich so gewählt, dass ich die Funktionen, je wichtiger, desto einfacher, finden kann. Die Schalter (Taster, Zwei- und Dreistufenschalter) habe ich, wo nötig, entsprechend umgebaut bzw. verschoben. Die wichtigste Funktion, das Fahrwerk, befindet sich ganz links aussen. Zum finden des Schalters und Ausfahren des Fahrwerks, reicht in einer Stresssituation eine bedachte “Fangbewegeung” von  links aussen über die Ecke der Fernsteuerung nach innen. Die drei wichtigsten Flugphasen, zum Start, für die Landung und den normalen Flug, befinden sich auf dem aussen liegenden Dreistufenschalter Sb, der noch gut zu finden ist. Die für die Flugsicherheit unwichtige Flugphase “Aerobatic” befindet sich hingegen auf dem schwieriger zu findenden Schalter Sc. Ebenfalls eine sehr wichtige Funktion kommt dem wiederum einfach zu findenden Taster Sd zu: Dieser gibt mir je nach Flieger über die Motorlaufzeit, die verbrauchte Akkukapazität oder Treibstoffmenge Auskunft.

Am Boden befinden sich die Hauptfunktionen, Seite/Bugfahrwerk und Gas, auf dem linken Knüppel, wir haben also die rechte Hand zum Manipulieren frei. Die Schalter, Dreh- und Schiebegeber der rechten Hälfte bieten sich darum für das Bodenhandling an. So befindet sich der Schalter für die Flugphase “Taxi” bei mir auf dem Schalter Si und die Trimmung des Bugrades geschieht wie bei einem Steuerrad über P7. Bei Seglelfliegern mit einem Jeti Vario bediene ich das Vario üblicherweise über Sj. Auch hier habe ich die Belegung nach Auffind- und Erreichbarkeit gewählt.

Aufgrund dieser Überlegungen habe ich die Funktionen für dieses Beispiel wie folgt verteilt:

2. Flugphasen

Im Folgenden wollen wir einen Jet mit Querrudern, Flaps, Einziehfahrwerk und Radbremsen unter Verwendung der Flugphasen

  • Flaps Up (normaler Flug)
  • Flaps Take Off (Start, Flaps ca. 15°)
  • Flaps Landing (Landung, Flaps 60-80°)
  • Taxi (Rollen am Boden)
  • Aerobatic (agiler Flug)

programmieren.

Die Flugphasen definieren wir unter Feineinstellungen → Flugphasen. “Flaps up” ist die Standardflugphase, welche von allen anderen “übersteuert” wird. Das heisst (nur) wenn alle anderen Flugphasenschalter OFF (×) sind, ist diese Flugphase aktiv. “Aerobatic” wird von den Start- und Landestellungen der Klappen übersteuert, während “Taxi” alle anderen übersteuert. So kann ich den Schalter Sb bereits beim Rollen zum Start auf “Flaps TO” stellen, während ich mit Si tatsächlich noch in der Flugphase “Taxi” bin. Nach der Landung, egal ob Zero-Flaps oder mit Full-Flaps, kann ich mit Si wieder direkt in den Taxi Modus wechseln.


3. Fahrwerk

3.1 Bugradsteuerung

An die Bugradsteuerung stellen wir die folgenden Anforderungen:

  • Das Bugrad und Seitenruder sind getrennt trimmbar.
  • Wenn das Fahrwerk eingefahren ist, steuert das Bugrad nicht mit.
  • Für gute Manövrierfähigkeit beim Rollen und trotzdem besonders feiner Steuerung beim Starten und Landen, gelten für die Flugphase “Taxi” andere Einstellungen für Ausschläge und Expo als für alle anderen Flugphasen.

In der Maske Modellwahl/-modifikation → Funktions+Geberzuordnung erfassen wir eine neue Funktion “Bugrad”. Als Geber wählen wir P3, die links-rechts-Funktion des linken Knüppels. Dass bereits das Seitenruder auf diesem Geber liegt, stört uns nicht. Indem wir das Bugrad als eigene Funktion mit einem eigenen Geber erfassen, stehen uns sämtliche Möglichkeiten wie (flugphasenabhängige) Funktionskurven und Expo/Dualrate zur Verfügung. Möglichkeiten, die wir bei der Ansteuerung ohne eigene Funktion oder Geber (also z.B. direkt über einen Mischer von Seite->Bugrad) nur beschränkt, oder aber mit einem mitunter verwirrendem Zusammenspiel der Haupt- und der beigemischten Funktion haben. Damit wir den Geradeauslauf am Boden (Bugrad) und in der Luft (Seitenruder) unabhängig voneinander trimmen können, wählen wir in der selben Maske einen separaten Trimmer für das Bugrad aus. Weil am Boden die linke Hand die Hauptfunktionen bedient, wählen wir mit P7 den Drehknopf auf der rechten Seite aus und weisen ihm einen passenden (kleinen, aber ausreichenden) Trimmweg zu.

Im Menu Modellwahl/-modifikation → Servozuordnung weisen wir der neuen “Bugrad” Funktion einen Servoausgang zu, womit nun das Bugrad vorerst analog zum Seitenruder gesteuert wird.

Die verschieden starken Ausschläge (oder gar keine Ausschläge, wenn das Fahwerk eingefahren ist) beim Bewegen des Seitenruder- und Bugrad-Knüppels lösen wir über flugphasenabhägige Dualrate- und Expoeinstellungen der Bugrad Funktion im Menu Feineinstellungen → Dualrate/Expo gemäss folgender Tabelle:

Gear Down Gear Up
Weg Expo Weg Expo
Taxi 100% 75% 0% 0%
Alle anderen Flugphasen 25% 35% 0% 0%

Zum effizienten Programmieren lassen wir die Dualratefunktion vorerst auf “Global” (G) eingestellt und definieren als “Switch” zum Umschalten der Dualrate/Expo den selben Schalter wie für das Fahrwerk (Sa). Damit können wir für die Schalterstellung “Gear Up” den Weg auf 0% stellen. Das Bugrad bewegt sich damit nicht, wenn das Fahrwerk eingefahren ist.

Fahrwerk eingefahren

Fahrwerk ausgefahren

Für die Schalterposition “Gear Down” stellen wir die feinen Steuerausschläge und Expo ein, so wie wir sie zum Starten und Landen haben wollen. Da wir zum Manövrieren am Boden eine eigen Flugphase haben, können wir hier wirklich mit Minimalausschlägen für einen ruhigen Start und Landung arbeiten. Servowege in der Grössenordnung von 15 bis 20% bei 40% Expo haben sich als gute Startwerte für die Feinabstimmung erwiesen. Damit stimmen nun eigentlich schon alle Flugphasen bis auf die Phase “Taxi”. Bei dieser stellen wir einen Normalweg von um die 100% zum Wenden auf der Piste ein. Wenn diese Ausschläge wesentlich kleiner sind, dann sollten wir die Hebelverhältnisse der Anlenkung anpassen.

Als nächstes stellen wir die Dualrate/Expo-Funktion auf “Flugphasenspezifisch” (S) um, womit sich vorerst nichts ändert, ausser, dass alle Änderungen ab jetzt nur die aktuelle Flugphase betreffen. Nun aktivieren wir die Flugphase “Taxi” und passen den Weg und die Expo wie gewünscht an:

Fahrwerk ausgefahren, Flugphase “Taxi”

Damit ist die Bugradprogrammierung nach den Vorgaben abgeschlossen.

Falls später neu, zusätzliche Flugphasen hinzugefügt werden, muss sichergestellt werden, dass diese von einer passenden Phase kopiert werden. Ggf. müssen die Bugradeinstellungen kontrolliert und korrigiert werden.

3.2 Radbremsen

An die Radbremsen stellen wir die folgenden Anforderungen:

  • Wenn das Fahrwerk eingefahren ist, ist die Bremse gelöst und kann nicht angezogen werden.
  • Je nach Flugphase sind verschiedene Bremsleistungen einstellbar.

Grundsätzlich möchte ich die Bremsen mit dem linken Knüppel steuern, dem Hauptgeber für das Handling am Boden. Im linken Knüppel habe ich einen Taster (Sk) eingebaut, den wir dafür verwenden wollen.

Zu diesem Zweck erfassen wir wieder – Jeti-typisch – unter Modellwahl/-modifikation → Funktions+Geberzuordnung eine neue Funktion die, wir “Radbremsen” nennen. Da die Bremsen aber nur mit ausgefahrenem Fahrwerk anziehen sollen, weisen wir der Funktion nicht direkt den Schalter Sk zu, sonder erstellen im Menu Erweiterte Einstellungen → Logische Schalter einen logischen Schalter, als UND Verknüpfung zwischen dem Fahrwerksschalter Sa und dem Bremstaster Sk.

Damit ist der logische Schalter L2 nur “ein”, wenn Sa ebenfalls “ein”, das Fahrwerk also ausgefahren ist. Diesen Schalter weisen wir nun der Bremsfunktion zu. Hier könnten wir, wie bei der Bugradsteuerung, einen Trimmgeber, zB. P8, festlegen. Den Trimm werden wir jedoch weiter unten eleganter lösen.

Damit unsere neue “Radbremsen”-Funktion überhaupt etwas bewirken kann, müssen wir sie unter Modellwahl/-modifikation → Servozuordnung dem passenden Servoausgang zuweisen. In meinem Fall ist dies der Ausgang 11 des REX12 Empfängers.

Um die gewünschte Bremsstärke einzustellen, können wir im Menu Feineinstellungen → Funktionskurven die Funktionskurve der Radbremse anpassen. In dem wir die Funktionskurve von “Global” (G) auf “Flugphasenspezifisch” (S) umstellen, können wir bei Bedarf auch je nach Flugphase unterschiedliche Bremsstärken einstellen.

Damit wir Bremsstärke – global oder flugphasenspezifisch – trimmen können, weisen wir unter Feineinstellungen → Digitaltrimmung den beim Elektroimpeller nicht verwendeten Drosseltrimm der Funktion “Radbremsen” zu.

Als Mode sind “Dros-Min” oder “Dros-Voll” sinnvoll, je nach dem, ob die Bremse anzieht, wenn am Steuerkanal “Vollgas” oder “Leerlauf” anliegt.

4. Landeklappen / Flaps

Die Klappen kennen drei Positionen, die analog der Flugphasen benannt sind:

  • Flaps Up
  • Flaps TO (Take Off Position)
  • Flaps LDG (Landing Position)

In der Flugphase “Taxi” sollen die Flaps eingefahren sein.

Diese Aufgabe können wir über zwei Wege lösen:

  1. Wir verwenden flugphasenabhängige Funktionskurven. Diese Variante folgt und bedient sich dem Jeti Paradigma “alles ist eine Funktion” sowie dem Konzept der Flugphasen. Ich empfehle diese Methode.
  2. Die Klappen werden klassisch direkt über einen Schalter gesteuert. Der Vollständigkeit halber ist diese Methode im Anhang dokumentiert. Ich empfehle diese Methode nicht!

4.1 Klappensteuerung mit flugphasenabhängigen Funktionskurven

Anstelle eines Schalters, der die Klappen steuert und gleichzeitig auch die Flugphasen umschaltet, setzt diese Methode konsequent auf Funktionen und Flugphasen. Sie ist nicht nur etwas einfacher zu programmieren und zu verstehen, sondern auch programmiertechnisch sauberer.

Das Konzept basiert auf flugphasespezifischen Funktionskurven. Wobei “Kurve” in diesem Fall übertrieben, ja eigentlich sogar falsch ist. Viel mehr weisen wir der Klappen-Funktion für jede Flugphase den gewünschten konstanten Wert zu. Dazu stellen wir zuerst die Funktionskurve im Menu Feineinstellungen → Funktionskurven von “Global” (G) auf “Flugphasenspezifisch” (S) um.

Flugphasenspezifische Funktionskurve für die Klappen. Der Kurventyp ist bereits auf “konstant” umgestellt.

Anschliessend stellen wir die Flaps-Positionen für alle Flugphasen ein. Als “Kurventyp” kommt die angekündigte “Konstante” zu Einsatz. Sofern wir die Klappen (-Servos) vorher sauber eingestellt haben, fahren die Klappen schön synchron in symmetrische Positionen (Punkt 1. und 2. beim Grundvorgehen). Falls sich bei den Ausschlägen doch noch Abweichungen ergeben, justieren wir die Klappenservos im Menu Modellwahl/-modifikation → Servoeinstellungen nach (Servo Min, Max, sowie auch die Mitte müssen identische Ausschläge der Klappen ergeben).

Flaps Up. Die Flaps liegen im Strak.

Flaps Take Off. Max-lift Position, meistens um die 15° Ausschlag.

Flaps Landing. Die Klappen sind voll ausgeschalgen.

Taxi. Flaps eingefahren.

Die Feinabstimmung der einzelnen Klappen aufeinander können wir danach, wenn noch notwendig, im Menu Feineinstellungen → Flugphasentrimmung vornehmen. Dort können  die beiden Klappenservos je nach “Stellung” des Sym. Menues einzeln getrimmt werden.

Die Höhenrudereinstellung beziehungsweise -trimmung zu den verschiedenen Landeklappenausschlägen lösen wir über die flugphasenabhängige Digitaltrimmung, wie im nächsten Kapitel beschrieben.

5. Flugphasenabhängige Trimmung

Bei Flugphasen mit verschiedenen Klappenstellungen können sich vor allem die Höhenrudereinstellungen stark unterscheiden. Auch die Querruderrimmung kann sich leicht unterscheiden, weil die Klappeneinstellung beim Programmieren des Modells wohl auf Anhieb (aerodynamisch) nie ganz symmetrisch gelingt. Eine sehr elegante und äusserst praktische Möglichkeit damit umzugehen ist die Aktivierung der flugphasenspezifischen Digitaltrimmung für das Höhenruder und optional auch für die Querruderfunktion. Dies können wir im Menu Feineinstellungen → Digitaltrimmung einstellen.

Sämtliche Klappenstellungen (bzw. eben eigentlich Flugphasen) können damit bequem einzeln und direkt im Flug über die Trimmer ausgetrimmt werden. So können wir bereits beim Erstflug mit einem für alle Landeklappenstellungen getrimmten Modell landen.

Falls nach dem Einfliegen die verschiedenen Klappenstellungen stark unterschiedliche Querrudertrimmungen aufweisen, sind die Landeklappen wahrscheinlich nicht ganz symmetrisch eingestellt. In diesem Fall lohnt es sich, die Klappeneinstellungen zu überprüfen und die Trimmung um die Längsache vom Querruder auf die Landeklappen zu übertragen.

6. Zum Schluss…

Wie zu Beginn geschrieben, habe ich diesen Leitfaden mit Ideen und Konzepten unter anderem niedergeschrieben, um nicht ständig das Rad neu erfinden zu müssen und ein bisschen Kontinuität in die Programmierung meiner Flieger zu bringen. In diesem Sinne werde ich die Konzepte hier immer wieder weiter entwickeln, ändern oder gar ganz über den Haufen werfen. Gerne nehme ich Anregungen, Ergänzungen und Kritik zum Thema entgegen!

Viel Spass mit dem tollen Jeti System und immer eine handbreit Wasser unter Kiel… ah, nein, falsch… Holm und Rippen… nein, Kompressorstall und Schaufelbruch, Mailman.

Anhang

A.1 Variante: Klappensteuerung über einen (logischen) Schalter

Vorneweg: Diese Variante ist eine Mischung aus aus Flugphasen- und klassischer Programmierung. Ich empfehle die Umsetzung mit der Klappensteuerung über flugphasenabhängige Funktionskurven.

Die drei Klappenstellungen wollen wir über den selben Schalter (Sb) bedienen, wie wir für die Flugphasen “Flaps Up”, “Flaps TO” und “Flaps LDG” verwenden. Im Menu Modellwahl/-modifikation → Funktions+Geberzuordnung könnten wir der Funktion “Klappen” daher direkt diesen Schalter zuweisen. Um jedoch die Klappen in der Flugphase “Taxi” (Si) einzufahren, egal wie der Schalter Sb (Klappen) gerade steht, erstellen wir einen weiteren logischen Schalter als Verknüpfung von Sb und Si:

“Flaps Up”, Steuerwert -100%

“Flaps TO”, Steuerwert 0%

“Flaps LDG”, Steuerwert 100%

“Taxi”, Steuerwert -100%, wie bei “Flaps Up”

Statt dem Schalter Sb, weisen wir der Funktion “Klappen” nun diesen neuen, logischen Schalter als Geber zu.

Um die Ausschläge der beiden Klappen wie gewünscht einzustellen, bemühen wir das Menu Feineinstellungen → Flugphasentrimmung. Zuerst ändern wir den Modus von “Global” (G) auf “Flugphasenspezifisch” (S). Jetzt können wir die zwei Klappenservos für jede Flugphase in die Position “trimmen”, die wir gerne hätten. Je nach Hebelarmwinkel und -länge wird vor allem die mittlere Position (“Flaps TO”, Steuerausgang 0%) einiges an Trimm erfordern.


A.2 TODO

Was (ich inzwischen weiss aber hier) noch fehlt:

  • Segler: Programmierung von Butterfly mit einem externen Trimmer zum Einfliegen.
  • Wölbklappen: Eigentlich gleich wie Flaps.
  • Ein Leitfaden zum Einfliegen/Erstflug eines Modells.