[ Accueil ] [ CONTACT ] [ PLAN du Site ] [ RCNV ] [ Publications ] [ Chantiers Bateaux ] [ Technique Modélisme ] [ Electronique ] [ Radios Vintage ] [ Multi-Switch ] [ Vrac ] [ Astuces ] [ Liens ] [ Base ] [ Compteur ]
 

        ... rgl

 

Modules d'extension
Multi-Switch et Multi-Prop
pour ensembles
 de Radio-Commandes


Crédit photo  //www.ksmc.de/index.php/technik/221-170-kanal-anlage-promars

Rg.Legat (c)

 

 

SOMMAIRE:

01 -  Introduction - Présentation - Généralités

02 - Principe élémentaire des signaux RC

03 - Principe de fonctionnement des codeurs Multi-Switch

04 - Evolution des codeurs Multi-Switch

05 - Etendre le nombre de fonctions

06 - La Synchro_Logic pour assigner toutes les entrées du multiplexeur à une fonction (8, 16, 32 fonctions)

07 - Principe de fonctionnement des Codeurs Multi-Prop

08 - Principe de fonctionnement des Décodeurs Multi-Switch et Multi-Prop 

09 - Emulateur de récepteur: Testeur de décodeur MultiSwitch 8, 16 et 32 voies T/R.

10 - Quelques photos de réalisations personnelles (Codeurs et Décodeurs)

 

      Introduction - Présentation - Généralités

En modélisme naval, les fonctions proposées par les ensembles RC de base sont généralement très insuffisantes.
En effet, les bateaux, moins sujet à la problématique de poids, peuvent être équipés de multiples fonctions qui rendent le modèle attractif:  feux de mat, radars, éclairage coursives, illuminations timonerie, portiques mobiles, sirènes, pompes à eau, fumligène, ..., ...

Les marques commerciales proposent divers modules d'extension, de fonctions Tout ou Rien ou Proportionnelles, pour la gamme de leurs ensembles de radio-commandes.
Ils sont cependant proposés à des prix exhorbitants au vu des composants élémentaires qui les composent !

Vous trouverez donc sur cette page de la matière à réflexion si l'envie vous prenait de tenter d'en contruire l'un ou l'autres modules. 

 

      Principe élémentaire des signaux RC

 Pour comprendre les modules d’extension qui vont être présentés plus bas, il importe de connaître le mode de transmission des ensembles RC.

Côté émetteur

 
                                                                                                                                      Synoptique d’un émetteur


Partons sur l’utilisation d’un ensemble à 8 voies.


Un tel émetteur disposera d’un multiplexeur à 8 entrées sur lesquelles pourront être connectés, sur chacune d’elles, un potentiomètre pour disposer d’une voie dite «proportionnelle», ou un switch pour créer une voie «Tout ou Rien».

Sur les émetteur à modulation PPM (Pulse Position Mode) chacune des 8 valeurs de tension, lues successivement sur les 8 entrées, va être convertie en une impulsion variant de 1 à 2 msec.

Ces impulsions en cascades vont incrémenter le compteur d’adressage.

Un signal d'horloge généré par la partie BF de l'émetteur (Clock_TX) réinitialise le cycle du compteur qui redonne ainsi le « top départ » toutes les 22 msec.

Ces 8 impulsions successives, espacées de 300µsec, seront ainsi suivies d’un temps de synchronisation qui servira au récepteur (Synchro_RX), formant ainsi une séquence complète de l’ordre de 22mS (valeur moyenne et variant suivant les fabricants).

1. Forme d’une séquence codée PPM (Pulse Position Mode)

 

Ce train complet d’impulsions, sera alors appliqué au module FM Haute Fréquence qui l’émettra vers le récepteur.

 2. Séquence : toutes voies à 2 msec
 
 

3. Séquence : toutes voies à 1 msec

 

 

Synchronisation du récepteur (Synchro_RX)

 Lorsque le récepteur lira une impulsion comprise entre 1 et 2 msec, il comprendra qu’il s’agit d’une information relative à une voie et il l’assignera à la sortie correspondante.

Cependant, pour savoir à partir de quel moment il devra commencer à diriger consécutivement les impulsions vers les sorties correspondantes, il attendra une l'impulsion distincte de synchronisation (Synchro_RX).

Celle-ci qui devra évidemment être supérieure à 2 msec, pour se distinguer d’une information relative à une des voies.

Ainsi, si on considère que l’émetteur transmettrait les impulsions des 8 voies avec leur maximum de 2 msec, espacées de 300µsec, on arriverait à un temps d’émission de 18,7 msec.
L’émetteur devra ensuite établir une plus longue impulsion de synchronisation, d’au moins 3,3 msec, qui permettra ainsi au récepteur de commencer à assigner, tour à tour, les impulsions suivantes, vers les sorties correspondantes.
On obtient alors bien dans ce cas une période de l’ordre de 22 msec par séquence d’émission.

A noter que certains émetteurs établissent des impulsions variant de 0,8 msec à 2,2 msec par voie, allongeant d’autant la séquence d’un train complet (environ 24 msec).

Côté récepteur

 
                                       

 

      Principe des codeurs Multi-Switch

Un codeur MultiSwitch est un dispositif qui va permettre une « extension de voie ».
Il va ainsi permettre à une des voies de pouvoir gérer plusieurs interrupteurs (ou plusieurs potentiomètres) en lieu et place du seul switch ou du potentiomètre qui était initialement installé ou prévu.
Cette possibilité ouvre ainsi des fonctionnalités très prisées des modélistes qui ont besoin de pouvoir disposer de multiples fonctions « Tout ou Rien » (T/R): allumage des feux de signalisation ou des coursives, fumigène, sirène, bruiteur diesel, pompe, treuil, …, …

En outre, il est possible d'utiliser plusieurs codeurs par émetteur !

Imaginez que pour votre bateau, ou votre camion, vous auriez un potentiomètre pour le réglage de la vitesse et un autre pour la direction.
Il vous resterait alors 6 canaux disponibles sur lesquels, si vous mettiez 6 codeurs à 32 voies T/R, vous disposeriez alors facilement de ... 192 fonctions "Tout ou Rien" !

   
                                                                                                                                        Synoptique d'un Codeur MultiSwitch

 Le principe consiste à sélectionner successivement l'état des 8 switches pour les présenter sur la voie choisie de l'émetteur au moment où le multiplexeur de l'émetteur lit justement la tension appliqué sur cette voie (voie 4 dans le schéma de ci-dessus)

Suivant la position du switch, la tension aplliquée appliquée à l’entrée du multiplexeur du codeur se retrouvera finalement sur l’entrée choisie du multiplexeur de l’émetteur.
Celui-ci sera alors en mesure de générer trois types d’impulsions qui auront les fonctions suivantes  :

Robbe MARS: *
 
    Vcc =  1 msec   = Voie ON
     NC   = 1,5 msec = Voie OFF
    GND =  2 msec   = Synchro_CODdeur

Robbe PROMARS: *
    GND =  1 msec   = Voie ON
    NC   = 1,5 msec = Voie OFF
    Vcc =  2 msec   = Synchro_CODeur

FUTABA F14: *
    
 Vcc =  2 msec   = Voie ON
     NC   = 1,5 msec = Voie OFF
    GND =  1 msec   = Synchro_CODdeur (Synchro_Logic)

 *ATTENTION !
Pour la conception de nos codeurs et décodeurs, il faudra préalablement s'assurer de la longueur d'impulsion générée lorsque les tensions appliquées à l'entrée du codeur sont égales à Vcc ou à Gnd.
 (Une "patte en l'air" donnera toujours le Neutre = 1,5 msec)
En effet, si certains émetteurs Robbe donne une impulsion de 2msec pour une entrée appliquée à la masse, Graupner, par exemple, est inversé et donne une impulsion de 1 msec pour Gnd !
Il faudra s'en assurer pour l'élaboration ultérieure du circuit ou du programme du décodeur.

Le multiplexeur du codeur sera piloté par un signal  d’horloge généré par l’émetteur (Clock_TX).
Il se réinitialisera cependant automatiquement après chaque séquences de codage des 8 voies additionnelles.

Le codeur aura aussi besoin d’une information de synchronisation (Synchro_COD) afin de permettre à son décodeur de savoir que les impulsions qui la suivront seront des informations relatives aux voies T/R à traiter.
Sur le schéma de ci-dessus, la Synchro_CODeur est provoquée par le signal Gnd appliqué sur la première entrée du multiplexeur codeur.
Il reste alors 7 entrées pour les switches T/R.

Si nous prenons l’exemple de ci-dessus, où le codeur est branché sur la voie 4 de l’émetteur, la séquence des signaux transmis au récepteur sera la suivante :

V1 – V2 – V3 – V4/ Synchro Codeur – V5 – V6 – V7 – V8 – Synchro récepteur
V1 – V2 – V3 – V4/TR1 On ou OFF – V5 – V6 – V7 – V8 – Synchro récepteur
V1 – V2 – V3 – V4/TR2 On ou OFF – V5 – V6 – V7 – V8 – Synchro récepteur
 . . .                   . . .                                       . . .                         
V1 – V2 – V3 – V4/TR7 On ou OFF – V5 – V6 – V7 – V8 – Synchro récepteur

Ainsi, dans le cas présent, où 7 voies T/R sont possibles avec ce type de codeur, chaque info de voie T/R sera rafraîchie toutes les 8x 22 msec = 176msec.

Nous verrons, plus loin, qu’il est possible d’étendre le nombre de voie T/R par canal d’émission.
 MAIS, dans ce cas, le temps de rafraîchissement de chaque voie T/R sera allongé d’autant !

On peut calculer ce temps de latence par la simple formule suivante :

   T = (nombre de switch + 1) x 22 msec.

Le « + 1 «  représente la durée du top Synchro_COD.

Nous constatons ainsi que si on réalisait un codeur 16T/R, le temps de latence, ou de rafraîchissement, serait de 17x 22 msec = 374 msec.
Il était de 9 x 22 msec= 198 msec, pour un codeur 8T/R.


En extrapolant à 32 voies, on obtiendrait 33x 22 msec = 726msec… ce qui est encore plus qu'acceptable pour allumer une ampoule, actionner une sirène, …

  

      Evolution des codeurs Multi-Switch

Au fil du temps, les codeurs ont évolués.
Ils se sont adaptés aux niveaux électriques présents dans les émetteurs et ont proposé un nombre plus élevé de possibilités.

Codeur Multi-Switch de la Robbe MARS

Certes, une des plus ancienne radio vintage de ma "collection", la Robbe MARS reste attractive et compacte.
Concue avec des composants conventionnels, elle reste, le cas échéant, très facile à réparer...

Cet émetteur ne disposait cependant pas d'un connecteur permettant de prélever le signal d'horloge (Clock_TX) nécessaire au compteur-adresseur des systèmes multi-switch !

Le module codeur Multi-Switch de cette génération reprenait alors sur son module un étage monostable créé avec un simple Timer NE555.
Celui-ci était activé par la trame complète des signaux.

Ce codeur ne proposait aussi que 6 voies Tout ou Rien par l'usage d'un multiplexeur à 8 étages.
Deux de ces étages étant en effet utilisés pour la synchronisation du décodeur (Synchro_COD).

Il ne restait donc plus que 6 étages disponibles pour les fonctions T/R.

Cette synchronisation est ici réalisée par application de la tension Vcc sur la sortie se raccordant au connecteur de la voie choisie sur l'émetteur.

 

A noter que dans les versions Luna , Terra Rex, ... cette synchronisation est réalisée par application du signal GND !

Le décodeur sera alors légèrement différent au niveau de son câblage.
Un simple artifice permettant à la marque de commercialiser deux décodeurs "différents" mais ne présentant quasiment aucune diférence si ce n'est une interversion de deux signaux !

 

 Codeur Multi-Switch de la Robbe PROMARS

Le principe de base reste identique: un multiplexeur adressé par un compteur présente, sur la voie choisie sur l'émetteur, les 6 signaux "On/Off" suivis de deux tops Synchro+.

La PROMARS délivre cependant les signaux CK sur un connecteur disposé sur chacune des extensions proposées pour cet émetteur.

   

Disposant de plusieurs PROMARS, je viens de me construire une dizaine de codeurs.

  

 
                                Codeurs Multi-Switch 6TR pour mes émettteurs Robbe PROMARS

 

Je réalise également les décodeurs appropriés mais à base d'un simple PIC et des transistors MOSFET de puissance pour les sorties.

 

Codeur Multi-Switch de la FUTABA F14

Comme nous l'avions vu à la page  Radio_Vintage, l'émetteur Futaba F14 existe en version 7 voies et, plus récente, la version 8 voies.

La version 7 voies ne possédait pas de connexion permettant de prélever le top Synchro_TX nécessaire au cadencement du codeur.
Un petit module additionnel devait donc être acheté et placé dans un logement prévu à cet effet.
Rappelons-nous que c'était aussi le cas pour la Robbe MARS, mais ... qui incluait, sur le module codeur, l'électronique nécessaire pour composer ce signal.
Il était simplement réalisé avec un monostable, sur base d'un timer NE555.

Le module additionnel de Futuba (Ref.F1561) n'utilise pas ce composant et préfère 4 Amplis OP à haut gain de type LM324.

                

  

 Pour le reste, le codeur reste basé sur le même principe d'un compteur adressant un multiplexeur.
A noter que contrairement aux Robbe MARS et PROMARS, les circuits de la F14 sont alimentés en 5 volts !

 

Une astuce est cependant ici utlisée pour permettre de pouvoir utiliser TOUTES les entrées du multiplexeur recevant les états des switches (On/Off) !

Le  signal de synchronisation est ici obtenu par une astucieuse combinaison logique des états présents aux sorties du compteur adresseur.

