LOCODUINO

Comment piloter trains et accessoires en DCC avec un Arduino

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

Assemblage des éléments d’une mini-centrale DCC

.
Par : Dominique

DIFFICULTÉ :

L’article N°1 de la série "Comment piloter trains et accessoires en DCC avec Arduino" présentait le montage minimal pour tester la bibliothèque CmdrArduino, décrite en détail à l’article N°2.

Nous allons assembler maintenant les ingrédients matériels et logiciels d’une petite centrale DCC.

IMPORTANT : cette réalisation d’une centrale DCC est maintenant "dépassée" car une nouvelle technique dénommée "DCC++" est venue la remplacer. Nous vous conseillons cette série d’article : Réalisation de centrales DCC avec le logiciel libre DCC++ (3).

L’architecture générale d’une centrale DCC

On a vu comment une carte Arduino peut générer des signaux DCC de commande de vitesse, de fonction et d’accessoire, voire de programmation.

Entre notre carte Arduino et les rails, il faut, bien-sûr, amplifier ces signaux pour qu’ils puissent commander les moteurs des locomotives (via son décodeur) à partir de l’alimentation électrique du réseau : il faut un Booster. Ce Booster convertit un petit signal 0-5 volts de quelques milliampères en un gros courant de 2 à 3 ampères sous +15 à -15 volts (+12 à -12 volts pour le N).

Ensuite, et surtout, il faut des organes de commande pour décider quelles commandes DCC envoyer vers les rails selon la volonté du conducteur (vous) : il faut une manette de commande, par utilisateur et par train, de préférence.

Enfin, notre centrale doit pouvoir réagir automatiquement à certains événements comme la détection de présence d’un autre train qui occupe le prochain canton, ou un carré qui nécessite un arrêt devant le feu :

  • pour le découpage du circuit en Cantons, pour la régulation du trafic, en agissant directement sur les commandes de vitesse des locomotives,
  • ou pour l’activation des feux ou le changement de sens des aiguilles, en agissant sur les commandes des accessoires

Notre système complet pourrait ressembler à cette architecture générale :

Mais une telle architecture dépasserait allègrement les limites de cet article qui ne traitera pas :

  • de tous les types de capteurs (courant, infrarouge, RFID, etc…),
  • de tous les types de manettes, détecteurs, PC, tablettes, smartphone et leurs protocoles de communication (LocoNet, XpressNet, S88, TCP/IP, WiFi, Bus, etc..),
  • et des alimentations électriques.

Ces sujets sont traités dans d’autres articles ailleurs dans ce site.

Mais pour se fixer les idées, nous allons décrire un exemple de mise en oeuvre d’une voie unique pour un train unique capable de circuler entre 2 gares aux extrémités selon un va-et-vient automatique ou manuel.

Tous les éléments de cet exemple pourront être réutilisés dans votre projet.

Compléter la centrale avec un Booster

Une broche de sortie d’un Arduino ne peut délivrer que 40 mA maximum (mais compter plutôt sur 20 mA) : il est donc impossible de faire rouler une loco qui a besoin de plusieurs centaines de milliampères. Il faut, d’une part, amplifier le signal et, d’autre part, monter la tension à 12-13 Volts (pour du N) ou 15 Volts (pour du HO).

Il faut donc un module d’interface appelé Booster dans la littérature ferroviaire. En réalité c’est un hacheur dit 4Q (pour 4 quadrants ou pont en H), réversible en tension et en courant dont la tension de sortie moyenne varie entre -15V à 15V.

On trouve des modules tout faits dans le commerce qui semblent faits pour cela (mais c’est un heureux hazard !).

Le principe de ce booster est le suivant :

On peut représenter le booster par un montage de transistors de puissance en H selon le schéma ci-dessous :

Le signal DCC généré par notre Arduino est appliqué à l’entrée DIR qui commande l’ouverture de 2 transistors/commutateurs et la fermeture des 2 autres, de telle sorte que la tension envoyée aux rails est soit dans un sens, soit dans l’autre sens. On a ainsi toute la puissance disponible mais elle est positive pendant 50% d’un bit du signal DCC et négative pendant l’autre 50%.

Le module à base de LMD18200 ci-dessous remplit exactement cette fonction.

