• Radio DIY NextStepRC

    Dernière MAJ : 26.07.2018 

    Après sa publication en juin 2015 dans la revue Modèle Magazine (article original ici), relayée notamment sur les forums aéro modélisme.com,  RCGroups, F3News et RC-Network, ainsi que sur les excellents sites persos de Mousse78 et de Alain Audebert, il était temps de donner un support officiel au projet NextStepRC (mention légales ici).

    Radio DIY   Radio DIY   Radio DIY


    Le principe est celui d'un Lego® : à partir de composants -notamment Arduino- peu onéreux, fiables, faciles à approvisionner et à assembler, permettre la réalisation d'une radiocommande puissante (16 voies, 6 phases de vol, mixages évolués, télémesure, synthèse vocale, etc.), économique (50 à 100€ au total), modulable et personnalisable à volonté (nombre et disposition des organes de commandes totalement libre, par ex.), frugale (consommation < 100 mA hors HF) et adaptable à une grande diversité de besoins (automobiles, bateaux, avions, planeurs, hélicoptères, drones, FPV), le tout reposant sur l'excellente chaîne logicielle OpenTX (standard ou optimisée NextStepRC).


    Quelques exemples de réalisation, intégrale ou à partir d'une radio existante :

    Radio DIY   Radio DIY   Radio DIY

    Radio DIY   Radio DIY   Radio DIY

    Radio DIY   Radio DIY   Radio DIY

     

    L'objectif de cette page et de la documentation (cf. ci-dessous) est de regrouper toutes les informations nécessaires pour :

     

    1. Matériel

    1.1. Carte mère

    Arduino Mega2560 (eBay), Mega2560 ProMini (eBay) ou Mega2560 Pro (AliExpress) :

    Radio DIY   Radio DIY   

    Eviter la version "Core", de mêmes dimensions et tarif que les "Pro" mais dépourvue de régulateur de tension et de port USB. La version "Pro" existe aussi sans port USB (ici), ce qui évite la modification nécessaire pour recevoir les données de télémesure (voir ci-après), la communication avec le PC se faisant via un adaptateur externe USB-TTL (ici ou ici).

    1.2. Ecran LCD

    Format 128x64 pixels, de deux types :

    • Affichage FSTN et interface parallèle 8 bits : Artronic (eBay) ou Zolen (eBay, eBay ou AliExpress) à processeur ST7565 (R ou P), recommandés car lisibles, rapides et peu gourmands, sinon ST7920 ou KS108.
    • Affichage OLED et port I2C : SSD1306 0.96" (eBay ou AliExpress) ou SH1106 1.3" (ici ou ici), pour les très petites radios.

    Radio DIY   Radio DIY   


    1.3 Programmateur

    USBASP 5V/3.3V (eBay) et adapteur ISP 6 pins (eBay), servant à la préparation de la carte Mega2560 (optionnel dans certains cas, notamment avec les "Pro" et "ProMini", cf. tutoriel de configuration et flashage) ainsi qu'au dialogue entre Companion et carte mère en l'absence de port USB (mais c'est plus lent) :

    Radio DIY   Radio DIY


    1.4. Module d'émission

    Tout module (41 MHz, 2.4 GHz, etc.) acceptant un signal PPM conviendra. Le plus intéressant est le DIY 4en1 multi-protocole (Banggood, support de Pascal Langer ici), qui permet d'utiliser des récepteurs FrSky, Assan, DSM, DSM2, FlySky, etc. (d'origine ou compatibles, type Redcon 4CH6CH et 7CH, MKronRC S603, DIY FrSky 4CHF801 et F802, SkyArea RX-F802, KS-Servo AC410 et AC810, etc.), télémesure incluse. Ce module nécessite (pour être reflashé) un programmateur USBasp 3.3V, d'où l'intérêt de la version polyvalente 3.3V/5V préconisée ci-avant.

    Radio DIY  Radio DIY  Radio DIY  Radio DIY NextStepRC

    NOTA : la liaison entre la carte mère et le module d'émission est de type PPM [amélioré, jusqu'à 2x plus rapide que le PPM standard], qui a été préféré à une liaison série pour sa compatibilité maximale avec les différents modules du commerce, mais aussi pour son isolation (CPU et logicielle) optimale entre composants. Chacun est ainsi doté d'un processeur propre, avec sa mémoire et son firmware (à l'image d'un ordinateur haut de gamme doté d'une carte graphique dédiée), améliorant ainsi la fiabilité et la rapidité du système. Le risque de bug lors d'une mise à jour du module d'émission, comme l'ajout d'un nouveau protocole, est aussi inexistant, le firmware radio n'ayant pas besoin d'être modifié car la communication entre ces deux composants se fait au travers d'un protocole standard et indépendant du protocole d'émission. De plus, cette communication se fait au travers d'un bus dédié (lignes TX PPM + TX/RX télémesure), évitant le partage d'un bus générique (type SPI ou I2C) avec d'autres composants (carte SD, etc.), là aussi au bénéfice de la fiabilité.


    1.5. Organes de commande et de navigation

    • Un à deux manches, voire plus suivant le besoin (7 entrées analogiques sont disponibles : 4 gérés dans l'écran "Manches" (équivalent en plus sophistiqué des traditionnels Expo & Dual-Rate) et les 3 autres en tant que "sources" additionnelles de mixeur. N'importe quel manche de récupération conviendra, attention néanmoins à la qualité : un manche correct doit pouvoir garantir une précision minimale de 0.4% (résolution de 0.4% et neutre répétable à +/-0.2%), contre jusqu'à 2% pour un manche usé ou de mauvaise qualité (potentiellement très gênant pour les applications exigeantes). A noter : certains manches basiques, comme les 9XR peuvent donner de très bons résultats (précision ≤ 0.3% après modification) en améliorant simplement le bridage des potentiomètres, à la colle chaude côté boîtier et par une vis traversante côté axe (voir ici et ici).
      On trouve aussi des manches neufs au détail :
      . FlySky (Banggood) : bon feeling malgré un jeu assez important, assez précis sur l'axe longitudinal ( 0.5%) mais retour au neutre de l'axe latéral très imprécis si on l'accompagne en douceur (2% d'erreur, contre 0.4% max au relâché sec sur les deux axes). Potentiellement un bon sujet d'amélioration, d'autant plus que ce manche est très compact.
      . FrSky de "base" (Banggood) : rapport qualité/prix correct, potentiomètres à assurer sur leurs supports par un point de colle chaude pour améliorer la précision du neutre.
      . FrSky M9 à effet Hall (Banggood) : à alimenter en 3.3V (et non en 5V comme un manche classique), feeling assez ferme même avec ressorts détendus au maximum, utilisable tel quel (précision autour de 0.4%) ou avec carte ampli-op 5V (cf. schéma ci-après, à modifier légèrement : shunter R6 côté Vcc, pour avoir Vs=Ve(1+R2/R6), la précision passant à environ 0.2 - 0.3%). Si besoin d'inverser le sens (+100% vers la droite en latéral et vers l'avant en longitudinal) : l'alimentation du capteur hall n'est pas réversible, c'est l'aimant fixé en bout d'axe qu'il faut retourner.
      . Hitec Aurora 9 (RobotShop) : le plus agréable et le plus précis du marché, utilisable tel quel (précision ≤ 0.2%) ou avec ampli-op (précision ≤ 0.1%).
    • Des boutons de navigation et trims : soit 2 axes (mini joystick de navigation 4 ou 5 voies, ici ou ici) soit boutons poussoirs individuels (ici).
    • Des interrupteurs 2 ou 3 pôles à levier : des (jusqu'à 5 suivant le besoin) "2 positions on-on SPDT" (switch D/R, etc.), un "3 positions on-off-on 3PDT" (switch ID0/1/2) et un "1 position on-(on) SPST" (switch TRN), pouvant avantageusement être remplacé par un simple bouton poussoir, nettement moins cher.

              Radio DIY  Radio DIY  Radio DIY  Radio DIY


    1.6. Périphériques et accessoires

    • Un interrupteur principal (à poussoir, à glissière ou à bascule).
    • Un accu de réception 2S LiPo ou, mieux, Li-Ion (format 18650, type Samsung ICR ou Sony VTC5).
    • Un buzzer (haut-parleur piezo avec électronique intégrée) ou un haut-parleur piezo simple (à utiliser avec l'option de compilation "audio").

              Radio DIY   Radio DIY   Radio DIY

    • Du câble souple, type nappe informatique ou câble fin pour servo (ici).
    • Un boîtier de récupération ou fait maison (bois, tôle, composite, impression 3D, etc.).

    1.7. Boîtier

    Tout les modes de réalisation sont possibles : contre-plaqué, stratification fibre sur moule perdu ou en dur, impression 3D, etc. Utiliser un boîtier de récupération issu d'une vielle radio, voire détourner une radiocommande neuve, est une solution potentiellement économique en temps et en argent (mais sans le plaisir de faire son propre boîtier !). Quelques bases correctes : HobbyKing HK6S, FlySky FS-i4, FlySky FS-i6. Dans certains cas, le module d'émission d'origine est directement utilisable (acceptant un signal PPM), comme par exemple sur la DX5e.

     

    2. Quelques recommandations

    2.1. Câblage

    Toujours penser simplicité et fiabilité : tous les câblages se feront directement de carte (ou composant) à carte, sans circuit imprimé ni "shield", en soignant les connecteurs quand il y en a (typiquement en assurant la liaison fil / connecteur avec de la gaine thermorétractable ou de la colle chaude).

    2.2. Utilité de certaines extensions 

    Si la carte Mega2560 supporte de nombreuses extensions (encodeurs rotatifs, amplificateurs de manche, synthèse vocale, gestion PPM, etc., voir dossier ci-après) développés dans le cadre du projet NextStepRC, il n'est plus aujourd'hui judicieux de toutes les utiliser. En effet :

    • L'évolution d'OpenTX rend certaines fonctions inutiles ou redondantes, comme les encodeurs rotatifs (avantageusement remplaçables par les trims de manches, via une « fonction spéciale », qui les détournera temporairement).
    • Le schéma initial prévoyait des filtres anti-rebond (couple résistance + condensateur) pour les interrupteurs, ainsi que des amplificateurs de tension pour les manches, mais l'expérience montre qu'ils sont superflus, le filtrage logiciel étant nécessaire et suffisant.
    • Les lignes de commandes vers les périphériques 3.3V (LCD, module vocal) peuvent être protégées par une simple résistance de 1 kohms en série sur la ligne, au lieu d'un pont diviseur de tension sur un circuit imprimé.
    • Les fonctions comme l'écolage peuvent être directement câblées sur la carte (voir schéma électronique), sans passer par un circuit dédié. Là aussi, la solution la plus simple est la meilleure.

    A retenir : mis à part l'écran et le clavier, aucun accessoire n'est indispensable, on ne peut utiliser qu'un seul manche, aucun interrupteur, etc. suivant le besoin.

    2.3. Options recommandées

    • Carte ampli-op : permet de tirer le meilleur parti des manches FrSky à effet hall et des Hitec Aurora9.
    • Synthèse vocale : pour l'annonce d'une tension d'accu, d'un chrono, d'une donnée de télémesure, etc., via un module JQ5000-28P + carte micro SD de petite capacité (autre lien ici) + haut-parleur 8Ω Ø28mm (voir tutoriel ci-après pour le câblage et l'utilisation).
    • Interface sd-card : pour la sauvegarde des modèles et leur échange au terrain [avec d'autres radio identiques], plus l'enregistrement de la télémesure (activer l'option "SDCARD" à la compilation du firmware). via un lecteur de carte SD (plus une carte micro SD dédiée).

              Radio DIY   Radio DIY   Radio DIY

     

    3. Réalisation

    3.1. Code source et les programmes associés

    OpenTX 2.1.9 NSRC (sources + chaîne de compilation + Companion + Simulateur) : ici (MAJ du 29.10.2017).
    A noter que :
      - aucune installation n'est nécessaire, l'ensemble est complètement portable et fonctionne même sur clé USB.
      - la compilation du firmware se fait par simple fichier de commande éditable (liste des options ici).

      - Companion et Simulateur (en français) intègrent le nouveau mixeur NSRC (explications ici).

    3.2. Schémas électroniques

    Table d'affectations des entrées/sorties carte Arduino Mega2560 : ici.
    Schémas électroniques : ici (toutes options représentées) et ici (carte Mega2560).
    PCB et listing des extensions Mega2560 (pour info, cf. recommandations) : ici.

    3.3. Tutoriels

    Câblage de base, configuration carte mère, LCD et OpenTX, compilation et flashage : ici.
    Câblage, paramétrage et mise en oeuvre de la synthèse vocale : ici.
    Assemblage et câblage de la NSRC "compacte" (version initiale - Modèle Magazine) : ici.
    Modification et installation de la carte Mega2560 :
      - alimentation réversible des manches et mesure de tension d'accu : ici et ici.
      - isolation du port usb et de la télémesure (carte avec CH340G) : ici.
      - installation dans boîtier bois avec module multi-protocole : ici et ici.
      - assemblage ultra-compact carte Pro-Mini + LCD Zolen (câblage in situ au fil émaillé soudable) : ici, ici et ici.

    3.4. Plans de boîtiers DIY

    Plans de réalisation des boîtiers bois : ici.
    Réalisation d'un boîtier en plexiglas : ici.

    3.5. Notices d'utilisation OpenTX :

    Bonnes pratiques de programmations sous OpenTX : ici.
    Notice 9X (à revoir, mais c'est une bonne base) : ici (version pdf 
    ici).

    3.6. Autres documentations

    Modification de la Turnigy 9X pour OpenTX + modification module FrSky (toutes radios) : ici.
    Remplacement des potentiomètres de manches par des capteurs à effets hall (en bas de page) : ici.
    Remplacement du firmware du récepteur clone FrSky F801 8 voies pour avoir la télémesure : ici.


    Mentions légales :
    Seul le code est open-source. Toute la documentation, textes, photos, plans et schémas sont libres
    d'utilisation dans le cadre du projet NextStepRC, mais sont soumis à copyright.
    L'intégralité du code, programmes et documents associés sont réservés à un usage privé, et ne peuvent
    donc être ni copiés, ni distribués, ni utilisés dans le cadre d’une application professionnelle ou
    commerciale sans l’accord des auteurs. De même, ce travail est livré en l’état, la responsabilité des
    auteurs ne saurait être engagée de quelque manière que ce soit dans le cas d’un accident impliquant
    un matériel NextStepRC, le constructeur et/ou utilisateur restant seuls responsables de la réalisation
    et/ou de l'utilisation de leur matériel.

    Copyright Franck Aguerre / RC Aero Lab