DECODEUR MULTISWITCH UNIVERSEL MS8 V2

Décodeur Multiswitch universel MS8 V2

I. PRESENTATION

MS8 V2 est un décodeur multiswitch universel disposant de 8 sorties. Chacune des 8 sorties peut être configurée en type numérique ou en type servo.

Configurée en type numérique, la sortie se comporte comme une sortie Tout-Ou-Rien pour allumer/éteindre une lumière par exemple.

Configurée en type servo, la sortie pilote en Tout-Ou-Rien un servo : les 2 positions extrêmes ainsi que le temps de déplacement (donc la vitesse) entre ces 2 positions sont paramétrables, pour ouvrir/fermer lentement une trappe par exemple.

Ce décodeur peut être commandé de multiples manières (12 au total!).

Il peut se connecter sur les interfaces RC suivantes des récepteurs:

Il peut être commandé par les protocoles suivants:

Les modes de commande EKMFA et Boutons-Poussoirs rendent ce décodeur universel dans la mesure où ils fonctionnent avec n'importe quel émetteur RC.

Tous les autres protocoles (RCUL/Xany, Binaire ou Futaba MS8) permettent de piloter les 8 sorties à l'aide d'interrupteurs physiques (et/ou logiques pour OpenTx/EdgeTx) situés sur l'émetteur, ce qui est beaucoup plus ergonomique.

Bonus: avec le protocole de commande RCUL/Xany, il est possible de piloter, une sortie proportionnelle d'appoint en plus des 8 sorties Digitale/Servo. Ceci n'est possible qu'avec les émetteurs OpenAVRc.


II. REALISATION

Le décodeur MS8 V2 utilise un Arduino Digispark Pro et un circuit imprimé spécifique.

Arduino Digispark Pro
Digispark Pro

III. CONFIGURATION