J'appellerai ce système la Synchro_Logic que nous allons analyser un peu plus bas.

A  noter que le schéma du codeur Multi_Prop (Ref.1512) est absolument identique. On remplace simplement les switches par des potentiomètres !

 

      Etendre le nombre de fonctions d'un codeur

Un codeur T/R utilise donc un multiplexeur pour lire et présenter les états des switches au multiplexeur de l'émetteur..sw
Il a aussi besoin du signal d'horloge (CK_TX) délivré par l'émetteur.

Ces multiplexeurs sont disponibles avec 8 in/out (CD4051) ou 16 in/out (CD4067).
Il en existe aussi à 32 in/out, CMS boîtier TQFP48 (ADG732BSUZ et ADG731BSU)

Mais pour 32 in/out, je préfère utiliser deux CD4067 montés en cascade.
La synchro_logic devra également être adaptée dans ce cas.
Mais nous verrons cela plus loin.

Voici toujours un codeur 15T/R facile à réaliser et qui n'utilise pas le système Synchro_Logic.
Si cela avait été le cas, nous aurions pu disposer de 16 voies T/R.

Grâce aux CAV1 et CAV2, il est possible de choisir une configuration des Top Synchro-décodeur pour une sortie du codeur = à Vcc ou Gnd.
Il s'agit donc ainsi d'un "codeur universel".
Le décodeur devra bien sûr être adapté ou programmé en conséquence !

 

 Schéma d'un codeur 15TR

Codeur élémentaire et universel, à 15 fonctions T/R, permettant de générer un Top Synchro_COD court ou long (1 ou 2 msec) grâce à deux jumpers.

La première entrée du multiplexeur est donc ici réservée pour la création de ce top Synchro_COD.  

  

 

                Table de Vérité du CD4067

 

Autre codeur simplifié 9T/R

Schéma applicable pour les émetteurs générant une impulsion de 2 msec pour une entrée de codeur appliquée à VCC ! (Graupner, ...)
  *
Voir remarque ci-dessus. 

Pour ce type d'émetteur, et pour un codeur pouvant gérer jusqu'à 9 voies, on peut alors se passer d'un multiplexeur !

 

Simulation de ce codeur sur le logiciel MultiSim de Electronics Workbench ©

  1. Q0 est à l'état "1"

La tension en sortie du codeur = Vcc

Signal Synchro
impulsion de 2 msec

 

  2. Qx est à l'état "1"  mais le switch est "patte en l'air" 

La tension en sortie du codeur = Vcc/2

L'émetteur délivrera une impulsion de 1,5 msec (NEUTRE)

Voie OFF
impulsion de 1,5 msec

 

  3. Qx est à l'état "1"  mais le switch est fermé 

La tension en sortie du codeur est proche de GND.

L'émetteur délivrera une impulsion de 1 msec

Voie ON
impulsion de 1 msec

 

 

 

      La Synchro_Logic

Jusqu'à présent, nous avons compris qu'il était nécessaire de réserver au moins une entrée du multiplexeur pour générer le top Synchro_COD (court ou long) en début de séquence.

Nous allons maintenant voir qu’il est possible d’utiliser toutes les entrées du µPlexeur pour y connecter les switches T/R.

Le signal Synchro_COD devra alors être délivré par un système qui effectuera une opération logique sur les bits d’adressage issus du compteur d’adresses.

Le résultat servira à commander un transistor qui connectera la sortie du codeur soit vers Gnd, soit vers Vcc, à votre choix.

Le décodeur devra bine sûr être conçu ou programmé en fonction de ce choix pour reconnaître un top de 1msec ou de 2msec, et ainsi l'associer au top Synchro_COD.
Rappelons encore une fois que toutes les marques n'ont pas fait le même choix de longueur de ce Top Synchro_COD pour leurs ensembles RC.

   

                Principe d'une "Synchro Logique" pour un codeur 8 fonctions

  
                             
                         La "Synchro Logique" est ici commandée par le bit 
Q4
       Le Reset du compteur est commandé par l'opération logique  Q1 AND Q4

Principe de Fonctionnement

Lors des 8 premiers adressages (0000 à 0111) deux cas de figure peuvent se présenter:
   1). Le switch lu est connecté à Vcc (Switch ON); alors la sortie du multiplexeur est égale à Vcc: Out Codeur = Vcc (ON)
   2). Le switch lu est "patte en l'air" (Switch OFF) ; alors la sortie du multiplexeur n'a pas de potentiel, mais grâce au pont de résistances:
Out Codeur = Vcc/2 (OFF)

A l'adressage suivant (1000), Q4 du compteur = "1". 
    INH est aussi à l'état "1", et dans ce cas le multiplexeur est désactivé; aucune entrée n'est donc sélectionnée.
    Cependant, Q4 active aussi le transistor (ici représenté par un interrupteur) qui met alors
