Réalisation de centrales DCC avec le logiciel libre DCC++ (3)
DCC++ : Quel matériel et quelle mise en œuvre ?
. Par : bobyAndCo
Vous répondez à :
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.
81 Messages
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 25 janvier 2017 14:20, par plnew
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 25 janvier 2017 18:44, par bobyAndCo
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.
-
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é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é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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 25 janvier 2017 22:57, par msport
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.-
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é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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 28 janvier 2017 16:49, par bobyAndCo
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 28 janvier 2017 19:15, par msport
Entre autres, des bleus, ceux que j’ai utilisé :
-
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-
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
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 5 mars 2017 14:44, par BobyAndCo
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 6 mai 2017 15:58, par Pascal R
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.-
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.
-
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-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 mai 2017 17:41, par Pascal R
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.
-
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.
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 mai 2017 17:53, par BobyAndCo
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=ft3eB_Ddwnc , 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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 mai 2017 17:58, par Pascal R
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 mai 2017 18:20, par Pascal R
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 mai 2017 18:25, par Pascal R
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 mai 2017 18:27, par Pascal R
Ok merci BoByAndCo je viens de lire ta réponse au dessus de mes messages pour le n° de registre…
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) - Question alimentation 31 janvier 2018 15:25, par Jean-Claude Dest
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) - Question alimentation 31 janvier 2018 17:01, par bobyAndCo
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éalisation de centrales DCC avec le logiciel libre DCC (3) - Question sur le mode Programmation 22 février 2018 15:02, par Michel
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éalisation de centrales DCC avec le logiciel libre DCC (3) - Question sur le mode Programmation 23 février 2018 09:27, par Dominique
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 22 février 2018 15:22, par bobyAndCo
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.php?topic=151.45
Ceci est intrinsèquement lié à DCC++ et nous n’avons jamais trouvé pourquoi. Désolé.
Bien cordialement
Christophe
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 9 avril 2018 13:37, par Chataignier
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
-
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-
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 -
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 ?
-
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
-
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
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 9 avril 2018 17:22, par bobyAndCo
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-
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 liensCédric
-
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 10 janvier 08:25, par Steven
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à ?-
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
-
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-
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.
-
-
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 14 mars 13:05, par Papymoujo
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-
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.php?topic=558.0
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 14 mars 16:49, par Papymoujo
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.-
Vous pouvez nous demander les fichiers Gerber et la bom, mais sur le forum dans le sujet que vous citez.
-
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 14 juin 18:15, par BricoleurenN
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….)-
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
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 14 juin 22:58, par bobyAndCo
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?article228
Bien cordialement
Christophe
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 14 juin 23:30, par msport
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.php?topic=493.0Pour 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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 7 juillet 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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 7 juillet 11:09, par bobyAndCo
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 28 juillet 19:26, par Steve Cox
Est-il possible de connecter plusieurs LMD18200 en tant que boosters contrôlant une section de piste distincte ?
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 28 juillet 19:42, par bobyAndCo
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 28 août 16:28, par crobard
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 29 août 08:24, par Dominique
Non, le module lmd18200 a besoin de signaux de commande que vous ne trouverez pas dans les centrales du commerce
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 29 août 18:57, par msport
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.php?topic=154.0en référence à un article américain :
http://www.trainelectronics.com/DCC_Arduino/DCC_Booster/index.htm
(lire les précautions d’emploi) -
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 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.-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 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.-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 septembre 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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 27 septembre 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 ?
-
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 26 septembre 18:07, par GOURDON Christian
Merci pour votre réponse. Non ce n’est pas ça, j’y ai pensé et j’ai vérifié.
-
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 2 décembre 11:32, par Zaki
can I use "SparkFun Monster Moto Shield" instead of Arduino Motor Shield or LMD18200 module ?
Voir en ligne : SparkFun Monster Moto Shield
-
As this shield uses different pins from the Arduino one, you have at least to modify the sketch. Moreover, some pins must be free (timers) and may be used in this shield.
-
Hi…
Thanks for the answer 🙏👌
Is this module simmilar with double lmd18200 module ?
I dont know what sketch to modify, can u give me the solution ?
Many thanksBest regards
Zaki
-
-
-
Réalisation de centrales DCC avec le logiciel libre DCC++ (3) 2 décembre 17:24, par msport
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éalisation de la centrale DCC avec le logiciel libre DCC++ avec un L298N Motor Shield 10 décembre 22:12, par evb
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 11 décembre 10:33, par msport
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éalisation de centrales DCC avec le logiciel libre DCC++ (3) 11 décembre 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.