Décodeur DCC pour aiguillages à solénoïdes ou servomoteurs (DLY) ou MP1/5/6/7/10
et signaux ferroviaire lumineux complexes

- Les accessoires DCC se commandent généralement par une commande binaire 1 ou 0 sauf les signaux lumineux qui nécessitent une donnée sur 8 bits pour indiquer quelles lampes doivent s'allumer pour former un signal.
- Les aiguillages se commandent avec des moteurs munis de fin-de-course, des servomoteurs (de type DLY), des MP1/5/6/7/10 ou des solénoïdes nécessitant un bit de commande ou un bouton poussoir.

Le décodeur pour accessoires DCC "SOL-SIG-SERVO" (compatible CDM-Rail)

Voici un petit module de la taille d'une carte de visite pour commander 16 solénoïdes ou 8 servomoteurs pour orienter 8 aiguillages. Il peut aussi commander 4 cibles à 9 feux de signalisation lumineuse utilisant la méthode Charlieplexing ou des signaux classiques du commerce avec retour au commun pour illuminer 4 cibles de 4 LEDs ou 2 cibles de 8 LEDs. Il est possible de partager les sorties en deux blocs pour commander 4 aiguillages et 2 cibles lumineuses avec le même module, ceci étant programmable par CV.

SOL-SIG-SERVO est construit autour d'un microcontroleur Arduino Nano qui décode les commandes DCC accessoire qui circulent dans les rails. L'entrée DCC est opto-isolée du reste du module et la LED jaune indique sa présence. Il décode 2048 adresses en utilisant une entrée (DCC) et il commande 16 sorties (0-5V) qui peuvent fournir 10mA chacune. L'adresse du décodeur est contenu dans les CV1 et CV9 selon la norme NMRA. Ce décodeur DCC respecte en plus la norme NMRA "Accessory Signaling with Extended Format" : NMRA S-9.2.1_2012. D'autre part, 6 CV servent à paramétrer les solénoïdes, 42 CV servent à paramétrer les servomoteurs et 163 CV permettent de personnaliser les signaux selon nos désirs. Les valeurs par défaut contiennent les 19 signaux essentiels. Voir la page des signaux pour visualiser les 19 signaux sur cibles.

Ce décodeur s'alimente par une tension continue comprise entre 7 et 20VDC qui n'a pas besoin d'être parfaitement régulée puisqu'un régulateur de tension 5V à découpage se trouve sur le module. Ce montage consomme 100mA environ sous 5V. L'alimentation du module est protégée contre les inversions de tension accidentelles et un fusible assure la sécurité électrique du module. Toutefois il est possible de l'alimenter exclusivement avec la tension DCC. Une seule méthode devra être choisie pour alimenter le module !

La LED jaune s'allume pour indiquer que le DCC arrive jusqu'au décodeur. Je recommande d'utiliser un feeder DCC séparé pour commander tous les accessoires ce qui assurera leur fonctionnement même si une loco provoque un court-circuit sur les rails.


Le décodeur DCC, plus petit qu'une carte bancaire

Ce module fonctionne avec un logiciel destiné au Nano qui se télécharge en bas de cete page. Il gère un décodeur DCC proposant plusieurs fonctions selon le contenu des CV 21 et CV 22 :

Mode SOL
- Solénoïdes : Il commande le temps d'activation de 16 solénoïdes, paramétrables par CV de 0.1s à 0.9s, pour qu'ils ne soient pas détruits.
Cette fonction nécessite l'adjonction du module de puissance 4CH_MAG, développé par mon ami SuperN, qui utilise une tension alternative de 16VAC pour alimenter les solénoïdes. Le module de puissance s'insère entre le décodeur et les solénoïdes. Il est isolé électriquement du décodeur et ne génère pas de parasites. Il est décrit dans la seconde partie de cette page.
- MP1/5/6/7/10 : les moteurs lents de marque MTB se commandent en insèrant un module L298 alimenté en 12VDC. Le câblage est très simple.
Il est aussi possible de commander les MP1/5/6/7/10 avec une alimentation de 15VAC en insèrant le module de puissance 4CH_MAG.