Out Codeur = Gnd (Synchro_COD)

Enfin, à l'adressage suivant (1001) l'opération logique Q1 AND Q4 = "1" provoque le Reset du compteur qui se repositionne instantanément à la position "0000".
Le premier switch est ainsi immédiatement lu et... la séquence recommence !

Nous pouvons simuler le comportement du dispositif de contrôle de cette Synchro_Logic, et suivant les marques d'émetteur, comme suit:

 

L'état "1" issu de la logique de décodage désarme le µPlex (INH) et commande le BS170
qui met la sortie à GND, pour délivrer un top Synchro de 2msec.
Lorsque cet état logique est à zéro, le BS170 ne conduit plus et la sortie vaudra VCC (ON)
ou VCC/2 (Neutre = OFF) issu du µPlex.

 

L'état "1" issu de la logique de décodage désarme le µPlex (INH) et commande le NPN
qui met la sortie à VCC, pour délivrer un top Synchro de 2msec.
Lorsque cet état logique est à zéro, le NPN ne conduit plus et la sortie vaudra GND (ON)
ou VCC/2 (Neutre = OFF) issu du µPlex.
On pourra également utiliser un BS170 (commandé en tension) à la place du 2N2222.

 

Réalisation de portes logiques simples et fonctionnelles

En cas de besoin d'une ou deux portes logiques AND / OR, l'encombrement d'un circuit intégré non CMS/SMD peut parfois être problématique.
Il est alors possible de réaliser nos portes logiques, AND et OR,  juste à l'aide de 2 diodes et une résistance !

A noter que les états "1" devront cependant être "actifs". Les "pattes en l'air" ne fonctionnent donc pas.
Par contre, aucun problème lorsqu'elles sont connectées sur d'autres circuits logiques comme le compteur d'adressage, par exemple.
        

           

 

 

  Codeur 16 T/R

Pour des codeurs supérieurs à 8 fonctions, le principe reste le même mais il faudra effectuer une petite adaptation au niveau des "opérations logiques" à effectuer pour contrôler le ou les multiplexeurs.

Pour un codeur 16 voies, on peut utiliser soit deux multiplexeurs 4051(DIP16), soit un seul 4067 (DIP24).
Pour ma part, je choisis le "grand" 4067.

Le temps de latence du décodeur sera de 17x22msec =  374 msec (environ 1/3 de seconde ) 

 >>> Schéma en cours ...

  

  Codeur 32 T/R

Nous utiliserons ici deux multiplexeurs 4067 en cascade et adapterons aussi la logique de commande du signal Synchro_Logic en conséquence.

Le temps de latence du décodeur sera de 33x22msec =  726 msec 

 >>> Schéma en cours ...


A noter qu'on pourrait aussi aisément se passer du système de Synchro_Logic.
On  utiliserait alors la première entrée du premier multiplexeur pour appliquer la tension de Top Synchro_COD (Gnd ou Vcc), comme pour le codeur 15 fonctions vu un peu plus haut.
Dans ce cas, légèrement "plus simple", on disposerait alors d'un codeur à 31 fonctions T/R ... ce qui est déjà bien plus que suffisant pour répondre à une multitude de besoins !
Et, dans ce cas, le temps de latence serait de 32x22msec = 704 msec.

 

      Principe de fonctionnement d'un codeur Multi-Prop

Le principe est identique à celui des codeurs Multi-Switch.

Cependant, à la place de lire l'état de 8 switches, nous allons lire le potentiel délivré par 8 potentiomètres.

Par module additionnel, chaque décodeur sera ainsi en mesure de positionner 8 servos supplémentaires dans votre modèle !

Evidemment, tout comme pour les codeurs Multi-Switch qui présentaient un temps de latence relatif aux nombres de fonctions/Module, la vitesse de rotation de ces servos "additionnels"  sera également affectée.
Pour un codeur Multi-Prop de 8 voies, le temps de rafraîchissement des informations sera égal à environ 9 x22msec = 198 msec.
Le mouvement relatif à celui de l'action sur le potentiomètre de contrôle sera donc plus lent et légèrement saccadé.

     MAIS une question nous saute immédiatement à l'esprit !?     

Un switch ne délivrait que deux possibilités de tensions distinctes: 1).Patte en l'air = finalement Vcc/2, et, 2). Vcc (ou Gnd) pour différencier les fonctions ON et OFF;
Gnd (ou Vcc) étant alors utilisé pour générer le Top Synchro_COD.
Nous n'avions donc que ces trois tensions distinctes: Vcc, Vcc/2 et Gnd, pour générer les tops "Data" (On/Off) et le top Synchro_COD.
Ce qui donnait finalement des tops de 1, 1.5 et 2msec.

