Merci Thierry, c'est essentiel de rappeler ce principe
1) Pourquoi faire une centrale DCC ?
Vous l'avez remarqué, tous les modélistes qui veulent piloter plusieurs trains sur un réseau, petit ou grand, ont besoin d'une alimentation pour les locos connectée aux rails. Bien-sûr il y a le courant continu ou le PWM qui n'est pas exclu de ce projet (le projet de Jean-Luc "un Arduino par canton"
https://forum.locoduino.org/index.php?topic=36.0 est la quintescence de ce qui peut se faire de mieux). Mais, il semble que la grande majorité des modélistes ferroviaires soit passée au DCC ou va y passer. Ce projet pourra faire une transition douce
, il me semble.
Depuis le début, Locoduino décrit le DCC (
https://www.locoduino.org/spip.php?article14) et nous avons la chance d'avoir déniché (grâce à Denis) le logiciel DCC++ de Gregg E. Berman qui a été ensuite transformé en bibliothèque DCCpp par Thierry (
https://www.locoduino.org/spip.php?article228). Cette bibliothèque, à l'origine, a été écrite pour les processeurs ATMega 328 et 2560.
En cherchant rapidement on peut trouver des quantités de réalisations de centrales DCC sur Locoduino. Alors pourquoi encore une ?
La réponse est dans la suite !
2) Pourquoi l'ESP32 ?
Depuis l'arrivée des processeurs ESP32, très puissants, double coeur et doté d'un grosse mémoire (
https://en.wikipedia.org/wiki/ESP32), avec wifi, bluetooth, I2C, SPI, CAN, etc.. tout intégré, on peut penser réaliser quelque chose qui parait simple (à première vue) et bon marché et qui reste "ouvert" pour les besoins de chacun (probablement avec du développement personnel).
Mais ne nous y trompons pas, comme insiste Thierry, on ne peut surement pas tout faire d'un coup, soyons raisonnable et nous avons écouté tout le monde, puis choisi une première destination qui doit être faisable. Les ingrédients définis dans cette étape sont là (
https://forum.locoduino.org/index.php?topic=922.msg9956#msg9956).
Il faut bien être conscient que plusieurs fonctions doivent coexister dans ce processeur doublé coeur et doté d'un OS dit "temps réel" (freeRtos), donc les développements doivent satisfaire quelques principes nécessaires. Nous allons installer un certain nombre de fonctions (peut-être pas toutes à la fois) et il serait sympa qu'une ouverture aux développeurs (vous) soient possibles.
3) Pourquoi le Wifi ?
Tous le monde a au moins un smartphone et un tour dans les clubs nous montre que les centrales les plus populaires peuvent supporter des applications sur smartphone en intégrant un serveur Wifi. J'ai eu l'occasion de realiser ce concept avec un ESP8266 qui est un des parents de l'ESP32.
Par ailleurs, la plupart des logiciels de gestion de réseau et de matériel ferroviaire (JMRI, RocRail pour n'en citer que deux) savent communiquer par Wifi avec les centrales, y compris celles intégrant DCC++. Donc le Wifi servira à cela.
Comme JMRI en particulier permet d'utiliser des applications gratuites Withrottle (IOS) et Engine Driver (Android), piloter directement notre centrale avec ces applications est une évidence !
Ce qui n'empêche pas d'installer JMRI plus tard, une évolution intéressante pour nous modelistes, qui permet de profiter de toutes les fonctions des applications smartphone
Et rien n'empêche de développer d'autres applications smartphone pour cette centrale !
4) Avec quelle puissance électrique ?
Tous les lecteurs de Locoduino connaissent les LMD18200 et aussi les L298. Le premier est cher et le second un peu limité.
Là nous avons choisi le L6203 de ST Microelectronics car il permet de monter à 4 A pour un prix raisonnable, ce qui est largement suffisant pour la plupart des réseaux, sachant qu'il est possible de faire des booster complémentaires en cas de besoin.
5) Pourquoi un circuit imprimé ?
Tout le monde sait bien que c'est plus simple de monter des composants sur un circuit imprimé. Personnellement j'ai monté tellement de prototypes câblés sur des plaques à pastilles que j'en ai marre maintenant !
Et les fabricants de pcb (en Chine) nous proposent 10 cartes 10 x 10 cm pour 5 $. Avec le port cela fait 15 €, soit 1,5 € par carte : on ne prend pas beaucoup de risques. Mais il faut attendre
J'ajoute au passage que toutes les fonctionnalités décrites ici n'occupent que peu de composants, donc allons-y !
Par contre le premier circuit qui est en cours de livraison doit être considéré comme un prototype qui servira d'expérience pour les suivants.
6) Pour quelles interfaces humaines (pilotes, conducteurs, postes de conduite...) ?
Nous avons parlé des smartphones : chacun sa manette pour un pilotage manuel.
Idem avec les logiciels de gestion de conduite de trains : sur écran de PC ou tablette, mais la complexité se déporte dans ces logiciels.
Mettre des boutons et des curseurs : pourquoi pas.
Ajouter un afficheur : oui, au moins pour visualiser ce qui se passe et permettre la détection d'erreurs. Là le sujet est vaste !
Je n'entre pas dans le sujet de la configuration et des mises à jour logicielle, vous vous doutez que ce sera très important.
7) Quelle rétrosignalisation ?
C'est là que le bus Can intervient !
L'ESP32 intègre un contrôleur Can intégré et je l'ai testé : ça marche. Chacun comprend, à la lecture de ce Forum, que le Can est résistant, fiable et facile à mettre en oeuvre.
Par ailleurs, nous avons maintenant une expérience non négligeable avec les satellites. Je les ai testé en communication avec l'ESP32 : j'ai confiance. Je pense qu'on va reparler des satellites V2 car cela semble bien compris par de nombreux habitués de Locoduino et ce n'est pas pour rien que Jean-Luc s'est décarcassé pour eux
D'ailleurs je suis en train de connecter une paires de détecteurs RFID RC522 de chaque coté de ma gare principale pour identifier les trains à coup sûr avec un Nano et les interfaces Can et RFID : c'est presque un satellite V2 !
Personnellement tout est connecté sur un bus Can sur mon réseau et il y a un vraie possibilité d'évolutions, d'ajout de fonctions.
Mais une interface universelle pour les développeurs serait la bienvenue (merci Denis de le pointer).
Yes we Can
Au final, quoi faire avec cette centrale ?
Tout n'a pas été écrit ci-dessus et la créativité de chacun peut s'exprimer.
Je pense et j'espère que la mémoire de l'ESP32 pourra supporter quelques fonctions en plus du Wifi, du DCC, du Can et permettre le développement de petits automates internes comme mon va-et-vient ou d'autres animations.
L'accès au bus Can, donc à toutes sortes de capteurs et actionneurs va permettre de réaliser de très belles choses que vous serez fiers de présenter dans les salons.
Voilà,
J'espère avoir donné un meilleur éclairage à ce projet
Et j'ai surement omis des tas de choses (à vos questions ....)
Amicalement
Dominique