Mesure du temps de vol libre en planeur
Table des matières
Comme cela a déjà été évoqué à plusieurs reprises, OpenTx est à d’autre logiciels de radio ce qu'un atelier de menuiserie est à Ikea : Soit on utilise des modules « tout faits » qui offrent un certain nombre de possibilités et il faudra faire avec celles-ci, soit on dispose d’outils tels qu’OpenTx et on va pouvoir disposer de LA fonctionnalité souhaitée sans faire de compromis entre nos souhaits et les possibilités du système.
En voici un nouvel exemple :
Un pilote de planeur souhaite connaître le temps total passé en vol plané (c-à-d moteur coupé) lors d’un vol. Il veut donc comptabiliser le temps de vol pendant lequel le moteur ne tourne pas.
Petite contrainte supplémentaire, il souhaite que l’on ne tienne pas compte du temps perdu lors de la mise en œuvre du planeur. Il faut donc détecter que le moteur tourne pendant une durée minimum correspondante à une (re)montée et comptabiliser les temps sans moteur.
Analyse des besoins
Comme à chaque fois, avant d’entamer toute programmation, examinons les besoins :
- Il faut détecter une remontée au moteur, c'est à dire une durée de fonctionnement du moteur supérieure à n secondes.
Dans le cadre de cet exercice, n sera fixé à 2 (si à chaque test il faut patienter 10 ou 15 secondes, le temps de mise au point s’en ressent… ???? ) - Il faut détecter un moteur à l’arrêt APRÈS une montée et enclencher le chrono.
- Il faut détecter une remise des gaz pour arrêter le chrono.
- Le cycle doit pouvoir se poursuivre tant que l’accu n’est pas vide ou le pilote fatigué…
Mise en place de la solution
Grâce à la souplesse d’OpenTx, nous allons nous en sortir en utilisant simplement quelques interrupteurs logiques :
Détection de la montée
C’est assez facile : Il « suffit » de détecter que le moteur est activé pendant un temps minimum. Dans notre exemple, la voie qui commande le moteur est la voie 3
Nous avons donc un interrupteur logique configuré comme suit :
Code :
L01: a>x VOIE3 -94 --- 0.0 2.0
→ L01 est actif lorsque la voie 3 est supérieure à -95 pendant au moins 2 secondes.
Détection de l’arrêt du moteur
C’est encore plus simple puisse qu'il n’y a pas de contrainte temporelle
Code :
L02: a<x VOIE3 -95
→ Notez l’usage de -94 et -95 entre L01 et L02 afin de couvrir toute la plage de valeurs…
Mémorisation d’une détection de montée
Détecter une montée, c’est bien. S’en rappeler, c’est mieux !
Code :
L03: Bistable L01 !L02
L03 est un bistable qui s’active lorsque L01 est vrai, c’est à dire, lorsque le moteur a tourné au moins pendant la durée minimum et qui se désactive lorsque L02 devient faux.
Quand L02 devient-il faux ? Lorsque le moteur tourne.
« Oui mais, lorsque le moteur tourne pour activer L01, L02 est (déjà) faux », me direz-vous. Le bistable devrait donc s’activer et se désactiver immédiatement.
Non, car le bistable détecte un changement d’état. Il faut que l’état de L02 change ET que celui-ci soit faux pour que le bistable bascule.
Dans le cas présent L01 devient vrai après 2 secondes. Le Bistable bascule et L03 devient vrai. Lorsque l’on coupe le moteur, L01 retombe et L02 devient vrai. Le bistable ne change pas d’état. Lorsque le moteur sera relancé, L02 deviendra faux et le bistable basculera …
Détection de la condition de déclenchement
Nous pouvons déclencher le chrono de vol plané lorsque:
- Nous avons détecté une montée initiale (L03)
- ET que le moteur est coupé. (L02)
Code :
L04: ET L03 L02
C’est ce que détecte L04
Gestion du chrono
L05 est en charge du chrono:
Code :
L05: Bistable L04 !L02
A nouveau, nous utilisons un bistable qui s’active lorsque la condition de déclenchement est reconnue (L04) et se désactive lorsque le moteur est relancé (!L02).
Pour que le chrono soit géré par L05, il faut se rendre sur la première page de la configuration des modèles et sélectionner L05 comme activation du Chrono souhaité.
Et voilà… En 5 lignes de configuration, nous obtenons un fonctionnement taillé sur mesure. Bien évidemment, ceci n’est qu'une base qui peut être adaptée à d’autres situations et d’autres capteurs. Il serait, par exemple, possible d’utiliser l’altimètre pour détecter une remontée en lieu et place du moteur… Sky is the limit !
Bons vols !