Un décodeur DCC pour les plaques tournantes Fleischmann et Roco

. Par : msport. URL : https://www.locoduino.org/spip.php?article325

Cette réalisation concerne la plaque tournante Fleischmann 6152C ainsi que les versions antérieures basées sur le même principe.
Cette plaque tournante est largement répandue malgré son prix élevé et ses défauts connus.
Pour cet article, on utilisera une fois de plus une variante du décodeur d’accessoires de Rudy Boer : Le site de rudysmodelrailway

Fleischmann 6152
Fleischmann 6152
Fleischmann 1780
Fleischmann 1780

Plaques tournantes Fleischmann 6152C et 1780

La 6152C est la version modernisée de l’ancienne 1780 des années 1970 qui fonctionne sur le même principe, à savoir, une bobine commande le retrait d’un stylet d’un logement et lance le moteur. La plaque tourne et quand le stylet tombe en face d’un autre logement, il s’y engage. Cela arrête le moteur et positionne le pont.

Sur Locoduino

Dans ces colonnes, Christophe a publié une réalisation détaillée avec une commande par wifi. L’article est Automatisation du pont FLEISCHMANN 6152 (HO) avec un ESP32 (1)
Christophe indique le site de Stéphane Ravaut qui décrit cette plaque en détail.
http://stephane.ravaut.free.fr/Train_miniature/PlaqueTournante/DecodeurPlaqueTournanteFleischmann.html
Cette réalisation est délicate, nécessite une intervention à cœur ouvert sur le matériel . Elle peut sembler risquée et est potentiellement irréversible.

Réalisation

On va donc proposer une réalisation externe à la plaque, ne prévoyant aucune modification de celle-ci. Ce qui ne vous empêchera pas de la compléter par des améliorations de votre cru : éclairage, signalisation, sonorisation, etc.
Stéphane Ravaut avait envisagé cette solution 1, mais ne l’avait pas retenue au profit de l’intervention à cœur ouvert de sa plaque (cf. son site) :

Solution 1
Solution 1

On utilisera une commande via DCC, pour rester intégré à une architecture pur DCC avec le décodage des ordres DCC adressés à deux accessoires. On se contentera dans un premier temps de reproduire le fonctionnement de la commande manuelle de base : Une avance pas à pas simple par impulsion avec choix du sens de rotation.
On mettra à contribution le programme de Rudy Boer comme pour Mon premier décodeur pour les aiguillages DCC, qui va utiliser une adresse pour la bobine et une autre adresse pour le sens du moteur.

Mécanisme
Mécanisme

L’envoi des codes DCC++ par la manette (ou le contrôleur) doit être le suivant pour fonctionner avec le programme fourni :

 if (customKey == 66)  {          // lettre B adresse 66
   Serial.print ("<a 17 1 1>") ;  // plaque sens anti horaire, la broche reste engagée et le switch de la broche maintient le circuit d’alimentation du moteur ouvert
   Serial.print ("<a 17 2 1>") ;  // bobine activée pour une durée de 300ms pour laisser le temps à la broche de se retirer, se faisant elle ferme le circuit d’alimentation du moteur ce qui démarre la rotation, décalant le pont du trou index de départ
   delay (300);
   Serial.print ("<a 17 2 0>") ;  // bobine désactivée ce qui libère la broche qui poussée par son ressort frotte jusqu’à tomber dans le trou index suivant. En s’enfonçant dans le trou, elle ouvre le circuit moteur et arrête la rotation
 }
 if (customKey == 67)  {          // lettre C adresse 67
   Serial.print ("<a 17 1 0>") ;  // plaque sens horaire
   Serial.print ("<a 17 2 1>") ;  // bobine activée
   delay (300);
   Serial.print ("<a 17 2 0>") ;  // bobine désactivée
 }  

Donc le programme de Une manette simple et autonome pour LaBox est modifié :

Nouveau programme pour Une manette simple et autonome

Rappelons que cette manette peut commander toute centrale DCC++.

Une impulsion de 300 ms permet au solénoïde de sortir la broche de l’index de départ, et d’attendre que la rotation démarre. Le pont s’arrêtera sur l’index suivant. Pour tourner de plusieurs index, on pourrait laisser la bobine alimentée plus longtemps, le temps de passer devant les index où l’on ne souhaite pas arrêter le pont.

Mais ce décodeur peut être intégré dans tout système conforme au DCC de la NMRA. aux adaptations près que le DIY nécessite.

On peut aussi réduire Une manette simple et autonome pour LaBox à un petit montage avec 2 boutons poussoirs, le microcontrôleur, deux LED et envoyer les codes sur le moniteur série.

Vous pourrez commander les feux (sur les deux connecteurs x4 à coté du condensateur) avec :

   Serial.print ("<a 9 0 1>") ;  // active  adresse 33 : pas de flasher sur les LED orange
   Serial.print ("<a 9 0 0>") ;  // désactive  adresse 33 : flasher sur les LED orange

   Serial.print ("<a 9 1 1>") ;  // active adresse 34  : LED rouge droite
   Serial.print ("<a 9 1 0>") ;  // désactive adresse 34  : LED verte droite

   Serial.print ("<a 9 2 1>") ;  // active adresse 35  : LED rouge gauche
   Serial.print ("<a 9 2 0>") ;  // désactive adresse 35  : LED verte gauche

Vous référer au programme et à la photo des LED de test plus bas.

Problème