Le "problème" avec un potentiomètre étant connecté entre Vcc et Gnd, c'est qu'il va être capable de délivrer toute l'étendue des tensions comprises entre Vcc et Gnd !
Dès lors, comment, dans ce cas, pouvoir établir un top Synchro_COD distinct puisque ce dernier correspond justement à une des positions extrêmes du potentiomètre (Gnd ou Vcc) !??

Et bien, mes zzzamis, l'électronique va nous permettre de réaliser très facilement ce petit "Miracle" !!!

Le système de "Synchro_Logic", que nous avons vu ci-dessus, est conservé.

Le top Synchro_COD est ici réalisé par la fermeture du transistor vers la masse (Gnd).

 Nous allons maintenant placer une résistance en série (R1) sur la sortie du multiplexeur !

   Mais alors,  quelle influence cette petite résistance va t-elle pouvoir avoir ici me direz-vous !?    

        

Et bien, pour calculer l'influence de cette résistance que nous allons ici nommer R1, nous allons appliquer les formules des équivalences de Thévenin.

Théorème de Thévenin : Il est possible de remplacer un morceau de circuit linéaire "complexe" par un dipôle comprenant un générateur de tension idéal et une résistance en série.

      

Cela revient à dire que ce "réseau de résistances" (RP1_A, RP1_B, R1, R2 et R3) peut être ramené à une résistance unique et équivalente !    

Vous trouverez, plus bas, un fichier Excel, à télécharger, qui reprend la formule complexe d'équivalence de ce circuit.
Il vous permettra d'éffectuer toutes les simulations possibles ... Enjoy ! ;))


Pour illustrer le résultat de cette formule, voici déjà une simulation effectuée avec le programme MultiSim©.

         

Ce qui est intéressant de constater ici c'est que lorsque le potentiomètre est connecté à la masse, R1 permet d'obtenir une tension en sortie du codeur !

Ainsi, avec les valeurs de résistances indiquées (conformes à la Futaba F14 alimenté en 5Volts) nous obtiendrons ainsi Vout = 0,417 volts pour Vcc = 5 volts.

Il sera donc maintenant possible de distinguer le top Synchro_COD de la position Gnd du potentiomètre !

Le top Synchro_COD restant toujours obtenu par mise à Gnd de la sortie du multiplexeur.

Vous constaterez cependant qu'il y a très peu de "marge" entre la tension de Synchro_COD (0 volt) et la position minimale du potentiomètre (0,417 V) !

Après mesure, avec un analyseur logique, des signaux issus de la sortie correspondante du récepteur d'une Futaba F14, on lit les valeurs suivantes:
    Tous les 8 potentiomètres du codeur à droite:    8 tops de 1,92 msec, + 1 top Synchro_COD de 0,96 msec
    Tous les 8 potentiomètres du codeur à gauche: 8 tops de 1,08 msec, + 1 top Synchro_COD de 0,96 msec.

On constate donc que pour la position minimale des potentiomètres, il faudra pouvoir distinguer les tops Synchro_COD de 0,96 msec, des infos de position basse du servo de 1,08 msec !
Soit un écart à différencier de 1080 µs - 960 µs
 = 120 µsec !

Il va sans dire qu'un petit MicroContrôleur devra s'acquitter de cette tâche de précision !

L'avantage avec le F14, c'est que bien qu'alimenté avec des accus de l'ordre de 10,5 volts, tous les circuits sont alimentés en 5 volts grâce à un régulateur de tension interne.

La nécessaire fiabilité des mesures sera donc garantie même en cas de décharge progressive de l'accu principal tant qu'il reste chargé au dessus de ce seuil de 5 volts !
En effet rappelons encore, une dernière fois, que la tension lue sur les 7 ou 8 canaux de base de l'émetteur, influence la longueur des impulsions produites par celui-ci.


  Fichier de calcul de l'équivalence de Thévenin

  

 

      Principe de fonctionnement des décodeurs Multi-Switch / Multi-Prop

Comme nous l’avons vu ci-dessus, le signal qui sera disponible sur la sortie assignée du récepteur sera une suite successive d’impulsions de 1, 1.5 ou 2 msec, espacées de l'ordre de 22msec.

Ces impulsions vont alors devoir être traitées par un décodeur approprié.

Decodeurs Multi-Switch 

1. Logique séquentielle combinatoire

