Auteur Sujet: Carte « Cerveau du réseau »  (Lu 51576 fois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Carte « Cerveau du réseau »
« le: avril 22, 2015, 05:07:23 pm »
Bonjour à tous,

j'ouvre ce fil pour déterminer les fonctions et composants à intégrer sur une carte destinée à piloter un réseau, que ce soit en analogique ou DCC.

Dans le pilotage, j'inclus le dialogue avec les Arduino en charge de :
  • la détection de présence
  • la commande des aiguillages
  • la commande des ponts tournants
  • la commande de la signalisation
  • ...

Mais aussi l'anticollision, les itinéraires, la circulation automatique, la connaissance et la gestion des trains, ...

En DCC, cette carte servirait de centrale.
En analogique, elle piloterait également les cartes Traction.
Elle remplacerait le PC pour le pilotage du réseau.

L'Arduino ciblé pour cela est l'Arduino Due pour les raisons suivants :
  • 512ko de Flash permettant de mettre de très gros programme et quantité de constantes de configuration du réseau.
  • 96ko de RAM permettant de stocker beaucoup de données (12 fois plus que sur un Mega, 48 fois plus que sur un Uno)
  • Processeur 32 bits à 84 MHz ce qui permet d'en avoir sous le pied
  • 2 interfaces CAN natives

Le prix n'est pas un problème puisque le Due serait en exemplaire unique et on trouve des compatibles Due à 15€.

Le Due serait épaulé par un Nano pour générer des signaux précis temporellement sans être embêtés par les interruptions (comptage de temps, Interruption I2C, interruptions CAN, etc). Il s'agit de générer précisément le signal DCC en DCC et les signaux de synchro pour les cartes traction en analogique. Il effectuerait également la surveillance du booster DCC. La communication entre Due et Nano se ferait par le bus SPI.

Sur cette carte 10x10cm, le Due et le Nano viendrait s'enficher par dessous. Par dessus on aurait un emplacement pour mettre un LCD 20x4. On aurait également :
  • Deux transceivers CAN 2551 pour les deux CAN du due
  • Des prises RJ11/RJ45 pour le CAN/CAN avec synchro analogique
  • Un emplacement pour mettre une UART Bluetooth
  • Un connecteur pour branche le booster (LMD18200)
  • Un connecteur I2C pour déporter un LCD
  • Des boutons et switches pour interagir sans PC.
  • Un régulateur 9v (7809) avec radiateur pour pouvoir accepter des tensions d'alimentation plus élevées que 12v

N'hésitez pas à mettre votre grain de sel !
« Modifié: avril 22, 2015, 05:39:41 pm par Jean-Luc »
Cordialement

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Carte « Cerveau du réseau »
« Réponse #1 le: avril 22, 2015, 11:23:54 pm »
J'ai une question annexe : quand est-ce que tu t'arrêtes ? ;)

Sinon, de mon coté, je ne vois pas trop quoi mettre en plus, vu que tu as du réfléchir à tous les aspects.
Néanmoins, je ne sais pas de ce que tu as fais d'une voie série si tu en laisses une de dispo pour un ordi.
D'une part pour le debug mais aussi pour ne pas fermer entièrement le truc. Pour faire une sorte de deuxième TCO comme j'aimerais faire sur mon module.
G.

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #2 le: avril 23, 2015, 08:17:55 am »
Oui, les deux ligne séries sur les connecteurs resteront libres. Il y en a 3 autres de disponibles sur le Due
Cordialement

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Carte « Cerveau du réseau »
« Réponse #3 le: avril 23, 2015, 08:25:53 am »
D"accord ben parfait alors tout cela.

Du vrai travail de pro.
G.

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #4 le: avril 23, 2015, 09:02:01 am »
Je me réponds  :)

En creusant, je me rends compte que le Due ne dispose pas d'EEPROM intégrée. Or ça me semble nécessaire de stocker l'état du réseau à l'extinction pour éviter une très fastidieuse séance de mise marche surtout pour un grand réseau.

Il faut donc rajouter une EEPROM externe en I2C par exemple. Un peu moins de 1€ pour une 32ko
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 730
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #5 le: avril 24, 2015, 02:26:47 pm »
Puisqu'on en est à rêver (encore qu'avec Jean-Luc, les rêves deviennent vite réalités  :D), je pense qu'on devrait pouvoir commander simultanément des locos analogiques et DCC.
A "minima" : pouvoir faire une session DCC. Puis, en modifiant quelques bricoles, faire une session analogique. Mais pas en même temps.

Réfléchir aussi à une interface extensible. Je m'explique :
On crée quelque chose qui gère, mettons, 50 cantons et les aiguilles qui vont avec (ce qui est déjà énorme).
Si on a un grand réseau (Chalindrais, MiniWorld Lyon, ...), on met autant de fois le système que nécessaire.
Deux systèmes pour 100 cantons, par exemple.
Mais à ce moment, quid des cantons "communs" ?
A voir. Je pense qu'il doit y en avoir.

