Décodeurs maison pour
signaux complexes SNCF



VOIR LA GROSSE MISE A JOUR DU 15/06/2015

 VOIR la MISE A JOUR DU 23/04/2017


Et oui, j'l'ai fait ! J'ai créé de toutes pièces un petit "décodeur-DCC-maison-que-j'ai-fait-avec-mes-p'tits-doigts". Ce décodeur est prévu pour commander 4 feux complexes SNCF. Chaque feu peut afficher 16 états.
Le programme  fonctionne à merveille. Le tout est en vente au prix canon de 50 euros le décodeur pour 4 signaux complets. Son architecture est basée sur un microcontoleur ATMEL.
La notice est téléchargeable ici : Notice pour 4 feux d'Octobre 2016



Voici comment je m'y suis pris :

Le 01 Avril 2012 :

A ce moment, la platine n'était pas faite. J'étais encore à l'étape d'expérimentation. Je travaillais sur une platine d'essais ATMEL  (
J'ai programmé en langage C) :


Vous retrouvez :
    - La centrale DCC (ici, une Intellibox) qui génère le signal DCC
    - Une platine d'essais avec un optocoupleur pour l'acquisition du signal DCC
    - Une (très grande!) carte de développement pour la programmation et le test du µC.
    - Quelques feux branchés sur les sorties du µC.

Pour vous donner un ordre d'idée, voici la vidéo de présentation :


Demo decodeur signaux complexes SNCF fait maison