Le signal DCC de notre Arduino est connecté à l’entrée DIR. Ce signal DCC sera généré en permanence par l’Arduino par un processus sous interruption, tournant en tâche de fond.

Une broche de sortie de l’Arduino sera connectée à l’entrée PWM : elle permettra de commander la livraison ou l’arrêt du courant sur les rails, à partir du logiciel (c’est important pour de multiples raisons de sécurité que nous verrons dans le logiciel).

La masse de l’Arduino est reliée à la masse du Booster et l’entrée BRAKE est mise à la masse car elle n’est pas utile dans cette application (on préfère se servir des paramètres CV de la loco).

Le circuit LMD18200 comporte aussi 2 signaux de sortie qui ne sont pas câblés sur les borniers :

  • C/S, analogique, est proportionnel au courant délivré
  • T/S, digital, indique si la température du composant dépasse 145°C.

J’ai choisi de raccorder ces sorties sur des entrées de l’Arduino, pour surveiller le booster et couper l’alimentation des rails dans les cas extrêmes.
Pour ce faire j’ai soudé 2 fils directement sur les pattes du LMD18200, sous le circuit imprimé :

Entre temps j’ai trouvé une meilleure solution pour la mesure du courant DCC et détecter les court-circuits : en ajoutant un petit circuit de mesure de courant à base de Max471, intercalé en série dans l’alimentation continue du LMD18200, comme représenté sur cette figure :

Ajouter une manette

On ne peut pas faire plus simple qu’un potentiomètre, un inverseur de direction et un inverseur pour la commande de lumière. Dans notre exemple, j’ai mis 2 potentiomètres, l’un pour la marche avant, l’autre pour la marche arrière. Cela évite d’être obligé d’utiliser un potentiomètre à point milieu, difficile à trouver ou un inverseur de direction. Et l’avantage sera qu’en mode automatique les vitesses aller et retour pourront être différentes.

Ajouter un TCO

Le TCO le plus simple sera ici constitué de 3 Leds :

  • une Led verte pour matérialiser la marche avant,
  • une Led rouge pour matérialiser l’arrêt,
  • one Led jaune pour matérialiser la marche arrière,
  • un afficheur LCD de 2 lignes de 16 caractères pour afficher les paramètres utiles à la conduite.

J’ai monté ces composants sur une plaque de plexi qui permet de voir l’électronique en action !

Les Leds de mouvement ci-dessus sont placées à gauche.

Pour équilibrer le TCO, j’ai placé d’autres éléments à droite (de bas en haut) :

  • un Inter Marche/Arrêt général,
  • un voyant vert présence tension d’alimentatio »,
  • deux Leds jaunes présence signal DCC sur les Rails,
  • une Led rouge arrêt du signal DCC (correspondant à la broche PWM),
  • un Inter Marche/Arrêt du DCC.

Ajouter des détecteurs

Nous utiliserons seulement 2 barrières infrarouges pour détecter le passage du train à l’approche des gares, afin d’automatiser l’arrêt automatique.

Le schéma est simple (n’importe quel transistor NPN devrait faire l’affaire) :

Pour 2 détecteurs seulement j’ai monté les composants discrets sur une plaque pastillée.

On place les diodes IR émettrice et réceptrice de chaque coté des rails :

Il est possible, à ce stade d’envisager d’utiliser d’autres types de détecteurs tels que :

  • détecteur de consommation de courant
  • détecteur magnétique à effet Hall
  • détecteur de code barre
    qui feront l’objet de descriptions détaillées ailleurs dans ce site, tous ces détecteurs étant interfacés avec notre Arduino de manière équivalente à celle du détecteur décrit dans cet article.

Le schéma des connexions de notre Arduino

Un Nano suffit !

Pour la construction, j’ai percé une plaque de plexi, fixé et connecté tous les composants

Puis, sur une 2eme plaque plus petite, j’ai fixé l’Arduino Nano sur une plaque pastillée à l’aide de barrettes à souder et le booster LMD18200.

Et le câblage de l’ensemble, en réunissant les 2 plaques de plexi :

Pour l’afficheur LCD 16x2, un petite carte SerLCD permet de le raccorder avec 3 fils seulement (+5, 0V et la sortie Tx de l’Arduino).

Que doit faire cette centrale avec tous ces ingrédients ?