Une fois le firmware chargé dans le Digispark Pro, le décodeur MS8 V2 se paramètre via le connecteur 3 points CFG "UART TTL" (et pas par le connecteur USB de l'Arduino Digispark Pro).

Il est nécessaire d'utiliser un convertisseur USB/UART TTL 5V de type FTDI et un câble adaptateur avec 2 résistances (10K et 1K) et une diode 1N4148 ou 1N400x.


III.1. CONVERTISSEUR USB/SERIE TTL ET CABLE DE CONFIGURATION


Câble de configuration + convertisseur USB/Série 5V


III.2. CONFIGURATION ET PARAMETRES PAR DEFAUT

Pour configurer MS8 V2, il faut utiliser un PC équipé d'un terminal série (Putty, Teraterm, CoolTerm, GTKTerm, etc...) configuré à 19200 bauds 8 bits de données, pas de parité et 1 bit de stop.

Un simple appui sur la touche Entrée provoque l'affichage du nom et de la version du firmware chargé dans l'Arduino Digispark Pro: MS8 V2.0.

En tapant la commande C? puis Entrée, MS8 V2 retourne sa configuration courante.

Au tout premier démarrage (après avoir chargé le firmware HEX), MS8 V2 a les paramètres par défaut suivants:

Paramètres par défaut

Cela signifie que le décodeur MS8 V2 est directement utilisable sur n'importe quel ensemble RC.

Par exemple, si l'entrée RC de MS8 V2 est connecté à la voie PWM N°3 d'un récepteur RC, les sorties de MS8 V2 se commandent simplement en donnant des coups de manche en utilisant le manche vertical de droite de l'émetteur.

Les 8 sorties S1 à S8 sont divisées en 2 groupes (S1 à S4 et S5 à S8), ce qui permet de limiter le nombre de coups de manche à 4. Compter jusqu'à 4 reste très raisonnable.

Commande avec le protocole EKMFA


III.3. EXEMPLE DE CONFIGURATION SPECIFIQUE POUR L'EMETTEUR OPENAVRC

La configuration suivante permet de commander MS8 V2 en SBUS/voie N°5  en utilisant le protocole RCUL/Xany à partir d'un émetteur OpenAVRc. Le récepteur utilisé est un X8R de chez FrSky.

Cela permet l'utilisation des interrupteurs/boutons-poussoirs physiques de l'émetteur OpenAVRc, ce qui est beaucoup plus facile d'emploi que l'utilisation du protocole EKMFA (coups de manche). Cela permet également l'utilisation de la voie proportionnelle d'appoint (sortie S0).

Dans cet exemple:

Paramétrage du décodeur MS8 V2

Détail de la configuration:

C? La commande C? permet d'interroger la Configuration complète ainsi que la valeur de commande de chaque sortie du décodeur MS8 V2
I=S5 L'Interface RC de commande est de type SBUS et utilise la voie N°5 de la trame SBUS
P=R;N Le Protocole utilisé est RCUL/Xany en mode Non filtré
SR=Y Le Servo Reverse est à Yes pour la sortie proportionnelle d'appoint S0
S0=1000:252 La sortie proportionnelle d'appoint S0 vaut 1000 µs, ce qui correspond à une valeur numérique de commande de 252
S1=D;P:0 La sortie S1 est de type Digital, commandée en mode imPulsionnel et la commande actuelle vaut 0
S2=D;N:1 La sortie S2 est de type Digital, commandée en mode Normal et la commande actuelle vaut 1
S3=D;N:0 La sortie S3 est de type Digital, commandée en mode Normal et la commande actuelle vaut 0
S4=D;N:0 La sortie S4 est de type Digital, commandée en mode Normal et la commande actuelle vaut 0
S5=D;N:0 La sortie S5 est de type Digital, commandée en mode Normal et la commande actuelle vaut 0
S6=S;N;2000;1000;1666:0 La sortie S6 est de type Servo, commandée en mode Normal, l'impulsion de servo va de 2000 à 1000 µs en 1,666 s et la commande actuelle vaut 0
S7=S;P;0700;2300;8000:0 La sortie S7 est de type Servo, commandée en mode imPulsionnel, l'impulsion de servo va de 700 à 2300 µs en 8 s et la commande actuelle vaut 0
S8=S;N;1000;2000;5000:1 La sortie S6 est de type Servo, commandée en mode Normal, l'impulsion de servo va de 1000 à 2000 µs en 5 s et la commande actuelle vaut 1


III.4. EXEMPLE DE CONFIGURATION EN MODE BOUTONS-POUSSOIRS

La commande en mode Boutons-Poussoirs pour le décodeur MS8 V2 s'obtient simplement en envoyant par le terminal série la commande :

P=P  (Protocole = Boutons-Poussoirs)

Dans ce mode de commande, le clavier peut être de type:

Dessu du clavier DIY à Boutons-Poussoirs
Dessous du clavier DIY à Boutons-Poussoirs
Vue de dessus Vue de dessous
Clavier Kingpad de Pistenking
Clavier Steuerpad de chez Kraftwerk
Clavier Kingpad de chez Pistenking Clavier Steuerpad de chez Kraftwerk

Emetteur X20 de FrSky avec script LUA Smart Kingpad
X20 avec script LUA Smart Kingpad de chez Pistenking

Dans le cas d'utilisation d'un clavier KingPad physique ou virtuel de Pistenking ou d'un clavier physique Steuerpad de Kraftwerk, seules 8 touches sur les 12 disponibles sont utlisées par le décodeur MS8 V2 (8 sorties).

En cas d'utilisation d'un clavier DIY, câbler 8 boutons-poussoirs.

Chaque appui sur un bouton-poussoir génère une tension différente au niveau de l'entrée de la voie de l'émetteur, celui-ci va donc générer une impulsion RC de largeur différente qui va se retrouver côté réception sur la voie associée.

Il est donc nécessaire que MS8 V2 connaisse la largeur d'impulsion de voie associée à chaque bouton-poussoir.

Pour cela, il suffit de passer en mode calibration en envoyant par le terminal série la commande : (cette calibration n'est à effectuer qu'une seule fois)

B=C  (Boutons-Poussoirs = Calibration)

L’affichage devient :

BP1:

Tout en maintenant le Bouton-Poussoir N°1 appuyé, appuyer sur la touche Entrée du clavier du Terminal série.

La largeur d’impulsion mesurée pour le BP1 va alors être affichée (et automatiquement mémorisée) et BP2 va être affiché :

BP1: 0988

BP2:

Tout en maintenant le Bouton-Poussoir N°2 appuyé, appuyer sur la touche Entrée du clavier du Terminal série.

Répéter l’opération jusqu’au BP8.

Une fois la largeur d’impulsion associée au BP8 affichée, la calibration est terminée

Il est possible d’afficher les 8 largeurs d’impulsion associées aux BP1 à BP8 par la commande :

B?

B=0988;1100;1228;1320;1672;1768;1888;2016

Il est nécessaire qu'il y ait au moins 65 µs de différence entre 2 largeurs d'impulsions "proches".

En cas de fausse manipulation ou d’erreur, il est évidemment possible de refaire une calibration en renvoyant la commande :

B=C  (Boutons-Poussoirs = Calibration)

Voir le Manuel d'utilisation pour plus de détails.

Note:

Tous les paramètres modifiés sont automatiquement sauvegardés dans la mémoire EEPROM du Digispark Pro de MS8 V2.

Cela signifie qu'à la prochaine mise sous tension, le nouveau paramétrage ne sera pas perdu.

Le manuel utilisateur fournit et détaille toutes les commandes supportées par le décodeur MS8 V2.

Retour