Quelques informations complémentaires :
Il y a 4 feux pilotables.
Chaque feu "occupe" 2 adresses de décodeurs. En DCC chaque décodeur contrôle 4 accessoires.  Donc, ce sont 8 adresses d'accessoires consécutives qui seront utilisées. Chaque accessoire possède deux sorties (une ON, une OFF), soit 16 sorties. C'est pour celà que je peux afficher 16 états différents. Chaque état correspond à une "sortie" d'accessoire.
(Dernier calcul pour la route : 4 feux contrôlant chacun 16 sorties => 64 sorties d'accessoires pour un seul circuit.)



Le 03 Avril 2012

Bon, voilà c'est fait !

Le dimming est en place. C'est Bôôôôôôôôôôôôôôô ! Et je trouve çà encore plus beau puisque je l'ai fait tout seul comme un grand !
Il ne reste plus qu'à mémoriser l'adresse du décodeur en EEPROM. (oui, je sais c'est quand-même un détail crucial)

Chose promise, chose dûe ! Le dimming en vidéo. Les puristes remarqeront le petit bugg...

Le dimming sur les signaux miniatures SNCF



Le 06 Avril 2012

J'ai reçu deux questions, voici mes réponses :

1/ "Quelle différence entre les adresses d'accessoires et les adresses de décodeur ? "
    - (Voir l'explication en haut de la page ) il ne faut pas confondre "adresse de décodeur" et "adresse d'accessoire".
    En DCC, un décodeur (= une platine électronique) peut commander 4 accessoires (=4 paires de sorties : sortie ON et sortie OFF)
Adresse de décodeur
n° de sortie du décodeur
1 2 3 4 5 6 ...
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 ...
Adresse d'accessoire 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

2/ "Quelle différence entre ton décodeur et celui de LEB modélisme ?"
 - Le décodeur LEB modélisme est un trésor du genre... magnifiquement réalisé...mais un peu complexe à piger et à commander.
 - Dans les deux cas, (LEB modélisme et le mien) nous utilisons deux adresses de décodeur(donc 8 accessoires donc 16 sorties). La particularité des deux décodeurs, c'est qu'ils gèrent l'ensemble des sorties d'accessoires simultanément pour créer un affichage donné. Les sorties d'accessoires "ON/OFF" ne sont pas visibles car elles sont gérées à l'intérieur de la puce. Ce que l'on voit, c'est le résultat de leur combinaison.
 - LEB modélisme n'utilise que les 5 premiers accessoires pour contrôler le signal avec 31 états possibles ! (25 =32 états possibles mons 1 non utilisé = 31 états) trop fort!. L'avantage, c'est qu'il reste trois accessoires non utilisés pour gérer les 4 indicateurs de direction (=2 accessoires) et l'option (=1acccessoire). L'inconvénient c'est que pour obtenir un affichage donné, il est nécessaire d'envoyer successivement au décodeur 5 instructions d'accessoires différentes. Pas GLOP pour le PC ou la centrale qui gère pas bien cela. Au passage, on retrouve la même nécessité d'envoyer 2 comandes successives avec la centrale pour obtenir la direction souhaitée. Ayant utilisé ces superbes décodeurs, j'admets avoir été TRES dérouté par les affichages au début (un même bouton donnait un affichage complètement différent en fonction de l'état précédent...). Je n'ai pigé qu'un peu plus tard.
 Pour ma part mon décodeur utilise les 8 "accessoires" pour gérer les 16 états du signal (donc 2 décodeurs complets). En revanche, on gagne en simplicité de commande puisque il n'a besoin que d'une seule commande pour obtenir l'affichage souhaité. C'est la dernière sortie commandée qui impose son état. Le désavantage, c'est que je n'ai plus la place pour l'indicateur de direction, à moins de "consommer" un décodeur de plus.
La différence peut se résumer par ce tableau :
décodeur LEB Mon décodeur
décodeur 1 2 décodeur 1 2 etat
accessoire 1 2 3 4 1 2 3 4 accessoire 1 2 3 4 1 2 3 4


0 0 0 0 0


etat1 0 - - - - - - - Carré 
etat 1 0 0 0 0 1


etat2 1 - - - - - - - Carré violet
etat 2 0 0 0 1 0


etat 3 - 0 - - - - - - Sémaprore
etat 3 0 0 0 1 1


etat 4 - 1 - - - - - - Sémaph. clign.
etat 4 0 0 1 0 0


etat 5 - - 0 - - - - - Avertissement
etat 5 0 0 1 0 1


etat 6 - - 1 - - - - - Avert. clignottant
etat 6 0 0 1 1 0


etat 7 - - - 0 - - - - Voie libre
etat 7 0 0 1 1 1


etat 8 - - - 1 - - - - Voie libre Clign.
etat 8 0 1 0 0 0


etat 9 - - - - 0 - - - Manoeuvre
etat 9 0 1 0 0 1


etat 10 - - - - 1 - - - Manoeuvre clign.
etat 10 0 1 0 1 0


etat 11 - - - - - 0 - - Avert + ralent. 30
etat 11 0 1 0 1 1


etat 12 - - - - - 1 - - Avert + ralent. 60
etat 12 0 1 1 0 0


etat 13 - - - - - - 0 - Avert + rap ral 30
etat 13 0 1 1 0 1


etat 14 - - - - - - 1 - Avert + rap ral 60
etat 14 0 1 1 1 0


etat 15 - - - - - - - 0 Avert cli + rap ral 60
etat 15 0 1 1 1 1


etat 16 - - - - - - - 1 tout clignotant
..... ...code binaire...



etat 31 1 1 1 1 1





Le 27 Avril 2012 :

Grâce à la météo détestable, le typon avance, il est à l'essai. Pour le moment, je n'ai fait que la version "composants standards". Je réserve la version CMS pour un peu plus tard. De toute façon, la platine sera sous la planche (donc l'encombrement n'est pas crucial) et raccordée aux feux par des cordons plats.
Voici les caractéristiques générales :
 - Le circuit comporte une alimentation à découpage pour éviter l'échauffement inutile. Ainsi, on peut le brancher sur un courant tracton allant jusqu'à +/-30 volts sans risquer la surchauffe. Et c'est plus éconnome en énergie pour la centrale...
 - J'ai aussi changé le processeur. J'en ai trouvé un qui me permet de dédier quatre ports complets aux feux. Le précédent voyait un feu légèrement amputé. Le problème est résolu.
 - La mise en mémoire de l'adresse est résolue aussi.
 - Le brochage des connecteurs est compatible avec les feux LEB modélisme (uniquement avec le commun au 0v, sinon, me consulter...)
 - Mémorisation du dernier état affiché en cas de coupure de courant.

Voici le typon avec l'implantation des composants. (version avec le commun des LEDs à la masse)


Le schéma électrique simplissime (hormis l'alimentation à découpage en partie supérieure) :
[



Le 4 Mai 2012


Voilà, c'est fait ! Le prototype est réalisé et fiable.

Une photo du prototype, qui a souffert, souffert pour endurer tous les tests :

Pour l'instant, je ne peux personnaliser les 16 états possibles que par programmation initiale. Très bientôt, la programmation des états se fera par CV.

Ah j'oublais : La platine est entièrement compatible avec les signaux LEB modélisme, en voici la preuve en photo :


Et en vidéo


Décodeur DCC 4 feux memorisation états

Remarque sur la vidéo : Les deux feux latéraux sont des signaux LEB modélisme, les deux feux centraux sont des kits MACQUET de ma construction (remarquez la différence de finesse...). Vous remarquerez qu'avec mon adresse habituelle, j'ai trouvé le moyen de griller la led verte du deuxième feu (en partant de droite)



14 Avril 2014 :

Après un long moment sans travaux sur mon décodeur, j'ajoute un élément non négligeable : la programmation des états par CV :
Petit rappel des CV utilisées avec leur états d'origine :
CVEtat correspondant :
515-516Carré
517-518Carré violet
519-520Sémaphore
521-522Sémaphore clignotant
523-524Avertissement
525-526Avertissement clignotant
527-528Voie libre
529-530Voie ligre clignotant
531-532Manoeuvre
533-534Manoeuvre clignotant
535-536Avertissement + ralentissement 30
537-538Avert + ralentissement 60
539-540Avert + rappel de ralentissement 30
541-542Avert + rappel de ralentissement 60
543-544Avert clignotant + RapRal60
545-546Tout clignote
Remarque : Les CV 513 et 514 sont utilisées pour programmer l'adresse du décodeur. La programmation peut donc se faire de deux façons (par CV ou par bouton-poussoir). L'adresse par défaut est "3"




15/06/2015 :

GROSSE mise à jour !

- Le décodeur peut maintenant être configuré de façon à limiter le nombre d'états possibles.
Le nombre d'états affichables est maintenant paramétrable (entre 2 et 16, par paire) avec quelques CV. Désormais, en fonction des besoins, on peut décider du nombre d'états à afficher sur chaque feu, ce qui permet d'économiser un bon nombre d'accessoires.

Je m'explique :  16 états disponibles en permanence, c'était sympa mais pas toutjours utilisé et ça consommait beaucoup d'accessoires :


J'ai donc étudié la possibilité de réduire à volonté le nombre d'états de chaque feux afin d'économiser le nombre d'accessoires occupés.
Les 4 feux sont rigoureusements indépendants. Ainsi, on peut programmer le décodeur comme sur le schéma ci-dessous (par exemple)

Sur cet exemple, j'ai programmé 4 états pour le feu1, 2 états pour le feu2, 16 états pour le feu3, et 7 états pour le feu4.
C'est flexible à volonté et indépendant pour chaque signal. Vous pouvez choisir (par programmation des CV) quels sont les états à afficher. Ainsi, vous pouvez placer les seuls états utiles dans les premiers états de chaque feu. Ceux-ci étant indépendants, pous pouvez personnaliser votre décodeur à volonté.

Notez que, sur l'exmple ci-dessus, 7 états étant impair, le décodeur utilise automatiquement 4 accessoires (4 assessoires*2états par accessoire = 8 états possibles)
Par la suite, tous les feux sont programmables à partir de l'adresse de décodeur du premier feu (prog des CV).
La
Nouvelle notice d'Octobre/2016 détaille la procédure et les numéros de CV pour obtenir cela.



- J'ai aussi ajouté une nouvelle CV647 pour gérer la durée de la période de clignotement.

Cette CV contient la durée du cycle, exprimée en centième de seconde.
Cette période est désormais réglable de 0.3s à 2.55s. Chacun trouvera son bonheur !
De même, la Nouvelle notice d'Octobre/2016 détaille la procédure et les numéros de CV pour ce réglage.



- Toujours dans le but de personnaliser, j'ai aussi rendu le dimming (allumage ou extinction progressifs des lampes) réglable :
La CV517 règle la rapidité d'allumage.

La CV518 règle la durée d'extinction.

La valeur "80" donne une variation allumage quasi instantanée, tandis que la valeur mini "4" donne une variation TRES lente.
Lors de vos programmations, attention à ce que la durée de dimming ne dépasse pas la demi-période, auquel cas vous risquez de ne plus voir le clignotement !



- ATTENTION :  Les CV qui gèrent les états des feux sont désormais les suivantes (incompatibles avec la version précédente) :
- CV519 à CV550 pour le premier feu,
- CV551 à CV582 pour le second feu,
- CV583 à CV614 pour le troisième feu,
- CV615 à CV646 pour le quatrième feu.
Il reste possible de programmer les 16 états d'un feu même si vous n'utilisez que les 2 premiers états.
Je rappelle que les états des feux sont indépendants les uns des autres.



- J'ai aussi ajouté la possibilité de réinitialiser les états du décodeur à leur valeur "d'usine" :
Pour cela, il suffit d'utiliser la CV666 (facile à retenir
!). La valeur à écrire dépend de ce que vous voulez réinitialiser :
- La valeur « 0 » permet de réinitialiser les états des 4 feux (et les 4 feux sont ramenés à 16 états)
- La valeur « 1 » permet de réinitialiser les états du feu 1 SEUL (et nombre d’états du feu 1 =16)
- La valeur « 2 » permet de réinitialiser les états du feu 2 SEUL (et nombre d’états du feu 2 =16)
- La valeur « 3 » permet de réinitialiser les états du feu 3 SEUL (et nombre d’états du feu 3 =16)
- La valeur « 4 » permet de réinitialiser les états du feu 4 SEUL (et nombre d’états du feu 4 =16)
- La valeur « 5 » permet de réinitialiser le dimming (allumage et extinction).

La NOUVELLE notice est téléchargeable ici : Notice d'Octobre/2016 pour 4 feux



23/04/2017 : Industrialisation du décodeur !

ANNONCE : La carte sera industrialisée !

Et oui...j'ai sauté le pas ! Devant le succès de ce décodeur, et ne n'ayant plus le temps d'assurer la construction des cartes avec mes p'tits doigts, j'ai décidé d'industrialiser la chose.
Le projet avance bien et la fabrication sera pour bientôt.
Evidemment, j'ai revu un peu la carte et je lui ai ajouté des fonctionalités pour répondre aux besoins de tous . En plus des fonctionnalités  décrites  ci-dessus, vous  y trouverez les avantages suivants :

- Choix de l'alimentation en 5v et en 12v par un simple cavalier.
- Choix du commun à la masse ou commun au + individuel sur chaque signal.
- Sur la version à 2 signaux, possibilité d'ajouter des commandes manuelles.

Je rédigerai une notice spécifique à cette nouvelle platine évidemment.
Je vous tiens au courant dès que les cartes sont disponibles !

Haut de page