TZ Vario

Introduction

A la suite de mes travaux sur le Vario RCT, j’ai décidé de développer ma propre version basée sur un capteur de pression plus récent et un logiciel complétement redéveloppé.
Les capteurs utilisables sur le Vario RCT sont nombreux mais commencent à dater. Le logiciel RCT a comme inconvénient d’avoir un temps de cycle acquisition / émission de l’ordre de 190 à 200ms, soit environ 5 mesures par seconde. Les filtres, fonctionnant à cette cadence, introduisent un retard important et il est trop compliqué de modifier l’architecture du logiciel RCT.

Nouveau capteur de pression

J’ai choisi un capteur Bosch Sensortec BMP390 qui propose de bonnes performances et est approvisionnable monté sur carte.
Le logiciel a été développé et testé uniquement avec ce capteur, cependant, comme il est identique en terme d’interface logicielle au BMP388, il doit être possible d’utiliser le BMP388 en lieu et place. (Non testé)

Câblage

Ce capteur se présente sous forme d’un boîtier de 2 x 2mm équipé de 10 pads sous le boîtier. Il est donc impossible de le monter à la main sur un PCB maison. Refusion obligatoire. J’ai donc acheté une carte pour le capteur BMP390 que j’associe à une carte Arduino Pro Mini 3.3V/8Mhz.
Il est possible d’opter pour une carte Arduino Pro Mini 5V/16Mhz car la carte BMP390 intègre un régulateur de tension 3.3V et des translateurs de niveaux sur les interfaces I2C.

Interconnexions :

  • SDA = A4 Arduino – SDI-BMP390
  • SCL : A5 Arduino – SCK BMP390
  • 3.3V : Vcc Arduino – Vcc BMP390
  • GND : GND Arduino – GND BMP390
  • SDO : Sélection adresse I2C – GND ou 3.3V (Ne pas laisser non connecté)
  • Arduino RX – TX : Résistance de 2.4k à 4.7kohms
  • Connecteur JR + : Arduino RAW
  • Connecteur JR – : Arduino GND
  • Connecteur JR signal : Arduino TX

Cartes Arduino 3.3V et BMP390.

Logiciel

Pour le logiciel, je suis reparti de zéro.
L’interface Jeti EX utilise la bibliothèque JetiExSensor de Bernd Wokoeck.

L’interface du capteur BMP390 utilise la bibliothèque Adafruit_BMP3xx.

Le BMP390 intègre un capteur de pression et un capteur de température.
En mode normal, le capteur réalise des mesures pression / température de façon cyclique et met les résultats à disposition.
L’augmentation de résolution des mesures est obtenue par sur-échantillonnage (« oversampling »). Pour la mesure de pression, le sur-échantillonnage est réglable de x1 à x32.
A x1, une valeur de pression est obtenue par une mesure pour un résultat sur 16 bits.
A x32, une valeur de pression est obtenue par 32 mesures pour un résultat sur 21 bits.
Une mesure de pression étant réalisée en environ 2ms, à x32 le temps total avec température atteint les 70ms, soit 14hz.
Pour avoir un filtrage efficace des mesures, il faut alimenter le filtre avec un grand nombre de valeurs, ce qui conduit à un certain retard.

A partir de ces éléments, on voit qu’il va falloir faire un compromis entre la résolution (sur-échantillonnage) et la fréquence de mesure.

Tableau résolution en fonction du sur-échantillonnage :

La colonne de droite donne la résolution obtenue en mm en fonction du sur-échantillonnage.
Le bon compromis semble se situer entre x8 et x16 pour une résolution de 27.5mm (à 50hz) ou de 14.1mm (à 25hz).

Le bruit RMS du capteur peut être réduit par le filtre IIR intégré au capteur.

Tableau du bruit en fonction du sur-échantillonnage et du coefficient du filtre :

En Ultra High Resolution (x16) et IIR coef 4, le bruit RMS est de 0.4Pa soit (équivalent à 33.3mm)
En High Resolution (x8) et IIR coef 8, le bruit RMS est de 0.3Pa soit (équivalent à 25mm)
Le temps de filtrage est identique puisque dans le premier cas on échantillonne à 25hz et dans le second à 50hz …
Compromis, encore …

Principe

Le capteur de pression barométrique permet de mesurer la pression atmosphérique.
La pression atmosphérique normale au niveau de la mer à 15°C est de 1013.25 hPa.
Cette pression varie en fonction des conditions météorologiques, de la température et de l’altitude.
En considérant le paramètre météorologique stable sur le lieu et la durée du vol de notre planeur, la pression peut être utilisée pour déterminer altitude.

Calcul de l’altitude :

Au niveau de la mer :

  • Une variation d’1 hPa = 8,3 m
  • Un écart d’1 m = 0.12 hPa (12 Pa).

Calculs :

Pression –> Altitude –> Altitude relative –> Vario

Altitude relative = Altitude courante – Altitude de départ

Vario = (Altitude courante – Altitude précédente) / (Delta temps entre les 2 mesures)

Après quelques tests, j’ai choisi de régler le BMP390 en mode ‘High resolution’ (sur-échantillonnage x8) pour avoir une sortie de mesures à 50Hz. La résolution est de 27.5mm dans ce mode.

Le logiciel intègre 3 filtres paramétrables en cascades.
Le premier étant l’IIR intégré au capteur de pression BMP390, le deuxième sur l’altitude et le troisième sur le vario. Les 2 filtres logiciels sont du type EMA (Voir explication RCT Vario)

Il est préférable de filtrer le plus tôt possible (donc la pression).

Le logiciel RCT Vario échantillonne et filtre à environ 5Hz, ce qui fait que si l’on filtre ‘beaucoup’, on a un retard important.
Mon logiciel échantillonne les mesures à 50Hz (20ms), les filtres ‘pression’ (IIR intégré au capteur) et ‘altitude’ fonctionne à cette fréquence. Les calculs et filtrage du vario sont à 16.7 Hz (60ms) afin d’effectuer les calculs sur un intervalle temporelle plus grand et d’éviter des calculs sur des valeurs trop petites.
Il en découle que le filtrage vario induit plus de retard que les 2 précédents.

Les réglages suivants donnent un fonctionnement correct du vario :

Nota : Un coefficient de filtre de 0.05, correspond à un filtrage quasiment désactivé.

Le logiciel envoie (toutes 150ms environ) sur la télémesure Jeti EX les informations suivantes :
– Pression (hPa)
– Température (°C)
– Altitude realtive (m)
– Vario (m/s)

Conclusion

Ce ‘vario’ pour système Jeti Ex fonctionne mieux que la version originale RCT, et même mieux que le Vario RCT avec mes logiciels améliorés. Il est nettement plus stable et permet de réduire notablement la bande morte (Valeurs ou le variomètre sonore est inhibé autour de 0m/s.

Logiciel TZ Vario

Disponible sur demande.

Share

You may also like...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *