Micro centrale DCC minimale

Cette micro centrale DCC permet une exploitation complète d'un réseau ferroviaire digital. Associée à un ordinateur sur lequel le logiciel JMRI est installé, elle permet de transformer les commandes envoyées par le contrôleur du réseau (ordinateur + logiciel JMRI) en trames DCC. La micro centrale est connectée d'une part au contrôleur par un câble USB et d'autre part, aux rails du réseau pour lesquels elle fournit le signal de puissance.

Avec le programme DCC++ respectant la norme NMRA, toutes les motrices digitalisées peuvent être contrôlées quelle que soit l'échelle (HO, N...). La solution proposée permet non seulement la commande de plusieurs locomotives simultanément, mais aussi la gestion des accessoires (aiguillages, signalisations...) via le protocole DCC.

Caractéristiques

  • encombrement réduit du montage (64 x 64 x 50 mm) ;
  • adressage des locomotives en adresses courtes ou longues ;
  • vitesse en 128 pas ;
  • commandes simultanées de plusieurs locomotives (sens, vitesse et 29 fonctions) ;
  • commandes de plus de 2000 accessoires via le protocole DCC ;
  • alimentation maximum 4A ;
  • protection contre les courts-circuits (arrêt de l'alimentation DCC en cas de surconsommation afin de ne pas endommager l'électronique et le matériel roulant) ;
  • sélecteur du mode programmation des CV pour une locomotive ;
  • isolation du tronçon de programmation du reste du réseau pendant le paramétrage du décodeur d'une motrice;
  • coup de poing d'arrêt d'urgence.

      Ce projet décrit toutes les étapes liées à la création d'un réseau ferroviaire utilisant cette micro centrale :

      • montage du circuit électronique ;
      • programmation du microcontrôleur Arduino Nano ;
      • tests de bon fonctionnement ;
      • installation du logiciel JMRI ;
      • paramétrage des locomotives ;
      • exploitation du réseau ferroviaire (tractions et fonctions depuis le contrôleur).

      La micro centrale DCC, à elle seule, permet l'interfaçage entre l'ordinateur et tous les décodeurs disponibles sur les rails du réseau ferroviaire (locomotives, aiguillages, signaux...). Chaque motrice pourra donc être commandée individuellement par le signal DCC envoyé sur les rails.

      Maturité : 100%

      État d'avancement du projet

      Évolutions

      Version 1.3 (07/2023)

      Cette dernière évolution est parfaitement fonctionnelle après tous les tests d'endurance en charge et les contrôles de la bonne prise en compte de la mesure de surconsommation.

      A cette occasion, les paramètres de l'application ont été ajustés car certaines locomotives américaines déclenchaient la détection de surconsommation de manière intempestive :

      • CURRENT_SAMPLE_SMOOTHING = 0.5
      • CURRENT_SAMPLE_TIME = 5

      Avec ce nouveau paramétrage, un court-circuit est pris en compte maintenant s'il dure plus de 10ms.

      La conception du boîtier est finalisée et cette première version est entièrement fonctionnelle.

      Version 1.2 (03/2023)

      Toutes les corrections sont validées. La micro centrale DCC est parfaitement fonctionnelle.

      Afin de mettre en cohérence toutes les centrales DCC, une nouvelle version est nécessaire :

      • prise de connexion DCC ;
      • utilisation des sorties de mesure du courant du L298N ;
      • ajustement de quelques résistances de LED.

      Version 1.1 (02/2023)

      Toutes les corrections apportées à la version précédente sont validées et cette version est parfaitement fonctionnelle. Il reste quelques dernières modifications à apporter au montage pour qu'il soit complètement finalisé :

      • Quatre diodes de roue libre de la partie puissance sont inutiles en raison du montage en parallèle des deux ponts ;
      • L'intensité des LEDs doit être diminuée ;
      • Les entrées de l'AOP non utilisées doivent être reliées à la masse pour éviter les interférences ;
      • Prévoir une sortie DCC supplémentaire permettant d'isoler le tronçon de programmation du reste du réseau ;
      • Prévoir une connexion à la masse de la face avant pour éviter l'effet "antenne".

      Version 1.0 (01/2023)

      Le montage est parfaitement opérationnel. et son fonctionnement est complètement validé.

      Une nouvelle version doit malgré tout être réalisée :

      • Les empruntes des diodes 1N4001 sur le PCB sont inversées par rapport au schéma ;
      • Agrandir la taille des pastilles du Nano afin d'en faciliter les soudures ;
      • Corriger la position des deux trous de fixations du dissipateur du L298N qui sont décalés de 2 mm;
      • Pour avoir la possibilité de brancher un ampèremètre dans le montage de manière à en surveiller la consommation, il faut ajouter deux picots dans le circuit d'alimentation 15 V.

      Version 0.5 (01/2023)

      Le montage a été réalisé sur une planche à pain (breadboard) afin de vérifier le fonctionnement général du projet. Ce type de réalisation permet également de mettre au point et valider la partie logicielle du microcontrôleur.

      Version 1.3

      Version 1.2

      Version 1.0

      Version 0.5

      Prérequis

      Ce seul petit montage va donc vous permettre de créer votre premier réseau digital (DCC). Malgré tout, quelques prérequis sont nécessaires avant d'entamer sa réalisation. Vous devez disposer (outre le fer à souder et le petit matériel qui l'accompagne) :

      • d'un ordinateur (portable ou de bureau, proche du réseau à piloter en raison de la connexion par câble USB) ;
      • d'une ou plusieurs locomotives numériques (digitale) avec ou sans fonctions sonores ;
      • d'un câble USB pouvant être branché sur la carte du microcontrôleur Arduino Nano (plusieurs tailles de connecteurs USB cohabitent) ;
      • d'une alimentation secteur 15 ou 18V continus (en fonction de l'échelle sélectionnée) pouvant délivrer un courant supérieur à 4A.

      Schéma électronique

      Le cœur de ce montage est une carte Arduino Nano v3 dans laquelle le programme DCC++ (adapté aux caractéristiques de ce circuit) a été téléversé.

      Les commandes sont envoyées au microcontrôleur par la liaison série (USB) depuis un ordinateur sur lequel tourne le logiciel gratuit JMRI.

      Le signal DCC généré par la carte Nano passe par un circuit de puissance avant d'être envoyé aux rails afin de contrôler les décodeurs des locomotives et des différents accessoires DCC.

      Un convertisseur courant/tension surveille la consommation de courant sur les rails et coupe la génération du signal DCC en cas de surconsommation.

      Matériel nécessaire

      Description Quantité Référence Url de recherche
      Condensateur polarisé tantale 1µF 1 C1 condensateur + tantale + traversant + 1µF
      Condensateur 100nF 3 C2, C4, C5 condensateur + céramique + traversant + 100nF
      Condensateur polarisé électrolytique 220µF 1 C3 condensateur + polarisé + électrolytique + radial + traversant+ 220µF + 25V
      Diode 1N4001 4 D1, D2, D3, D4 diode + 1N4001 + 50V + 1A
      LED 3mm deux couleurs (vert et rouge), cathode commune 1 D9 led + 3mm + rouge + et + rert + cathode + commune
      LED 3mm jaune 1 D10 led + 3mm + jaune
      LED 3mm bleue 1 D11 led + 3mm + bleue
      Prise jack femelle d'alimentation 15V 5A montage PCB (5,5 x 2,5mm ou 5,5 x 2,1mm en fonction de la prise du transformateur) 1 J1 694108301002 + Fiche + jack + alimentation + 6.4mm + Angle + droit + Würth + Elektronik
      Prise d'alimentation des rails (3 broches pas 3,8mm à angle droit pour montage PCB) 1 J2 Phoenix + Contact + mâle + Angle + droit + et + femelle + Droit + 3.81mm + 3 + Pôles
      Pin header de jumper (pas 2,54) : court-circuiter par un cavalier pour ne pas utiliser l'ampèremètre 2 J3 Pin + header + droit + pas + 2,54
      Transistor NPN PN2222A 1 Q1 transistor + pn2222a + to92
      Résistance 0.1 Ohm (2 W) 1 R1 résistance + 0.1 + ohm + 2W + traversante + film + métallique + 1% + chanzon
      Résistance 1K (1/4 W) 3 R2, R6, R7 résistance + 1/4w + 1K
      Résistance 10K (1/4 W) 1 R3 résistance + 1/4w + 10K
      Résistance 2K (1/4 W) 2 R4, R5 résistance + 1/4w + 2K
      Bouton poussoir d'arrêt d'urgence (diamètre 16mm) 1 SW1 Guuzi + 16mm + Bouton + Poussoir + Champignon + Métal
      Interrupteur 4RT de sélection du mode (exploitation / programmation). 1 SW2, SW3 Mini + Interrupteur + à + Bascule + 12 + Broches + on/on + 2 + Positions + 4PDT
      Arduino Nano v3 1 U1 Arduino + nano + v3 + ATMEGA328
      Double pont en H L298N 1 U2 circuit + intégré + double + pont+ H + L298N
      Dissipateur thermique 25 x 23 x 16mm TO-220 aluminium avec deux picots de fixation 1 Fixation U2 Dissipateur + to220 + l298n + 25mm + 23mm + 16mm
      Double ampli OP LM358 1 U3 Double + ampli + OP + LM358 + dip
      Pin socket droit (pas 2,54) 30 Pin + socket + droit + pas + 2,54
      Pin Header droit (pas 2,54) 21 Pin + header + droit + pas + 2,54
      Support 8 broches (LM358) 1 Fixation U3 Support + 8 + broches + dip
      Facultatif : ampèremètre analogique pour visualiser la consommation instantanée de courant du montage 1 MES1 Ampèremètre analogique 3A
      Transformateur 220 /15V 5A (75W) 1 Adaptateur + Secteur + 15V + 5A + 75W
      Câble USB type A vers mini B - 5 broches 1 Câble + USB + 2.0 + Type + A + vers + Mini + B + 5 + Broches + Pin + Mâle + 30cm + Compatible + Arduino + Nano

      Fonctionnement

      Alimentation 5 V

      Cette micro centrale DCC est alimentée en 5V par la liaison USB connectée entre l'ordinateur et la carte Arduino Nano. La consommation de courant 5V pour ce montage n'étant que de quelques dizaines de milliampères (Arduino Nano, logique du L298N et deux LEDs), l'ordinateur pourra amplement supporter de fournir cette tension au montage et éviter ainsi l'ajout d'un abaisseur de tension.

      Vue 3D de la carte principale de la micro centrale DCC sur laquelle sont implantés tous les composants électroniques ainsi que les connecteurs de raccordements.

      Génération du signal DCC

      Le microcontrôleur ATmega328 de l'Arduino Nano, embarquant une adaptation du programme DCC++, récupère les commandes au format texte via la liaison série et les transforme en signal DCC. Lorsque aucune commande n'est à envoyer, le logiciel DCC++ génère des trames fictives (trames vides ou idle) afin de toujours maintenir le signal de puissance sur les rails.

      Circuit inverseur de signal à transistor :

      • un niveau haut du signal d'origine active la base du transistor qui devient passant => le signal inversé passe à l'état bas.
      • un niveau bas du signal d'origine bloque le transistor => un niveau haut apparaît sur la broche du signal inversé.

      Toutes les trames générées par le programme sortent du microcontrôleur avec une amplitude comprise entre 0 et 5V. Un montage inverseur de signal (Q1, R6 et R7) permet de présenter au pont en H (U2) les deux formes du signal : la trame émise par le microcontrôleur et le même signal inversé.

      Chaque côté du pont en H est commandé par un des deux signaux (origine et inverse). Le circuit de puissance L298N va donc créer un signal DCC en reproduisant le signal d'entrée par l'application alternative de l'alimentation 15 V dans un sens, puis dans l'autre, passant ainsi d'une amplitude 0 / 5 V (signal généré par le Nano) à -15V / +15 V (signal DCC de puissance appliqué sur les rails) :

      • 0 V en entrée => -15 V DCC ;
      • 5V en entrée => + 15 V DCC.

      (Voir le principe de fonctionnement du pont en H)

      Le double pont en H L298N, est commandé par le même signal sur ses deux ponts. Ceci permet de connecter en parallèle les deux sorties et bénéficier ainsi d'une puissance doublée. Chaque sortie pouvant absorber un courant de 2A, le branchement en parallèle permet donc de générer un courant DCC pouvant aller jusqu'à 4A (pics à 6A supportés par le circuit L298N).

      Protection contre les courts-circuits

      Le montage de puissance est alimenté en 15V avec une résistance de shunt en série d'une valeur de 0.1 ohm (R1). La mesure différentielle de tension aux bornes de R1 réalisée par un montage (U3, R2, R3 et C1 ci-contre) autour d'un ampli opérationnel (AOP) permet une conversion du courant consommé en tension qui est présentée sur les broches A0 et A1 du microcontrôleur.

      Lorsque la tension sur ces broches analogiques atteint le seuil paramétré dans le logiciel, la routine de surveillance de la consommation arrête la génération du signal DCC qui est matérialisé par l'allumage de la LED D9 en rouge. Pour redémarrer la centrale, il faut alors envoyer à nouveau la commande de mise sous tension via la liaison série pour que D9 se pare de la couleur verte (génération DCC).

      Le coup de poing d'arrêt d'urgence (SW1) connecte directement les broches de surveillance A0 et A1 du Nano au 5 V, simulant ainsi un court-circuit sur les rails.

      Circuit de mesure du courant consommé réalisé autour d'un amplificateur opérationnel qui convertit la mesure en tension proportionnelle.

      Elements de calculs du montage

      Les composants autour de l'amplificateur opérationnel sont montés en amplificateur de tension en régime linéaire à contre réaction négative. Ce nom pompeux désigne en fait simplement un amplificateur de tension linéaire. Il multiplie la tension appliquée sur la broche 3 par le gain du montage et présente le résultat sur la broche 1 (sortie de l'AOP).

      • Tension aux bornes de R1 (U = R * I) = 0,1V par Ampère
      • Puissance dissipée par R1 pour 4A (P = U * I) = 0,4V * 4A = 1,6W (normalisée à 2W)
      • Gain du montage AOP = (R3 / R2) + 1 = (10K / 1K) + 1 = 11
      • Sortie AOP pour 4A = tension broche 3 * gain = 0,4V * 11 = 4,4V

      Pour une consommation de courant DCC variant entre 0 et 4A sur les rails, la tension à la sortie du montage AOP variera linéairement entre 0 et 4,4V. Les broches analogiques du microcontrôleur mesurent une tension pouvant varier entre 0 et 5V (tension d'alimentation). Cette tension est convertie en un nombre entier sur une échelle de 0 à 1023 par le convertisseur analogique/numérique du microcontrôleur. Une tension de 4,4V correspondra donc à (1023 * 4,4) / 5 = 900. C'est cette valeur maximale qui pourra être paramétrée dans le programme. La constante de courant maximum autorisé, CURRENT_SAMPLE_MAX, ne devra pas dépasser cette valeur de 900 (voir le chapitre concernant les constantes DCC++ plus bas).

      Si on désire limiter la consommation du montage à 2A par exemple car il n'y aura pas plus de 7 ou 8 locomotives utilisées simultanément (à l'échelle N), la valeur de la constante sera alors fixée à 450. Il est préférable de toujours ajuster cette valeur au plus proche de la consommation maximum de manière à faire circuler le moins de courant possible lors d'un court-circuit. Si votre réseau s'agrandit et demande plus de courant, rien ne vous empêche de téléverser le programme DCC++ dans la carte Arduino Nano en ayant paramétré une nouvelle valeur de courant maximum.

      Sélecteur de mode

      La micro centrale DCC offre un mode "programmation" grâce à un sélecteur sur la face avant du montage (connecté en SW2 et SW3 sur le circuit imprimé). Ce circuit ne disposant pas de voie de programmation dédiée dans un souci d'économie des ressources, l'isolation du reste du circuit est réalisée en utilisant le quatrième interrupteur du sélecteur (SW3) pour couper l'alimentation des rails autour du tronçon de programmation.

      La troisième broche du connecteur DCC permet de couper l'alimentation du réseau pendant la phase de programmation d'une locomotive sur le tronçon de programmation.

      En fonction de la position du sélecteur de la micro centrale DCC minimale :

      • mode exploitation : les deux tronçons sont alimentés normalement et toutes les motrices sont accessibles via le protocole DCC ;
      • mode programmation : seul le tronçon de programmation est alimenté et la motrice présente sur ce tronçon peut être paramétrée sans impacter les autres décodeurs présents sur le réseau.

      En alimentant l'ensemble du réseau par l'extrémité d'une voie de garage dédiée à la programmation des locomotives, la micro centrale DCC vous permet :

      • De paramétrer une nouvelle motrice déposée sur le tronçon de programmation en lui attribuant un numéro de commande. Puis, après avoir modifié le sélecteur en position exploitation, directement pouvoir la piloter pour l'envoyer à sa destination sur le réseau.
      • De piloter le déplacement d'une motrice du réseau vers le tronçon de programmation, puis, après avoir modifié le sélecteur en position programmation, changer le paramétrage des CV de son décodeur. Ensuite, comme précédemment, pouvoir utiliser à nouveau la motrice directement sur le réseau en mode exploitation sans avoir à la manipuler.

      Vous pouvez également positionner le tronçon de programmation au milieu d'une voie en isolant chaque extrémité d'un rail de ce segment. En reliant la troisième broche DCC du montage aux deux segments adjacents du rail isolé, le réseau ne sera pas impacté pendant la phase de programmation.

      Contraintes liées au courant

      De nombreux montages de puissance proposés ne prennent pas suffisamment en compte l'aspect lié aux courants forts. Les risques encourus sont pourtant connus : surchauffe, composants détériorés, étincelles, flammes, incendie...

      Afin de pouvoir supporter un courant de 4 A, toute la chaîne d'alimentation doit être calibrée pour supporter cette intensité :

      • le transformateur d'alimentation 15V doit pouvoir fournir un courant supérieur à 4 A ;
      • la prise jack connectée au PCB doit pouvoir supporter ce courant sans surchauffe des contacts ;
      • les pistes du circuit imprimé doivent être suffisamment larges pour cette intensité sans servir de fusible ;
      • le nombre de via du circuit imprimé doit être adapté au courant (minimum 1 via par ampère, conseillé 1 via pour 500 mA) ;
      • les composants de puissance commutant ces courants doivent être protégés par des dissipateurs ;
      • les broches et les fils de la prise de connexion DCC reliant le montage aux rails doivent avoir une section supportant ce courant.

      L'élément le plus fragile de cette chaîne (le maillon faible...) déterminera le courant maximum supporté par le montage dans sa globalité. Si tous les éléments du montage supportent les 4 A, mais que votre prise jack soudée au PCB n'est prévue que pour 1 A (majorité des prises de ce type), au-delà de cette consommation d'un ampère, votre montage n'est plus garanti !

      Circuits imprimés

      Le montage est composé de deux circuits imprimés :

      • le PCB principal supportant tous les composants de la micro centrale DCC ;
      • le PCB de la face avant présentant les boutons et voyants du montage.

      Les deux circuits imprimés sont montés en "sandwich" et maintenus par des entretoises. Les interconnexions électriques entre la face avant et le circuit principal sont réalisées par des fils Dupont sacrifiés pour la bonne cause...

      Cuivre

      face dessus

      Cuivre

      face dessous

      Schéma d'implantation

      des composants

      L'archive ci-contre, contient les fichiers nécessaires à la réalisation du PCB de la micro centrale DCC :

      • tous les fichiers de descriptions du montage au format gerber (extension gbr) ;
      • le fichier de perçage (extension drl).

      Cette archive peut être directement utilisée si vous commandez la réalisation des circuits imprimés à un prestataire (voir le tutoriel Faire réaliser son PCB).

      La deuxième archive contient les fichiers nécessaires à la réalisation de la face avant du montage (FAV) permettant d'accueillir les boutons et voyants.

      PCB Micro Centrale DCC USB V 1 3
      Archive – 179,4 KB
      FAV Micro Centrale DCC USB V 1 3
      Archive – 27,0 KB

      Vue 3D des circuits imprimés

      En plus du PCB principal du projet, un deuxième circuit imprimé (FAV) permet de réaliser la face avant du montage qui accueille tous les voyants et boutons de commande. La sérigraphie de cette face avant est réalisée en français et en anglais (recto et verso).

      Mise en place des composants

      L'ordre d'implantation est toujours le même. On commence par le plus petit composant et on termine par le plus grand :

      • les résistances 1/4 W ;
      • les diodes ;
      • les condensateurs C2, C4 et C5 ;
      • le support du LM358 ;
      • les 18 pin header ;
      • les 30 pin socket du Nano (insérez le Nano dans les pin socket pour les souder de manière à obtenir immédiatement le bon positionnement) ;
      • le transistor ;
      • le condensateur tantale polarisé (attention au sens d'implantation) ;
      • le condensateur électrolytique (respectez la polarité) ;
      • la résistance de puissance qu'il vaut mieux surélever de quelques millimètres afin quelle ne soit pas en contact avec le PCB ;
      • les prises DCC et jack ;
      • terminez par le L298N sur lequel le dissipateur sera fixé avant la soudure définitive sur le circuit imprimé afin d'optimiser le contact thermique entre les deux composants et faciliter leur implantation. Vous pouvez aussi intercaler un film thermique ou appliquer un peu de pâte thermique entre ces deux pièces afin d'améliorer encore l'efficacité du système de refroidissement.

      Opérations de montage

      Une fois le circuit imprimé principal terminé, il faut passer au montage de la face avant. Celle-ci est composée de plusieurs perçages pour accueillir les boutons et voyants de la micro centrale DCC :

      • trois emplacements pour les supports de LEDs d'un diamètre de 6 mm ;
      • un emplacement pour l'interrupteur de sélection du mode d'un diamètre de 6,4 mm ;
      • l'emplacement du bouton d'arrêt d'urgence d'un diamètre de 16 mm ;
      • quatre perçages M3 (un à chaque coin du panneau) afin de maintenir la face avant.

      Quelques fournitures supplémentaires sont nécessaires pour finaliser le montage :

      • huit entretoises de 20 mm, montées deux par deux et ainsi surélever la face avant ;
      • quatre vis de fixation M3 pour solidariser la face avant avec les entretoises ;
      • quatre pieds pour surélever le PCB principal.

      L'interconnexion électrique entre les deux niveaux du montage est réalisée avec des fils Dupont pour lesquels une prise est conservée pour pouvoir être enfichée sur le PCB principal.

      L'autre extrémité du fil est coupée à la bonne longueur et après avoir été dénudée et étamée, elle est soudée sur le voyant ou l'interrupteur.

      Afin d'éviter des contacts malencontreux, de la gaine thermorétractable doit recouvrir les zones non protégées.

      L'interconnexion entre les deux PCB est terminée et la face avant est prête à être fixée sur les entretoises.

      Vue de la face arrière du montage terminé. On distingue les trois prises de connexions (de gauche à droite) :

      • jack d'alimentation 15 V ;
      • connecteur d'alimentation des rails ;
      • prise USB du Nano pour le raccordement à l'ordinateur

      La liaison USB avec l'ordinateur va également être utilisée lors d'une mise à jour du programme DCC++. Il n'est pas nécessaire d'extraire l'Arduino Nano du montage pour effectuer cette opération.

      Afin d'éviter que le panneau avant ne génère des interférences, il est possible de le relier à la masse. Les deux perçages de fixation en bas à droite sur chaque platine sont entourés d'une pastille reliée à la masse. Il est donc possible de raccorder les deux plans par un simple fil soudé à une rondelle à chaque extrémité qui seront bloquées dans le montage de l'entretoise.

      Le logiciel chargé dans le microcontrôleur

      Le programme DCC++ embarqué dans le microcontrôleur ATmega328 de l'Arduino Nano, cœur de ce montage, est une adaptation de la magnifique version open source développée par Gregg E. Berman. Quelques modifications mineures y ont été apportées afin de l'adapter à la micro centrale :

      • les références à l'Arduino Uno ont été remplacées par celles du Nano ;
      • les constantes décrites dans le chapitre suivant ont été adaptées aux caractéristiques du montage.

      L'archive nommée Micro_DCC_USB_v1-1 correspond au programme DCC++ avec les adaptations citées. Il est donc directement utilisable avec ce montage et peut être téléversé en l'état dans le microcontrôleur.

      Micro DCC USB V 1 1
      Archive – 32,8 KB

      Téléchargez et extrayez les fichiers de l'archive dans un répertoire dédié, du même nom que le fichier principal (ino), puis :

      1. Ouvrez le fichier ino dans l'IDE Arduino (tous les fichiers sont chargés dans les onglets).
      2. Connectez l'Arduino Nano v3 à l’ordinateur par la prise USB.
      3. Dans l'IDE Arduino (menu Outils), vérifiez la bonne sélection du type de carte correspondant à la carte Arduino Nano et au processeur : Arduino Nano, ATmega328P (Old Bootloader).
      4. Vérifiez la bonne sélection du port série correspondant à votre ordinateur.
      5. téléversez le programme dans le microcontrôleur.
      Choix du processeur avant téléversement du programme dans le microcontrôleur

      Constantes du programme DCC++ paramétrées pour la micro centrale

      Le programme DCC++ est composé de plusieurs fichiers de manière à segmenter et à simplifier la compréhension de l'algorithme pour le programmeur.

      Chaque grande fonction de ce logiciel utilise des constantes qui correspondent à des valeurs utilisées à plusieurs endroits dans le code. La constante substitue donc une valeur à un mot clé. L'association entre le nom de la constante et sa valeur (#define <constante> <valeur>) n'est décrite qu'une seule fois. A chaque utilisation de cette valeur, le programmeur la remplace par le nom de la constante.

      L'avantage de décrite la constante qu'une seule fois dans l'entête du fichier, permet de n'avoir qu'une seule modification à effectuer en cas d'évolution de cette valeur. Le programmeur n'est pas obligé de parcourir l'ensemble du code pour modifier le nombre à chaque utilisation, au risque d'en oublier...

      Après avoir ouvert Micro_DCC_USB_v1-1.ino dans l'IDE Arduino, chaque fichier apparaît dans un onglet. Les constantes ci-dessous sont accessibles dans le fichier correspondant au titre du paragraphe. La modification de ces valeurs a une répercussion importante sur le comportement du programme. Il faut donc les modifier uniquement si on en connait l'impact.

      CurrentMonitor.h

      #define CURRENT_SAMPLE_SMOOTHING 0.5

      #define CURRENT_SAMPLE_TIME 5

      Ces deux paramètres permettent de définir le lissage et la fréquence de la mesure de courant. Chaque mesure n'impacte qu'un dixième de la mesure de consommation globale. En modifiant le smoothing à 1, le lissage des mesures sera supprimé. Dans ce cas, la prise en compte d'un court-circuit sera plus rapide mais en prenant le risque qu'une mesure erronée déclenche l'arrêt de génération du DCC.

      #define CURRENT_SAMPLE_MAX 300

      Seuil de détection d'un court-circuit au delà duquel la routine de surveillance arrête la génération du signal DCC (environ 225 par ampère). Pour 4 A, modifier cette valeur à 900.

      La valeur par défaut (300) correspond environ à 1,3A, de quoi commencer à faire des tests avec 4 ou 5 locomotives.

      Config.h

      #define MAX_MAIN_REGISTERS 12

      Nombre maximum de registres pour les commandes répétées.

      #define COMM_INTERFACE 0

      Paramétrage de la réception des commandes par l'interface série (USB).

      PacketRegister.h

      #define ACK_BASE_COUNT 100

      #define ACK_SAMPLE_COUNT 500

      #define ACK_SAMPLE_SMOOTHING 0.2

      #define ACK_SAMPLE_THRESHOLD 5

      Paramétrage lié aux mesures de courant lors des opérations de lecture / écriture du contenu des CV des décodeurs.

      Ces valeurs ont été validées après de nombreux tests sur différents décodeurs.

      Préparation à la première mise en route de la micro centrale

      Après avoir monté le circuit principal :

      • vérifiez visuellement que toutes vos soudures sont réalisées et propres (pas d'oubli ni de soudure sèche) ;
      • vérifiez la bonne implantation des composants montés sur support (Arduino Nano et LM358) ; 
      • nettoyez les soudures de la face du dessous avec de l'alcool isopropylique pur pour dissoudre les traces de résines qui n'ont pas manqué de s'accumuler pendant la phase de soudure des composants.

      Les quatre cavaliers bleus correspondent à la position de l'interrupteur sur le mode "exploitation".

      Afin de ne pas être gêné et d'éliminer les risques d'erreurs dus au câblage de la face avant, la première mise en route s'effectue en plaçant des cavaliers sur les broches (SW2 et SW3) pour simuler la position de l'interrupteur :

      • Quatre cavaliers bleus (à gauche) pour reproduire la position de l'interrupteur sur exploitation.
      • Trois cavaliers jaunes (à droite) pour reproduire la position de l'interrupteur sur programmation.

      Le cavalier rouge correspond aux deux bornes de connexion de l'ampèremètre.

      Les trois cavaliers jaunes correspondent à la position de l'interrupteur sur le mode "programmation".

      • Si vous disposez d'un ampèremètre analogique, connectez le en J3 en respectant la polarisation, sinon, remplacez-le par un cavalier.
      • Connectez la LED D9 sur ses trois broches (cathode au centre).

      Mise sous tension

      • Connectez un cordon USB entre l'ordinateur et le Nano pour alimenter le montage en 5V.
        • Le microcontrôleur doit s'allumer ;
        • La LED D9 sera :
          • éteinte si le microcontrôleur vient de sortir de l'emballage,
          • allumée en rouge si le microcontrôleur contient déjà le programme Micro_DCC_USB_v1-1 (vu plus haut),
          • allumée en vert, si vous avez interverti les deux anodes de D9. Dans ce cas, branchez correctement la LED pour qu'elle s'allume en rouge (inversez les deux anodes).
      • Si ce n'est pas déjà fait, téléversez le programme Micro_DCC_USB_v1-1.ino dans le microcontrôleur du Nano à l'aide de l'IDE Arduino : votre centrale DCC est opérationnelle !

      La micro centrale DCC opérationnelle

      Refaisons un rapide point sur l'ensemble des opérations déjà réalisées :

      • tous les composants ont été soudés sur le circuit imprimé principal ;
      • le PCB a été nettoyé à l'alcool isopropylique pur ;
      • un cavalier ou un ampèremètre a été connecté en J3 ;
      • la face avant a été connectée au circuit imprimé principal ;
      • l'Arduino Nano est connecté à l'ordinateur par un cordon USB ;
      • le programme Micro_DCC_USB_v1-1.ino a été téléversé dans le microcontrôleur de la carte Nano ;
      • l'alimentation 15V est branchée sur la centrale ;
      • la sortie DCC est connectée aux rails (pour les premiers tests, les broches 2 et 3 de J2 peuvent être shuntées afin d'éviter la mise en place du tronçon de programmation).

      Le logiciel pilote du réseau : JMRI

      JMRI est un gestionnaire de réseau ferroviaire très puissant offrant de nombreuses possibilités. L'objectif ici, n'est pas de refaire la documentation de ce logiciel mais simplement de vous donner les premières pistes pour débuter. Vous trouverez les liens vers la documentation JMRI en fin de page.

      En cours de rédaction...

      Vidéo de présentation de la micro centrale DCC minimale pilotée par JMRI.

      Ce montage correspond au schéma général en  début d'article avec quelques artifices supplémentaires :

      • Un ordinateur sur lequel JMRI est installé ;
      • La micro centrale DCC minimale connectée à l'ordinateur avec un câble USB et alimentée en 15 V (le PCB de la face avant a été remplacé par les cavaliers en position exploitation) ;
      • Un ampèremètre connecté à la micro centrale ;
      • Un banc de test raccordé lui aussi à la micro centrale (sortie DCC) ;
      • Un oscilloscope permettant de visualiser les trames DCC sur les rails (roulements du banc de test).

      Un boîtier imprimé en 3D pour une finition parfaite...

      Le boîtier de la micro centrale DCC minimale se compose de deux parties :

      • la partie basse sur laquelle le circuit imprimé est fixé ;
      • la partie haute, présentant la platine de face avant qui regroupe l'ensemble des boutons et voyants du montage.

      Modèle 3D

      Partie basse du boîtier

      Micro Centrale DCC Minimale Boitier Dessous
      Archive – 57,1 KB

      Modèle 3D

      Partie haute du boîtier

      Micro Centrale DCC Minimale Boitier Dessus
      Archive – 3,3 KB

      Modèle 3D

      Vue complète du boîtier

      Impression 3D

      Boîtiers imprimés

      • résine SLA 8001 translucide

      • plastique MJF PA12-HP Nylon noir teinté

      Si vous ne disposez pas d'imprimante 3D, vous pouvez demander à une société spécialisée l'impression du boîtier pour quelques euros. Il suffira de fournir les fichiers stl contenus dans les archives ci-dessus.

      (voir le tutoriel Faire réaliser son impression 3D)

      Intégration du montage dans le boîtier

      La première étape d'intégration du montage dans le boîtier, consiste à équiper ce dernier d'inserts de manière à pouvoir solidariser le circuit imprimé principal au boîtier. Les trous de diamètre 4mm peuvent accueillir tous les modèles d'inserts M3 à implanter à chaud ou aux ultrasons.

      Pour une implantation à chaud, la température du fer à souder devra être adaptée au matériau du boîtier :

      • FDM entre 350 et 400° ;
      • SLA entre 420 et 450° ;
      • MJF entre 450 et 480°.

      Le boîtier finalisé à gauche. La face du dessus permet de solidariser l'ensemble. Elle est fixée aux quatre entretoises reliées à la partie basse du boîtier. Grâce aux quatre ergots en haut de la partie haute, elle maintient l'ensemble du boîtier en un seul bloc.

      A droite, la vue de la face arrière permettant d'accueillir toutes les connexions :

      • alimentation 15V ;
      • alimentation DCC des rails ;
      • communication USB avec l'ordinateur et alimentation 5V.

      Pour aller plus loin...


      Commentaires

      dirk
      il y a 6 mois

      Is there a complete kit to buy from you? So we can build it at home, here in Netherlands

      NitraThor
      il y a 6 mois

      There is no kit to buy. Everything is provided for your personal creation:
      - the PCB can be ordered from a supplier
      - components can be purchased online (follow the link in the list)
      - the housing can be ordered from a supplier
      - the Arduino program can be used directly
      All instructions and assembly sequence are described.
      I'm available to help you with any problems you may encounter.
      That's the DIY principle!

      Ajouter un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *.