Séquenceur pour train d'atterrissage

Article écrit par CoyotteDundee en Novembre 2021

Introduction


Un pilote de mon club m’a demandé s’il était possible de gérer la séquence d’ouverture et fermeture du train d’atterrissage de son dernier modèle.
En effet, celui-ci est muni de trappes qui s‘ouvrent lors de la rentrée et de la sortie du train, puis se ferment une fois le train dans la position souhaitée.
Il existe des boîtiers électroniques capables de gérer ce séquencement, mais nous allons voir qu’avec OpenTx, c’est un jeu d’enfant d’arriver à ce résultat sans aide extérieure.

Pour des raisons didactiques, cet exemple se focalisera sur la problématique du train.
Les autres entrées et mixages relatifs au pilotage de l’appareil (Ailerons, direction, gaz, etc) ont été retirés du modèle pour gagner en clarté.
Pour les mêmes raisons, les valeurs de sortie ou d'entrée sont exprimées par une valeur entière et les ratios par une valeur suivie d'un %.

Définition des besoins


Si l’on désire arriver au bon résultat, il faut préalablement définir avec précision le comportement que l’on souhaite obtenir.
Dans le cas présent, nous souhaitons le fonctionnement suivant :



Les trappes sont donc toujours ouvertes préalablement à tout changement dans la position du train et se referment lorsque le train est dans la position voulue.
Cette définition permet de comprendre qu’il existe une notion temporelle dans ce comportement.
Les trappes s’ouvrent ensuite le train sort ou rentre et ensuite les trappes se referment.
Il faudra donc trouver un moyen de contrôler les éléments en fonction du temps. Cette notion sera appelée « Ligne du temps » dans la suite de cette présentation.

Définition des moyens


Nous avons défini ce que nous souhaitons obtenir comme comportement. Nous allons maintenant spécifier les moyens pour y parvenir en définissant les entrées/sorties concernées.

Sorties


Une fois n’est pas coutume, commençons par la fin. Pour commander nos trappes et notre train, nous avons besoin de servos ou de moteurs.
Afin de ne pas compliquer inutilement cet exemple, nous allons considérer qu’une voie sera dédiée à la commande des trappes et une voie à celle du train.

Dans notre exemple, la voie 6 sera réservée au train et la voie 7 commandera les trappes.
Lorsque la voie 6 est à -100, le train est rentré. A +100, le train sera sorti.
De même, lorsque la voie 7 vaudra -100, les trappes seront fermées. Elle seront ouvertes pour une valeur de +100.

Entrées


Nous savons ce que nous allons commander. Reste à définir comment.
Dans le cas d’un train d’atterrissage, une commande « tout ou rien » est amplement suffisante. Un interrupteur fera donc parfaitement l’affaire.
Dans le cas présent ce sera SA. (Ce pourrait être SB, SC ou tout autre interrupteur mieux placé sur la radio selon vos critères personnels)
Lorsque SA sera en position haute (SA↑) le train sera rentré. Dans le cas contraire, le train sera sorti. (Notez bien que j’écris « dans le cas contraire » et non « si SA est en position milieu » ou « si SA est bas »… Vous comprendrez pourquoi dans quelques paragraphes.)

Ebauche de solution



Ligne du temps


Nous devons trouver un moyen de commander nos voies en fonction d’un temps imaginaire.
Fort heureusement pour nous les développeurs d’OpenTx (bénis soient-ils !!!) ont prévu un paramètre "ralenti"  {Slow} sur les mixages. Ce paramètre permet de définir le temps mis par la voie pour passer d’une position extrême (-100 par exemple) à l’autre (+100 pour le même exemple).

Il existe un ralenti haut, qui spécifie le temps nécessaire pour passer de -100 à +100 et un ralenti bas qui détermine le temps pour passer de +100 à -100 ce qui autorise des vitesses de ralenti différentes.
Notre ligne du temps sera donc basée sur un tel ralenti. Nous disposerons d’une voie qui passera de -100 à +100 et de +100 à -100 en un temps déterminé.

Conversion de la position temporelle en position de servo


Nous devons maintenant convertir cette information en une position pour les trappes et le train.
Encore une fois, les développeurs d’OpenTx (bénis soient-ils !!!) ont implémenté une fonctionnalité d’une souplesse impressionnante : Les courbes !

Petit rappel rapide sur les courbes…
Dans OpenTx, une courbe permet de transformer une valeur d’entrée X en une valeur de sortie Y selon une fonction de transformation déterminée par une courbe définie par l’utilisateur.
Ci-dessous un exemple de courbe définie par 5 points de passage :

