Programmieren eines Jets 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, aber auch als Anstoss für andere, habe ich daher hier mein “Konzept” für die flugphasenabhängige Programmierung eines Motorfliegers (Jets) mit diversen Zusatzfunktionen niedergeschrieben. Noch während dem Schreiben habe ich so viel dazu gelernt, dass ich die Hälfte neu gemacht, oder sogar ganz anders gelöst habe, als zu dem Zeitpunkt als ich dachte “Hey, das ist gut, das musst Du unbedingt aufschreiben!”. In diesem Sinne ist dies bestimmt nicht der (meiner) Weisheit letzter Schluss und ich werde hier immer wieder anpassen. Sehr gerne nehme ich Anregungen, Kritik und Hinweise von Jeti- und Modellfliegerkollegen entgegen!

Voraussetzung: Der Flieger ist gemäss Punkt 1 und 2 des Grundvorgehens eingerichtet.


Inhalt

1. Ein paar Gedanken zur Belegung des “Cockpits”
2. Flugphasen
3. Fahrwerk
3.1 Bugradsteuerung
3.2 Radbremsen
4 Landeklappen / Flaps
4.1 Klappensteuerung über einen (logischen) Schalter
4.2 Klappensteuerung über flugphasenabhängige Funktionskurven
5. Flugphasenabhängige Trimmung
6. Zum Schluss…


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 andersrum 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. Aus diesem Grund folgen zuerst ein paar Überlegungen zur “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, verbrauchte Akkukapazität oder Treibstoffmenge Auskunft.

Die Schalter und Potis der rechten Hälfte bieten sich für das Bodenhandling an. Denn am Boden befinden sich die Hauptfunktionen, Seite/Bugfahrwerk und Gas, auf dem linken Knüppel. 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

programmieren.

Die Flugphasen definieren wir unter Feineinstellungen → Flugphasen. “Flaps up” ist die Standardflugphase, welche von allen anderen “übersteuert” wird. “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:

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. Damit stimmen nun eigentlich schon alle Flugphasen bis auf die Phase “Taxi”, bei der wir einen grösseren Maximalausschlag zum Wenden auf der Piste haben möchten.

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:

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:

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

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

  1. wir steuern die Klappen direkt über einen Schalter an
  2. wir verwenden flugphasenabhängige Funktionskurven (empfohlen)

4.1 Variante 1: 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.


4.2 Variante 2: Klappensteuerung über flugphasenabhängige Funktionskurven

Anstelle eines (logischen) Schalters, der die Klappen steuert und parallel dazu auch die Flugphasen umschaltet, setzt die zweite Variante konsequent auf die Funktionen der Flugphasen. Sie ist nicht nur etwas einfacher zu programmieren und zu verstehen, sondern damit 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 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 Höhenrudertrimmung zu den Klappenausschlägen können wir über die flugphasenabhängige Digitaltrimmung, wie im nächsten Kapitel beschrieben, lösen.

5. Flugphasenabhängige Trimmung

Bei den Flugphasen mit verschiedenen Klappenstellungen können sich die Höhen- und Querrudertrimmung stark unterscheiden. Besonders gilt dies aus verständlichen Gründen für den Höhenrudertrimm. Eine Möglichkeit dem zu begegnen, ist die Aktivierung der flugphasenspezifischen Digitaltrimmung für das Höhenruder und optional für die Querruderfunktion. Dies können wir im Menu Feineinstellungen → Digitaltrimmung einstellen.

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.