C’est ce qu’on appelle une spécification. Elle décrit toutes les fonctionnalités de la centrale, qu’il faudra ensuite programmer :

  • Pilotage d’une seule locomotive ou train en mode DCC, 128 crans de vitesse. L’adresse DCC est programmable par configuration en EEPROM.
  • Un écran LCD permet de visualiser les paramètres de fonctionnement (adresse DCC, sens de la marche, cran de vitesse, vitesse réelle et km/h et cm/s, détections de passage devant les détecteurs IR, états d’automate, configuration des paramètres en EEPROM).
  • Deux réglages de vitesse indépendants pour la marche avant et la marche arrière :
    • en mode manuel, c’est la vitesse la plus grande qui impose le sens de la marche ;
    • en mode automatique, chaque sens dispose de sa propre vitesse ;
    • en mode configuration, les valeurs de 0 à 128 sont obtenues par l’addition de la rotation des 2 boutons.
  • Un commutateur permet la mise en ou hors service de l’éclairage de la locomotive.
  • Un commutateur permet le choix entre un pilotage manuel ou un Va-et-Vient automatique.
  • Un bouton poussoir MODE permet de choisir parmi 3 affichages et 10 écrans de configuration.
  • 3 Leds, à gauche, visualisent la marche du train :
    • vert : marche avant
    • rouge : arrêt. Cette Led s’allume aussi au passage du train devant un capteur IR
    • jaune : marche arrière
  • 3 Leds, à droite, visualisent le fonctionnement de la centrale
    • vert : présence tension si une alimentation 12 à 15 V est raccordée et en service
    • rouge : aucun courant n’est envoyé aux rails (arrêt du Booster)
    • jaune (paire) : visualise la tension sur les rails (l’inversion du courant permet d’allumer les 2 Leds)
  • Un commutateur Arrêt/Marche allume la centrale qui démarre une séquence d’initiatisation (c’est l’interrupteur Arrêt/Marche général).
  • Un commutateur d’alimentation des rails autorise l’envoi du courant DCC sur les rails (c’est un interrupteur logiciel car il est recommandé de couper l’alimentation DCC des rails avant d’installer ou retirer une loco).

Développer le logiciel pour l’Arduino

Maintenant que tout est réuni, la programmation pourrait commencer !
Mais, attention, notre Arduino doit faire pas mal de choses à la fois :

  • générer le signal DCC,
  • alimenter la bibliothèque CmdrArduino par des commandes de vitesse et de lumière qui dépendent des événements d’entrée suivants qu’il faut détecter,
  • lire les organes d’entrées (potentiomètres, boutons, inverseurs, capteurs infrarouge, sorties du Booster)
  • afficher des données sur le LCD
  • agir en automate ou en commande manuelle
  • allumer et éteindre des Leds
  • etc.. (vous verrez !)

Face à tous ces tâches, il faut éviter la programmation spaghetti, ou encore éviter de se mélanger les bogies quand le développement aura pris une certaine ampleur.

Nous aborderons la partie du logiciel dans la 4e partie

