Auteur Sujet: L'Arduino et l'ECoS : une complémentarité à explorer ?  (Lu 27090 fois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3037
  • 100% Arduino et N
    • Voir le profil
L'Arduino et l'ECoS : une complémentarité à explorer ?
« le: janvier 23, 2018, 05:55:20 pm »
Bonjour à toutes et à tous,

Je ne connais pas le nombre de consoles ECoS présentes dans les réseaux des modélistes, mais j'en connais quelques unes dans les clubs :



Cette console de (très) haut de gamme permet de gérer un parc très important de locomotives et d'accessoires, donc d'enregistrer non seulement les locos du club mais aussi celles des adhérents. En général chaque membre du club a enregistré ses locos dans l'ECoS, dans une plage d'adresse qui lui est affectée et il est prié de ne pas changer les adresses !

Il arrive quelques fois que la question soit posée à Locoduino : qu'est-ce que je peux faire avec mes Arduino ?

Un très bon article "Une Passerelle entre le bus S88 et le bus CAN pour la rétro signalisation" 'http://www.locoduino.org/spip.php?article180) sur le bus S88 et le bus Can a été publié par Jean-Claude en Novembre 2016. Il permet principalement de réaliser ses propres circuits de rétrosignalisation en utilisant un réseau d'Arduino reliés en bus Can avec une interface S88 pour se raccorder à l'ECoS.

Mais l'exploitation du réseau, la gestion des trains, itinéraires, etc.. incombe tout de même à un PC (avec RRTC) dont la présence est, de ce fait indispensable, en liaison Ethernet avec l'ECoS. Le coût n'est pas minime comparé aux centrales à base d'Arduino et le logiciel DCC++ (voir "Bibliothèque DCCpp" http://www.locoduino.org/spip.php?article228.

A l'opposé, un système de gestion de réseau tout Arduino demande un effort important de développement même si d'excellents gestionnaires sont décrits dans Locoduino (exemple : "Un gestionnaire en C++ pour votre réseau" http://www.locoduino.org/spip.php?article184 ou "Gestion d’une gare cachée" http://www.locoduino.org/spip.php?article157).

Par contre, pour ceux qui sont déjà équipés d'une ECoS, il manque une solutions digne de la qualité de nos visiteurs !

ET BIEN VOICI UNE SOLUTION !

L'ECoS dispose d'un port "Sniffer" destiné à recevoir le signal DCC d'une "vielle centrale" (d'après sa documentation  ;D). Si nous réalisons une mini-centrale à base d'Arduino et de DCC++, sans avoir besoin d'un pont en H de course (un L293 pourrait suffire), toutes les commandes DCC de trains émis par la centrale Arduino sur le port Sniffer seront retransmises sur la sortie "voie principale" de la console ECoS.
Si notre Arduino reçoit des signaux de rétrosignalisation pour faire du cantonnement, par exemple, il peut donc gérer entièrement quelques trains automatiques sans nécessiter de PC connecté à l'ECoS, ni de programmation fastidieuse de l'ECoS qui ne peut probablement pas satisfaire cet exemple.

Nous avons donc le schéma suivant :



Il suffit de compléter le panneau de configuration des locos gérées par l'Arduino avec une adresse Sniffer qui est l'adresse gérée par l'Arduino (cette adresse peut-être la même sur l'Ecos et l'Arduino pour bénéficier de l'unicité).



L'ECoS sert ainsi de Booster pour l'Arduino et de gestionnaire de parc de matériels. Il reste possible de piloter d'autres locos non prises en charge par l'Arduino, ainsi que les accessoires (aiguilles, signaux, pont tournant).

Toute l'astuce consiste donc à construire un système DCC indépendant et autonome, petit et bon marché, l'ECoS assurant le trait d'union avec le reste du réseau.

Cela ouvre des perspectives pour les possesseurs d'ECoS et j'ouvre ce sujet pour avoir votre avis, vos suggestions, vos expériences ...

Merci d'avance
Dominique
Cordialement,
Dominique

jcm

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : L'Arduino et l'ECoS : une complémentarité à explorer ?
« Réponse #1 le: janvier 28, 2018, 10:04:21 pm »
Bonjour

J'ai fait une mini-centrale avec un can-bus, elle génère des trames DCC, en fonction des ordres reçus, au sniffer de l'Ecos.
Pour l'instant je commande les aiguilles et les signaux à trois feux. Du coup le TCO de l'Ecos est en phase avec mon TCO externe et prend en compte les changements de position d'aiguilles.
Comme je veux faire une gestion des feux qui tienne compte aussi de la position des aiguilles, l'arduino en question enverra l'état des feux dans le can-bus pour la mini-centrale.
De plus je pense qu'il est plus logique que tous les commandes émanent du même endroit (l'Ecos).
J'ai commencé quelques explications sur mon site: http://letraindejc.free.fr


Continuez, toutes mes réalisations ont été faites à partir de vos projets.

Jean-Claude

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3037
  • 100% Arduino et N
    • Voir le profil
Re : L'Arduino et l'ECoS : une complémentarité à explorer ?
« Réponse #2 le: janvier 28, 2018, 10:39:03 pm »
Bonjour Jean-Claude,

