Utiliser un slider comme Trim de ralenti

Article écrit par LapinFou en Novembre 2021.

Introduction


Le but de cette article est d'expliquer comment utiliser un slider en lieu et place d'un trim pour contrôler le ralenti d'un moteur thermique.

De base, dans le menu configuration, il existe une option "Trim ralenti uniquement" dédiée à cela.
Bien évidemment, cela ne fonctionne qu'avec un "vrai" bouton de trim.
Pour bien visualiser la différence entre un trim classique et un trim ralenti, voici deux petits diagrammes.

Trim "Classique"


wiki_slider_ralenti_01
Lorsque l'on applique un trim classique (en vert), cela créait un décalage sur le mixage (en bleu).
Du coup, lorsque la source change (en orange), on observe que notre sortie est en buté avant que notre source soit arrivée à 100%.
Pour utilisation sur des gouvernes, ce n'est pas un problème. D'une part le trim est rarement important et d'autre part on pilote rarement les manches dans les coins. :D
Par contre, cela pose un problème pour contrôler le ralenti moteur.
En effet le moteur thermique sera potentiellement "pleine balle" même si le manche de gaz n'est pas à fond.
C'est pour cela qu'OpenTX a inclus une fonction "Trim ralenti uniquement".

Trim "Ralenti moteur thermique"


wiki_slider_ralenti_02
Ici, on peut observer que l'effet du trim (en vert) est progressivement retiré proportionnellement à la position de la source des gaz (en orange).
La sortie envoyé au servo de gaz (en bleu) va bien être proportionnel à la position de la source des gaz.
Il n'y a plus d'effet d’écrêtement. C'est exactement ce que l'on veut !
Contrôler le ralenti du moteur, lorsque le manche de gaz est en bas, tout en gardant un contrôle proportionnel sans écrêtement sur la sortie.

Dans la suite de cet article, je vais vous expliquer comment reproduire ce comportement en utilisant un slider en lieu et place d'un trim.

Cahier des charges


Pour faire cela, il faut:
Note: J'ai choisi une plage de trim de 0% à 50%, car c'est la valeur proposée nativement par OpenTX.
Bien évidemment VG1 est optionnel. Dans la suite ce cet article, je propose également une programmation sans Variable Globale.
A noter que pour les programmations complexes utilisant plusieurs phases de vol, VG1 peut vous permettre d'avoir un trim ralenti max différent pour chaque phase de vol. :D

Calcul du trim inversement proportionnelle à la source des gaz


En analysant le digramme de principe Trim "Ralenti moteur thermique", on peut en déduire la formule pour avoir un trim inversement proportionnelle à une commande de gaz:
TrimG = TrimSlider - TrimSlider * PositionGaz
:warn Cette formule fonctionne avec une plage de fonctionnement [0%; +100%].

Pour que cela fonctionne correctement, la plage de fonctionnement de l'entrée Gaz doit donc aller de 0% à +100%.
Il faut donc convertir la plage du gaz [-100%; +100%] dans une plage [0%; +100%], ce qui donne:
PositionGaz = (50% * [E]Gaz + 50%)

Il faut également convertir la plage du slider RS [-100%; +100%] dans une plage [0%; 50%].
Comme on souhaite pouvoir ajuster le trim max, on remplace 50% par VG1, ce qui donne une plage Trim ralenti [0%; VG1]:
TrimSlider = 50%*VG1 * RS + 50%*VG1
TrimSlider = 50% * (VG1 * RS + VG1)

Pour toutes ces conversions, voir le tuto de Maître :coyotte: ici → Notions complémentaire à propos de Ratio et Décalage

En factorisant, on peut aussi écrire la formule comme cela (c'est bien plus joli :love ):
TrimG = TrimSlider * (100% - PositionGaz)

Donc la formule finale est:
TrimG = 50% * (VG1 * RS + VG1) * { 100% - (50% * [E]Gaz + 50%) }

On arrange un peu la formule afin de pouvoir la programmer facilement sous OpenTX.
Pour mémoire, les seules opérateurs disponibles sont: addition, multiplication ou remplacer.
Il n'y a pas de soustraction, donc il faut remplacer la partie "[...]100% - ([...]", par "[...]100% + ([...]".
Au final, après transfère du signe moins dans la parenthèse (en rouge, ci-dessous), cela donne: :cool
Formule finale avec VG1 :
TrimG = 50% * (VG1 * RS + VG1) * { 100% + (-50% * [E]Gaz - 50%) }


Comme expliqué dans le précédent paragraphe, vous pouvez ne pas utiliser VG1.
Dans ce cas, l'équation devient:
Formule Finale sans VG :
TrimG = (25% * RS + 25%) * { 100% + (-50% * [E]Gaz - 50%) }


Maintenant que nous en avons fini avec les Maths, on peut passer à la programmation.

Programmation


En image sous Companion.

Phases de Vol


wiki_slider_ralenti_03

Entrées



wiki_slider_ralenti_04

Solution 1: Mixages utilisant VG1



wiki_slider_ralenti_05

Le mixage de la VOIE17 est l'accumulation des opérations du haut vers le bas:
VOIE17 = 0% + (-50% * [E1]Gaz - 50%) ]
VOIE17 = VOIE17 + 100%
VOIE17 = VOIE17 * (VG1 * RS + VG1)
VOIE17 = VOIE17 * 50%
Ce qui correspond bien à la formule voulue.

Solution 2: Mixages n'utilisant pas de Variable Globale



wiki_slider_ralenti_06

Le mixage de la VOIE17 est l'accumulation des opérations du haut vers le bas:
VOIE17 = 0% + (-50% * [E1]Gaz - 50%) ]
VOIE17 = VOIE17 + 100%
VOIE17 = VOIE17 * (25% * RS + 25%)
Ce qui correspond bien à la formule voulue.

Conclusion


Tada !!! Le cahier des charges est rempli. :D
Si vous faites varier le slider RS, cela modifiera bien le ralenti sur la VOIE01 avec le manche des gaz en bas.
Si vous poussez progressivement le manche des gaz vers le haut, vous verrez la VOIE17 progressivement tendre vers 0%.
Pour finir vous ne verrez pas d’effets d’écrêtements sur la VOIE01.

Tout est possible avec OpenTX. :nerd

:lapinfou