tutotrain_2

Concentrons-nous sur le dessin de la courbe :

tutotrain_3

L’abscisse (l’axe horizontal rouge), représente la valeur d’entrée (bien souvent, ce sera la position d’un manche) qui peut aller de -100 à +100.
L’ordonnée (l’axe vertical bleu) , représente la valeur de sortie pouvant également aller de -100 à +100.
La courbe verte représente les valeurs de sortie pour chaque valeur d’entrée possible.

Dans cet exemple, si la valeur d’entrée vaut -50, la valeur de sortie sera égale à -20.

tutotrain_4

Selon la même courbe, pour une valeur d’entrée égale à 50, la valeur de sortie vaudra 30.

tutotrain_5

Par défaut, pour les valeurs d’entrée situées entre les points définis par l’utilisateur, le logiciel calcule la valeur de sortie selon une approximation linéaire.
Par exemple, pour une valeur d’entrée de 25, la valeur de sortie sera de 15. Et pour une valeur d’entrée de 75, elle sera égale à 65.


Utilisation des courbes dans notre solution


Imaginons la courbe suivante :

tutotrain_6

Lorsque X vaut -100, la valeur correspondant est -100. Et cela, tant que X est inférieur à -30.
A partir de ce point, la valeur de Y augmente jusqu’à atteindre 100 lorsque X vaut 30. Au delà de 30, la valeur de Y reste fixée à 100.
Imaginons que cette courbe représente la sortie de la voie du train. Tant que l’entrée X est inférieure à -30, le train reste rentré. Entre -30 et +30, le train sort. Au delà, il reste sorti.
Sympa, non ?

Examinons maintenant la courbe suivante :

tutotrain_7

De -100 à -75, la sortie est égale à -100. Entre -75 et -50, la sortie passe progressivement à +100., position qu’elle garde jusqu’à ce que l’entrée atteigne 50. A partir de là, la sortie repasse progressivement à -100, valeur qu’elle garde pour X allant de 75 à 100.
Cette sortie pourrait ressembler au fonctionnement d’une trappe de train… non ?

Mise en place de la solution



Les entrées


Nous allons créer une entrée correspondant à la commande du train :

tutotrain_8

Dans l’écran des entrées, nous créons l’entrée Trai qui peut avoir deux valeurs :

Voilà pour les entrées.

Les mixages



Ligne du temps


Nous allons créer notre Ligne du temps  en joutant un mixage sur le canal 10. (Ce pourrait être n’importe quel autre canal libre, bien évidemment)
Le mixage est le suivant :

tutotrain_1

Nous prenons comme source l’entrée [I]Trai que nous avons créée. Tous les autres paramètres sont inchangés sauf les Ralentis Haut {Slow Up} et Bas {Slow down} qui sont fixés à 5 secondes.
Si l’on teste le modèle à ce moment-là, on constate que selon la position de SA, la voie 10 voit sa valeur augmenter ou diminuer progressivement.

Voie du train


La voie 6 reçoit le mixage lié au train :

tutotrain_11

Ce mixage prend comme Source la voie 10 (notre ligne du temps) et lui applique la courbe CV1

Voie des trappes


Le mixage de la voie 7 est comparable sauf qu’il utilise la courbe CV2

tutotrain_12

Nous y sommes presque…

Les courbes


Il nous reste deux courbes à définir.

Courbe du train

tutotrain_13

La courbe du train est en 5 points dont les valeurs sont données ci-dessous :
tutotrain_14

Courbe des Trappes

tutotrain_15

C’est une courbe en 6 points :
tutotrain_16

Et voilà ...
C’est terminé !

Tests et ajustements


Si vous placez l’écran de votre Taranis en mode visualisation des voies, et que vous basculez l’inter SA, vous verrez alors les voies 6 et 7 évoluer comme prévu.
Il est bien évidemment possible d’ajuster le fonctionnement du système en jouant sur
- la durée du ralenti
- les points de courbes pour déterminer le début et la fin des mouvements des différentes parties.

Comme toujours avec OpenTx, il est possible d’améliorer cette base en y ajoutant, par exemple, une information vocale ("Trains sorti", "Train rentré"), une deuxième voie de train pour gérer les jambes gauches et droites séparément (avec même un timing de rentrée différent), …
Tout est possible, votre imagination est la seule limite !

Avant de vous laisser, je tiens à remercier mon épouse pour la relecture attentive de cet article.
Bons vols !

:coyotte