Merci pour ta contribution et le lien vers ta réalisation qui s'appuie sur 2 articles de Locoduino et présente le schéma de ta centrale :



Cela prouve que l'Ecos gère bien l'entrée "sniffer" pour les commandes d'accessoires et permet la réalisation d'un TCO externe.

Je vais tester bientôt l'entrée "sniffer" pour des commandes de locos.
J'ai préparé un Mega avec un carte MOTORSHIELD qui n'est pas très puissante (cela n'a pas d'importance ici), ce qui réduit le câblage (pas besoin de LMD18200 ni de Max471.

A bientôt avec les résultats.

Dominique
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3037
  • 100% Arduino et N
    • Voir le profil
Re : L'Arduino et l'ECoS : une complémentarité à explorer ?
« Réponse #3 le: janvier 30, 2018, 07:32:06 pm »
Effectivement, tu as raison, il vaut mieux que toutes les commandes émanent de l'Ecos. de toute façon il ne peut pas y avoir plusieurs centrales sur le même réseau.

De toute façon, donc, l'Ecos va garder la main sur le parc de locomotives qui sont enregistrées dans sa propre base et elle va piloter tous les accessoires compatibles DCC et reliés au bus feeder des rails.

Lorsqu'on branche une autre centrale sur l'entrée Sniffer, j'espère que cette entrée est isolée galvaniquement du reste de l'Ecos, et les commandes reçues sont retraduites en DCC de l'Ecos. Elle ne fonctionne pas comme un bête booster.

Tu as testé l'envoi de commandes d'accessoire et moi je vais tester l'envoi de commandes de locos.

La question que je me pose (j'ai bien ma réponse mais c'est à tester) est celle de la chaine de rétrosignalisation qu'il faut que j'associe à mon Arduino pour réaliser quelques trains automatiques. Il y a une règle à respecter : l'isolement galvanique complet entre l'Ecos et l'Arduino (à l'exception du port Sniffer évidemment).

Mon idée est qu'il est facile de mettre des détecteurs de consommation sur les zones alimentées par l'Ecos, car ces détecteurs ont des opto-coupleurs. Par contre, pour détecter la position de quelques aiguilles, dont les moteurs n'auraient pas de contacts de fin de course disponibles et isolés, je ne vois que la solution du décodeur DCC pour décoder les commandes d'accessoires envoyées par l'Ecos.

De toute façon ça coûte bien moins cher qu'un PC !

Dominique
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3037
  • 100% Arduino et N
    • Voir le profil
Re : L'Arduino et l'ECoS : une complémentarité à explorer ?
« Réponse #4 le: février 04, 2018, 02:24:21 pm »
J’ai testé et ça marche, youpi  ;D

J’ai monté vite fait une petite centrale avec un Mega et un shield moteur à base de L298 que j’avais. DCCpp, un potar linéaire, un encodeur rotatif et un afficheur 4 digits à 7 segments (que les chinois appellent un « tube »). L’encodeur sert à choisir l’adresse DCC et le potar à régler la vitesse.

J’ai branché la sortie voie principale sur l’entree Sniffer de l’ECoS et choisi une loco qui existait. Elle avait l’adresse 249, et son adresse sniffer était aussi 249. J’ai donc réglé l’adresse DCC de ma bidouille sur 249.

Dès que j’ai monté le potar, la loco est partie : ma petite centrale DCCpp avait le contrôle sur cette machine et le potentiomètre à moteur de l’ECoS tournait en même temps que j’actionnais le potar. Ce qui veut dire qu’on ne peut pas commander la même machine à partir des 2 centrales, sous peine d’abîmer le potentiomètre de l’ECoS.

Of course, on peut sélectionner d’autres locos avec l’ECoS et les piloter en toute indépendance.

Donc c’est gagné  :D
Je peux maintenant realiser quelques trains automatiques en connectant à l’Arduino quelques détecteurs de consommation et un décodeur DCC pour les 4 aiguilles à surveiller. Et, bien sûr, ajouter dans l’Arduino un programme de gestion des trains comme le gestionnaire de Pierre décrit ici :
http://www.locoduino.org/spip.php?article184
 
Cordialement,
Dominique

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : L'Arduino et l'ECoS : une complémentarité à explorer ?
« Réponse #5 le: janvier 18, 2023, 04:21:23 pm »
Bonjour Dominique,

un grand merci pour ce lien qui me donne grand espoir de pouvoir répondre positivement à mon ami avec l'ESU. Je pense qu'il y a plein de vieux sujets comme celui-là que certaines personnes recherchent.

Pour l'instant je ne peux faire aucun essai car je n'ai pas l'ESU chez moi, mais peux-tu déjà me dire comment je dois traiter les aiguilles ?

Faut-il passer par la commande "<T ID ADDRESS SUBADDRESS>" pour créer l'aiguille dans l'Arduino, ou puis-je simplement utiliser la commande "<T ID THROW>" (bien que je ne vois pas où je trouverais l'ID si elle n'est pas créée avant) ? 

Pour la gestion des locos je suppose que la commande "<t REGISTER CAB SPEED DIRECTION>" suffit.

Merci pour tes éclaircissements.
Amicalement
Antoine