40 Messages

  • inverser la positions du booster et de l’Arduino ? 10 février 2015 10:23, par DomD

    Bonjour, et surtout merci pour toutes ces informations très pertinentes et très bien expliquées. Je suis encore débutant dans tout cela alors si je ne le suis pas (pertinent) dans ma question, vous saurez m’excuser.

    J’ai bien noté la position de l’Ardiuno dans le premier schéma de l’article, à l’amont du booster : l’arduino doit donc "gérer" toutes les manettes...
    J’ai un circuit H0 avec du matériel Roco, avec donc un booster 1074 et une multiMaus. Je souhaiterais continuer à piloter les loco avec les multimauss, et laisser le soin à l’arduino de gérer quelques situations particulières, par exemple des trains trop proches (faire ralentir celui qui rattrape), deux trains qui se foncent dedans (couper tout) ...
    Et donc je me demandais si je pouvais faire comme cela :

    • mettre l’arduino après mon booster Roco, pour récupérer le courant alternatif à destination les rails AVANT qu’il n’y arrive,
    • analyser ce signal (comme indiqué dans un autre article), avec un octocoupleur
    • si pas d’intervention, recomposer le même signal avec l’arduino et l’envoyer aux rails avec un booster à base de LMD18200
    • si intervention, modifier certaines valeurs (vitesse d’un train par exemple), recomposer le signal modifier et l’envoyer au rail comme ci-dessus.
      Cela permet de ne faire faire à l’arduino que ce que je souhaite.
      Merci de vos remarques et avis
      Bien cordialement
      DomD

    Répondre

  • Dans l’absolu, votre projet ne serait pas techniquement impossible mais il me semble qu’il serait d’une complexité inutile.
    Je comprend bien l’intérêt de réutiliser votre Multimaus, mais développer une centrale qui retransmettrait les trames DCC de votre Multimaus après modification de certaines en fonction de votre retrosignalisation (comment déterminez-vous les adresses des locos à ralentir ou arrêter ?) n’est pas trivial.

    Autant concevoir une centrale sachant gérer la retrosignalisation (à venir sur Locoduino) et trouver ensuite une façon de raccorder votre Multimaus.

    Il existe des interfaces PC pour la Multimaus qui seraient peut-être utilisables, mais je ne les connais pas. L’interface CAN de la MS2/1 serait plus facile à adapter.

    Donnez-nous plus de détails sur votre retrosignalisation : d’autres solutions seront peut-être possibles.

    Répondre

  • Comment piloter trains et accessoires en DCC avec un Arduino (3) 24 février 2015 07:57, par Malhar Deshmukh

    I have a arduino uno. I also have 8 locomotives,2 are DCC .I want to control all of them using the arduino.I also want to use the arduino or atmega328 or attiny85/84 IC in the loco as the decoder.I know I cant use the bare arduino,I need to configure a booster.I can easily do the electronics job,But I cant do the sketch or software job.I don’t see a sketch here.can you provide a sketch for the controller/Command station and also for the decoder ?
    can you please describe what you have done in ENGLISH please ?I’ve tried to translate it ,but the translate didn’t go well.I live in India.I cant understand french.If you cant ,I’ll stick with the translator.Please contact me on my mail address "malhar_deshmukh@outlook.com

    Répondre

  • Le site de RailStar ne répondant plus, pour se procurer la bibliothèque CmdrArduino, il faut aller sur Github :

    https://github.com/Railstars/CmdrArduino

    il est notamment indiqué que la répétition automatique des commandes de vitesse ne fonctionne pas. Par conséquent c’est votre code qui doit répéter les commandes de vitesses, même si la vitesse ne change pas.

    Personnellement je les répète 10 fois par seconde.

    Nous sommes intéressés par votre expérience avec cette bibliothèque.

    Voir en ligne : Bibliothèque CmdrArduino

    Répondre

  • Bonjour,

    j’ai comme écran lcd un Groove RGB BackLight avec I2C Port.
    Puis-je utiliser ce type d’écran, si oui où dois-je connecter SDA (DataLine) et SCL (Clock) sur l’Arduino dans votre configuration ?
    Dans les exemples de cet écran les ports A4 et A5 sont utilisés.

    Bien cordialement

    Jean-Eric

    Répondre

  • ca me libère bien A4 et A5 mais pas sur que cela fonctionne avec serLCD. votre avis ?

    Répondre

    • Votre écran LCD est un modèle avec interface I2C. Il se raccorde donc sur les broches délivrant les signaux SDA et SCL.

      Vous devez donc libérer A4 et A5 en connectant les boutons sur 2 broches libres et en adaptant leur déclaration (broches digitales ou analogiques, peu importe).

      Evidemment, ce n’est plus la bibliothèque SerLCD qui convient, mais la bibliothèque LiquidCrystal_I2C qui est décrite ailleurs dans ce site.

      Bonne réalisation.
      Dominique

      Répondre

  • Mesure de courant depuis LMD18200 7 mai 2016 23:32, par Tanguy

    Bonjour Dominique,

    merci pour ce très bel article qui m’a permis de me lancer enfin dans la construction de ma première centrale DCC.
    Après avoir digitalisé mon unique loco, j’ai construit une micro centrale a base d’Arduino nano + LMD18200 + un bouton encodeur en m’inspirant plus que largement de cet article. Résultat convaincant : les ralentis sont très fluides.
    Je me suis ensuite attaqué à la mesure de courant pour protéger mon réseau des courts-circuits. En ajoutant une résistance entre la sortie de mesure de courant du LMD18200 et la masse et en lissant le signal obtenu par une moyenne mobile exponentielle (principe découvert sur le projet DCC++) le résultat me semble satisfaisant. J’obtiens environ :
    5 mA à vide
    20 mA avec ma loco en DCC pour un cran de vitesse = 10
    115 mA avec ma loco en DCC pour un cran de vitesse = 126
    Je n’ai pas encore pu confronter ces résultats calculés à une mesure au multimètre.

    J’imagine que le lissage logiciel pourrait être avantageusement remplacé par un lissage électronique (probablement avec l’ajout d’un condensateur bien choisi) mais ce n’est pas malheureusement pas dans mes compétences.
    Pensez-vous que ce signal lissé électroniqement pourrait également couper automatiquement le booster en agissant toujours electroniquement sur l’entrée PWM ?

    Et une dernière question très intéressé : avez-vous en projet la construction d’une carte traction DCC + CAN tout intégré dans la même veine que la carte 8 servo ?

    Tanguy

    Répondre

    • Mesure de courant depuis LMD18200 8 mai 2016 08:46, par Dominique

      Bonjour Tanguy,

      Je vous remercie pour vos encouragements et surtout votre réussite et votre ambition d’aller plus loin avec une carte CAN+DCC.

      je n’ai pas encore testé la mesure de courant de DCC++, car j’ai préfèré utiliser un petit circuit breakout tout fait à base de Max471. Ce circuit se branche en série avec l’alimentation continue du LMD18200, comme un ampèremètre et me donne une indication sans nécessiter de somme exponentielle qui prend du temps calcul.

      Je n’ai pas encore fait de mesures comparatives avec un ampèremètre, mais ça va venir.

      J’ai décrit ce montage dans un des derniers commentaires de l’article 4.

      La mesure est récupérée sur une entrée analogique et le programme bloque la commande PWM du LMD18200 des qu’un seuil est atteint. Ça marche très bien !

      Ce serait une bonne idée de faire une carte CAN+DCC.
      Personnellement j’ai regroupé les fonctions de traction sur un Mega assocué à une carte CAN. Elle est destinée à piloter 8 trains avec des commandes directes et des manettes sans fil. Le gestionnaire recevra les états de mouvement des trains (vitesse) et enverra la signalisation à appliquer (voie libre, ralentissement, sémaphore ou carré).

      Un Nano ne peut pas faire tout cela. Mais une petite centrale pour un va et vient ou une voie de programmation à tout son sens. Je vais plancher sur la question ;)

      Répondre

  • J’ai déjà un DCS50 (DIGITRAX) sur mon réseau.
    Je peux tu rajouter les circuit LMD18200 avec votre projet pour un seul train avec son Arduino pour controler ce train seulement sans affecter le reste du réseau ?

    Répondre

    • Bonjour Gérald,

      Je suis dans le même cas que toi : plusieurs centrales sur le même réseau, avec une voie va et vient pour un train unique (autorail) et j’ai une paire d’aiguilles qui relie le v&v au reste du réseau.

      La seule solution est d’isoler totalement les 2 sous-réseaux en permettant de les relier temporairement avec un relai double ou une paire de relais simples.

      Quand ils sont isolés, les 2 centrales peuvent fonctionner indépendamment l’une de l’autre.

      Quand ils sont reliés, il faut couper la centrale du v&v auparavant et l’ensemble du réseau est alimenté par ta DCS50. Cela permet d’amener ou de retirer le train du v&v.

      Tu pourrais commander les relais d’isolement avec la centrale Arduino de sorte que quand tu la coupes (avec PWM) ça ferme les relais après un petit délai.

      Répondre

  • Faire un broadcast pour la gestion des cantons 11 octobre 2016 07:48, par Jean-Louis

    Bonjour et bravo pour la clarté de toutes les explications.

    Dans le cadre de la gestion des cantons, je voudrais essayer d’utiliser le DCC sur l’arduino pour envoyer une commande broadcast d’arrêt des machines sur un canton. Mon système est assez simple (une grande boucle avec une seule voie de garage), 3 cantons, il est piloté par un Z21 de Fleischmann. J’aimerais y ajouter la centrale DCC arduino. L’idée est la suivante : après détection d’une occupation sur un canton (infra-rouge) la centrale DCC arduino envoie un broadcast sur le canton précédent pour stopper les machines qui circulent dessus. Est-ce réalisable ? A quel niveau dans le code intervenir pour configurer la trame DCC ?

    Merci par avance.

    Jean-Louis.

    Répondre

    • Faire un broadcast pour la gestion des cantons 11 octobre 2016 08:28, par Dominique

      Bonjour Jean-Louis,
      Je comprend votre besoin (stopper tout train situé dans le canton précédent un canton dans lequel un train est détecté).
      Tel que vous le présentez, il y a une difficulté : la centrale Z21 alimente tout votre réseau en DCC et il n’est pas possible d’envoyer un autre signal DCC par une autre centrale, en même temps (sinon, ça va fumer ...).
      La solution est évidemment la rétrosignalisation qui agit sur la centrale Z21.
      Sinon, il faut remplacer cette centrale par une centrale Arduino construite et programmée par vous-même, par exemple avec le logiciel de Pierre de la série Gestionnaire en C++ et ce que j’explique dans cet article.
      Mais vous allez peut-être préciser votre projet pour avoir une réponse plus pointue...
      Cordialement
      Dominique

      Répondre

  • Bonjour Dominique et merci pour cette réponse rapide.

    En fait je pensais isoler mes cantons avec des relais doubles (une fois sur le DCC du Z21, une fois sur le DCC de l’arduino). Possible ?

    Y a t’il des risques de court-circuits ?

    Merci.

    Jean-Louis

    Répondre

    • Oui c’est possible d’isoler les zones avec des relais double, mais le risque de court-circuit dépend de votre électronique de commande et des capteurs que vous mettrez en oeuvre pour piloter les relais.
      Ca me semble une usine à gaz à coté d’une rétrosignalisation "normale" sur la Z21 (en commandant les machines par leur adresse DCC sans recours au broadcast) ou une centrale "made in moi-même" faite en Arduino avec la rétrosignalisation ad hoc (connexion directe des capteurs sur l’Arduino).

      J’utilise aussi des relais pour isoler une voie parce que j’ai 2 centrales en action, mais le basculement des relais est exceptionnel, en cas de maneouvre.
      cdt
      Dominique

      Répondre

  • Bonjour,

    Si je comprends bien le circuit MAX471 permet de mesurer le courant qui circule vers le module LMD18200 (1V /A jusqu’à 3 A max). Sa sortie est redirigée vers la borne C/S de l’arduino. Comment sont détectés les court-circuits ? Par logiciel ?

    Merci.

    Répondre

    • Oui c’est exact. La sortie du Max471 est connectée à une entrée analogique (pas la borne C/S ???) de l’Arduino et la détection de court-circuit est une mesure de la valeur du courant comme les autres, par logiciel : lorsqu’un seuil est dépassé, le programme le traite comme court-circuit.

      Le logiciel DCC++ décrit dans le forum ici permet de réaliser facilement une centrale avec détection de court-circuit. Un exemple est .

      Je sens que vous allez bientôt revendre votre Z21 ...

      Répondre

  • Intéressant, mais je ne peux pas voir les images.

    problème ?

    Répondre

  • Merci.

    Savez vous si les court-circuit sont gérés dans l’application DCC minimum ?

    Jean-Louis

    Répondre

  • Bonjour,
    Vos articles sont remarquables et donnent vraiment envie de tester le passage au digital sur la base d’Arduino.
    Dans la présentation du site locoduino vous annoncez que nous pouvons commander nos réseaux et en analogique et en DCC.
    J’ai beaucoup de machines, très peu en digital et un beau réseau analogique avec des extensions nouvelles à gérer. Pour ces nouvelles extensions je souhaiterai essayer arduino mais en analogique.

    Si je comprends bien le shéma de montage du booster si je souhaite fonctionner en analogique je branche d’un coté masse arduino et pwm et de l’autre l’alimentation analogique et les rails.
    Est ce bien cela ?

    Merci à vous

    Répondre

    • Merci Pierre, pour vos encouragements.
      Il n’y a pas beaucoup de différence entre l’électronique pour le digital (DCC) et l’analogique (PWM). Dans le 2 cas, on utilise des ponts en H équipés de transistors de puissance. Seule la commande diffère, donc le programme Arduino.
      Mais c’est plus compliqué en PWM si l’on veut traiter la régulation de charge (plus de puissance dans les côtes, moins dans les descentes, par exemple), car en digital c’est le décodeur qui s’en charge.

      Pour le digital, je vous encourage à regarder les articles 182, 185 et 187 dont j’ai déjà réalisé plusieurs exemplaires.

      Pour le PWM, je n’ai pas encore d’expérience et je ne peux répondre précisément à la question, pour vous éviter de crâmer une machine !!!

      Je vous recommande de contacter Zebulon91 sur le Forum LR. Il a réalisé une centrale capable de faire du DCC et du PWM. C’est dans nos projets à Locoduino, mais si vous êtes pressé, commencez par là et tennez nous au courant.

      Une autre solution consiste à installer des décodeurs dans les machines qui n’en ont pas. C’est la solution que j’ai choisie et je m’en sors bien jusqu’à présent avec ce genre de décodeurs à moins de 20€

      Amicalement

      Répondre

  • Comment piloter trains et accessoires en DCC avec un Arduino (3) 29 novembre 2017 09:49, par laiguilleur

    Bonjour,

    Très interressé par vos sujets sur locoduino, pouvez-vous m’envoyer s.v.p les schémas électriques de la centrale dcc dans le paragraphe ajouter un tco avec afficheur.

    merci
    Cordialement

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

    Répondre

  • Envoyez-moi un mail privé et je vous envoie mon dossier de réalisation de la version 2 de cette centrale basée sur DCC++, que je décrirai peut-être prochainement .
    Regardez aussi le Forum qui fourmille de détails

    Amicalement

    Répondre

  • Comment piloter trains et accessoires en DCC avec un Arduino (3) 17 décembre 2017 23:09, par Philippe THOMAS

    Bonjour, comment utiliser un Arduino avec une centrale DCC existante ?

    Répondre

    • Bonjour, votre question est d’emblée hors sujet et vous trouverez la réponse en lisant les autres articles et les contributions du forum Locoduino : des applications de l’Arduino même en complément de centrales du commerce sont décrites. Venez exposer ce qui vous intéresserait (on ne peut pas le deviner) sur le Forum, c’est le meilleur endroit pour l’etudier.

      Répondre

  • Bonjour
    Comment se raccordent le LCD 16x2, et la petite carte SerLCD ?
    Merci

    Répondre

    • Bonjour,
      Pour développer une centrale DCC je vous conseille de partir de l’article Réalisation de centrales DCC avec le logiciel libre DCC++ (3) car le système qui est décrit dans cet article (CmdrArduino) est maintenant remplacé avantageusement par DCC++.

      En ce qui concerne l’afficheur lcd, je vous conseille plutôt un modèle I2C comme celui qui est utilisé dans l’article Réalisation d’un va-et-vient automatique et réaliste.
      Cordialement
      Dominique

      Répondre

      • Merci Dominique pour votre rapide réaction.
        Je vais lire cet article en espérant y trouver la facilité car je suis vraiment novice dans ce domaine.
        Le matériel que je possède est :
        Un MEGA
        Deux UNO
        Un NANO
        Un LMD18200 ( que je dois recevoir incessamment sous peu).
        Deux WEMOS D1 mini
        Deux PCA9685
        Un MAX7219 (je ne sais pas vraiment à quoi ça sert, mais voilà je l’ai..)
        Un décodeur à 8 relais.
        Avec tout ça, je devrais arriver à faire quelque chose.
        Petite précision, je dois construire un (petit) réseau en U +/- 3,5mx3,2m , je n’ais pas encore l’idée du thème.
        Pouvoir le commander surtout par pc, ensuite par PCO et éventuellement par petite télécommande maison ou tablette.
        La programmation est un réelle souci pour moi, je lis et relis les explications mais ça rentre pas dans ma petite tête.
        Je ne me décourage pas, finirais bien par arriver à un résultat.
        Une bonne journée.
        A+ peut’être.

        Répondre

  • Bonjour,

    Pourriez-vous me dire où se procurer les cartes booster (LMD18200) et mesure de courant (MAX 471)

    Cordialement

    Luc MARTELOT

    Répondre

  • En n’oubliant pas Aliexpress qui tente de séduire les acheteurs français.

    Voir en ligne : Où acheter ?

    Répondre

  • bonjour je cherche schéme allez retour temporiser en arduino pour train merci

    Répondre

Réagissez à « Comment piloter trains et accessoires en DCC avec un Arduino (3) »

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 »

Les derniers articles

Les articles les plus lus