LOCODUINO

Forum de discussion
Dépôt GIT Locoduino
Flux RSS

dimanche 26 juin 2022

30 visiteurs en ce moment

Mon premier décodeur pour les aiguillages DCC

. Par : msport

DIFFICULTÉ :

Vous avez réalisé Ma première manette pour les aiguillages DCC et vous voulez l’utiliser. Il vous faut donc un décodeur.
Cette manette doit son principe à Dave Bodnar, mais pour le décodeur, c’est un autre illustre contributeur qui nous fournit schéma et programme : Rudy Boer

Sur Locoduino

Différents articles ont été publiés ayant pour sujet les décodeurs :
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

Mon premier décodeur
Mon premier décodeur

Cette version de décodeur est spécifique aux aiguillages à solénoïdes. Elle les protège avec une impulsion limitée en durée par programme. Compacte, elle utilise seize ports d’un Arduino Nano pour huit aiguillages. Les adresses sont dans le programme, donc modifiables avant téléversement.

Pour corriger un problème d’ordre de raccordement aux connecteurs, de nouveaux fichiers Gerber ont été mis en ligne le 25/4/2022 (DILc4).

Dans le cahier des charges,

  • l’utilisation d’un programme tout fait, de base sans modification.
  • un coût minimal
  • du matériel que l’on trouve facilement
  • un montage qui ne prend pas trop de temps
  • deux versions :
    1. une expérimentale sur table avec un bread board (sans soudures)
    2. une avec circuit imprimé prêt à se connecter au DCC et à l’alimentation courant continu adaptée à vos aiguillages.

Prérequis :

  • comme pour les articles précédents :
  • connaître les bases de la gestion des fichiers de votre ordinateur
  • savoir télécharger des fichiers et les décompresser
  • et donc savoir les placer au bon endroit
  • savoir utiliser l’IDE Arduino pour charger un programme sur une carte Arduino
  • savoir lire un schéma simple.
  • savoir souder proprement pour la version à circuit imprimé
  • maitriser un minimum DCC et DCC++.

Architecture :

La simplicité voulue pour cette série d’articles conduit à un choix d’architecture pur DCC. Et cela nous amène au synoptique suivant :

JPEG - 51.5 ko

Et au rappel de la commande des solénoïdes par un Arduino via des ULN2803.
Attention à ne pas mélanger les tensions.

JPEG - 32.1 ko

Origine du programme :

Le site de rudysmodelrailway :

Sur la page des programmes de rudysmodelrailway, la page dite Software, Rudy présente différents décodeurs, adaptés au sujet que l’on propose de résoudre :

Le lien vers la page des programmes de rudysmodelrailway est ici.

Tous utilisent le circuit interface connu sous le nom de Mynabay. Il a été optimisé depuis pour accepter les variations sur les opto-isolateurs 6N137 que l’ont peut acheter.

JPEG - 23.9 ko

La page de Geoff Bunza utilise ce schéma optimisé. Mais à vouloir réaliser un décodeur à tout faire, il a rendu la réalisation difficile.
On notera surtout la présence d’un petit condensateur en parallèle sur l’entrée de l’optocoupleur qui permet de faire fonctionner le montage avec tous les 6N137. Bunza en prévoit un de 270 pF, ce qui est peut être beaucoup. De par mon expérience, je proposerais de vous en passer, le montage en photo n’en comporte pas. (et de commencer avec 22 pF en cas de problème) J’ai noté que la capacité parasite d’une LED qui peut remplacer la diode de protection a permis au montage sur table de fonctionner dans tous mes essais.
La première version est plus accessible.

On a donc retenu pour cet article le décodeur pour aiguillages à solénoïdes de Rudy. Il est configurable par modification du programme Arduino, mais cela ne vous pose plus de problèmes depuis longtemps, n’est-ce pas ?
L’avantage de cette option est que le circuit est simplifié et la modification du programme facilement réalisable.

JPEG - 49.8 ko

Ce schéma est la source d’inspiration de cet article, le schéma définitif est celui du circuit imprimé que vous trouverez plus bas.

Le lien est placé en évidence sur la page des programmes, mais comme moi, vous ne le trouverez probablement pas tout de suite :
Arduino DCC, S88, and more Download link

Vous pouvez télécharger le fichier compressé : Arduino_DCC_S88.zip
C’est le bon malgré son nom, il contient tous les décodeurs Rudy.

Vous pouvez les tester, c’est une mine d’inspiration.

Nous avons adapté RB_DCC_Decoder_Solenoid dont nous vous proposons une version configurée pour huit aiguillages, donc seize bobines avec les adresses de 1 à 8. La durée d’impulsion est de 250 ms. Comme indiqué, ces paramètres sont modifiables.

Programmation :

Vous avez déjà installé l’IDE Arduino avec l’article Ma première centrale DCC
Vous placez le répertoire du programme décompressé (ci-dessous) dans votre répertoire de sketches et vous double-cliquez sur RB_DCC_Decoder_solenoid_article_1.ino.
Téléversez le dans votre Nano. Vous serez peut-être obligé de choisir dans processeur "ATmega328P (Old Bootloader)" pour permettre le téléversement.

RB_DCC_Decoder_solenoid _article

Tel qu’il est configuré, le programme permet de commander l’aiguillage sur le connecteur K1 à l’adresse 1, K2 à l’adresse 2 et ainsi de suite jusqu’à K8 à l’adresse 8. Vous pouvez commander les aiguillages aux adresses de votre choix en décalant par pas de 8 les adresses 1 à 8 dans le programme fourni. (ex : 9 à 17)

JPEG - 86.7 ko

Principe de fonctionnement

Le montage de Mynabay isole le montage du DCC de la voie et envoie le signal codé sur l’entrée D2 du Nano. Le programme du Nano se charge d’identifier les adresses et sous adresses DCC et de commander les sorties correspondantes pour la durée retenue (250 ms). Les ULN2803 mettent les sorties actives au GND, le point commun est donc le positif de l’alimentation des aiguillages. On obtient un fonctionnement optimum avec une tension de 15 V continus. Pour éviter une détection de court-circuit par l’alimentation, on la prendra au minimum de 2A. Et bien sur, on s’arrangera pour éviter la commande simultanée de plusieurs bobines.
Les ULN2803 sont spécifiés pour un courant de 500 mA (et limités à cette valeur : clamp current). Dans la pratique on constate qu’ils peuvent commander les anciens aiguillages Fleischmann dont la bobine a une résistance de 18 ohms, donc c’est sans problème pour des modèles plus récents, surtout avec une durée d’impulsion de 250 ms à 500 ms.

Matériel nécessaire :

Commun aux trois versions :

  • 1 Arduino Nano
  • 3 condensateurs 100 nF entraxe 5mm.
  • 1 condensateur 1000µF ou 2200µF 25V entraxe 5mm.
  • 1 condensateur 100µF ou 220µF 16V entraxe 3,5mm, hauteur < 10mm
  • 1 condensateur 10µF ou 22µF 16V entraxe 3,5mm, hauteur < 10mm
  • 1 opto isolateur 1N637
  • 1 LED 3 mm ou un condensateur 22 pF
  • 5 diodes 1N4148
  • 2 ULN2803

Version breadboard :

  • 1 breadboard 700 points, des ponts pour celle-ci
  • 2 headers à longues pattes (+ 3 x 8 x le nombre d’aiguillages)
  • 3 résistances 10 K ohms 1/4 W
  • 2 résistances 1 K ohms 1/4 W

Version circuit imprimé :

  • 1 circuit imprimé
  • 1 prise jack 5,5 mm pour C.I. (alimentation aiguillages)
  • 8 connecteurs 3 pôles pour C.I. M+F (connexion aiguillages)
  • 1 connecteur 2 pôles pour C.I. M+F (connexion DCC)
  • 2 supports CI 18 pins (ULN2803)
  • 1 supports CI 8 pins (1N637)
  • 2 supports 15 pins femelles pour le Nano (headers 2.54 mm)
  • 2 supports 4 pins femelles pour l’oled et le HC12 (headers 2.54 mm)
  • 1 LED 3 mm indicateur pour la tension aiguillage
  • 4 résistances 10 K ohms 1/8 W
  • 2 résistances 1 K ohms 1/8 W
JPEG - 66.3 ko

Le montage sur table

Ici, une LED protège le 6N137 en tension inverse et indique la présence du DCC.
Une 1N4148 est plus appropriée dans le montage sur circuit imprimé.
On voit l’entrée DCC à gauche, le DCC est redressé par les diodes 1N4148.
Et est filtré par un 100 µF 25V puis régulé par un 75L08 pour le Vin de l’Arduino.
Le 5V de l’Arduino alimente le montage de Mynabay utilisant l’opto 6N137.
Huit des sorties de l’Arduino sont connectées à un seul ULN2803.
Une seule paire de sorties de l’ULN2803 est connectée sur le câble des solénoïdes d’un d’aiguillage pour cette configuration de test.

JPEG - 144.5 ko
JPEG - 176.4 ko
JPEG - 165.7 ko
JPEG - 126.9 ko
JPEG - 117.9 ko
JPEG - 181.2 ko

Pour ce montage expérimental, on a câblé que les sorties D5 à D12 vers un ULN2803. Et via celui-ci, ce sont les sorties D11 et D12 qui sont renvoyées vers les headers (x3) à pattes longues sur lesquelles le câble de l’aiguillage est embroché. L’aiguillage répondra à l’adresse 5 en direct / dévié.

Le schéma du circuit imprimé

Schéma
Schéma

Les fichiers gerber

Ces fichiers vous permettent de commander le circuit imprimé chez jlcpcb.com (par exemple). Vous aurez cinq exemplaires en une quinzaine de jours pour environ 6€ en faisant le choix de PostLink Registered Mail.

Gerbers du décodeur : DILc4

Le circuit imprimé

Top
Top
Bottom
Bottom

Montage du circuit imprimé

On a retenu que des composants traversants pour ne pas avoir de problème avec des CMS.
On commence par les composants les plus bas pour terminer par les plus hauts. Et donc terminer par les supports du Nano, pour faciliter la soudure des composants qui sont placés en dessous. Les condensateurs en dessous doivent faire moins de 10 mm de haut.
Il faut mettre une goutte de soudure sur le PAD. Ce PAD a été rendu nécessaire pour avoir deux largeurs de piste pour la masse dans le dessin du circuit imprimé.
Avant d’installer le Nano, vérifiez que vous avez environ 8 V entre les broches Vin et GND du support du Nano. Et avant d’installer le 6N137, vérifiez que vous avez 5 V entre les pins 5 (GND) et 8 (GND) du support de celui-ci.
Comme test, une fois le Nano programmé et en présence du DCC, vous mesurerez environ 2,5 V sur la broche 2 du Nano. Une résistance non montée nommée TEST fournit deux points de contact sur le circuit imprimé.

Quelles commandes pour ce décodeur ?

Bien sur, ce décodeur est prévu pour fonctionner avec Ma première manette pour les aiguillages DCC et Ma première centrale DCC mais également avec toutes les centrales respectant les standards NMRA. Attention certaines d’entre elles décalent les adresses des aiguillages par rapport à ce qu’elles affichent.

Les réalisations de cette série d’articles

Elles fonctionnent ensemble.
Ma première centrale DCC
Ma première manette DCC (1) ou
Une manette simple et autonome pour LaBox
Ma première manette pour les aiguillages DCC

Photo de famille
Photo de famille

et les absentes de la photo :

JPEG - 497 ko
JPEG - 129 ko

Où acheter :

Où acheter ? une liste de fournisseurs, et ci-dessous des liens directs :
https://fr.aliexpress.com/item/1005002353140857.html connecteurs 3.51
choisir Right angle Set 2.59€ 3p / 2,17€ 2p les 10, Set = male + femelle
https://fr.aliexpress.com/item/4000062758237.htm idem par 50
https://www.ebay.fr/itm/223486841987 header Nano 15 pins 5€ les deux.
https://www.ebay.fr/itm/194936668889 100nF 4€ les 10
https://www.ebay.fr/itm/234296433320 2200µF 25V 2€ les 5
https://fr.aliexpress.com/item/32915163128.html 100µF 35V les 50, conviennent pour les deux condensateurs du schéma.
https://www.ebay.fr/itm/123381148410 6N137 4€ les 10
https://www.ebay.fr/itm/123803952916 header long pins 4€
https://www.ebay.fr/itm/132408779692 22pF 2€ les 10
https://www.ebay.fr/itm/393066615010 résistances 2€
https://www.ebay.fr/itm/122685033709 1N4148 2€ les 10
https://www.ebay.fr/itm/153675529143 ULN2803 3€ les 5
https://www.ebay.fr/itm/130872233107 Bread board 5,45€
https://www.ebay.fr/itm/171907417345 Bread board + 65pcs Jumper 8€
https://www.ebay.fr/itm/353763328308 connecteur pour circuit imprimé 3.5 / 1.3 7€ /10

Ces liens sont éphémères et ne correspondent peut-être pas aux quantités que vous souhaitez pour amortir le port. Mais vous pouvez en réutiliser le texte pour une nouvelle recherche, et éventuellement retenir un vendeur en France.

Réagissez à « Mon premier décodeur pour les aiguillages DCC »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Projets »

Un chenillard de DEL

Enseigne de magasin

Feux tricolores

Multi-animations lumineuses

L’Arduino et le système de commande numérique DCC

Un décodeur d’accessoire DCC versatile basé sur Arduino

Un moniteur de signaux DCC

Une barrière infrarouge

Un capteur RFID

Un TCO xpressnet

Une animation sonore

L’Arduino au coeur des systèmes de pilotage analogiques ou numériques

Calcul de la vitesse d’un train miniature avec l’Arduino

La génèse d’un réseau 100% Arduino

Une horloge à échelle H0

Simulateur de soudure à arc

Un automatisme de Passage à Niveau

Automatisation du pont FLEISCHMANN 6152 (HO) avec un ESP32 (1)

Identifier et localiser vos trains avec le RFID/NFC et un bus CAN.

Etude d’un passage à niveau multivoies

La rétro-signalisation sur Arduino

Décodeur pour aiguillage à solénoïdes sur Arduino

Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO

Etude d’un passage à niveau universel

Réalisation pratique d’un système de mesure de vitesse à l’échelle N

Une Passerelle entre le bus S88 et le bus CAN pour la rétro signalisation

Un décodeur DCC pour 16 feux tricolores

Block Automatique Lumineux avec la carte shield "Arduino 4 relays"

Réalisation d’un affichage de gare ARRIVEE DEPART

Ménage à trois (Ordinateur, Arduino, réseau)

Réalisation d’un va-et-vient automatique et réaliste

Souris et centrale sans fil

Communications entre JMRI et Arduino

Annonces en gare avec la RFID

Une croix de pharmacie animée avec Arduino UNO

Réalisation d’un wagon de mesure (distance et vitesse)

Une manette simple et autonome pour LaBox

Éclairer le réseau (1)

Éclairer le réseau (2)

Block Automatique Lumineux à 8 cantons analogiques

Éclairer le réseau (3)

Éclairer le réseau (4)

Éclairer le réseau (5)

Boitier 3D pour la station DCC minimale

Va-et-vient pour deux trains

Comment piloter trains et accessoires en DCC avec un Arduino (1)

Comment piloter trains et accessoires en DCC avec un Arduino (2)

Comment piloter trains et accessoires en DCC avec un Arduino (3)

Comment piloter trains et accessoires en DCC avec un Arduino (4)

SGDD : Système de Gestion DD (1)

SGDD : Système de Gestion DD (2)

SGDD : Système de Gestion DD (3)

La PWM : Qu’est-ce que c’est ? (1)

La PWM : Qu’est-ce que c’est ? (2)

La PWM : Qu’est ce que c’est ? (3)

La PWM : Qu’est ce que c’est ? (4)

Mise en oeuvre du Bus CAN entre modules Arduino (1)

Mise en oeuvre du Bus CAN entre modules Arduino (2)

Un gestionnaire en C++ pour votre réseau (1)

Un gestionnaire en C++ pour votre réseau (2)

Un gestionnaire en C++ pour votre réseau (3)

Un gestionnaire en C++ pour votre réseau (4)

Réalisation de centrales DCC avec le logiciel libre DCC++ (1)

Réalisation de centrales DCC avec le logiciel libre DCC++ (2)

Réalisation de centrales DCC avec le logiciel libre DCC++ (3)

Contrôleur à télécommande infrarouge pour centrale DCC++

Gestion d’une gare cachée (1)

Gestion d’une gare cachée (2)

Gestion d’une gare cachée (3)

La carte Satellite V1

La carte Satellite V1

La carte Satellite V1

La carte Satellite V1

La carte Satellite V1

Les derniers articles

Va-et-vient pour deux trains


msport

Boitier 3D pour la station DCC minimale


msport

Mon premier décodeur pour les aiguillages DCC


msport

Ma première manette pour les aiguillages DCC


msport

Éclairer le réseau (5)


Jean-Luc

CDM-Rail pour Ma première centrale DCC (2)


msport

Éclairer le réseau (4)


Jean-Luc

CDM-Rail pour Ma première centrale DCC (1)


msport

Rocrail pour Ma première centrale DCC


msport

Éclairer le réseau (3)


Jean-Luc

Les articles les plus lus

La PWM : Qu’est-ce que c’est ? (1)

Réalisation de centrales DCC avec le logiciel libre DCC++ (3)

Un décodeur DCC pour les signaux à deux ou trois feux sur Arduino NANO/UNO

Va-et-vient pour deux trains

Mise en oeuvre du Bus CAN entre modules Arduino (2)

Réalisation de centrales DCC avec le logiciel libre DCC++ (1)

Réalisation d’un affichage de gare ARRIVEE DEPART

Comment piloter trains et accessoires en DCC avec un Arduino (3)

L’Arduino au coeur des systèmes de pilotage analogiques ou numériques

La rétro-signalisation sur Arduino