Les commandes DCC sont du type accessoire au format 3 octets, comportant une adresse, une sous-adresse et une position 0 ou 1 (droit/dévié). Le module SOL-SIG-SERVO accepte 8 adresses consécutives correspondant à 8 aiguillages commandés par 2 solénoïdes chacun ou un MP1/5/6/7/10. Ces adresses vont de l'adresse de base DCC + 0 à l'adresse de base DCC + 7.

Mode SIG
- Il commande jusqu'à 4 cibles de 19 signaux prédéfinis de type SNCF. Ceux-ci sont personnalisables en reprogrammant leurs CV. Selon le contenu des CV 21 et CV 22, il commande des signaux en Charlieplexing et gère le multiplexage nécessaire à ce mode ou il commande des signaux classiques du commerce avec retour au commun, GND ou +5V.
Les commandes DCC sont du type accessoire étendu au format 2 octets, comportant une seule adresse par cible et une valeur de 0 à 31 correspondant au signal à afficher. En option, il est possible d'utiliser 16 adresses avec une commande sur 1 bit pour être compatible avec les antiques centrales DCC du commerce. Le module SOL-SIG-SERVO accepte jusqu'à 8 adresses consécutives, paires ou impaires, correspondant aux cibles utilisées. Ces adresses vont de l'adresse base DCC + 0 à l'adresse de base DCC + 7, par pas de 2 (0, 2, 4, 6) ou (1, 3, 5, 7). Une version spéciale pour CDM-Rail à 4 LED avec un retour commun est disponible.

Mode SERVO
- Il commande 8 servomoteurs paramétrables par CV.
Les commandes DCC sont du type accessoire au format 3 octets, comportant une adresse, une sous-adresse et une position 0 ou 1 (droit/dévié). Le module SOL-SIG-SERVO accepte 8 adresses consécutives correspondant à 8 aiguillages commandés par 1 servomoteur chacun. Ces adresses vont de l'adresse de base DCC + 0 à l'adresse de base DCC + 7.

Mode mixte
- Cette configuration partage le décodeur en 2 blocs, moitié servo ou moitié solénoïdes, moitié signaux au choix. Leur fonctionnement est décrit ci-dessus.

Voici le module vu en 3D :



Circuit imprimé du décodeur DCC

Schéma du décodeur :

Voici le plan dessiné avec le logiciel gratuit KiCad, avec lequel j'ai routé en 2 couches le circuit imprimé ci-dessous.



Le circuit imprimé mesure 80 x 45 mm.

Je dispose de quelques circuits imprimés en stock. La liste des composants ce trouve sur cette page : SOL-SIG-SERVO BOM

Câblage :

Les 16 sorties sont partagées horizontalement en 2 blocs de 2x4 broches : A3 et B2, C3 et D2. L'attribution des 2 blocs se gère avec les CV21 et CV22 qui indiquent si le bloc est attribué aux servomoteurs (4), aux solénoïdes (5), aux signaux en Charlieplexing (6), aux signaux avec retour commun au GND (7) ou aux signaux avec retour commun au +5V (8). Ainsi il est possible de commander des solénoïdes d'un coté et de commander des signaux de l'autre coté si on le souhaite. (voir la notice)

Mode SOL
Chaque aiguillage utilise 3 broches en colonne d'un connecteur 3 points, disposé de J1 à J8. Par exemple les 2 commandes de solénoïde direct en J1-3 et dévié et en J1-2 avec retour au GND en J1-1 sont connectés au module 4CH_MAG alimenté en 15VAC. Les sorties de ce module se connectent directement sur les solénoïdes.
Pour commander un MP1/5/6/7/10, comme précedemment relier le module 4CH_MAG alimenté en 15VAC et ses sorties se connectent directement sur poz1, COM et poz2 du MP1/5/6/7/10.
Pour commander un MP1/5/6/7/10 avec un module L298 alimenté en 12VDC il faut connecter J1-3 sur IN1, J1-2 sur IN2 et J1-1 sur GND du module L298. Placer son cavalier sur ENA. Connecter les 2 sorties du module L298 sur COM et M2 du MP1/5/6/7/10. Voir le schéma de câblage ci-dessous.

