Accueil > electronique > Investigations autour de la communication série entre un Flarm et un assistant à la navigation aérienne

Investigations autour de la communication série entre un Flarm et un assistant à la navigation aérienne

flarmPratiquant le vol à voile ( le pilotage de planeur), je me suis intéressé il y a quelques temps à la possibilité de connecter un Flarm  à un logiciel d’aide à la navigation de type: Seeyou, LK8000 ou en core Xcsoar.Les informations délivrées par le le fabriquant Flarm sont assez peu précises sur l’interconnexion entre leur appareil et un logiciel tiers. D’autre part, les forums spécialisés de pratiquants du vol à voile n’apportent pas une vision complète sur la technologie utilisée et les moyens de mise en oeuvre. Les explications données sont approximatives et témoignent d’une méconnaissance matérielle et logicielle.Aussi, j’ai décidé d’investiguer un peu plus en profondeur sur les différentes solutions que l’on peut apporter à cette problématique.Nous examinerons tour à tour:

  • la détection automatique du matériel Flarm par les logiciels d’aide à la navigation
  • le protocole série du Flarm et les trames NMEA spécifiques
  • L’obtention d’une console série via l’USB sur les Pna / Pda
  • L’obtention d’une console série via l’USB sur un smartphone
  • L’alternative Bluetooth
  • Les solutions commerciales existantes
  • La réalisation d’une carte électronique dédiée

I – La détection Automatique du Flarm par les logiciels d’aide à la navigation

Une première chose qui m’a intrigué dans Xcsoar, LK8000 et Seeyou, c’est l’absence de menu de configuration pour la connectivité au Flarm. Bien sûr, des menus relatifs au Flarm existent dans les trois logiciels cités mais il est nullement question de configuration sur la communication. Tout ce passe comme si le Flarm était découvert automatiquement mais diable !!! comment est-ce possible ?

Ce qui est bien avec LK8000 et Xcsoar c’est que ces projets sont sous licence GNU/GPL (contrairement à Seeyou). Aussi on peut parcourir les sources ici pour LK8000 et pour Xcsoar. On se rend compte en parcourant les sources des deux logiciels d’une similarité sur le fonctionnement de la détection automatique des Flarms. Tout d’abord, une fonction assure la communication série entre le device et un GPS externe. Ensuite, un parseur est lancé à chaque trame NMEA reçue et le cas échéant active le status: « Flarm ENABLED ». Voilà ce que l’on peut trouver dans les sources de LK8000: Dans /Common/Source/Comm/Parser.cpp on trouve vers la ligne 122:

// FLARM sentences
      if(_tcscmp(params[0] + 1,TEXT(« PFLAA« ))==0)
        {
          return PFLAA(&String[7], params + 1, n_params, pGPS);
        }
      if(_tcscmp(params[0] + 1,TEXT(« PFLAU« ))==0)
        {
          return PFLAU(&String[7], params + 1, n_params, pGPS);
        }
      if(_tcscmp(params[0] + 1,TEXT(« PGRMZ« ))==0)
{
return RMZ(&String[7], params + 1, n_params, pGPS);

……. Il en ressort que les phrases PFLAA, PFLAU et PGRMZ sont propres au Flarm. Ces phrases spécificiques outre d’assurer la détection du matériel Flarm par le logiciel de navigation, seront celles utilisées pour les fonctions qui nous intéresse à savoir:
– détection d’anéronefs / obstacles
analyse des varios des autres aéronefs voisins
– altitude pressostatique (non GPS)

Pour résumer: Pour peu que l’on ai les moyens de connecter le Flarm à son Pda/Pna/smartphone , la configuration de celui-ci s’établira comme pour tout GPS classique sans donner d’options particulières. Le logiciel de navigation utilisera les trames NMEA classiques pour le positionnement de l’aéronef mais sera aussi en mesure d’analyser les trames propriétaires du Flarm afin d’assurer des fonctions avancées sur l’anti-collision et l’exploitation des varios d’autres planeurs.

II –  le protocole série du Flarm et les trames NMEA spécifiques

flarm_connector On trouve à l’arrière du Flarm la connectique suivante avec entre autre un connecteur femelle RJ45 et un connecteur femelle RJ12. Nommé « Data port » pour le premier et « Extension port » pour le deuxième. Le brochage est décrit dans le document suivant: FLARM_InstallationManual. Il est à noter que chacun de ces connecteur expose un port série indépendant vers l’extérieur.  Le data port configurable en vitesse émet par défaut à la vitesse de 19200 bauds. Ce n’est pas le cas de l’extension port lui limité à 4800 bauds. Les raisons d’avoir dissocié ces deux ports série sont un peu obscures surtout que les fonctions accessibles par l’ extension port le sont toutes par le dataPort (la réciproque n’est pas vrai). Une des raisons je pense à avoir conçu le système de la sorte est de pouvoir utiliser le flarm en parallèle entre des instruments de cockpit et des équipements annexes plus modernes (« Hight Cpu performance » dans la doc) permettant un débit plus élevé.  Quoi qu’il en soit, nous verrons par l’analyse des trames NMEA que c’est le Data Port qui nous sera utile pour l’objectif visé. Attention aux niveaux de tensions car bien qu’une sotie 3.3 V soit disponible sur la connectique du Flarm,  les niveaux de tension du port série ne sont pas TTL mais s’établissent à des niveaux de tensions -10 + 10 V (RS232 norme V.28). Donc il faudra convertir les niveaux de tension afin de communiquer avec un Pna/ Pda. Les trames NMEA du Flarm sont décrites chez le site du constructeur dans le document intitulé: FLARM_DataportManual On retrouve sans surprise les trames énoncées dans le chapitre I à savoir:

Sentence PFLAA

Syntax: PFLAA,<AlarmLevel>,<RelativeNorth>,<RelativeEast>,<RelativeVertical>,<ID- Type>,<ID>,<Track>,<TurnRate>,<GroundSpeed>,<ClimbRate>,<AcftType>

Meaning: Data on other aircraft around, intended for 3 rd party devices with sufficient CPU performance.

Sentence PFLAU

Syntax: PFLAU,<RX>,<TX>,<GPS>,<Power>,<AlarmLevel>,<RelativeBearing>,<AlarmType>, <RelativeVertical>,<RelativeDistance>,<ID>

Meaning: Operating status and high priority intruder and obstacle data, especially on the most relevant target.rd

Sentence PGRMZ

Syntax: (treat the following three versions as identical although FLARM currently only delivers the last one) PGRMZ,<Value>,F,3 PGRMZ,<Value>,F PGRMZ,<Value>,F,2

Meaning: Gives the barometric altitude in feet (1 ft = 0.3028 m) and can be negative.

Comme décrit ci-dessus, les trames <PFLAA> seront utilisées par le Pda /Pna pour afficher les varios des planeurs environnants. Si on se penche une peu plus sur les spécifités de cette « sentence NMEA » on lit : « This sentence is only delivered if the data-port Baud rate is 19.2kBaud or higher » , puis: « Availability on the extension port: not available, no configuration »

On en tire donc une information importante pour réaliser l’ interconnexion du Flarm avec un logiciel tiers: il faut obligatoirement utiliser le « Data Port » pour que toutes les fonctionnalités du logiciel (notamment la Vz des planeurs environnants) soient exploitées.

Pour résumer:
Le flarm expose deux ports série: le Data Port (connectique RJ45) et l’extension port (connectique RJ12) Le port à utiliser pour la communication entre le Flarm et le matériel d’aide à la navigation est uniquement le Data Port. La communication se fera par défaut à 19200 bauds. Attention, les niveaux de tensions du DataPort devront être adaptés pour la communication avec un Pda / Pna. Cette conversion de niveau de tension sera assurée par un dispositif ad-hoc détaillé ultérieurement.

III –  L’obtention d’une console série via l’USB sur les Pna / Pda

Seeyou et Lk8000 nécessitent (malheureusement) une installation sur une plateforme Windows version PC ou version Mobile (Windows CE).  Pour Xcsoar, le travail de portage a été réalisé pour une grande variété de plateforme (Windows, Linux, Android …) et on peut saluer le travail assez colossal de son (ses) concepteurs pour que cela soit possible (à noter que Xcsoar a été forké de LK8000 avec une réécriture from scratch). Cette investissement en temps de réécriture du code sera à terme profitable à Xcsoar car l’heure des terminaux sous WinCE a sonnée et dans quelques temps cela va être dur d’en trouver sur le marché (c’est un avis tout à fait personnel mais rendez-vous dans 2 ou 3 ans pour en parler). Quoi qu’il sen soit et pour le moment, la majorité des utilisateurs de logiciels d’aide à la navigation utilisent des terminaux sous Windows Mobile sur lesquels il faut donc arriver à avoir une console série. Ma première idée était d’utiliser un convertisseur USB-Serie tel que des FTDI car les drivers existent pour WinCE et que tous les Pna/Pda disposent d’une connectique Usb. Cependant c’est (presque) impossible. En effet, le système d’exploitation (WindowsCE) se trouve dans une ROM qui se lit au démarrage et s’inscrit dans la RAM lors du fonctionnement de l’appareil. Une partie du système de fichier est en lecture / ecriture dans la mémoire flash de l’appareil tandis qu’une autre (dans la Ram) pourra éventuellement être modifiée lors d’une session mais se verra obligatoirement réinitialisée au redémarrage. Le système se préserve ainsi de toute modification touchant à l’intégrité de son OS. Et c’est bien le problème qui se pose si on veut installer un driver qui n’est pas un programme un « userland  » mais touche le Kernel. Bref, à moins de modifier directement la ROM ce qui reste très improbable on en déduit que ce n’est pas la solution adaptée.

Il est néanmoins possible d’avoir une console série via l’ USB sur certains appareils mais la solution est d’origine matérielle et non logicielle.

Des GPS (Pna) un peu évolués permettent d’utiliser la fonction TMC qui permet de diffuser des informations de circulation aux automobilistes, généralement via le système RDS de la radio FM. Aussi, on trouve des antennes certifiées TMC avec une connectique USB. Sachant que ce matériel dialogue en envoyant des trames NMEA spécifiques via une communication série, il suffisait d’investiguer un peu dans cette direction pour percer le mystère. Observons les spécifications des connecteurs USB qui seront souvent dans notre cas de type « USB Connectors MINI-B ».

Pin Name Cable color Description
1 VBUS Red +5 V
2 D− White Data −
3 D+ Green Data +
4 ID None Permits distinction of host connection from slave connection* host: connected to Signal ground* slave: not connected
5 GND Black Signal ground

La solution qu’ont adopté les constructeurs GPS a été d’utiliser le <Pin 4> normalement réservé à la fonction USB OTG. Si vous prenez un câble Mini-USB classique (un adaptateur acheté en grande surface par exemple) et que vous le coupez, vous ne trouvez à l’intérieur que 4 fils (+5V, Gnd, D+ et D-) et non pas 5. Il en est ainsi car ces câbles servent habituellement à connecter des périphériques esclaves (disques dur externes, APN etc…). On se retrouve donc dans le cas indiqué dans le tableau ci-dessus: « Pin 4 , not connected « => slave .  Si le <Pin4> était relié à la masse, on passerait en mode « host ». C’est la solution qu’ont choisi les constructeurs de GPS pour dissimuler un port série dans leur appareillage.

Attention, j’ insiste bien sur le fait que cela n’a rien à voir avec la norme USB OTG et avec les modes slave et host du protocole USB général.  Il s’agit juste d’un contournement technologique (un hack en fait) décidé par les fabriquants.   D’ailleurs nous verrons plus tard que pour certains c’est la connexion sur le +5V et non pas à la masse qui révélera le port série dissimulé.

Fort de cet enseignement nous sommes donc en mesure de réaliser un câble spécifique pour notre application. Une des premières possibilité est d’acheter un un câble USB pourvu de 5 fils qui nous permettrait de connecter le <pin4> à la masse (ou au +5V selon) . De tels câbles existent;  même si ils sont beaucoup plus rares (et donc plus chers) que les autres. Avec un peu de doigté et de la patience, on peut aussi opérer sur un câble classique (vous savez ceux qui pullulent dans vos tiroirs ). Il suffira pour cela de découper l’enveloppe du connecteur afin d’avoir accès aux contacts et de souder. Il faudra malgré tout faire preuve de minutie et l’usage d’un bon fer à souder ainsi que d’une loupe binoculaire peuvent vous facilter la tâche. A l’issue de l’opération, on prendra soin de protéger les soudures avec de la colle fusible et d’envelopper le tout dans de la gaine thermo afin d’assurer la sécurité et la longévité du montage.

Une fois la connectique réalisée, vous serez à même de pouvoir tester la communication série avec votre Pna. La communication sera de de type TTL à 3.3 V. Côté PC un câble de typeTTL-232R-3V3 sera votre compagnon idéal pour vos tests, en connectant la masse, Rx et TX. Il est à noter que ce qui est décrit ici pour les Pna est aussi valable pour les Pda; cad qu’il faudra modifier le brochage du connecteur USB avec le <pin4> à la masse pour faire apparaître le port série. Côté Pna  / Pda, on pourra utiliser Putty le célèbre utilitaire de console sous Windows qui a été porté pour la plateforme visée ( Windows CE – ARM). L’exécutable se trouve à votre disposition ici. Sur les différentes plateformes que j’ai pu testé, le port série apparaissait sous <Com1> mais ce n’est peut-être pas une généralité. Quoi qu’il en soit, Putty vous permettra de rapidement tester les différents ports.

Pour les Pda, je n’ai pas encore testé de matériel qui ne permettait pas d’établir une communication série telle que celle décrite ci-dessus. Par contre, pour les Pna il est en tout autrement (hélas). Aussi, il faudra prendre soin à bien le choisir lors son acquisition. Sur GliderTools, on trouve des câbles USB qui permettent de connecter son Pna au logiciel de simulation Condor ou bien SilentWings. Ce montage permet aux accros de la simulation de voler en virtuel tout en utilisant leur outil d’aide à la navigation de tous les jours. Avec les explications qui précèdent, il est donc aisé de comprendre comment de tels câbles fonctionnent;   vous êtes donc en mesure d’en fabriquer un à pas cher. Par contre ce qui est intéressant,  c’est que le fabriquant à établi une liste de matériel compatible; liste dont nous n’avons qu’ à vous inspirer pour connaître l’éligibilité de votre matériel. La voici:

PNA Compatibility
Airis T605, T610, T620, T920, T930
Acer C510, C530
Dynavix Nano
Falk E30, E60, N30, N40, N80, N100, N120, N150, N200, N205
Medion MD96700, MD96710
MIO A201, A701, C210, C220, C250, C310, C510, C710, M169, M180, M201, M400, P350, P360, P550
MIO Moov 200, 200c, 200cQ, 200e, 200eQ, 200u, 200uQ, 210, 210e, 210eQ, 310, 310c, 310cQ, 310e, 310eQ, 310u, 310uQ, 330, 330e, 330eQ, 330u, 330uQ, 360, 360u, 360uQ, 370, 370u, 370uQ
Mitac Mio Digiwalker 169, 180, A201, A501, P340, P350, P550
Navigon Transonic 6000
Typhoon MyGuide 3210, 3220, 3230,
Yakumo deltaX GPS, deltaX 5BT
WAYTEQ (*)
OUDIE (*)
Vertica (*)

Sur le site, il est mentionné « CAUTION! THIS VERSION IS NOT COMPATIBLE WITH PNA WAYTEQ / OUDIE / Vertica V1 !!! «  (marqués par une (*) dans le tableau). Pour ces modèles, le fabriquant nous renvoie sur autre câble compatible. Vous l’aurez compris, il s’agit pour ces Pna d’une connectique différente du câble USB qui relie donc le <pin4>au +5V et non à la masse. On touche là du doigt les limites d’une solution matérielle qui n’est pas standardisée et donc permet un peu toutes les fantaisies !!!.
On peut lire aussi:
« This list is not complette If your PNA Supports external TMC receiver via mini-USB port, it is very likely that this cable will work properly » CQFD 🙂
Petite remarque au passage; de plus en plus de GPS du commerce disposent de fonctions TMC en dur (c’est à dire intégrés au sein même des appareils). Du coup, l’utilité de la connectique USB disparaît car plus besoin de dispositif externe (antenne). Aussi, la compatibilité TMC de l’appareil n’est pas garante d’une fonctionnalité du port série via l’USB.

Pour Résumer:
Il est possible d’obtenir une connectivité série via l’USB sur certains Pna et sur la majorité des Pda.
Bien qu’elle ne soit pas exhaustive, la liste des Pna compatibles est détaillée dans le présent paragraphe.
Vous pouvez éventuellement supposer une compatibilité pour les Pna supportant le TMC mais avec les réserves exposées ci-dessus.
La connexion série par le câble USB s’établira à des niveaux de tensions TTL de 3.3 V, il est donc important de bien vérifier les niveaux de tensions de la ligne interconnectée.
Vous ne pouvez pas connecter directement le Flarm sur un câble USB sans un dispositif d’adaptation de tension, vous risquez de griller le port série de votre Pna / Pda
Un simple câble USB du commerce avec 4 fils (+5V, Gnd, D+, D-) ne vous permettra pas d’établir la connexion série. Vous devez modifier le connecteur selon les modalités décrites ci-dessus.

IV –  L’obtention d’une console série via l’USB sur un smartphone

C’est un constat bien dommage, mais les constructeurs de smartphone dans leur ensemble n’ont pas facilité la possibilité de connecter simplement un port série sur leur appareils. Il existe cependant des contournements mais leur étude sort du cadre du présent article et ne sont pas destinés à l’utilisateur moyen ne voulant pas modifier le firmware de son téléphone. Il existe cependant pour les propriétaires de téléphone Android une alternative assez intéressante avec la IOIO Board. Cette carte architecturée autour d’un microcontrolleur de type PIC24F, expose un ensemble d’entrée / sorties et de ports (SPI, I2C, UART…) Elle dispose aussi d’un port USB lui permettant d’être vue comme un hôte par un système Android. Le device peut donc dialoguer normalement (et grâce à une API java pour Android) avec la carte et les modules qui lui sont reliés. Le port série peut donc être obtenu de cette façon. Cette possibilité n’a pas échappée aux développeurs de Xcsoar car on trouve dans les sources du projets différents fichiers java qui témoignent du support de la carte. En voici la liste:
IOIOConnectionHolder.javaIOIOConnectionListener.javaIOIOHelper.javaIOIOPort.java

Pour autant, la IOIO board n’acceptera les niveaux de tensions imposés par le Flarm. Il faudra donc convertir ceux-ci en niveau TTL 3.3 V avant de les rediriger en entrée de la carte . Bien que techniquement réalisable, cela donne un montage un peu volumineux et assez peu adapté à l’usage. Ci-dessous une photo tirée du site Top Hat Soaring qui donne un aperçu de la bidouille. Je vous engage d’ailleurs à prendre connaissance du projet Top Hat (actuellement en version beta) qui est assez sympa.IOIOMax232
Ce qui serait idéal, c’est le développement d’une carte dédiée de format réduit, embarquant tous les chips nécessaires pour la connexion avec le Flarm dont le micrcontroleur pour la liaison USB Host / Uart. C’est un beau challenge !! mais ce n’est pas impossible loin de là.

A noter aussi le le chip FTD311D de chez FTDI qui semble proposer des fonctionnalités similaires et un support intégré dans Android comme en témoigne cette page de leur site. La fabrication d’un prototype architecturé autour du FTD311D sera peut être plus simple à mettre en oeuvre. A suivre …

Pour Résumer:
Il n’y a  pour l’instant pas de moyens simples pour relier un smartphone via l’USB au FLARM.
Pour Android, le support de la IOIO Board par Xcsoar peut être une alternative mais il n’existe à ce jour pas de solution matérielle compacte en vente dans le commerce ou de prototypes ayant attirés mon attention.

IV –  L’alternative Bluetooth

Il ressort de la lecture du chapitre précédent que le bluetooth peut être une solution idéale (surtout pour les smartphones et certains Pda) plutôt retors à la connexion série via l’USB. En effet, la majorité d’entre eux permettent d’exposer un port série via le bluetooth. Exception faite des Iphone d’ Apple, qui ont protégé leur stack bluetooth et l’ ont réservé uniquement aux sociétés signataires du «  MFI programme » ( eh oui !!!! mais bon… libre à vous d’en acheter si vous aimez !!).

On trouve des petits modules convertisseurs Bluetooth / Série par exemple chez Sparkfun.  Deux inconvénients tout de même :
– le prix (40 € c’est pas donné)
– la nécessité là aussi d’adapter les niveaux de tension pour le flarm avec un convertisseur. Ainsi il est écrit dans le descriptif du produit: « You will need an RS232 to TTL converter if you need to attach this to a computer. »

On peut imaginer un circuit simple avec une platine recevant un max3233 et 4 pins permettant de plugger le module Bluetooth dessus. L’alimentation du tout serait assurée par le 3.3 V délivré par le Flarm. Un câble RJ45 et son connecteur branché dans le Flarm (sur le Data Port) permettrait de ramener les signaux Rx et TX ainsi que l’alimentation  3.3V puisque le module bluetooth peut fonctionner sous cette tension. De plus, l’intensité consommée par le module n’excède pas 20ma donc est compatible avec les spécifications de Flarm sur leur sortie 3.3 V. Attention tout de même à ne pas trop « tirer » sur cette sortie qui ne supporte guère plus (90 mA max). J’ai produit le schéma ci-dessous pour le brochage du circuit :

bluetooth_schéma
N’en ayant pas la nécessité, je n’ai pas réalisé ce circuit. Vous disposez néanmoins de toutes les informations pour le faire, d’autant plus qu’il est très simple. L’encombrement maximum sera donné par le module Bluetooth de taille 45mm x 17mm. Un encombrement très réduit en fait qui conviendra parfaitement pour l’encapsulation dans un petit boitier plastique.

C’est d’ailleurs exactement le circuit réalisé par les membres du projet Soartronic qui proposent un montage vraiment pas mal.

bt1r3

La carte est présentée à moins de 40 € sur le site du projet !! La différence avec l’idée de montage mentionnée plus haut, c’est d’avoir directement réalisé une carte avec le chip Bluetooth intégré dessus. Ainsi, le coût total est bien revu à la baisse. La réalisation de circuit qui intègre des composants CMS et tout de même plus complexe mais le résultat fini est vraiment pas mal. Les deux connecteurs RJ45 permettent de l’intercaler directement sur le câble d’alimentation habituellement réservé au Flarm. Un montage volant donc particulièrement malin. Bravo pour l’ initiative.

Pour résumer:
Le Bluetooth est une bonne alternative pour les appareils ne pouvant obtenir une connectivé Série par USB. Exception faite pour les Iphone d’Apple.
Il est possible de réaliser facilement un petit montage pour interfacer son terminal en suivant les explications données dans ce chapitre. Il est aussi possible d’acquérir un module ad-hoc dans le commerce. Nous étudierons l’offre dans la suite du document.

V –  Les solutions commerciales existantes

Les Tchèques de Glidertools proposent des produits qui semblent bien adaptées pour l’usage.Surtout pour les connexions filaires USB. Observons tout d’abord leur solution filaire avec ce produit:

800_DSC_1923800_DSC_1928

wiring

Comme le montre le schéma ci-contre, l’avantage de leur montage est de proposer un module assurant à la fois l’alimentation du Pna / Pda grâce à une alim 5V, ainsi qu’un convertisseur RS232 pour la liaison série via l’USB. La liaison entre le module et le DataPort du Flarm sera assurée par un câble RJ45 de type droit.On retrouve sans surprise la liste de matériel compatible étudiée au chapitre III. Avec les mêmes particularités pour le Wayteq, Oudie et Vertica. Rappelez vous, la connexion du <pin4> au +5 V (cf chapitre III). Dans le cas du module Glidertool, cela sera assuré par un jumper déplaçable.En effet on peut lire: « It requires change of settings, to be performed by internal jumpers »

Avec un peu d’habitude on peut reconnaître sur les deux photos du circuit:
– une alimentation à découpage : bobine, condo, diode , circuit spécialisé (milieu droit de la face antérieure)
– un régulateur de tension pour le 3.3 V
– un convertisseur à pompe de charge pour la liaison série RS232 / TTL (en haut de la face antérieure)

Ce circuit de dimension réduite (25x26x49 mm) semble être de bonne facture et de plus présente un prix somme toute assez raisonnable 43 € port non compris.

Nous trouvons aussi un produit dédié pour le Bluetooth.

BluetoothLe fonctionnement est similaire au produit précédent à la différence que les données série circulent en Bluetooth depuis le module vers le Pda / Pna. Le prix lui est tout de même assez élevé 95 € frais de port non compris. Par contre et contrairement à la version filaire, il faudra adapter la configuration du produit pour obtenir un fonctionnement correct.

En lisant le descriptif du produit, on voit que celui-ci comporte deux Sockets RJ-12 pour la connexion vers le Flarm. Un socket est prévu pour la configuration de l’appareil et un autre pour la connexion vers le logger qui n’est pas forcément un Flarm car le produit se destine aussi à la connexion vers d’autres systèmes ( Colibri par exemple). Observons les connectiques respectives du module et du Flarm sur les schémas ci-dessous:

BTM_RJ12_SocketFlarm_DataPort
Comme il a été dit au chapitre II (et rabâché tout au long de l’article !!), les fonctionnalités qui nous intéressent en planeur à savoir l’exploitation des informations sur les Vz des aéronefs ne sont disponibles que sur le DataPort, donc le connecteur RJ45 du Flarm. Pour autant nous ne disposons sur le module que d’une sortie RJ12. Eh bien, ce n’est pas grave, c’est parfaitement compatible. En effet au cas où vous l’ignorez, il est tout a fait possible de connecter un prise mâle RJ12 dans un socket RJ45 femelle. Seules 2 broches (les deux extrémités) resteront non connectées.  Or, et en ça Flarm a bien fait les choses, l’ordre des contacts et bien respecté entre la prise RJ12-A du module et le DataPort RJ45 du Flarm. Les deux schémas ci-dessus, feront correspondre la masse avec la masse, le +12V avec le +12V , le Tx du module avec le Rx du Flarm et le Rx du module avec le Tx du Flarm. La sortie 3V du Flarm et sa masse resteront inutilisés. C’est le respect des normes « FAI/IGC pin specification » qui assure cette interropérabilité. Pas de problème donc mais faut-il encore le savoir car le premier réflexe de l’utilisateur serait de connecter avec le RJ12 du Flarm. De plus, il est bien spécifié dans le DataPort Manual de Flarm: « The extension port (if available) must neither be used to supply power to FLARM …. »

Un autre point auquel il faudra prendre garde, c’est la vitesse de communication qui doit être égale pour le bluetooth et pour le flarm. On peut lire dans les spécifications du module que la vitesse par défaut pour le bluetooth est réglée à 4800 Bauds et que celui-ci supporte les vitesses suivantes: 4800  – 9600 – 19200 – 38400 – 57600 et 115200 bds. Or, il est bien précisé dans le FLARM_DataportManual (vu aussi au chapitre II) que sa vitesse est par défaut réglée à 19200 bauds et la lecture du document nous explique que 19200 bds est la limite basse à ne dépasser si on veut que toutes les sentences NMEA (dont les trames PFLAA) soient exploitables: « This sentence is only delivered if the data-port Baud rate is 19.2kBaud or higher. »On se retrouve avec 2 vitesses de communication différentes ce qui pose des problèmes de synchronisation. Il faudra donc régler le débit du module bluetooth sur 19200 bds.

En lisant le manuel du module Bluetooth, on voit qu ‘il est possible de configurer la vitesse de la communication bluetooth via le socket RJ12-B. Celui-ci fait intervenir une communication série RS232 via des commandes AT.  A cet effet, il vous faudra confectionner un câble spécifique RS232/RJ12 car celui-ci ne semble pas fourni avec le module !!  Après avoir obtenu une console avec le matériel,  il faudra taper les commandes AT suivantes: « >#ATL2 » ce qui devrait fixer le baudrate à 19200.

Ce qui est marrant c’est que dans la description commerciale du produit, on lit: « The VFBT-1 module was developed to allow connection of flight recorders (logger, flarm) » et puis un peu plus loin: « Simple installation and usage – Plug-And-Play« . Par contre dans le manuel technique on se rend compte que le Flarm n’est pas mentionné une seule fois. Ce n’est pas vraiment sérieux, et la mention plug’n play semble pour le coup limite mensongère !! L’ absence du câble pour le configurer est aussi vraiment gênante .Quoi qu’il en soit, cet article devrait combler ce manque d’explications.

La société Delta Omega (tiens une boite Française !!), propose aussi un accessoire filaire et Bluetooth pour la connexion au Flarm. Pour l’accessoire filaire il semble un peu identique au modèle Tchèque de Glidertools. Sauf que les indications sur le site ne détaillent vraiment pas trop le produit et ne proposent pas une liste de Pda/Pna compatibles (même si on la devine !! ). Et puis ce qui fait peur quand on voit la photo du produit, c’est la connectique. Pas de mini USB ?? La phrase « Connexion à différents type de PocketPC ou PC en changeant le cordon. » ne me rassure pas trop non plus.

MINOLTA DIGITAL CAMERALe module Bluetooth ci-contre semble à première vue intéressant, mais hélas non. Celui-ci ne pourra se connecter que sur l’extension port du Flarm et l’absence de possibilité de configuration du débit vous empêchera toutes possibilités de modification pour l’utilisation visée. Au mieux vous pourrez l’utiliser comme répétiteur GPS et avertisseur anti-collsion mais pas pour exploiter les taux de montés de vos collègues vélivoles.

Le pire c’est que pour connaître le prix de ces charmants accessoires, il faut adresser une demande de catalogue (en combien d’exemplaires ?) par mail à la société. Dommage que le minitel ait disparu, il avait encore de beaux jours devant lui …Bref, pour une entreprise qui se veut à la pointe …. Allez, on oublie.

Le site Glider Pilot Shop proposent certains produits qui n’ont pas retenus mon attention car pas adaptés. Allez on oublie aussi.

Présenté dans le chapitre IV, le module proposé par le projet Soartronic réponds parfaitement au cahier des charges et le tout pour une somme très modique.

Pour résumer:
Les fournisseurs suivants on été étudiées: Glidertool, Delta Omega , Glider PilotShop et Soartronic . De ces quatre, seuls Glidertools et Soartronic proposent des produits pleinement fonctionnels. Le module pour connexion filaire par USB de Glidertools sera un bon choix si toutefois votre matériel est compatible (liste fournie chapitre III).Le module Bluetooth lui, est plus cher et nécessitera une configuration pour fonctionner sur le flarm. Cette configuration (détaillée dans le présent chapitre) peut rebuter l’utilisateur lambda. De plus, un câble non fourni et à faire soi-même sera nécessaire pour cette opération.Le projet Soartronic propose via leur interface marchande un petit montage bluetooth très bien fait. De dimension réduite, celui-ci s’ intégrera avec facilité dans le cockpit y compris pour des montages « volants ». Le prix proposé est très raisonnable (moins de 40 €). Bref sans conteste le meilleur choix pour le bluetooth.

VI – Réalisation d’une carte électronique dédiée

Concluons le sujet par la réalisation d’un petit montage inspiré par le module filaire de Glidertools. Ce montage est fonctionnel et ne vous coûtera qu’une poignée d’Euros.

DIY_flarmconnectorDIY_flarmconnector_

L’obtention des 5V s’obtient au travers d’une alimentation à découpage basée sur un MC34063A qui est un composant courant et économique. J’ai utilisé le mode Step-Down bien décrit dans une keynote du Datasheet (p 11). Les rendements de cet alim sont très bons, le circuit de chauffera pas du moins si vous ne tirez pas plus de 500 mA ce qui convient pour des Pda. Néanmoins, il est possible que des appareils présentant une plus grande dalle tactile nécessitent plus que 500 mA pour la charge (à vérifier). Aussi dans ce cas, il faudrait refaire le circuit et adopter plutôt le mode « External Current Boost Converter »  qui nécessitera deux transistors (bien dimensionnés) supplémentaires. Cette possibilité est aussi évoquée dans le document.  Ainsi, il serait possible de monter jusqu’à 1.5 A !! C’est d’ailleurs surement la solution qui a été choisie par le module Glidertools.

Pour le conversion RS232 / TTL-3.3V, j’ai choisi un convertisseur de type Max3233. J’affectionne particulièrement ce circuit car il embarque dans son boitier tous les condensateurs nécessaires à la pompe de charge. Aussi, son intégration dans un montage est vraiment aisée. Pour l’alimenter (en 3.3.V) , j’avais tout d’abord utilisé un diviseur de  tension en sortie de l’alim à découpage (sur le 5V) . A terme, il s’ est avéré que ce n’était pas la bonne solution. Les pics de courant d’appel dus à la mise en charge du Pda  donnent des variations et perturbent la liaison série. Pour économiser un régulateur de tension 3.3V j’ai tout simplement utilisé la sortie 3.3 V du Flarm disponible. Cela suffit à remédier au problème.

Vous trouverez ici l’archive contenant les fichiers du pcb. J’utilise la suite Geda / Pcb sous linux pour la conception. Les fichiers gerber postscripts utiles à la gravure sont inclus dans l’archive. Le câble USB pluggé sur le connecteur 4 broches devra être préparé selon les modalités décrites dans le chapitre II en fonction de votre appareil. Lors de l’installation du module dans le cockpit, il faudra veiller à ne pas utiliser de câbles trop longs ou bien de proprement les enrouler en les munissant d’ antiparasite type ferrite afin de ne pas perturber la radio VHF embarquée.

Catégories :electronique Étiquettes : , , ,
  1. mathieu
    février 6, 2013 à 1:12

    Excellent !!
    Enfin la réponse à mes questions
    Merciiiiii

  2. Vélivole_59
    février 7, 2013 à 10:48

    Super, plus qu’à préparer le fer à souder !!!

  3. Robert Ehrlich
    février 11, 2013 à 2:07

    2 questions :
    1) Je croyais que le TTL c’était 5 V. Je retarde dans doute.
    2) Y a-t-il réellement besoin de transmission bidrectionnelle ? Si la conversion n’est nécessaire que dans le sens RS232 -> TTL, deux résistances et une diode devraient faire l’affaire.

    • février 11, 2013 à 2:36

      2 réponses:
      1) On trouve de plus en plus de communication série faite sur des niveaux de tensions TTL 3.3 V. D’où l’apparition d’adaptateurs dédiés. Attention !! Une communication série 5V peut être tolérante au 3.3 V mais l’inverse n’est pas vrai. Les cas de détériorations sont courants.
      2) La communication bidirectionnelle est intéressante pour les fonctionnalités de déclaration de vol sur le Flarm (en vue d’homologation FAI). La solution que vous décrivez ne permettrez pas cette fonction. Notez qu’il est tout a fait possible de ce passer de convertisseur de type MAX3233 avec l’aide de transistors (pour peu que leur vitesse de commutation soit correcte). Mais autant passer par un circuit spécialisé, c’est plus simple.

  4. sofu
    Mai 9, 2013 à 12:09

    bonjour,

    article très intéressant, exactement ce que je cherchais!
    Néanmoins, la liste des PNA compatible est bien maigre et je me demandais si il y avait moyen de connaitre la compatibilité d’autre GPS en regardant les spécifications ou bien si c’est seulement caché.
    Et dans ce cas là, comment a-t-il trouvé les appareils compatible, par essai pratique?

    merci d’avance

    • Mai 13, 2013 à 8:58

      Bonjour,
      effectivement la liste est assez maigre, et pas de moyen de connaitre la compatibilité à l’avance.
      Sauf comme indiqué dans l’article à s’assurer de la fonction TMC de l’appareil avec antenne extérieure sur connecteur USB.
      Pour répondre à votre question, oui les essais pratiques et les remontés d’info par les utilisateurs
      (au travers les forums de dev par exemple) permettent d’établir la liste

  5. Larosière
    novembre 2, 2013 à 6:42

    Bonsoir,
    Je ne suis pas calé en informatique mais passionné! J’ai beaucoup apprécié ton article mais je patauge dans mes tentatives, voilà:
    j’ai un Wayteq et un Flarm Core. Celui-ci est équipé d’une DB9 qui délivre du 5v, du 3V, TX, DX…
    J’ai donc voulu réaliser un câble entre les deux. J’ai acheté:
    http://imageshack.us…maiS0uLY36fO5co
    Bon, sur la platine j’ai ponté le 5V pour alimenter le convertisseur et j’ai ponté le 3V pour le mettre sur le fil « sense » de l’usb. Ca ne marche pas…
    Si tu as un peu de temps pour me dire où j’ai fais l’erreur…
    Merci
    Michel

  6. Mai 31, 2014 à 6:58

    bonsoir,
    Je debarque un peu tard mais juste pour dire que c’est LK8000 le fork de XCSoar (et pas l’inverse) et que les communication sortantes du FLARM son très bien documentée dans la doc dispo sur le site du produit.
    Sinon c’est un bel article.
    Au fait la version 5 de LK8000 viens de sortir.

  1. No trackbacks yet.

Laisser un commentaire