LOCODUINO

Réalisation de centrales DCC avec le logiciel libre DCC++

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

DCC++ : Quel matériel et quelle mise en œuvre ?

.
Par : bobyAndCo

DIFFICULTÉ :

Avec le premier article de cette série, Dominique nous a fait découvrir les entrailles de DCC++ et a démontré que ce programme était sans doute la meilleure solution DIY sur ARDUINO du moment pour le modélisme ferroviaire.

Dans un deuxième article, nous avons abordé une partie un peu plus concrète puisqu’il s’agit des interfaces H/DCC++. Entendez homme et DCC++ avec un controleur en HTML permettant de piloter ses locomotives. Bien d’autres interfaces sont envisageables, logicielles ou matérielles comme nous l’a présenté ponponmvo sur le forum avec une télécommande à infrarouge telle que celles utilisées pour les TV ou les chaines HiFi.

Ce troisième article se veut également très pratique puisqu’il aborde la question des matériels nécessaires pour mettre en œuvre DCC++ sur vos réseaux.

Cet article s’adresse principalement aux modélistes débutants ou peu expérimentés qui souhaitent des réponses simples et faciles à réaliser.

Article mis à jour en janvier 2022 : images agrandissables.

Le choix de l’ARDUINO :

Le développeur de DCC++, Gregg E. Berman, n’a prévu l’utilisation qu’avec un Arduino UNO ou un Arduino MEGA. Mais Dominique a montré dans son article que tout ATMega 328 ou 2560 peut supporter DCC++, c’est seulement la définition de Gregg dans le fichier DCCpp_Uno.h qui limite le choix. Par exemple en remplaçant :

#if defined  ARDUINO_AVR_UNO

par :

#if defined  ARDUINO_AVR_NANO

le programme compile à l’identique dans un Nano. C’est bien expliqué par Tanguy sur le Forum.

Pour respecter l’esprit de simplicité et de praticité évoqué en introduction, nous n’aborderons ici que l’utilisation d’un UNO ou d’un MEGA et il ne sera pas bien compliqué pour ceux qui le souhaitent d’adapter à d’autres Arduino.

Pour de petits réseaux en N ou en HO, le UNO saura se montrer à la hauteur. Au delà il est certainement préférable d’utiliser un MEGA d’autant que la différence de coût n’est pas très importante. Et si vous envisagez une liaison Ethernet avec votre Arduino, vous ne pourrez de toutes façons utiliser que le MEGA.

Notez que DCC++ détectera automatiquement le type de l’Arduino (UNO ou MEGA) sur lequel il est installé. Vous n’aurez aucun réglage à faire dans le programme.

LA CARTE MOTEUR :

Tout d’abord, à quoi sert cette carte ?

Le rôle d’une application DCC (DCC++, mais aussi toutes les autres), c’est de générer un signal électrique codé de manière très précise en binaire pour envoyer des informations à des locomotives ou des accessoires.

PNG - 6.9 kio

C’est une suite de 0 et de 1 qui sont traduits électriquement par des valeurs alternances positives et négatives longues (100µs) pour les 0 et courtes (50µs) pour les 1. C’est l’Arduino qui code ce signal en fonction des commandes de l’application DCC. Les terminaux sur le circuit (locomotives, accessoires, etc...) sont équipés de décodeurs qui vont traduire ces messages binaires en commandes : nous avons donc une opération de codage avec l’Arduino puis une opération de décodage au niveau des terminaux.

La grande innovation de la technologie DCC consiste à faire circuler cette information « de commande » dans le circuit de puissance ; tout passe dans les rails. Et comme nos Arduino qui génèrent l’information de commande sont bien incapables de produire les courants et les tensions nécessaires sur un réseau aussi modeste soit-il, il faut donc y ajouter une carte moteur.

La carte moteur va servir à amplifier le signal en sortie d’Arduino en conservant la forme du signal d’entrée et lui appliquer une tension de sortie en provenance d’une alimentation extérieure de +15 à - 15 V (pour le N) ou +18 à - 18 (en HO) avec une intensité qui se situe dans la majorité des cas entre 1 et 3 ampères.

Le signal représenté ci-dessus ne sera plus de quelques 20 mA sous 5V à la sortie de l’Arduino mais de plusieurs ampères sous 15 ou 18 volts. Ainsi sommes nous arrivés à l’alimentation électrique dont nous allons maintenant rapidement parler.

L’ALIMENTATION

Comment choisir la bonne alimentation en fonction de votre réseau ? Ce n’est pas l’objet dans cet article de fournir des méthodes et des outils sophistiqués pour le calcul de consommation. Nous vous apportons simplement ici quelques indications qui répondront aux attentes de la majorité des modélistes ferroviaires.

Pour le calcul de consommation, on prendra tout d’abord en compte le nombre de locomotives, la nature du réseau et l’âge des locomotives. Les locos récentes ont des moteurs peu gourmands, les vielles locos digitalisées consomment beaucoup plus. On prendra également en compte certaines fonctions spécifiques comme les fumigènes sur les locos vapeur dont la consommation est de l’ordre de 0,5A.

Mini

Maxi

HO Locomotive récente

0,20 A

0,40 A

Locomotive digitalisée

0,40 A

0,80 A

N Locomotive récente

0,15 A

0,30 A

Locomotive digitalisée

0,20 A

0,40 A

Pour le calcul de consommation du réseau, on tiendra aussi compte de l’éclairage dans les locos ou les wagons, des accessoires en fonctionnement, de la signalisation lumineuse…

Enfin, on devra aussi prendre en compte le fait que tous les équipements ne fonctionnent pas tous simultanément ; toutes les locos ne roulent pas en même temps et la consommation d’un aiguillage ne « dure » que quelques fractions de secondes (mais il est conseillé de les alimenter séparément de l’alimentation DCC).

Pour faire simple, on peut considérer qu’un réseau en HO avec 4 à 5 locomotives fonctionnant simultanément consomme environ 2 à 2,5A et le même en N, environ 1,5 à 2A.

Le tableau ci-dessous nous montre donc que le choix d’une alimentation devra être au minimum de 30VA en N et 54VA en HO.

Ampères Volts VA
N

2

15

30

HO

3

18

54

Et comme « qui peut le plus peut le moins », n’hésitez pas à choisir une puissance plus élevée, il n’y a que votre facture EDF qui s’en plaindra.

Le choix de la carte moteur.

Revenons à la carte moteur qui est un élément important dans notre configuration matérielle. Vous pourrez opter soit pour une carte sous forme de shield que vous enficherez sur votre Arduino, soit pour une carte indépendante. Le shield présente l’avantage de limiter le câblage puisqu’un certain nombre de liaisons sont réalisées par cette superposition. Les fonctions indispensables seront automatiquement assurées avec ce montage comme la coupure en cas de court circuit. La carte moteur indépendante procure sans doute une petite économie mais pas seulement ! Nous allons voir cela.

Précisons que Gregg E. Berman n’a envisagé dans DCC++ que des montages avec utilisation de shields.

Voyons tout d’abord les cartes indépendantes : Il y a de nombreuses cartes pour moteurs en vente sur la toile qui peuvent en principe faire l’affaire. Les cartes à base de L298N sont souvent retenues pour leur prix peu élevé (1 à 2 €) mais ne délivrent au maximum que 2A si elles sont équipées d’un radiateur. Notez qu’il existe des cartes pouvant délivrer 43A avec un Arduino, mais à moins de maîtriser parfaitement les moyens d’éviter les courts circuits, nous vous conseillons de rester à distance (ce circuit est plus adapté aux voitures radiocommandées). Pour des raisons que vous comprendrez facilement, nous avons limité notre choix au seul LMD18200, dont les qualités ont souvent été mises en avant ici sur Locoduino et en particulier celle de pouvoir supporter des intensités de l’ordre de 3 Ampères, chaque carte étant livrée avec un radiateur.

Son prix est de 10 € environ mais si vous souhaitez profiter de la possibilité offerte par DCC++ de programmer sur la voie de programmation, il vous en faudra deux. A moins de modifier à chaque fois vos câblages ce qui n’est, avouons le, pas très pratique. Il vous faudra par ailleurs ajouter une mesure de courant qui pourra être assuré très efficacement par un MAX471 au prix de 1 à 2 € multiplié par 2 si vous alimentez simultanément la voie principale et la voie de programmation. Cette mesure de courant est prise en compte par DCC++ pour protéger votre matériel contre les court-circuits et aussi pour récupérer les réponses par consommation de courant du décodeur interrogé ou programmé.

Voici les schémas de câblage avec le LMD18200.

 

Avec un Arduino UNO et la seule voie principale :

PNG - 148.4 kio

 

UNO

Main

P W M

3

 

 

DIR

10

 

 

MAX471

A0

 

 

Avec un Arduino UNO, voie principale et voie de programmation :

PNG - 204.2 kio

 

UNO

Main

P W M

3

 

 

DIR

10

 

 

MAX471

A0

UNO

Prog

P W M

11

 

 

DIR

5

 

 

MAX471

A1

 

 

Avec un Arduino MEGA et la seule voie principale :

PNG - 158.6 kio

 

MEGA

Main

P W M

3

 

 

DIR

12

 

 

MAX471

A0

 

 

Avec un Arduino MEGA, voie principale et voie de programmation :

PNG - 212.7 kio

 

MEGA

Main

P W M

3

 

 

DIR

12

 

 

MAX471

A0

MEGA

Prog

P W M

11

 

 

DIR

2

 

 

MAX471

A1

 

 

Dans le fichier config.h de DCC++,

#define MOTOR_SHIELD_TYPE devra être à 0 mais c’est l’option par défaut.

// DEFINE MOTOR_SHIELD_TYPE ACCORDING TO THE FOLLOWING TABLE:
//
//  0 = ARDUINO MOTOR SHIELD          (MAX 18V/2A PER CHANNEL)
//  1 = POLOLU MC33926 MOTOR SHIELD   (MAX 28V/3A PER CHANNEL)

#define MOTOR_SHIELD_TYPE   0

Vous pourrez en profiter pour remplacer ARDUINO MOTOR SHIELD par :

 

//  0 = LMD18200 MOTOR SHIELD         (MAX 28V/3A PER CHANNEL)

 

DCC++ et les shields moteurs.

L’avantage d’un shield réside dans la simplification du câblage et l’encombrement du montage. Les deux shields moteurs que nous vous présentons disposent de deux sorties permettant d’alimenter la voie principale et la voie de programmation. Ils réalisent par ailleurs la mesure du courant permettant ainsi de se dispenser des MAX471.

ARDUINO MOTOR SHIELD

Le premier montage que nous allons voir concerne l’ARDUINO MOTOR SHIELD qui est l’une des deux solutions proposées « en natif » par DCC++.

Voir la présentation de ARDUINO MOTOR SHIELD sur www.arduino.cc

ARDUINO MOTOR SHIELD est basé sur le L298 dont nous parlions précédemment. Si les 18 Volts délivrés sont suffisants en HO et en N, son courant (théorique) maxi donnée pour 2 Ampères pourra se révéler un peu juste selon votre parc de locomotives surtout si vous utilisez la voie DCC pour l’alimentation de vos accessoires.

JPEG - 87.2 kio
Arduino Motor Shield monté sur une carte Ethernet elle même montée sur un MEGA
Arduino Motor Shield monté sur une carte Ethernet elle même montée sur un MEGA
PNG - 189.4 kio

Vous constatez que le câblage est nettement simplifié. Sur le shield moteur, vous devez relier la pin 5 à la pin 13 et la pin 10 à la pin 12. Notez que toutes les pins encadrées en rouge ou remplies de rouge sont réservées à DCC++ et ne doivent pas êtres utilisées. Toutes les pins encadrées en vert sont disponibles ainsi que les masses (GND) et les sorties de courant +5V et + 3,3V.

Avec un MEGA, le câblage sur l’Arduino Motor Shield est sensiblement différent. Vous n’aurez qu’à relier la pin 2 à la pin 13. Là aussi, toutes les pins encadrées en rouge ou remplies de rouge sont réservées à DCC++ et ne doivent pas être utilisées. Toutes les pins encadrées en vert sont disponibles ainsi que les masses (GND) et les sorties de courant +5V et + 3,3V.

Les pins 4 et 10, (losanges jaunes) sont réservées dans le seul cas où vous utilisez un shield Ethernet.

PNG - 189.6 kio

Notez qu’avec un UNO comme avec un MEGA, vous devrez couper la liaison V-IN Connect tel qu’indiqué ci-dessous. Il faut utiliser un cutter délicatement pour ne pas déborder de la zone concernée et il faut s’assurer que le contact est bien coupé.

PNG - 734 kio

POLOLU MC33926 MOTOR SHIELD

Le POLOLU est le second shield figurant dans les options proposées par DCC++. Sa dénomination exacte est en fait : Pololu Dual MC33926 Motor Driver Shield for Arduino puisque chez Pololu il existe d’autres références pour MC33926 mais qui ne pourront pas se monter en shield sur un Arduino.

JPEG - 393.1 kio

POLOLU Dual MC33926 Motor Driver Shield for Arduino ici montée sur un Uno R3

 

Voici la page de présentation du constructeur. La présentation et la documentation sont très complètes.

Comme les autres shields, le Pololu présente l’avantage de simplifier les câblages et de réduire l’encombrement. Sa qualité de fabrication est soignée. Notez qu’il est livré bornes non assemblées. Vous devrez donc jouer du fer à souder avant de pouvoir l’utiliser.

Le Pololu est donné pour des performances de 3A sur chaque sortie (voie principale et voie de programmation). En pratique, cela doit être fortement nuancé. En premier lieu, le refroidissement du Pololu influence ses performances. Aussi n’est-ce pas un luxe de lui adjoindre des dissipateurs comme on peut le voir sur la photo ci-dessous et/ou mieux encore, un ventilateur.

Par ailleurs, le Pololu se met rapidement en sécurité à l’occasion de pics de courant comme il s’en produit lorsque l’on met le circuit sous tension avec plusieurs locomotives sur les rails. Vous n’aurez pas d’autre solution que d’en enlever quelques unes et de relancer la mise sous tension. Un peu crispant certaines fois il faut bien l’avouer.

Enfin, notez que le Pololu peut servir à l’alimentation de l’Arduino, ce qui peut présenter un avantage dans certaines circonstances. Mais comme préconisé par le fabricant, l’Arduino ne devra pas être alimenté par sa prise jack et le jumper devra lui être positionné comme indiqué sur le schéma ci-dessous.

Pololu précise bien que la tension d’alimentation de la carte devra respecter les préconisations pour l’Arduino, à savoir de préférence entre 7 et 12 Volts et en aucun cas dépasser 20 Volts.

PNG - 85.1 kio

Tout comme nous l’avons évoqué plus haut, vous aurez certainement à modifier le fichier config.h de DCC++ BaseStation puisque l’option Pololu n’est pas l’option par défaut.

#define MOTOR_SHIELD_TYPE devra être à 1.

// DEFINE MOTOR_SHIELD_TYPE ACCORDING TO THE FOLLOWING TABLE:
//
//  0 = ARDUINO MOTOR SHIELD          (MAX 18V/2A PER CHANNEL)
//  1 = POLOLU MC33926 MOTOR SHIELD   (MAX 28V/3A PER CHANNEL)

#define MOTOR_SHIELD_TYPE   1
JPEG - 211.9 kio

POLOLU MC33926 monté sur un shield Ethernet lui même monté sur un MEGA.

Vous remarquez les deux dissipateurs de chaleur.

 

Câblage :

Voici le schéma pour l’utilisation de l’Arduino UNO + POLOLU sur la voie principale uniquement.

Dans ce cas, il y a juste à relier la pin 7 avec la 10.

PNG - 215.4 kio

Pour l’utilisation du POLOLU et d’un UNO avec la voie de programmation, le câblage est plus conséquent.

PNG - 229.2 kio

Il faut relier :

  • La pin 5 avec la pin 8
  • La pin 7 avec la pin 10
  • La pin 9 avec la pin D2
  • La pin 11 avec la pin M2PWM

 

Avec un MEGA et l’utilisation de la voie principale uniquement, il suffira juste de relier la pin 7 à la pin 12

PNG - 215.9 kio

Avec un MEGA et l’utilisation de la voie principale et de la voie de programmation, Il faut relier :

  • La pin 2 avec la pin 8
  • La pin 7 avec la pin 12
  • La pin 9 avec la pin D2
  • La pin 11 avec la pin M2PWM
PNG - 237.9 kio

Enfin, sur le POLOLU également, il va falloir couper délicatement certains jumps avec un cutter ("Cut Trace" sur la figure). Mais les jumpers se situent sous la carte en non dessus comme pourrait le laisser penser l’image ci-dessous.

PNG - 160 kio

En conclusion :

Vous disposez maintenant de quelques configurations matérielles éprouvées ainsi que les moyens de les mettre en œuvre pour utiliser DCC++ sur vos réseaux.

L’Arduino Motor Shield constitue une solution économique et assez simple à mettre en place. La détection des surtensions et courts circuits ainsi que de température excessive est intégrée. Une sortie pour la voie principale et une pour la voie de programmation. Ses performances en limitent néanmoins l’usage aux petits et moyens réseaux. Attention à la qualité de fabrication. Toutes cartes à base de L298 ne se valent pas.

Le POLOLU Dual MC33926 Motor Driver Shield for Arduino offre une solution complète et intégrée ; détection des surtensions et courts circuits ainsi que température excessive. Une sortie pour la voie principale et une pour la voie de programmation. Ses performances sont cependant un peu en deçà d’un LMD18200 et son prix est élevé, de l’ordre de 30 €. La qualité du produit et de la fabrication nous semble irréprochable.

Le LMD18200 est un peu le chouchou de Locoduino. Il est vrai que ses performances sont très bonnes et son prix abordable (10 €). Il nécessite un peu plus de câblage et l’ajout d’un MAX471 extérieur (car la mesure de courant intégrée ne donne pas satisfaction). Dans le cas où vous envisagez de n’utiliser que la voie principale, c’est incontestablement le bon choix.

Voilà, nous avons vanté dans les articles précédents la simplicité de communication avec DCC++. Une fois votre montage réalisé, vous pouvez le tester simplement avec le moniteur de l’IDE de l’Arduino. Saisissez les 3 caractères <1> pour mettre votre circuit sous tension. Les LED’s sur votre shield ou que nous avons ajoutées dans le montages du LMD18200 doivent s’allumer.

Comme d’habitude, n’hésitez pas à nous poser toutes vos questions et nous faire part de vos propres expériences.

Pour mettre en oeuvre complètement votre centrale DCC++, il faut charger le logiciel et l’utiliser : Nous vous renvoyons donc aux articles :

125 Messages

  • Bonjour et un grand merci pour vos articles sur le DCC

    j’ai une question concernant le montage avec le circuit LMD18200 et l’Arduino, sur le forum j’avais lu qu’il fallait ajouter une résistance de 10k entre PWM et BRAKE, je n’ai pas retrouvé dans le forum mais j’avais sauvegardé l’image (nom de l’image : dominique-Platine.002.jpg).
    quand est-il concernant cette résistance utile ou pas ?

    une seconde question concernant dcc++ : peut-on utiliser les pins disponibles de l’arduino pour contrôler la loco (vitesse,sens,arret) dans ce cas pouvez-vous m’aiguiller sur la programmation a ajouter dans le programme DCCpp_Uno

    d’avance merci
    Pascal

    Répondre

  • Bonjour Pascal,

     

    Merci pour vos remerciements :-))))

     

    1° - Résistance de 10 KΩ ou pas ? Effectivement, Dominique à publié un schéma où figurait une telle résistance. Il avait trouvé par là même la réponse à un problème qu’il rencontrait à l’activation du signal DCC. Mais si tout fonctionne bien sans, vous pouvez tout à fait vous en dispenser. Personnellement j’utilise des montages LMD18200 et Pololu avec DCC++ sur mon réseau depuis plus de 6 mois sans 10 KΩ et ça fonctionne !

     

    2° - J’avoue que je ne comprends pas du tout la question.

    peut-on utiliser les pins disponibles de l’arduino pour contrôler la loco (vitesse,sens,arret) ?

    Pourquoi voulez-vous utiliser des pins disponibles sur l’Aduino pour contrôler la loco (vitesse,sens,arret) alors même que c’est DCC++ qui le fait ??? Faites un des montages proposés répondant à votre matériel et à vos besoins, téléversez DCC++ (BaseStation) sur votre Arduino et le tour est joué. Entrez dans la zone de saisie du moniteur de l’IDE "<1>" et vous mettez votre réseau sous tension. Puis entrez "< t 1 3 120 1 >" et vous allez voir votre locomotive ayant pour adresse "3" avancer à la vitesse de 120 en avant.

     

    Alors bien sûr, ce n’est pas très pratique avec le moniteur de l’IDE et c’est pourquoi il faut une interface qui envoie les commandes à l’Arduino par le port série ou par ethernet. Reportez vous par exemple à l’article précédent qui propose un controller en HTML. Voyez aussi les posts de Ponponmov qui lui à mis au point un pilotage basé sur une télécommande TV. Mais vous pouvez tout autant utiliser un logiciel comme JMRI

     

    Bien cordialement.

     

    Christophe.

    Répondre

    • Bonsoir Christophe et merci pour la réponse rapide

      j’ai suivi les articles et je suis arrivé à l’étape où les commandes du type fonctionnent parfaitement.

      pour le projet de "Ponponmov" basé sur une télécommande, j’ai lu et compris qu’il fallait utiliser un deuxième arduino avec son propre .ino

      question : peut-on ajouter cette fonctionnalité dans le dcc++ en recopiant le code du .ino dans dcc++ afin d’avoir un seul arduino ? (je débute avec arduino et la programmation)
      .

      vous m’indiquer :

      c’est pourquoi il faut une interface qui envoie les commandes à l’Arduino par le port série ou par ethernet

      quand je connecte un bouton à l’arduino (contenant dcc++ ), puis-je envoyer l’information sur le port série lu par la loop() de dcc++ et quelle routine ajouter à celle-ci pour prendre en compte le bouton et y affecter une action

      d’avance merci

      Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC (3) 25 janvier 2017 21:46, par bobyAndCo

    Bonsoir Pascal,

     

    Pour votre première question, je dirai que c’est sans doute Ponponmov qui est le mieux placé pour vous répondre. N’hésitez pas à le contacter par MP. Personnellement, je crois que ce n’est pas souhaitable car des applications comme DCC++ Base Station nécessitent d’utiliser à l’optimal le peu de puissance des Arduino. Par ailleurs, le code de DCC++ en langage C est complexe à appréhender pour quelqu’un qui n’est pas vraiment aguerri. Je pense que le jeu n’en vaut pas la chandelle. Alors, on dira peut être que j’ai bien réussi avec mon controller en HTML à n’avoir qu’un Arduino. C’est vrai mais il faut savoir que le serveur web que j’ai implanté dans DCC++ renvoie la totalité des calculs au controller HTML donc à l’ordinateur ou la tablette. L’Arduino de DCC++ n’est sollicité qu’une seule fois au moment du chargement du controller d’ailleurs assez long. Mais dans des versions plus élaborées de mon controller, je les ai totalement "sorties" de DCC++ BaseStation sur de plateformes dédiées (Arduino, PCDuino, Raspberry, serveur web PHP...)

     

    Ma réponse à votre seconde question est dans le même ordre d’idée. Oui vous pouvez ajouter du code dans DCC++ Base Station qui va détecter le changement d’état d’une entrée quand vous appuyez sur un bouton. Si c’est pour envoyer une information codée en DCC à un décodeur (d’accessoire par exemple) peut être. Mais sincèrement, au prix d’un Arduino, je vous conseille vraiment de dissocier les deux. Une carte qui va détecter l’action du bouton, et envoyer un message structuré à DCC++ Base Station qui lui même va le coder en DCC pour l’envoyer à l’accessoire que vous voulez actionner via son décodeur. Ou alors votre premier Arduino envoi directement une commande (sans DCC donc) à votre accessoire, servo, LED ou autre.

    Répondre

    • Réalisation de centrales DCC avec le logiciel libre DCC (3) 29 janvier 2017 16:06, par Daniel (ponponmvo)

      Bonjour à tous,

      J’abonde dans le sens de bobyAndCo. Mon projet de contrôleur à télécommande IR fait appel à une deuxième carte pour, entre autres, éviter les conflits de timer. En effet, la librairie IR utilise le TIMER2 qui est déjà utilisé d’autre part. De plus, si vous souhaitez ajouter des fonctions (affichage LCD comme dans le projet, etc) vous atteindrez rapidement les limites de la carte Arduino. J’ajoute enfin que la recherche d’erreurs et la mise au point sont bien plus aisées lorsque les deux fonctions (centrale DCC++ et contrôleur) sont sur deux cartes séparées. Pensez que vous pouvez contrôler toutes les fonctions de la centrale en envoyant une simple commande via le moniteur série !

      Je prépare un article qui synthétisera la réalisation d’un contrôleur basé sur une télécommande IR du commerce comme décrit dans mes messages précédents. Ce sera une version revue et améliorée du croquis que j’avais présenté.

      Daniel (Ponponmvo)

      Répondre

  • Bonsoir,
    je joins mes remerciements aux précédents !
    Cet article est le bienvenu, car la créativité des auteurs m’a un peu dérouté quand j’ai découvert le site ...
    Pour ma part, je pense qu’il faudrait recommander de débuter avec un Uno et son shield moteur, le tout alimenté par un simple bloc secteur 12 V 0,8A depuis le shield.
    Ceci permet de commencer sans aucune soudure et pas de cablage ... Ce montage est à conserver car idéal pour avoir une voie de programmation sous la main.
    Ensuite, la version à un LMD12800 avec son radiateur + MAX471 et une alimentation 3A permet de passer aux choses sérieuses sur la voie principale. (et sans s’embêter à câbler une voie de programmation qui ne servira qu’épisodiquement)
    Et j’attends une probable série sur les manettes pour faire la promotion de celle à base de Nano + clavier 4x4 + codeur + liaison radio HC12.
    Cordialement
    PS : si on ne met qu’une LED pour voir la mise sous tension des rails, on la soumet à une tension inverse pour laquelle elle n’est pas prévue, d’où l’intérêt d’en mettre deux tête bêche.

    Répondre

    • Bonsoir,

       

      Vous avez raison,

      PS : si on ne met qu’une LED pour voir la mise sous tension des rails, on la soumet à une tension inverse pour laquelle elle n’est pas prévue, d’où l’intérêt d’en mettre deux tête bêche.

      Le DCC est en effet un courant alternatif (même s’il n’est pas sinusoïdal mais carré). Avec une tension inverse de 12 à 18 V, c’est la durée de vie de la LED qui est en jeu. Deux LED’s en tête bêche est effectivement une solution ou une LED et une diode si l’on veut éviter de transformer son LMD18200 en sapin de Noël ;-) J’ai modifié les schéma et je précise bien que anode et cathode de la LED et de la diode doivent être inversées.

       

      Merci pour cette précision.
      BobyAndCo

      Répondre

      • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 28 janvier 2017 16:34, par Dominique DELEAZ

        Bonjour et encore bravo pour la clarté des explications.

        J’utilise le shields motor et c’est un peu juste en effet avec plusieurs loco, donc je vais passer sur le LMD18200 et je ne trouve pas ou acheter un MAX 471.

        Merci de votre aide.

        Dominique

        Répondre

  • Bonjour,

     

    Pour le MAX471, sur le baie il faut taper "MAX471 DC3V-25V Voltage Current Test Sensor Module for Arduino". Il vaut mieux prendre les rouges comme ceux du schéma. Peu de chance d’en trouver qui ne viendraient pas de Chine -> Délai !

     

    Bien cordialement.

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 22 février 2017 11:14, par Jose Antonio Nuñez

    Bonjour a tous

    excelent tres bien explique pour les debutants, a quand la versión pour les nuls. Je comprends les grandes lignes mais je fini par me perdre.
    j ai 60 ans cette annee et je n ai plus le temps de me mettre a la programation.
    existe t il quelque chose "cles en main".
    je capable de souder, faire un PCB, et un peu plus.
    les seules connaissances que j ai de l arduino ont ete acquises lors de la fabrication de mon imprimante 3D.
    y aurait il un internaute tres patient qui pourrait me debrifer en Mail prive.je voudrais me faire un reseau en N, au niveau manuel je n ai aucun problema, mais au niveau de la comprehension informatique je ne trouve pas de qualificatif superieur a NUL dommage.
    je suis en espagne et cela explique qu il n y ai pas d accent dans ce message,veuillez m en excuser mais les claviers sont sans accent ici.
    merci

    Répondre

    • Bonjour José.

      Il y a tellement de cours pour débuter en Arduino que vous devriez facilement apprendre, surtout à 60 ans avec 30 à 40 ans devant vous.

      Commencez par consulter ceci :
      http://forum.locoduino.org/index.ph...

      L’Arduino s’apprend en pratiquant, il faut faire le plus possible des exemples donnés qui vous permettront d’assimiler les bases.
      Apres vous verrez que le reste vient naturellement.

      Bon courage

      Répondre

    • Bienvenue à nos amis Espagnols et bonjour Jose,

       

      Félicitation tout d’abord pour votre français parfaitement compréhensible. Pour répondre à votre attente, j’ai sans doute ce que vous recherchez. J’ai a plusieurs reprises parlé ici sur locoduino d’un controller web pour piloter DCC++ qui se veut très simple d’utilisation. Je viens tout juste de terminer une version on-line, c’est à dire que l’on y accède directement par internet et que l’on peut piloter ses propres locomotives, il n’y a rien à télécharger, rien à installer sur son ordinateur.

       

      La version Beta est opérationnelle et je suis en train de finir la documentation (ce qui sera fait dans 2 ou 3 jours au maximum). J’ouvrirai alors un nouveau fil sur le forum afin que tous ceux qui sont intéressés par ce projet puissent échanger et le faire évoluer. Je ne manquerai pas de vous tenir informé.

       

      Bien amicalement.

       

      Christophe

      Répondre

  • Bonjour,

    Comme je l’avais annoncé dans le post précédent, la version on-line de mon controller est maintenant disponible avec sa documentation. J’ai ouvert un sujet dédié visible ici.

    Bien amicalement.

    Christophe.

    Répondre

  • Bonjour,
    Ce dossier est très intéressant et d’une grande qualité. Je suis sur le point de réaliser la centrale avec le LMD18200. Je dispose d’une alimentation de PC portable de 19V pour 4,47A donc largement dimensionnée mais je me demande si 19V n’est pas trop élevé. Merci pour ce tutoriel.

    Répondre

    • Bonsoir,

      Merci pour vos appréciations. Vous ne précisez pas si vous êtes en HO ou en N. En HO, il n’y a pas de problème pour 19 volts. En N, cela peut faire un peu beaucoup.

      En N, selon moi, le plus simple serait d’abaisser la tension avec un régulateur à 15 - 16 volts. Attention tout de même à bien refroidir, il peut y avoir pas moins de 5 à 9 W à dissiper selon l’intensité (2A ?).

      Bien amicalement.

      Christophe.

      Répondre

      • Bonjour Christophe et merci pour votre réactivité. J’avais aussi noté mon oubli mais il s’agit bien de HO. Mon réseau est de dimensions raisonnables et je pense ne pas avoir de problème d’intensité mais effectivement je serais vigilant quant aux échauffements. Encore merci pour ce travail et les précieux conseils qui vont avec.
        Bien cordialement.
        Pascal

        Répondre

        • Bonjour,

          L’avantage du LMD18200 est qu’il autorise des intensités supérieures. Je viens d’en faire récemment le constat avec le Pololu pourtant donné pour 3A qui sur la voie de programmation "disjoncte" avec une seule loco. Ne surtout pas oublier le MAX471 sinon ça va faire de la fumée dans la loco en cas de court jus !

          Bien amicalement.

          Christophe

          Répondre

  • Bonjour, je démarre en digital et j’ai enfin réalisé ma centrale en HO sur mega 2560 avec LMD18200 et max471 (bleu, faute d’avoir trouvé le modèle rouge). J’ai crée le fichier locos.jso avec quelques locos et comme première id=0, adress=5 (programmée avec Sprog et reconnue) et register=0 aussi. J’ouvre control.htm sans problème, je sélectionne la locomotive sur la voie dans la liste déroulante mais dés que je veux opérer un ordre (marche avant ou feux par ex.) j’obtiens le message "Vous devez sélectionner une locomotive !" inlassablement. Pouvez-vous m’indiquer l’erreur possible car comme je peux lancer control.htm, je pense que la carte sd est bien lue. Merci pour l’intérêt que vous voudrez bien porter à ma question. Je sens que je suis près du bout mais voilà, ça bloque.

    Répondre

    • Pascal,

      Après avoir "mis le nez dans le code", je vois que le register doit être supérieur à 0 (zéro) !!! L’ID peut lui être à 0 mais pas le register (c’est une convention DCC++).

      J’espère que ça réglera le problème.

      Répondre

      • C’est génial, effectivement il faut décaler le n° de registre et commencer par 1. Quel plaisir de voir la centrale fonctionner ! Maintenant je vais pouvoir passer à la personnalisation et en réel. Encore merci pour ta réactivité qui est rassurante qu’on on débute.
        Amicalement.

        Répondre

  • Bonjour Pascal,

    Il faut sélectionner une loco dans le menu déroulant. Sur la vidéo de Youtube https://www.youtube.com/watch?v=ft3... , on voit bien comment on passe d’une loco à une autre. Si toute fois vous n’avez aucune loco qui s’affiche dans le menu déroulant c’est plus embêtant. Faites-moi un retour pour m’indiquer si les locos s’affichent dans le menu déroulant.

    Bien amicalement.

    Christophe

    Répondre

  • Bonjour et merci pour la réponse. Les locos s’affichent bien dans le menu déroulant, je sélectionne la première loco par clic simple sur le nom (je ne reçois pas de message en retour) mais si je sélectionne le curseur de vitesse alors là je reçois le message signalé dans mon message précédent.
    PS : Je ne peux pas tester d’autres locos car je n’ai installé qu’un décodeur pour le moment.
    Merci.

    Répondre

  • En faisant de nouveaux essais je viens de remarquer que le message "Vous devez sélectionner une locomotive" n’apparaît que pour la BB63708 seule machine effectivement munie d’un décodeur. Si je sélectionne une autre loco dans la liste, je peux manipuler les curseurs mais cette loco est bien sur "virtuelle" parce non présente mais je ne reçois pas le message d’erreur. Je vais revoir mon fichier locos.jso car c’est bizarre. Dernière chose, sous le nom de la loco sélectionnée, je ne vois pas s’afficher l’adresse et le registre comme dans le test proposé dans le dossier #2.
    Amicalement. Pascal

    Répondre

  • Encore un point le premier registre est le 0 ou le 1. J’ai pris 0 comme l’id. Merci, j’attends votre analyse.

    Répondre

  • Ok merci BoByAndCo je viens de lire ta réponse au dessus de mes messages pour le n° de registre...

    Répondre

    • Je profite que l’on ait à nouveau abordé la question des registres de DCC++ pour rappeler un point qui peut être la cause de soucis. DCC++ est par défaut paramètré pour 12 registres (12 locos en fait). Si l’on a besoin de plus, il faut modifier la ligne 23 de config.h : #define MAX_MAIN_REGISTERS 12.

      N’oubliez pas que DCC++ peut "tourner" sur UNO et c’est sans doute pour cela que c’est paramètré à 12. Sur un Mega, il ne doit pas y avoir de problème à mon avis pour aller à 20 ou 30 et probablement 50 !!!

      Christophe

      Répondre

  • Vous ne vous étendez pas, à juste titre, sur les alimentations. Étant nouveau sur le sujet, mais désirant me lancer, je souhaiterais savoir si un adaptateur secteur pour PC portable 18V 65W peut convenir à l’alimentation d’un réseau et son pilotage par DCC++ ? (elles sont en générale protégées contre les surtensions, les courts-circuits, les surintensités et les surchauffes)

    JC

    Répondre

    •  

      Bonjour Jean-Claude,

       

      Rien de particulier n’est dit en effet car, comme vous l’avez très justement appréhendé, il n’y a pas ici de problème particulier.

       

      Oui les alimentations de PC (portables mais aussi celles que l’on trouve dans les tours) ferront parfaitement l’affaire dans des configurations "normales" - consommation du réseau en DCC <= 3A soit environ 4 à 5 locos en simultané et dans la la limite autorisée par votre carte moteurs.

       

      18V convient bien en HO. En N, essayez de ne pas dépasser 15 à 16 V. Bien sûr, n’oubliez pas les protection (en + de celle de l’alim) comme le MAX471 (testé et approuvé par Locoduino ;-)

       

      Bienvenue puisque vous dites que vous vous lancez. N’hésitez surtout pas à poser toutes vos questions et la communauté s’efforcera de vous aider.

       

      Et ne loupez pas le prochain article sur le pilotage de DCC++ qui paraîtra sous quelques jours où vous trouverez un controller "clef en main" pour vos PC, tablettes et smartphones en WiFi.

      Répondre

  • Bonjour,
    Question de béotien : Vous traitez les cas (Voie) et (Voie Prog). Mais, le montage LMD18200, Max471 et UNO est-il fonctionnel uniquement en mode Prog avec sorties de l’UNO A1, 5 et 11 ?

    Je vois bien le message <iDCC BASE STATION FOR ARDUINO UNO / ARDUINO MOTOR SHIELD : V-1.2.1 etc... sur le moniteur. Je mets avec succès ma voie Prog seule sous tension avec <1> mais ensuite si j’essaye de lire un CV de ma machine (déja programmée CV=3 avec un SPROG 3) avec la commande : <R 3 25 25, par exemple, je ne récolte que des -1] comme réponse (read could not be verified).

    J’ai pas mal cherché sur le web : j’ai ainsi essayé de baisser le niveau du discri en diminuant ACK_SAMPLE_THRESHOLD dans PacketRegister.h. Nada ! Sinon en mode Voie, c’est OK ! Ça roule !

    Félicitations !

    Michel

    Répondre

    • Bonjour Michel,
      Le lien cité par Christophe dans le forum est le bon, et des interfaces spécifiques ont été ajoutées dans la bibliothèque DCCpp pour lire des CV et découvrir l’adresse (courte et longue) sur la voie principale. Ces ajouts permettent d’avoir un ensemble de fonctionnalités complet associé à la voie de programmation uniquement. Chez moi j’ai fait une Centrale exprès pour ça.
      Mais aujourd’hui la question n’est pas complètement résolue en ce qui concerne certains décodeurs qui ne répondent pas ( soit -1). Ça dépend des décodeurs, de certains CV, de la tension d’alimentation, et du circuit de mesure. Je vous conseille de ne pas toucher au logiciel. Nous reviendrons sur cette question dans le forum. Même des centrales du commerce ont ce problème.

      Répondre

  • Bonjour,

     

    Je constate dans le log reporté ci-dessus que vous utilisez un UNO donc vous utilisez le port série. J’ai signalé dans l’article que la lecture de CVs ne fonctionne pas avec le port série. La configuration pour cela est MEGA + ETHERNET.

     

    Mais quoiqu’il en soit, il y a des problèmes de lecture avec DCC++ pour certaines marques de décodeurs. Nous en avions beaucoup parlé il un a quelques mois sur le forum. ESU, Marklin (entre autres) ne posent pas de problème. Lenz de mémoire en pose.

     

    Voir ici le fil : http://forum.locoduino.org/index.ph...

     

    Ceci est intrinsèquement lié à DCC++ et nous n’avons jamais trouvé pourquoi. Désolé.

     

    Bien cordialement

     

    Christophe

    Répondre

  • Bonjour et merci pour vos excellents articles. Pour la réalisation de mon réseau en N je m’interroge (et vous aussi par la même occasion) sur la possibilitée de découper l’alimentation en deux booster séparé et donc de monter deux carte motor shield l’une sur l’autre ( pour des raison de finition et de compacticité) pour bénéficier de deux sorties voies traction/principale (en 2A chacune) et une zone voie de programmation, (et aussi une sortie innutilisée). Merci d’avance

    Répondre

    • Bonjour,
       
      Dans l’absolu je dirais que rien ne doit s’y opposer. Les deux shieldes moteur recevant les mêmes informations de l’Arduino et les répercutant sur deux réseaux différenciés (isolés). Si la locomotive à qui s’adresse les commandes n’est pas sur le réseau 1 elle les recevra sur le réseau 2 (ou pas du tout si elle n’est ni sur l’un, ni sur l’autre).
       
      Je vois cependant une limite et pas des moindres. DCC++ à un système de mesure de l’intensité du courant qui est bien utile en cas de court-circuit (déraillement par exemple). Ce dispositif ne sera pas opérationnel.
       
      Par ailleurs, on peut craindre que les informations de la vie de programmation "souffrent" de ce type de montage, mais à voir.
       
      Mais avant toute analyse, la question est de savoir quel est le besoin ? Il faudrait que vous me communiquiez le véritable avantage à procéder avec deux cartes au lieu d’une. Moi je n’en vois qu’un, le besoin de puissance.
       
      Dans ce cas, le POLOLU MC33926 est un excellent shield qui délivre 3A (5A en pics). C’est déjà bien en N ! Personnellement, je l’utilise en HO et j’en suis très content. J’ai ajouté des refroidisseurs et modifié un paramètre dans DCC++ qui faisait que l’on n’exploitait pas tout le potentiel de la carte. Seul bémol, le prix de 30$.
      https://www.pololu.com/product/2503
       
      Mieux encore, le shield, toujours chez Pololu Dual VNH5019 qui délivre 12A par canal ! 49,95$ tout de même.
      https://www.pololu.com/product/2507
       
      Il existe aussi des cartes moteur (pas shield -> moins compact) de 10A dont nous avons parlé récemment sur Locoduino (et dont je pourrais retrouver les références si vous le souhaitez). Je ne parle pas d’une carte de 43A dont j’ai déjà eu l’occasion d’émettre des réserves quant aux conséquences dans le cas où les courts-circuits ne sont pas parfaitement gérés.
       
      N’hésitez pas à préciser votre demande dans le cas où ces réponses ne seraient pas satisfaisantes.
       
      Bien à vous.
       
      Christophe

      Répondre

      • Merci Christophe pour votre réponse, le réseau en question est en chantier depuis de nombreuses années, a l’origine il est en Selectrix mais seul la partie feeder et alimentation depuis deux booster est réalisée. Se pose maintenant la question pour moi au vu du cout d’une installation Selectrix et de son hypothétique abandon, soit de garder la traction en Selectrix et les accessoires en arduino/DCC++ ou de tout basculer en DCC++.
        L’intérêt pour moi de séparer l’alimentation en deux est de garder le câblage et les isolations tel-quel, de plus en N, 2A de courant de C/C me semble un bon compromis pour la protection physique du réseau.
        Ce que vous me dite de la surveillance du courant C/C par DCC++ me fait penser que je pourrait tout alimenté en 6A et laisser la partie logiciel gerer la sécurité.
        merci encore

        Répondre

      • Bonjour Christophe, pardon my French :) Pourriez-vous fournir des détails sur l’utilisation de VNH5019 pour dcc ++ ? Ce Shield nécessite 2 entrées directionnelles (MxINA/B) alors que dcc ++ génère un seul signal binaire (DIR). Avez-vous réussi à le faire fonctionner par programmation sans ajouter d’onduleur matériel ?

        Répondre

        • Bonjour Marius,

           

          Je n’ai pas fait fonctionner le shield VNH5019. Mais je pense qu’il faut dans un premier temps le monter exactement comme un MC33926 et voir ce qui se passe.

           

          Il est possible que cela fonctionne sans changement de la programmation de DCC++.

           

          Sinon, il faudrait essayer d’envoyer un 5V sur MxINB et voir ce qui se passe. Ou encore un 0V. Ce n’est surement pas autre chose.

           

          Par ailleurs, il existe de nombreux tuto concernant cette carte, il faut s’y reporter.

           

          Sur cet autre point Avez-vous réussi à le faire fonctionner par programmation sans ajouter d’onduleur matériel ? je ne vois pas ce que vous voulez dire.

           

          Merci de revenir vers moi avec ces précisions.

           

          Bien cordialement.

           

          Christophe

          Répondre

          • I suggest to our english speakers friends to post in english and provide a french translation with it.
            Je suggère à nos amis anglophones de poster en anglais et de fournir une traduction française avec.

            It seems to me that the Arduino shield motor with L298 does not have inverted DIR inputs and that the Base Station sketch provides them. It should be simple to adapt the numbers of the outputs.

            Otherwise we can look at the DAVE BODNAR schema with a simple inverter transistor :

            Il me semble que shield motor Arduino à L298 ne dispose pas d’entrées DIR inversées et que le sketch Base Station les fournit. Il suffirait donc d’adapter les numéros des sorties.

            Sinon on peut s’inspirer du montage de DAVE BODNAR avec un simple transistor inverseur :

            Voir en ligne : Booster

            Répondre

            • Hi msport,

              can you point me to the place where the Base Station code generates inverted direction signal. The use of the D. Bodnar‘s inverter circuit is the default solution but I am looking for a software based utilising arduino resources.

              Ipouvez-vous m’indiquer l’endroit où le code de la station de base génère un signal de direction inversé. L’utilisation du circuit inverseur de D. Bodnar est la solution par défaut, mais je recherche un logiciel utilisant des ressources Arduino.

              Répondre

  •  
    Il est vrai que capitaliser aujourd’hui sur Selectrix est risqué. Maintenant, s’il s’agit de rentabiliser un investissement déjà réalisé, c’est autre chose. Ca dépendent beaucoup de la question de savoir si vos décodeurs (nombre ?) sont en Selectrix seul ou Selectrix/DCC.
     
    Mais j’ai une réponse plus catégorique concernant les accessoires. C’est pour moi un non sens d’utiliser le bus DCC (autant qu’on puisse le qualifier ainsi) pour autre choses que la traction. Il faut à chaque fois des décodeurs d’accessoires qui, si vous ne les fabriquez pas, coutent assez cher. Par ailleurs, faut-il rappeler que DCC n’a pas été conçu pour cela et ne le fait pas bien.
     
    Vous avez partout sur le site de nombreux exemples d’accessoires à base d’Arduino Nano, Mini ou encore UNO. Le bus CAN qui est largement mis en avant sur Locoduino est simple à mettre en œuvre, performant, particulièrement fiable et économique. Il dispose par ailleurs de fonctionnalités que les autres n’ont pas comme la diffusion généralisée des messages, les filtres et les masques. Et interfacer un bus CAN avec des réseaux Ethernet et WiFi est assez simple quand comme moi vous utilisez des technologies dérivées du web : HTML, JavaScript, CSS, Bootstrap, Node.Js...
     
    Ceux qui disposent d’investissements qu’ils souhaitent rentabiliser peuvent par exemple regarder avec intérêt l’article de Jean-Pierre sur l’interconnexion d’un bus S88 et d’un réseau CAN : Une Passerelle entre le bus S88 et le bus CAN pour la rétro signalisation
     
    Dans le groupe Locoduino, nous travaillons actuellement sur des concepts de commande d’accessoires et de rétrosignalisation sur la base du bus CAN avec des choses vraiment très innovantes et totalement DIY. Garantie d’économie, d’indépendance par rapport à tel ou tel constructeur et de pérennité. Vous êtes bien placé pour le savoir avec Selectrix ! Vous devriez voir cela d’ici 8 à 10 mois au plus. Peut-être certaines choses seront-elles présentées avant ?
     
    J’ai cru comprendre que vous n’étiez pas pressé. Familiarisez vous au CAN au travers des nombreux articles du site comme ceux de Dominique et Jean-Luc : Mise en oeuvre du Bus CAN entre modules Arduino. Commencez certains montages et croyez-moi vous ne serez pas déçu surtout si l’idée de faire par vous même ne vous rebute pas.
     
    Conclusion, votre installation existante ou DCC++ avec un shield de 2A sont alors suffisants.
     
    Bien cordialement.
     
    Christophe

    Répondre

    • cela fait un petit moment déjà que je suis vos travaux sur locoduino et j’ai pu lire vos avancées en matière de communication "inter-arduino".
      Même si je comprend et je suis convaincu du bien fondé de votre raisonnement, je pense qu’il s’applique a des chevronés comme vous capable et désireux de concevoir un système complet en DIY.
      Je pense m’orienter vers une gestion plus "grand public"et plus dans mes capacités, je vais faire des essais demain de pilotage en DCC car je me suis rendu compte cet après-midi que les derniers décodeur D&H que j’ai acheté ne sont déjà plus compatible en Selectrix 1, et qu’il va falloir envisager la conversion DCC de gré ou de force.
      merci beaucoup pour vos réponses et vos liens

      Cédric

      Répondre

  • Bonjour,
    Suite à cet excellent article et après avoir manipulé déjà depuis quelques temps les arduino pour d’autres applications je me suis lancé dans la réalisation de cette centrale en utilisant une uno, un LMD et un MAX471.
    Une fois le code importé dans la carte, installé et configuré JMRI je me retrouve devant un soucis.
    Lorsque je pose une loco sur mon rail,avec l’adresse renseignée et que je veux la piloter rien ne se passe.Idem lorsque je fait une recherche de loco avec decodeur pro.
    Il y a pourtant du courant dans le rail (vérifié au Voltmetre). J’ai utilisé une alimentation de qualité assez basse qui ne donne un courant très faible (400mA) cela peut il venir de là ?

    Répondre

    • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 10 janvier 2019 17:16, par Philippe MESLIN

      Bonjour Steven,

      Je pense que le mieux et de posé votre question dans le forum.
      Pour la consommation, vous pouvez vous reporter au paragraphe L’ALIMENTATIONen haut de cet article.
      Avez-vous mis une LED sur la sortie voie ?
      Avez-vous fait un test avec le programme SerialDcc.ino ?

      Cordialement,

      Philippe

      Voir en ligne : SerialDcc

      Répondre

      • Bonjour, j’ai mis une alimentation plus adaptée mais toujours rien.
        Je n’ai pas mis la led sur les voies mais contrôle la présence de courant au multimètre (j’ai bien le courant quand je le met en route)
        Je ferais le test avec serialdcc.ino pour vérifier

        Répondre

        • Qu’est ce que vous appelez "mettre en route" ??? Quel soft est chargé dans l’Arduino UNO ? Est-ce la version originale de DCC++ ? Si j’ai bien compris, vous utilisez JMRI pour piloter ? La liaison entre JMRI et l’Arduino est-elle réalisée par le port série ou ethernet ?

          Merci de préciser pour que l’on puisse apporter des pistes de recherche.

          Répondre

    • Bonjour,

       

      Pensez à préciser à quelle échelle est votre réseau quand il s’agit par exemple de consommation car cela n’est pas la même chose en HO ou en N.

       

      Vus ne précisez pas non plus quelle est la tension !

       

      Quoi qu’il en soit, avec seulement 400mA, on peut raisonnablement penser que ce soit le problème ? (Sauf en Z ;-)))

       

      Suivez également les conseils de Philippe.

      Répondre

  • Bonjour
    Sur les schémas, je remarque un petit montage avec une led (verte), une diode et une résistance de 1,5ko,
    dois je répéter ce petit montage à chaque alimentation de tous les cantons ?
    Merci

    Répondre

    •  

      Bonjour,

       

      La LED n’est là que pour témoigner que le courant DCC sort bien du LMD18200 et alimente donc les rails. Dans la pratique, c’est assez utile d’avoir cette information quand quelque chose ne fonctionne pas. On sait au moins que ce n’est pas l’alimentation du réseau qui est en cause.

       

      Il n’y en a donc qu’une seule LED.

       

      Ensuite, pour chacun des cantons, je te conseille les détecteurs par consommation de courant dont il est question ici : http://forum.locoduino.org/index.ph...

       

      Personnellement je les utilise et j’en suis totalement satisfait. Ils ont leur propre LED qui permet (si une loco est sur les rails ) de constater que l’alimentation est OK

      Répondre

  • J’ai été voir sur "Détecteur de présence DCC par consommation de courant" j’ai essayé de lire tout, résultat pour moi c’est du charabia.
    Je suppose que ce sont des circuits imprimés sur les deux faces !
    N’y a t’il pas moyen d’avoir le schémas définitif pour réaliser les typons et la liste des composants à jour ?
    Merci d’avance.

    Répondre

  • Bonjour,
    Très intéressant vos articles, avec de nombreux détails.

    Malgré tout il me reste des interrogations surtout une concernant le câblage du LMD18200 avec arduino Mega. On connecte les pins 12 et 3 sur DIR et PWM. La pin 12 correspond à la réponse de l’interruption OC1B mais à quoi correspond la pin 3. Et quelle sortie se met à 0 avec panicStop ?
    Pour cet arrêt d’urgence, ne suffirait-il pas d’interrompre les interruptions pour qu’il n’y ai plus d’alim sur les voies ?
    Merci
    Bricoleur en N (je débute....)

    Répondre

    • C’est amusant, c’est la première fois que j’entends parler de panicStop !!! Dans la norme NMRA un parle de e-stop, je pense que c’est à cela que tu fais référence, l’arrêt d’urgence ?

       

      Non, la bonne solution n’est pas de couper l’alimentation électrique de la voie. Déjà pour une raison imparable concernant les locomotives équipées de PowerPack, aussi appelé "réserves d’énergie" chez REE par exemple. Elles sont conçues pour que les locomotives continuent à fonctionner même quand l’alimentation est coupée !!! M**de alors.

       

      Ce qu’il y a de vraiment bien (entre autres choses) avec DCC++, c’est qu’il respecte totalement la norme NMRA. Et la norme dit que le e-stop se fait en envoyant une commande précise au décodeur des machines.

       

      Par ailleurs, on parle ici de digital, c’est un peu élaboré. On n’arrête pas le système en coupant le jus. Je ne pense pas que tu fasses comme cela quand tu veux éteindre ton ordinateur.

       

      Bien cordialement

       

      Christophe

      Répondre

      • Non ce n’est pas une invention de ma part mais une fonction présente dans la biblio DCCpp. Effectivement l’interruption matériel est une idée un peu rude pour notre matériel. J’opterais donc pour le stop avec la trame DCC correct.

        Merci d’avoir éclairé ce point.

        Quid du câblage du LMD18200 pin 12 et surtout pin 3 ?

        Cordialement
        Bricoleur en N

        Répondre

  • Ah exact pour panicStop, mais il s’agit de DCCpp la "réécriture" qu’a fait Thierry de DCC++. Cet article parle de DCC++ et non DCCpp mais pour autant je ne savais pas que Thierry avait appelé ainsi une fonction de son soft. Il aime beaucoup s’amuser.

     

    Il vaudrait mieux alors poster sur le fil qui traite de DCCpp : http://www.locoduino.org/spip.php?a...

     

    Bien cordialement

     

    Christophe

    Répondre

  • On peut tester d’autres fonctions que le <0> dans DCC++ tout aussi radicales comme :
    < w CAB CV VALUE> : on a toutes les chances de ne pas passer inaperçu dans son club !

    Le e-stop est lancé par DCC++ avec < M000 >
    cf la mine d’or qu’est le forum :
    http://forum.locoduino.org/index.ph...

    Pour la gestion de la pin 3 sur Uno, il suffit de chercher "PWM" d’abord dans DCCpp_Uno.ino puis de suivre dans les include.

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 7 juillet 2019 00:50, par GOURDON Christian

    Bonjour
    Je découvre locoduino et Je voudrais mettre en oeuvre base station master sur un arduino uno + arduino motor shield.
    J’ai ouvert dans arduino ide DCCpp_Uno.Quand je compile il me sort des messages "warning iso c++ forbids converting a string constant to chart", pourquoi ? Quand je televerse le sketch dans la carte uno il me dit qu’il ne trouve pas de bibliothèque non valide :aucun fichier d’entête (.h) dans le repertoire DCCpp, pourquoi ?
    Merci pour votre réponse.

    Répondre

  •  

    Bonjour,

     

    Ce que je comprends est que vous avez essayé d’utiliser BaseStation-master.zip comme une bibliothèque en utilisant dans l’IDE "Ajouter la bibliothèque.zip".

     

    Cela peut effectivement prêter à confusion mais DCCpp n’est pas une bibliothèque. Il faut juste dézipper le fichier, glisser l’ensemble du dossier dans le répertoire de votre choix mais de préférence dans "documents/arduino". Ensuite dans ce dossier, lancer le sketch en double-cliquant sur le fichier "DCCpp_Uno.ino".

     

    Bien cordialement.

    Répondre

  • Est-il possible de connecter plusieurs LMD18200 en tant que boosters contrôlant une section de piste distincte ?

    Répondre

  •  

    Oui sur le principe rien ne s’y oppose. Il faudra totalement isoler les zones qui sont pilotées par tel ou tel LMD18200. Par contre, toutes les informations en sortie de DCC++ devront bien sûr être envoyées sur tous les LMD. Il faudra s’assurer que le courant nécessaire sur les broches PWM et DIR ne dépasse pas les capacités des broches de l’Arduino et au besoin passer par un montage à base de transistors.

     

    Il faudra également s’assurer que les tensions dans les rails sont sensiblement identiques.

    Répondre

  • Bonjour,
    Désolé pour le caractère hors sujet de ma question.
    Est-il possible d’utiliser le module LMD18200T + alimentation avec une centrale DCC classique (Je dispose d’un ECOS 2 ESU), dans l’affirmative ceci permettrai de constituer des boosters particulièrement économiques. Quel serait alors le câblage au niveau de la liaison données ?.
    J’aurai sans doute d’autres questions à l’avenir concernant le pilotage d’aiguillages servo, accessoires et signalisation avec Arduino + centrale, voire un partage d’expérience à apporter ultérieurement.D’avance, un grand merci.

    Répondre

  • Non, le module lmd18200 a besoin de signaux de commande que vous ne trouverez pas dans les centrales du commerce

    Répondre

  • Mais j’imagine que la question est en fait :
    existe-t-il des montages (à base d’Arduino bien sur) capable de booster une centrale anémique du commerce ?
    Et comme Locoduino a réponse à tout, la réponse a déjà été donnée :
    http://forum.locoduino.org/index.ph...

    en référence à un article américain :
    http://www.trainelectronics.com/DCC...
    (lire les précautions d’emploi)

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 2019 14:17, par GOURDON Christian

    Bonjour
    J’ai mis en place une centrale avec un arduino uno et la carte motorshield et je me heurte au problème suivant:les trames reçues sur le decodeur via le moniteur ide ne sont constituées que de points d’interrogation inversés. Cela ressemble à un problème de vitesse de transmission mais je vérifie partout et tout semble normal.Autre question naïve :est ce normal de voir constamment des trames passer alors que je ne fais rien ?
    Avez vous une idée du pourquoi de mes problèmes.
    Merci de votre intérêt pour mes questions.
    Cristigou.

    Répondre

    • Qui pilote la centrale ? Via RX/TX ? A quelle vitesse ? (schéma bienvenu)

      Effectivement des trames idle sont émises quand il n’y a rien d’autre.

      Répondre

      • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 2019 20:17, par GOURDON Christian

        Bonsoir
        Pour être complet dans mes explications ma centrale est un arduino uno avec une arduino motorshield comme décrit dans cet article.Elle est pilotée via USB par le logiciel rocrail implanté sur un raspberry pi3. La vitesse dans rocrail comme dans la centrale est sur 115200 bauds.

        Répondre

        • Je ne connais pas le Pi, mais j’imagine qu’il y a une configuration du port matériel - qui peut échapper à Rocrail.

          A regarder pour test, en passant la vitesse Arduino et serial à 9600b et autres. Le DCC fera n’importe quoi, mais ça dira quelle est la vitesse du Pi quand ça apparaitra en clair dans l’IDE.

          Si le Uno dialogue correctement avec le PC via l’IDE à 115200 bauds, c’est que c’est du coté Pi qu’il y a un problème : reste à tester ce qui en sort avec un adaptateur USB / série et un genre HyperTerminal, YAT, ou autre

          Répondre

          • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 septembre 2019 22:35, par GOURDON Christian c

            En utilisant minicom dans le raspberry j’arrive à mettre sous tension la carte arduino motorshield avec <0> et <1>.Après réflexion le raspberry ne peut pas être mis en cause:j’arrive â mettre sous tension la carte arduino motorshield avec rocrail. Quand j’agis sur le decodeur je vois des modifications dans les trames mais cela reste incohérent. Je me demande si la carte arduino motorshield est bien ok.Y a t’il un test à faire ?

            Répondre

          • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 septembre 2019 22:44, par GOURDON Christian c

            J’ai testé avec minicom,je peux mettre sous tension la carte arduino motorshield avec <0> et <1> et aussi directement avec le logiciel rocrail. Le raspberry pi n’est donc pas en cause. Quand je lance une commande d’aiguillage via le tco rocrail je vois des modifications dans les trames mais elles restent incohérentes. Je pense donc à un problème de la carte arduino motorshield. Y a t’il un test à faire ?

            Répondre

            • Le test de base du shield moteur est simplement d’envoyer <0> et <1> via le serial monitor et de voir l’effet sur les quatre LED du shield (présence ou non du DCC).
              Ensuite de démarrer une loco adresse 03 vitesse 20, avant, avec :
              < t 1 03 20 1 >
              Et voyez ce qui sort du Pi.

              Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 2019 14:20, par bobyAndCo

    Bonjour,

    On dirait bien en effet que la vitesse sur le port série ne soit pas parametrée de manière identique dans le programme (Seriel.begin(115200)) et en bas de la fenetre du moniteur.

    Répondre

  • can I use "SparkFun Monster Moto Shield" instead of Arduino Motor Shield or LMD18200 module ?

    Voir en ligne : SparkFun Monster Moto Shield

    Répondre

  • This is beyond my skills ... if even possible.
    If you need more power, you may be interrested in the Dave Bodnar booster.
    Anyway you do not need power on the programming track and use the standard Base Station with the Arduino motor shield even with a 12V power supply.

    Voir en ligne : http://www.trainelectronics.com/DCC...

    Répondre

  • Bonjour,
    En cherchant de l’information sur internet, je suis tombé sur cette série d’articles, vraiment bien fait.
    Moi je voudrais utiliser encore un autre Motor Shield utilisant le chip L298N.
    Le problème, les pins current sensing du chip ne sont pas utilisés et donc pas accessible sur le board.
    Deux solutions :

    • modification hardware sur le board lui-même, on coupe les current sensing pins et on fabrique le circuit manquant.
    • utilisation du MAX471.
      Mais alors, où je met le MAX471, dans l’entrée VIN ? Alors on mésure le total du courant.
      Où je prend 2 MAX471 et je les met dans les sorties de la plaquette ? Cela marchera ? vue que les sorties portent les signaux DCC, pas vraiment du vrai DC...

    Cordialement,

    Voir en ligne : Arduino DC Motor Control Tutorial – L298N | PWM | H-Bridge

    Répondre

  • Bonjour,
    en général on réserve le nom de shield à une carte qui s’enfiche sur un Arduino. (sauf les chinois)

    Un shield moteur comme celui là (version L298HN avec radiateur) vous évite tous les problèmes de connexion, le current sensing est sur A0 et A1. Juste à modifier si on veut l’utiliser à plus de 12V. Et vu le tarif ...

    Voir en ligne : shield moteur version L298HN

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 11 décembre 2019 12:29, par Dominique

    L’article en question concerne le pilotage de 2 moteurs en PWM dans un robot, ce qui n’est pas le sujet du modélisme ferroviaire ici.
    Pour générer du DCC avec le L298 il faut convertir les 2 sorties PWM et DIR de l’Arduino en IN1 et IN2 du L298. Certains motor shield le font très bien ainsi que la mesure de courant (notamment celui d’ADAFRUIT (https://docs.rs-online.com/cafb/090...). Mais d’autres shield n’ont pas cette mesure de courant et alors il faut utiliser le schéma classique du Max471 donné dans cet article et qui reste valable.

    Répondre

    • Ma question est précisément sur l’utilisation du MAX471.
      J’ai plusieurs shields comme le modèle dans le lien que j’ai donnée.
      Malheureusement dans ce modèle du shield, les sorties de mesure de courant ne sont pas connectées.

      La partie pour faire le signal DCC est déjà faite et fonctionne très bien.
      Mais pour le moment c’est dangereux car la partie de la protection court circuit n’est pas implémenté vu que les bornes mesure de courant ne sont pas disponible sur cette carte.
      Je peux mettre un MAX471 dans la connection de l’alimentation, mais alors le MAX471 mesure le total des deux sorties DCC (prog en main track).
      Ou je peux mettre deux MAX471, un dans la sortie A et un dans la sortie B. Mais alors ils ne mesurent pas du DC, mais du AC (signal DCC)

      Cordialement,

      Répondre

  • le MAX471 mesure le total des deux sorties DCC (prog et main track).
    Hé bien, n’utilisez pas les deux ensemble, solution préconisée dans l’article suivant :

    Voir en ligne : Une station DCC complète, polyvalente et économique avec JMRI.

    Répondre

  • Bonjour.
    ¸
    Je ne vais pas revenir sur l’excellence de ces articles qui en moins d’une heure permettent de passer de zéro à une exploitation en réel, bien que des remerciements encore une fois renouvelés ne soient pas de trop !
    ¸
    Mon propos concerne une difficulté à programmer des décodeurs Uhlenbrock du type 73400 (sans doute vieux) alors que j’arrive dans les mêmes conditions à programmer les décodeurs Laisdcc achetés récemment et Trix (DH14 MTC14).
    ¸
    Le symptôme : Sur la voie de programmation, lecture de toutes les CV parfaites et petites saccades sur les locomotives ; donc OK.
    Mais impossible de modifier une seule CV des décodeurs Uhlenbrock : "Erreur, pas de réponse".
    Sur la voie normale, tous les décodeurs fonctionnent seuls ou en groupe au détail près : les Uhlenbrock sont restés a l’adresse 3 !
    ¸
    A l’oscilloscope, j’ai noté que les "1" font 2x62µs et les "0" font 2x106µs. Soit pour les deux un peu plus que la norme ne l’exige. Le signal est très propre (parfaitement carré) et l’amplitude crête à crête est exactement à 22V (je l’ai finalement légèrement baissée pour la ramener à 22V pour ne pas trop dépasser les valeurs dont j’avais l’habitude en N).
    J’ai vérifié que le signal de retour de la mesure de courant était lisible à l’entrée de l’Arduino (tout est OK et surtout, il n’y a pas de différence visible entre les décodeurs qui fonctionnent et ceux qui refusent la programmation).
    Pour information j’utilise la solution Arduino/DCC++/Ethernet/JMRI/LMD18200/MAX471/2voies.
    ¸
    J’ai aussi tenté tous les remèdes de grand-mère les résistances en série, les condensateurs, les différents niveaux de tension de la voie, etc.
    Je soupçonne que le problème soit ailleurs (pour ne pas dire " que la vérité est ailleurs") !
    ¸
    1) Est-il possible d’ajuster les créneaux du signal DCC (si oui, où et comment) ? Est-ce important ou y a-t-t il une tolérance (je n’ai rien trouvé sur cette tolérance applicable au signal DCC dans les normes) ?
    ¸
    2) Que faire pour solutionner ce problème de programmation avec les Ulhenbrock (sachant que la lecture est quand même OK) ; j’ai bien lu cette discussion mais il n’y a pas de solution explicite (ou qui me soit compréhensible) :
    http://forum.locoduino.org/index.php?topic=661.0
    ¸
    Si une âme charitable bien que confinée pouvait m’aider ?
    Avec mes vifs remerciements.
    Quidam.

    Répondre

  • Bonjour l’équipe,

    Premièrement, je tiens à vous remercier quant à la mine d’informations et la clarté des explications.

    Pour ma part, je débute en trains RC (avion, hélcio, voitres... c’est ok...).
    Bref, J’ai eu la chance d’avoir récupéré une Bachmann 4-4-0 de 2004 en échelle G. Elle est bien évidemment en DC et non DCC.

    Aujourd’hui, mon projet est de la passer en DCC avec un decoder dans la loco et de monter un controler DCC/DCC++ pour faire rouler la bête sur une boucle de 6 mètres avec 4 servos

    Je pensais prendre pour l’alimentation : une centrale DCC d’occasion et pour la loco un ESU LokSound V5 XL (decoder avec son , lumiere, fumée et servos)

    Cela fait 10 jours que mon cœur balance et il a fallut que je tombe sur votre site hier.... Bim une solution controler avec Bluetooh - le tout très accessible (€€€).

    Ma question se porte sur la partie contrôler et mon usage très limité

    Est-ce que cela peut convenir à mon besoin :
    1 Arduino UNO alimenté par le Motor shield Rev3 (soudure vin-connect désolidarisé)+ 1 module Bluetooth HC-06 connecté
    1 Arduino Motor Shield Rev 3 + adaptateur de 12V

    ou
    1 Arduino Nano (+ HC-06) et alimenté via un régulateur de tension par le LMD18200
    ... voire une MEGA...

    Merci de votre support.

    Alexis

    Répondre

  • Bonjour, si vous débutez, vous pourriez commencer par un projet raisonnable, testé et bien décrit comme il en figure un sur le forum. (où il vaut mieux poster, rubrique projets, les échanges de fichiers et photos y sont possibles)
    Parallèlement vous pourrez vous familiariser avec le DCC, qui est d’un abord plus compliqué et peut-être moins adapté au G.
    Le LMD18200 est un pont en H pour piloter un moteur. Un régulateur de tension fournit une tension continue stable et filtrée.

    Voir en ligne : LGB sur le forum

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 15 décembre 2020 20:28, par valentin92

    Bonjour,
    Je suis débutant en DCC, et j’ai réalisé la centrale avec un arduino mega (made in china), un motor shield (deek-robot). Mon décodeur est un ESU lokpilot V.4.
    Lorsque j’entre <1> sur le moniteur les 4 diodes du motor shield s’allument, et s’éteignent lorsque j’entre <0>.
    Par contre, après avoir entré <1>, quand j’entre une commande de traction la loco ne bouge pas et le moniteur renvoie toujours -1. Quelle en est la raison ?
    (il manquait un passage dans mon mail)
    Merci d’avance pour votre réponse

    Répondre

  • Bonsoir,

    connaissez vous l’adresse du décodeur que vous utilisez ? (par défaut 03)
    Pour cela, via le moniteur série pour la voie de programmation : <R 1 123 123>
    Pour un test envoyez <t 1 03 20 1> pour la voie principale (loco 03, en avant, vitesse 20).

    Voir en ligne : Liste des commandes DCC++ (au milieu)

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC (3) 16 décembre 2020 09:05, par valentin92

    Bonjour et merci pour votre réponse rapide,
    Le décodeur est neuf et son adresse est bien 03 d’après la doc.
    Lorsque j’envoie <R 1 123 123>, il me retourne <r123|123| -1> quelle que soit la voie.
    Lorsque j’envoie <t 1 03 20 1>, il me retourne <T1 20 1> quelle que soit la voie, mais rien ne bouge.
    J’ai lu quelque part dans les articles Locoduino qu’il n’y avait pas de problèmes de reconnaissance des décodeurs ESU, ce qui ne semble pas être ici le cas. Alors une question vient tout naturellement : le décodeur ne serait-il pas HS ? Quel moyen permettrait de vérifier son état ?
    Merci encore de votre aide
    Bien cordialement

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 16 décembre 2020 09:41, par bobyAndCo

    Surtout si les leds sur la carte sont allumées et que DCC++ a répondu à la suite de l’envoi de la commande <1>, cela doit fonctionner.

     

    Il ne faut pas avoir trop peur quant à savoir si le décodeur est HS. C’est le plus souvent le résultat d’une sur tension importante et ça fume (et ça sent le cramé) !

     

    Je ne sais pas s’il ne vaut pas mieux écrire <t 1 3 20 1> plutôt que <t 1 03 20 1> ?

     

    Pour la lecture, sur la voie principale, cela devrait fonctionner. Il faut aussi essayer les commandes de fonction pour les feux ou le son par exemple. Il faut aussi essayer <s> pour avoir le statut du programme.

     

    Pour la programmation et pour ce qui est des décodeurs ESU, je n’avais jamais eu de problème jusqu’à récemment. Mais sans avoir eu le temps de pousser plus en avant mes recherches, j’ai rencontré des difficultés avec les versions « micro » en particulier une version récente V5 (mais aussi V4 micro…) Tout n’est donc sans doute pas parfait dans le monde ESU !

     

    Eh bien pour vérifier, il faut sans doute mettre la locomotive sur un réseau disposant d’une station dont le fonctionnement est assuré, un ami, un revendeur ou un club. Vous êtes dans quelle région ?

    Répondre

    • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 16 décembre 2020 18:06, par valentin92

      Merci pour votre réponse.
      J’ai essayé les 2 formes d’écriture pour l’adresse du décodeur (3 et 03) : pas de changement.
      Lorsque j’envoie <s> il me retourne <X><X> : est-ce normal ?
      J’ai essayé <f 03 144> pour allumer les feux, rien ne s’allume et pas de réponse (ce dernier point étant normal).
      Un montage sur table donne les mêmes résultats sur les 2 voies.
      Je suis dans le 77, près de St Fargeau Ponthierry.
      Merci pour votre aide
      Cordialement

      Répondre

  • Bonjour

    Est-ce que DCC++ EX peut etre installe sur l’arduino Mega avec les 2 x LM18200, en lieu et place de DCC++ "standard" ?

    Merci

    Répondre

    • Bonjour

      Il me semble que la dernière version de la bibliothèque DCCpp développé sur ce site par Thierry comprend une partie de DCC++EX.
      Cela concerne entre autre les améliorations pour la compatibilité avec les décodeurs récents.

      Personnellement, j’ai adopté DCCpp, et je ne le regrette pas.
      Mais Thierry et la lecture des articles de Locoduino pourront vous renseigner plus que je ne sais le faire.

      Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 19 décembre 2020 21:07, par bobyAndCo

     

    Pas besoin de DCC++EX pour faire du WiFi avec JMRI. J’avais présenté déjà à Orléans une DCC++ base station sur Mega avec un shield équipé d’un ESP8266. C’est la station du milieu que l’on voit sur la deuxième photo de ce post : https://forum.locoduino.org/index.p...

     

    Si vous êtes intéressé, j’ai présenté en détail ce montage ici

     

    C’est exactement le montage repris par DCC++EX

     

    Mais les montages à base d’ESP8266 sont aujourd’hui dépassés. Je vous conseille l’ESP32... et donc quelque part la solution développée dans La Box.

     

    Cependant, le premier montage avec un Mega fonctionne de la même manière avec un ESP32 à la place d’un ESP8266.

     

    CQFD

    Répondre

  • Je veux dire SANS avoir a utiliser JMRI....

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 21 décembre 2020 13:40, par bobyAndCo

     

    JMRI n’est qu’une des façons de piloter une Base Station, qu’elle soit DCC++, DCCpp ou DCC++EX.

     

    Personnellement, je me suis fabriqué mon propre contrôleur sur Raspberry qui permet de piloter DCC++ avec un PC, une tablette et aussi avec un smartphone que je présente ici : https://www.locoduino.org/spip.php?...

     

    Je montre aussi dans une vidéo comment je pilote DCC++ sur un Mega en passant par un ESP32 et WITHROTTLE sur mon smartphone (donc pas de PC) : https://youtu.be/YgPwCOJ9aEg

     

    Sachez aussi que JMRI fonctionne très bien sur Raspberry.

     

    Enfin, la Box de Locoduino offre encore pus de possibilités, avec ou sans PC.

     

    Avec ou sans PC, vous n’avez que l’embarras du choix.

    Répondre

    • Oui, j’ai fait l’essai avec JMRI sur un Raspberry pour piloter une base station avec DCC++...pas de probleme
      Mais apparemment avec DCC++ EX, on peut ajouter le wifi shield, et juste piloter directement depuis un smartphone (avec Engine Driver) sans passer par un PC ou un Raspberry.....

      Répondre

  • Deux remarques :

    1. Le projet LaBox permet justement de piloter un réseau en wifi avec EngineDriver (sans PC ou Raspberry).
    2. BobyAndCo vous indique comment piloter DCC++ sur un Mega avec WiThrottle (sur smartphone, donc certainement aussi avec EngineDriver).

    What else ?

    Mais si vous évaluez DCC++ EX, postez vos essais sur le forum.

    Voir en ligne : Projet centrale "LaBox" wifi DCC++ Can

    Répondre

  • Bonjour,
    Je suis un peu perdu dans tout ce que j’ai lu. Motor schield, Can Bus schield ? AC/DC ?
    J’ai un Arduino mega et que dois-je acheté pour du 3 rails AC pour réaliser un schéma type "Avec un Arduino MEGA, voie principale et voie de programmation" ?
    Schéma en image ?
    Merci

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 décembre 2020 12:10, par bobyAndCo

     

    Tout d’abord, dans cet article, nous ne parlons pas de bus CAN. Voila qui va déja simplifier votre problème.

     

    Nous présentons ici des systèmes en DCC. Pour le 3 rails, vous pourez fonctionner en DCC à la condition que vos décodeurs acceptent ce standard. C’est le cas pour les locomotives depuis une dizaine d’années mais ne sera pas vrai pour des décodeurs plus anciens.

     

    Les décodeurs des locomotives Trix (2 rails) sont aujourd’hui identiques aux locomotives 3 rails de Marklin.

     

    Si donc vos décodeurs acceptent le standard DCC, tout ce qui est dit dans l’article au dessus est valable pour le 3 rails, vous placerez l’une des sorties DCC sur chacun des deux rails latéraux et la seconde sortie sur le rail central.

     

    Vous pouvez aussi réaliser la configuration suivante qui a été réaliser depuis la rédaction de cet article : https://www.locoduino.org/spip.php?...

     

    J’ai moi-même quelques locomotives en 3 rails que je pilote en DCC et ça fonctionne très bien.

     

    Si vos décodeurs n’acceptent pas le protocole DCC, alors ces stations DCC présentées ici ne pourront fonctionner. Ce n’est pas plus compliqué.

     

    Bien cordialement

    Répondre

  • Bonjour
    J’ai realise cette centrale avec 1 x Mega et 2 x LMD18200
    Mais j’utilise DCC++EX et non pas DCC++ "standard"
    Y a-t-il une difference entre les 2 sorties (Voie principale et Voie de programmation) au niveau du software ? Car apparemment, rien ne les differentie au niveau du cablage et hardware.....
    Faut il modifier quelque chose dans le code pour que la voie de programmation soit une "vraie" voie de programmation ?
    Merci

    Répondre

  • Bonjour,
    le code de DCC++EX n’a pas été élaboré sur ce site.
    Vous devriez demander du support aux concepteurs.
    Cordialement

    Voir en ligne : DCC++EX

    Répondre

  • Bonjour

    Oui, DCC-Ex vous devez entrer un réglage spécial. Dans le fichier config.h il faut mettre ligne 28 et suivantes ceci :

    //#define MOTOR_SHIELD_TYPE STANDARD_MOTOR_SHIELD
    
    #define MY_MOTOR_SHIELD F("MY_MOTOR_SHIELD"),\
      new MotorDriver(3, 12, UNUSED_PIN, UNUSED_PIN, A0, 2.99, 2000, UNUSED_PIN), \
      new MotorDriver(11, 13, UNUSED_PIN, UNUSED_PIN, A1, 2.99, 2000, UNUSED_PIN)
    
    #define MOTOR_SHIELD_TYPE MY_MOTOR_SHIELD

    Pour les câblages, l’entrée PWM du LMD18200 voie main est sur 3 et le DIR sur 12. Pour la voie de programmation, le PWM en 11 et le DIR en 13

    Amusez-vous bien !!!

    Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 24 janvier 2022 15:34, par Golebiarz Alfred

    Bonjour. Retraité agé. Ce fameux décodeur décrit dans Elektor et Loco revue et par Sylvain Kuzcek (pour réseau alternatif(Marklin) ou 2 rails, s’accorde-t-il avec une centrale décrit sur cette page.
    Cordialement.

    Répondre

    • Bonsoir,
      pouvez vous préciser ? Numéros, années ? Google qui d’habitude trouve des milliers de pages, reste sec sur ces mots.
      Cordialement

      Répondre

      • Ah, il ne s’agissait pas que d’un décodeur mais d’un système complet : Edits qui a eu son apogée dans les années 2000. Il utilisait le protocole Motorola.
        L’arduino est apparu en 2005 et DCC++ en 2015 (DCC++ est un mode de génération du DCC, DCC qui a vu ses premiers décodeurs dès 1990).
        Le protocole Motorola de Marklin et le protocole DCC sont différents.

        Répondre

  • Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 25 janvier 2022 13:39, par Golebiarz Alfred

    Bonjour tous. Je suis retraité et j’envoie ce mail le 25 janvier 2022. J’ai quelques machines que je voudrais éventuellement équiper en digital. Comme le fer à souder les composants ne m’est pas inconnu, c’est la raison pour laquelle j’ai posé la question de la centrale.
    Je vous remercie de la diligence avec laquelle vous avez répondu à mo mail. Je tâtonne en ce moment pour décider quoi choisir.

    Répondre

  • Bonjour
    merci pour vos articles
    je viens de terminer une dcc++ avec 2 lmd 18200 et max 471
    qui fonctionne a merveille .
    je souhaite metre driver moteur L9110S 10a.
    POUVEZ VOUS m aider pour l’integrer dans le code (pour pouvoir depasser les 3A )
    mon niveau est encore debutant pour ces adaptations.
    Merçi de me consacrer de votre temps.
    Aain

    Répondre

  • Bonjour
    Bravo pour le site
    Je voudrais savoir sur quel sortir de l’arduino on sait lire le signal carré à oscilloscope pour vérifier le signal
    Merci

    Répondre

  • Bonjour,
    c’est la broche indiquée DIR dans les tableaux en début d’article. (dépend de votre carte)
    Cordialement

    Répondre

  • Bonjour, je déjà posé cette question sur le forum
    Comment adapter les montages et les codes pour utiliser
    Arduino R4 Wifi et une communication via Wifi avec Smartphone
    Merci
    Jozef

    Répondre

  • Bonjour,
    pouvez vous préciser ce que vous attendez d’un R4 Wifi par rapport à un ESP32 qui répond à votre besoin.
    Cordialement

    Voir en ligne : LaBox, Une Centrale DCC polyvalente et abordable

    Répondre

Réagissez à « Réalisation de centrales DCC avec le logiciel libre DCC++ (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