Mode SIG
- Signaux en Charlieplexing : chaque cible lumineuse complexe utilise un groupe d'une demi-rangée de 4 broches : A3, B2, C3 ou D2.
- Signaux avec Anode ou Cathode Commune : chaque cible lumineuse utilise 1 ou 2 demi-rangées de 4 broches : A3, B2, C3 ou D2 + un fil de retour commun. Les signaux AC ou CC contenant plus de 4 LEDs utilisent systématiquement 2 demi-rangées en lui procurant jusqu'à 8 sorties.

Mode SERVO
Chaque aiguillage utilise 3 broches en colonne d'un connecteur 3 points, disposé de J1 à J8. Une modification du câblage est nécessaire sur ce décodeur : selon la configuration choisie, ne pas installer les résistances R21 à R24 et/ou R25 à R28. Remplacer par un fil soudé sur les pads des résistances situées du coté des connecteurs et relier celui-ci au +5V sur J0 ou J11. Exemple : signal PWM en J1-3, +5V en J1-2 avec retour au GND en J1-1. Les servomoteurs de type DLY se connectent directement sur les connecteurs J1 à J8.

La notice de l'utilisateur se trouve ici : Notice du décodeur d'accessoires DCC Sol-Sig-Servo.pdf (1.6 Mo).


Exemple de câblage de moteur lent :


Moteur lent de type MP1,5,6,7,10

Le câblage 1 se connecte en remplaçant l'interrupteur par 2 relais (AC ou DC) ou un L298 totalement silencieux alimenté en courant continu.
Le câblage 1bis nécessite l'emploi d'un intermédiaire : un relai inverseur ou mieux un L298 totalement silencieux, les 2 alimentés en courant continu exclusivement.


Firmware du décodeur :

Rapport de compilation du Nano :

COMM USB:
- Le croquis utilise 28128 octets (91%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
- Les variables globales utilisent 1344 octets (65%) de mémoire dynamique, ce qui laisse 704 octets pour les variables locales.
  Le maximum est de 2048 octets. (Les chiffres sont approximatifs)

Les fichiers pour programmer le Nano en Décodeur Accessoire DCC se téléchargent ici : SOL-SIG-SERVO.zip.




Le module de puissance 4CH_MAG pour alimenter les solénoïdes ou les MP1/5/6/7/10 en 15VAC

Les solénoïdes se commandent traditionnellement avec une tension alternative de 15VAC en appuyant brièvement sur un bouton poussoir car une alimentation permanente les détruirait. Le modéliste ferroviaire SuperN du club "Les modélistes charentais" a créé 4CH_MAG, un module de puissance alimenté en 15VAC. Les solénoïdes sont alimentés au travers des triacs qui s'activent et se désactivent au passage par zéro du 15VAC pour limiter les parasites électriques. L'entrée des signaux de commande est opto-couplée pour s'interfacer directement avec le décodeur DCC pour accessoire décrit ci-dessus en utilisant des câbles Dupont à 3 fils de longueur variable. La commande d'activation émise par le décodeur DCC accessoire est calibrée précisément dans le temps entre 0.1s et 0.9s par des CV, donc paramétrable (2s pour MP1/5/6/7/10). Un module commande 8 solénoïdes contenus dans 4 aiguillages. Il faut utiliser 2 modules 4CH_MAG pour commander 8 aiguillages qui est la capacité maximale du décodeur. Néanmoins, le circuit imprimé est sécable en 2 parties si on souhaite commander des blocs de 4 solénoïdes pour piloter 2 aiguillages.



Le module de puissance 4CH_MAG


Voici le schéma du module de puissance :



1/2 schéma de 4CH_MAG V2

Les valeurs des résistances peuvent être personnalisées car elles ne sont pas critiques. R1-R4 peuvent monter jusqu'à 330 Ohms sous 5 V. Ce module ne consomme de l'énergie que pendant l'activation des solénoïdes, jusqu'à 1A environ sous 15VAC pendant moins d'une seconde. Les solénoïdes seront activés séquentiellement pour éviter un pic de consommation en courant. Les MP5 consomment 150 mA pendant 2 secondes. Un fusible réarmable automatiquement assure la sécurité électrique du module.



Vue en 3D du module 4CH_MAG

Le circuit imprimé mesure 81 x 49 mm.

 PC 25/09/2021. Mise à jour du 16/09/2023    

BB 25200