Le problème que l’on rencontre, lié à la conception de ce matériel et hérité des premières plaques (la 1780 de Fleischmann) est le partage d’un commun entre le moteur et la bobine. (le fil rouge). Comme le moteur doit tourner dans les deux sens, on ne peut pas le référencer à un des pôles de l’alimentation comme on le fait pour la bobine. Une solution envisageable est d’utiliser une décharge capacitive pour la bobine, mais cela limite la répétition des impulsions.

Solution proposée

La solution proposée est d’utiliser un circuit pilote de moteur comme celui qu’emploie Christophe, le SN754410. On couple les commandes IN des deux canaux ce qui permet de mettre en commun une sortie de chaque canal et de lui affecter le fameux fil rouge. L’impulsion sur la bobine est commandée par le EN (enable) du canal concerné. Les IN sont inversés pour obtenir l’inversion de sens du moteur. Et donc du courant dans la bobine, ce qui ne pose pas de problème.
Pour respecter les consignes gouvernementales de sobriété, on utilise un Pro Mini et quelques composants CMS. Mais vous pouvez envisager un montage sur breadboard comme dans l’article Mon premier décodeur pour les aiguillages DCC
Comme de nombreuses broches sont disponibles, elles sont sorties sur des connecteurs 4x mâles 2,54. Ce qui permet de connecter deux feux J-V-R ou deux V-R et un double alternatif orange (flasher) comme dans le programme fourni. Un autre connecteur 7x mâles n’est pas exploité ici mais est disponible si vous avez le modèle correspondant de Pro Mini avec les broches A4, A5, A6 et A7 bien positionnées.

Schéma

Schéma du décodeur
Schéma du décodeur

On trouvera sur le schéma et sur le circuit imprimé un MAX472, petit frère du MAX471 avec une résistance externe, variante que l’on trouve encore. La mesure de courant n’est pas utilisée ici mais, qui sait, le sera par une future version du programme. On peut donc ne pas le monter et le remplacer par un pont. Pour ceux qui voudront l’utiliser, les résistances utilisées donnent une sensibilité de 1V/A.
Suivant la fiche technique, RS = 0,5 ohm, RG1=RG2 =220 ohms, Rout=1000 ohms.
Le condensateur de 22 pF n’est pas obligatoirement nécessaire. A ne mettre qu’en cas de problème de décodage. Commencez par vérifier que vous avez 2,5V sur la broche 2 du 6N137 en présence du DCC.

Programme

Vous avez déjà installé l’IDE Arduino avec l’article Ma première centrale DCC
Vous placez le répertoire du programme (ci-dessous) décompressé dans votre répertoire de sketches et vous double-cliquez sur RB_DCC_decoder_plaque.ino.
Téléversez le dans votre Pro Mini à l’aide d’une interface FTDI ou équivalent.

Programme du décodeur pour une plaque tournante

Décodeurs sur Locoduino

On retrouvera sur Locoduino différents articles ayant pour sujet les décodeurs, où l’interface Mynabay est utilisée, et où son principe y a déjà été décrit :
Mon premier décodeur pour les aiguillages DCC
Un décodeur DCC pour 16 feux tricolores
Décodeur pour aiguillage à solénoïdes sur Arduino qui rappelle les types de commande
Un décodeur d’accessoire DCC versatile basé sur Arduino

Liste du matériel

Liste du matériel (BOM)

Circuit imprimé

coté cuivre
coté composants

Une commande chez JLCPCB conduit à la livraison de cinq cartes avec quatre circuits sécables. Donc vous disposerez de circuits même après avoir dépanné d’autres modélistes. Vous pouvez les utiliser en décodeurs 3 x 3 feux.

Gerbers

Gerbers du décodeur : plaque6

Montage et connexion du circuit imprimé

Comme d’habitude, on montera les composants les plus bas d’abord et donc les plutôt nombreuses résistances CMS. Pour les LED, elles sont inutiles si on les prévoit en externe. On fera attention à ne pas faire de ponts de soudure avec les vias.

JPEG - 110.8 ko
JPEG - 124.4 ko
JPEG - 220.6 ko

Mise en œuvre

JPEG - 172.2 ko

On connecte une alimentation 15V 2A sur le jack pour la plaque.
Le DCC sur la prise verte.
Et les trois fils de la plaque :

  • rouge = commun
  • jaune = moteur
  • gris = bobine.

Pour les tests, on remplace moteur et bobine par des LED tête bêche.
Et si l’on veut on monte six LED sur les broches x4.

connexion à une plaque 1780
connexion à une plaque 1780
Connexion à une 6152C
Connexion à une 6152C
Connexion à une 6152C
Connexion à une 6152C

Où acheter ?

Où acheter ?, une liste de fournisseurs, et ci-dessous des liens directs :
https://www.ebay.fr/itm/304587192572 diodes SS14 1,50 € les 50
https://www.ebay.fr/itm/125369970967 SN754410 1,40 € les deux.
https://www.ebay.fr/itm/304587412251 6N137 1,50 € les deux.
https://fr.aliexpress.com/item/4000321145570.html Pro Mini 4,8 € (1)
https://fr.aliexpress.com/item/32821902128.html Pro Mini 5,3 € (2)

Le positionnement de A4, A5, A6 et A7 est différent sur ces modules. Le circuit imprimé correspond au modèle (2)

A noter que ROCO affiche sur ses manettes des adresses d’accessoires (les aiguillages) supérieures de 4 aux codes DCC NMRA envoyés par leur centrale. Cependant, nous n’assurons pas de support pour le matériel du commerce.