Les décodeurs de première génération étaient composé de deux étages.
   - Le premier était constitué de filtres RC et/ou de monostables travaillant en logique séquentielle utilisant le principe des comparateurs à fenêtres temporelles.
   - Le second comprenait un multiplexeur dont chaque sortie comportait un dispositif RC ingénieux permettant de "m"moriser"  l'état reçu jusqu'à la prochaine séquence.
        Suivaient ensuite les 6
buffers "de puissance".

Décodeur de première génération.
Type Robbe MARS dont la Synchro_COD est obtenue par l'application de la tension Vcc au niveau de l'émetteur.

                       

 

   

            (

                    Module décodeur 6TR commun à la Robbe MARS et PROMARS

Notez juste que dans le décodeur PROMARS, le composant 4069 utilisé dans la MARS (Hex inverter Buffer) a été remplacé par un D4584BC (Hex inverter Schmitt Trigger).

Ces deux composants sont totalement compatibles pin to pin et effectuent la même tâche.

 

2. Micro-Contrôleur

Actuellement, les petits microcontrôleurs disponibles à très bas prix, et présentant un faible encombrement, sont devenus incontournables.

Nous allons donc les utiliser en fonction du nombre d’entrées et de sorties dont ils disposent.

Ainsi, pour un décodeur 7 à 8 voies T/R, un microcontrôleur « classique » (PIC, Stamp, Picaxe, …) sera suffisant puisqu'il dispose de suffisamment de sorties
L
e « programme de tri et de traitement des impulsions du RX» pourra directement placer chaque sortie à l’état haut ou bas.
Il restera alors juste à adjoindre un étage de puissance (buffer) à chaque sortie pour allumer les dispositifs à contrôler.

  

                                                 Synoptique d'un décodeur simple à µcontrôleur

 

Décodeur Multi-Switch 6TR pour Robbe PROMARS - Conception Perso à MicroContôleur

 

Décodeur PROMARS 6TR à microcontrôleur PIC16F630 protégé contre la surtension lorsque le récepteur est alimenté en 6 volts.

Les sorties sont équipées de MOSFET de puissance.

La deuxième platine, à droite,  en option, permet de visualiser les états de sorties sur des petites LEDs.

 
                       Décodeur 6TR à PIC16F630, MOSFET de puissance et option témoins de sortie   (compatible Robbe MARS, PROMARS, ...)

 

 Pour un décodeur gérant plus de 8 ou 9 voies (16TR, voire 32TR), il faudra user de quelques artifices pour pouvoir disposer de cette mulltitude de sorties qu'aucun µContrôleur à bas prix ne possède.

       Synoptique d'un décodeur complexe à µcontrôleur et interface de pilotage permettant d'avantage de sorties

Dans ce cas, l’interface de pilotage pourra être composé de plusieurs convertisseurs série/parallèle ou autres registres à décalage mis en cascade.

Les sorties du µContrôleur restant disponibles pourront être utilisées pour y piloter une Led indiquant une dysfonction, des aberrations de signaux; ...

On n'oubliera pas de câbler un petit poussoir pour un éventuel Reset du µContrôleur !

 

Schéma d'un Décodeur 32TR

Les états des 32 voies T/R sont ici latchés dans 4 registres à décalage de 8 bits (74595).

Ces registres travaillent comme des convertisseurs série/parallèle.

A noter qu'il existe aussi des registres à décalage 16 bits : 74F675A, SN54LS673-4 (DIP24), ...

Egalement des registres à 32 bits: HV5623, ... et même des 64 bits: MC14517 B, ... !

    NEWS:        

Je viens de découvrir un circuit qui pourrait également faire l'affaire pour l'interface d'un décodeur 32TR.
Il s’agit du MM5450 de MicroChip, « LED display driver » composé d’un registre à décalage de 35 bits, suivi de 35 latches et 35 buffers Open Drain, à courant réglable !
Il est disponible en boîtier DIP40 ou matrice carrée PLCC pour … à peine 1 Euro !

  

Voici une idée à exploiter...

 

Affaire à suivre ... !

 Decodeurs Multi-Prop 

         

       Décodeur Multiprop8 de la Futaba 14.  Vue du µcontrôleur et de son quartz de précision 

 

     Emulateur de récepteur pour tester les décodeurs Multi-Switch

Pour tester un décodeur multiswitches, que ce soit lors de l'élaboration d'un nouveau circuit ou lors de son contrôle d'entretien, j'avais conçu un petit module qui permettait de me passer de l'émetteur et du récepteur.
Ce petit circuit délivre ainsi les impulsions codées qui seraient issues d'un récepteur recevant  les signaux d'un codeur 8, 16 ou 32 voies.

Il est muni de 32 petits DipSwitches et d'un jumper permettant de simuler un système à 8, 16 ou 32 voies au standard Robbe/Futaba.

   

   Programme du PIC 12F629

'----------------------------------------------------------------------------
' PicBasic-Pro Compiler file    (StampIIsx to PIC 12F629)
'----------------------------------------------------------------------------
'------------------------------------------
' SIMULATEUR CODEUR.pbp    (c) R.LEGAT-Avril 2005
'------------------------------------------

' Système délivrant le signal codé 8/16/32 voies TR
' Utilisé pour test des décodeurs 8/16/32 voies TR
'======================================================

' Pic Specifications
'----------------------------

  Include "BS2DEFS.bas"
@ Device  Pic12F629, intrc_osc, wdt_off, pwrt_on, mclr_off, protect_off 'Configuration des fusibles
  Define OSC 4
  CMCON=7 'Analog comparators off
  OSCCAL=120 'Default: Center=128

' In/Out  Pic 12F629
'-----------------------------------------------------------------------------------
'    Gnd     pin 8 - Gnd
  OUTPUT 0 'Sortie émulée vers décodeur pin 7 - Out0
  OUTPUT 1 'Ck compteur  pin 6 - Out1
  OUTPUT 2 'Reset compteur  pin 5 - Out2
   INPUT 3 'Lecture switch sélectionné pin 4 - In3
   INPUT 4 'Cavalier4   pin 3 - In4
   INPUT 5 'Cavalier5   pin 2 - In5
'   +Vcc     pin 1 - Vcc

' Variables
'---------------

  T_Sync CON 100 '1msec (4mhz=100) &&& 1250 x8/100 pr Pic 4Mhz
  T_Off CON 150  '1,5msec (  =150) &&& 1875
  T_On CON 200  '2msec (     =200) &&& 2500

  OUT CON 0
  CK  CON 1
  RST CON 2

  Nbr_Sw VAR Byte 'Nombre de switches, déterminé par les cavaliers de codage
  Ind_Sw VAR Byte 'Indice de switch
  IN VAR Bit      'Etat du switch lu (1 ou 0)
  T_OUT VAR Byte  'Top à émettre en sortie

'----------------------
'   Programme
'----------------------
 Init:

 Ind_Sw = 0  'SW_0 à Sw_7/15/31
  Low CK
    High RST  'Reset Compteur 4040
    Pause 1
    Low RST

  Gosub Voies 'Lire le nombre de switches à considérer (8/16/32 par codage cavaliers) et stocker dans variable Nbr_Sw

Debut:

IF Ind_Sw<Nbr_Sw  Then 'Lecture sortie Multiplexeur.

  IF IN3 = 0 Then  'OFF
    Pulsout OUT,T_Off '1,5msec (1875)=OFF
  Else                'In3 = 1 (ON)
    Pulsout OUT,T_On  '2msec   (2500)=ON
  ENDIF
  Low OUT  'Stabilisation nécessaire !

  Ind_Sw = Ind_Sw + 1
    High CK  'Top Incrémentation Compteur  x*10µsec
    Pause 1
    Low CK

Else    'ind_sw=Nbr_sw  On a fini le traitement de tous les switches. Il faut envoyer la synchro

 Pulsout OUT, T_sync '1msec (1250)=Synchro
 Low OUT             'Stabilisation nécessaire !
   High RST          'Reset Compteur
   Pause 1
   Low RST  
 Ind_Sw=0
ENDIF

Pause 17    '20 msec commune
Goto Debut   'On remonte en début de boucle infinie

Stop
'----------------------------------------------------------------------------------------------
'------------------------
'  SUBROUTINES
'------------------------

VOIES:

  IF IN5 = 1 Then
    IF IN4 = 1 Then
      Nbr_Sw = 32
    Else
      Nbr_Sw = 8
    ENDIF
  Else
    Nbr_Sw = 16
  ENDIF
 Return
'----------------------------------------------------------------------------------------------

 

     Quelques réalisations personnelles

 

 

                                      Codeur MultiSwitch 8 voies                                                                                             Codeur MultiSwitch 16 voies
 On y distingue le transistor permettant la commutation de la "Synchro_Logic"

 

                                 Codeur MultiSwitch 32 voies !                                                                                            Décodeur MultiSwitch µC 16 voies (Le CON.DB25 est destiné au réseau des feux de mat)

  

     Décodeur MultiSwitch µC 16 voies (autre connectique de sortie sur Cinch "de puissance")                                   Décodeur MultiSwitch µC 32 voies ! (les MosFET doivent encore être placés)

 

 

 http://extremetracking.com/open?login=rglalpmn

  

 

 


Thèmes développés:


   Trafic Visiteurs:  

 Version imprimable de la page       Page:  Nom Page 

 
[ Accueil ]
Copyright © Roger LEGAT - 2008 - Tous Droits réservés - (Thds V2)