Bluetooth ou Wifi ?

Interface éventuelle avec les centrales DCC du commerce (par exemple XpressNet) pour ceux qui en ont déjà une et qui voudraient la garder.

A part ça, je vais commander un DUE. ça sera déjà prêt. ;D
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #6 le: avril 26, 2015, 09:35:21 am »
Bonjour,

La carte ayant la connectivité nécessaire pour l'analogique et le DCC, elle peut effectivement commander les deux systèmes simultanément. C'est une affaire de logiciel.

Toutefois je ne vois pas comment gérer le passage d'un canton géré en numérique à un canton géré en analogique. Pour moi ce sont deux technologies incompatibles quand on arrive aux rails. Mixer les deux a coûter la vie à Driving Railway  :(

Concernant l'extensibilité, un Due peut gérer allègrement plusieurs centaines de cantons. Par conséquent quel serait l'intérêt ?

Le Bluetooth est plus léger que le wifi et puis les UART Bluetooth sont plus répandues et plus éprouvées.

Concernant la connectique DCC, dites moi ce qu'il faut exactement :)

Cordialement

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #7 le: avril 26, 2015, 09:46:54 am »
Après étude du contrôleur d'interruptions du micro contrôleur qui équipe le Due, j'ai acquis la certitude que l'on peut générer des signaux DCC temporellement précis sans l'aide d'un Nano. Exit le Nano.
Cordialement

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Carte « Cerveau du réseau »
« Réponse #8 le: avril 26, 2015, 11:32:10 am »
Si réutiliser des manettes DCC "commerciales" est louable, il me semble que mettre une interface sur cette carte pour chaque manette est beaucoup. L'exemple sur le site fait qu'il y a quelques composants avec xpressnet, de plus la manette ROCO dans ce cas est alimenté par le prise rj, beaucoup de choses avec une interface logicielle à voir et tout donc pour ma part, je ne suis pas pour mettre tout sur la carte.
Simplement laisser des broches libres avec une interface sur le coté pour que chaque personne puisse brancher ce qu'elle veut.
G.

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #9 le: avril 27, 2015, 10:01:28 am »
Mettre un connecteur Xpressnet (RJ12) n'est pas un problème. Il suffit de rajouter un emplacement pour ce connecteur et un MAX485.
Ce que j'avais retenu de l'article de Nicolas sur son TCO XPressnet est qu'il faut une liaison série 9 bits. Bouni a un patch pour avoir une ligne série 9 bits sur tous les Arduino : https://github.com/Bouni/Arduino/tree/ide-1.5.x-hardware-serial-9-bit
Cordialement

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Carte « Cerveau du réseau »
« Réponse #10 le: avril 27, 2015, 11:06:06 am »
Certes ce n'est pas un problème mais pour chaque système ? Je dirais qu'il faut laisser la possibilité mais ne pas tout mettre.
Autant rester sur le système Arduino et laisser après la possibilité à chaque de faire à sa sauce. Une sorte de kit de base.

D'autant que égoistement parlant, j'aime bien voir les fils et circuits imprimés : c'est pas joli si il y a des trous ;)
G.

DDEFF

  • Hero Member
  • *****
  • Messages: 730
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #11 le: avril 27, 2015, 03:39:41 pm »
Bonjour,
Concernant les remarques de Jean-Luc :

1°) Passer d'un canton analogique à un canton DCC (et réciproquement) me paraît infaisable, effectivement.

Comme la carte centrale sait où sont les trains, on peut peut-être envisager que la carte centrale envoie l'info (DCC/analogique) au canton précédent, alors qu'il est vide ?

Il y a une grande partie de la carte canton qui est commune :
Même en DCC, il faut inverser le sens des rails (par exemple en sortie de boucle).
Il faut bien détecter la présence des trains.

Enfin, si c'est trop dur, on peut faire des sessions DCC puis des sessions analogiques distinctes. C'est déjà pas mal.

2°) Extensibilité : Excellente nouvelle ! Je ne sais pas comment c'est possible, mais c'est super. ;D

3°) OK pour le bluetooth. L'autre problème du wifi est que tout le monde s'en sert (les box en particulier) et les canaux sont saturés.

4°) Excellente nouvelle qu'il existe une bibliothèque permettant le 9 bits sur n'importe quel Arduino.

Concernant celles de Guillaume :

Je ne verrais effectivement pas l'intérêt de pouvoir utiliser une manette du commerce avec l'Arduino.
Par contre, l'accès à un bus (XpressNet, LocoNet, ...) pourrait être très utile vers une centrale du commerce.

Là où je te rejoins, c'est que je pense que c'est certainement sur une carte à part qu'il faut voir ça.
En effet, on en aura besoin que si on a déjà une centrale du commerce
Sinon, on ne va pas acheter une centrale du commerce si on gère tout par Arduino...  ;)

Donc, au niveau connectique, je verrais une RJ12 sur la carte centrale et on mettrait un module XpressNet derrière vers le bus du même nom. Ou un module LocoNet. Ou ...

Autres possibilités :

1°) Pouvoir effectuer une action sur la loco (par exemple un coup de sifflet) à un endroit précis du réseau.
Exemple :
A 0,78 cm du début du canton 48 dans le sens horaire. Sans être obligé de mettre une pédale, un ILS, ...
On peut s'en servir aussi pour allumer la lumière quand le train va rentrer dans un tunnel.

2°) Ou déclencher une action ponctuelle sur des éléments extérieurs au réseau sans truffer le réseau de détecteurs.

3°) Soyons fous :
Quand un train circule, si on connait sa vitesse, on peut déduire du temps qu'il met à libérer un canton la longueur du train (top départ : arrivée sur un nouveau canton, top fin : on libère le canton précédent). Ainsi, d'un canton à l'autre, si cette longueur diminue c'est qu'on a perdu des wagons.  :P
Je rigole : comme on a une détection par conso de courant, la sécurité est assurée sans surcharger le Due avec des bêtises...


"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Re : Carte « Cerveau du réseau »
« Réponse #12 le: avril 27, 2015, 03:58:04 pm »
Comme la carte centrale sait où sont les trains, on peut peut-être envisager que la carte centrale envoie l'info (DCC/analogique) au canton précédent, alors qu'il est vide ?

Il y a une grande partie de la carte canton qui est commune :
Même en DCC, il faut inverser le sens des rails (par exemple en sortie de boucle).
Il faut bien détecter la présence des trains.

Enfin, si c'est trop dur, on peut faire des sessions DCC puis des sessions analogiques distinctes. C'est déjà pas mal.

Malheureusement ça ne peut pas marcher. Si tu examines les schémas de la carte traction que je t'ai envoyé, tu verras qu'en DCC, la diode roue libre court-circuite le signal DCC sur une 1/2 alternance.
Il faudrait un moyen de mettre cette diode hors-circuit mais ça rajoute de la complexité sur cette carte qui n'en a pas besoin.

Pour moi, soit tu fais du numérique, soit tu fais de l'analogique. Vouloir faire les deux avec la même électronique, c'est aller dans le mur : plus coûteux, plus complexe => marche jamais.

Donc je préfère faire moins mais le faire bien.

Au pire, quelqu'un voulant faire un réseau qui fait les deux peut intercaler un relai entre les alim traction et les rails afin de les déconnecter et ajouter des détections séparées pour le DCC qui seraient également déconnectées sur la condition inverse. Ça fait un peu de matériel en plus mais seul celui qui veut fromage ET dessert le paye et se débrouille avec  :)
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 730
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #13 le: avril 28, 2015, 10:02:50 am »
Tu m'as convaincu.
Trop compliqué et cœur de cible inexistant. Donc une carte canton analogique ++ (la tienne) et une carte canton DCC plus simple. Et on choisit.

Donc, au niveau carte centrale, on n'exploitera que l'analogique ou que le DCC.
J'imagine que ton raisonnement est de dire que, comme elle est unique, elle peut être un peu plus compliquée.
D'autant que le fait de la rendre "bicéphale" se résume, au niveau électronique, à une prise booster. Le reste est commun à l'analogique et au DCC.
Mais c'est au niveau logiciel que la différence sera importante.

L'idée que j'avais eue d'une sortie vers XpressNet (p. ex) est finalement sans utilité même si, électroniquement, ça se résume à un MAX485 (essentiellement), dans un module à part.
Il faut bien insister sur le fait que ce cas n'a d'intérêt que si quelqu'un a déjà une centrale du commerce (mais ils sont nombreux). Sinon, on s'en passe.

Cas concret :
La carte centrale, analysant le réseau, décide que le train 3 doit s'arrêter.
Comme c'est la centrale DCC du commerce qui agit sur les trains, via les boosters (qu'on avait déjà ou des LMD18200), la carte centrale doit envoyer dans le bus XpressNet l'ordre correspondant à destination de la centrale DCC. Et le train 3 s'arrête.
Mais, en analysant, la centrale du commerce n'amène rien : il est bien plus simple que la carte centrale s'adresse directement aux boosters !!

A part ça, les boosters du commerce ont une prise bus XpressNet.

"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Carte « Cerveau du réseau »
« Réponse #14 le: avril 29, 2015, 09:31:48 am »
C'est l'idée oui.

Concernant XPressNet, comme cette carte est une centrale DCC, je voyais plus, comme Guillaume, la possibilité de brancher une multisouris (même si le prix de cet engin est honteux !) ou des accessoires XPressNet. C'est assez léger à mettre : une prise et un MAX485

Au niveau électronique, cette carte est simple.
Cordialement