Détection et cantonnement pour train de jardin
Avant de créer le réseau dans le jardin, il convient de préparer la manière de détecter correctement les trains et de gérer le cantonnement. Voici la méthode que je pense retenir.
Détection des trains
Pour pouvoir automatiser plus tard la gestion des trains, il faut pouvoir les détecter comme il faut sur le réseau. Et étant donné que je n’utiliserais pas le DCC car je vais gérer les trains par batterie et arduino (voir ici), je vais retenir 2 méthodes :
- une détection d’occupation, à base d’ILS
- une détection d’identification, à base de capteur RFID 125kHz
Détection ILS
L’ILS ou interrupteur à lame souple réagit au passage d’un aimant. Il ferme le contact à ces bornes. Ces deux bornes seront reliés à un Arduino et qui sera chargé de traiter l’information.
L’aimant, quant à lui, sera disposé sous la locomotive ou le premier wagon pour déclencher l’ILS à son passage.
Détecteur RFID
Étant donné qu’on ne va pas détecter les trains via DCC, il faut trouver une autre méthode d’identification des trains. Et le seul moyen que je pense fiable est d’utiliser une détection RFID. La taille des trains de jardin permet aisément de cacher le jeton RFID dans la locomotive.
Je pense partir sur un module ID-12LA (voir cet article sur locoduino) qui donne une distance théorique max de 12cm. Je ferais les tests pour vérifier si cela est possible et réalisable. Le module sera sur le côté de la voie et un tag RFID sera dans la locomotive (type capsule ou badge rond, à tester). Le cas échéant, les modules ID-20LA promettent 20cm si cela ne suffisait pas.
Ainsi, lors du passage du train, et suivant son sens, le système saura détecter le train qui passe et enregistrer sa position et son canton.
Les tests faits sur Locoduino laisse entendre que des détecteurs trop proches peuvent être problématiques. Des tests seront alors à réaliser pour trouver le meilleur moyen de fonctionnement. Une des pistes est d’alimenter le module RFID au passage sur l’ILS et de l’éteindre ensuite, pour éviter toute perturbations. Des tests seront faits.
Cantonnement
Dans le monde réel, comme dans le monde miniature, le cantonnement sert à protéger des tronçons de voie pour garantir qu’un train puisse circuler librement et prévenir le reste du réseau que ce morceau est occupé et inaccessible. Je ne détaillerais pas ici le principe complet du cantonnement, ces articles ci dessous sont très bien documentés :
Étant donné la taille du réseau (raisonnable), je n’utiliserais que 2 notions de feux : rouge et vert. Le orange n’a peu d’intérêt ici de par les plans du réseau. Cependant, il est possible que les feux construits soient à 3 LED au cas où …
Reprenons néanmoins la manière dont je compte implémenter mes cantons.
Si l’on considère une voie unique simple sens dont le train irait de gauche à droite, je compte utiliser comme suit :
- une zone de pleine voie en début de canton
- une zone d’arrêt en fin de canton d’1m50 environ
Les 2 zones seront associées à un ILS au sol qui détectera une présence de train. Le détecteur RFID sera lui sur le côté légèrement après pour détecter le train qui passe. Il sera temporairement activé après que l’ILS ait été fermé par le train pour le détecter et se recouper ensuite (voir article locoduino).
Mais comme le réseau sera essentiellement double voie, cela complexifie un peu le schéma du canton. Nous sommes obligés de tenir compte de ce double sens et de rajouter des capteurs.
- (1) quand le train vient de gauche à droite, un ILS détecte son entrée dans le canton. Le feu du canton N-1 passe au rouge.
- (3) quand le train vient de gauche à droite, un ILS détecte son entrée dans la zone d’arrêt. Si le canton suivant (N+1) est occupé, le train s’arrêtera.
- (5) quand le train vient de gauche à droite, un lecteur RFID positionné juste après l’ILS détectera le train qui rentre dans le canton.
- (4) quand le train vient de droite à gauche, un ILS détecte son entrée dans le canton. Le feu du canton N+1 passe au rouge.
- (2) quand le train vient de droite à gauche, un ILS détecte son entrée dans la zone d’arrêt. Si le canton suivant (N-1) est occupé, le train s’arrêtera.
- (6) quand le train vient de droite à gauche, un lecteur RFID positionné juste après l’ILS détectera le train qui rentre dans le canton.
Arduino
Pour gérer tous ces modules (ILS, RFID, feux), il faudra alors 2 arduinos par canton. Je pense les repartir comme suit :
Il y aura un arduino d’entrée (probablement un nodemcu) pour gérer l’ILS 1 et 2, le lecteur RFID 5 et le feu bicolore. Un deuxième arduino gérera alors les ILS 3 et 4, le lecteur RFID 6 et le feu.
Tous ces éléments communiqueront en MQTT au reste du réseau pour partager les informations.
Conclusion
On voit ici l’importance de préparer en amont ces éléments pour le réseau. Il faudra des fils pour les ILS, l’alim des arduino, etc … et tout ceci sera à planquer dans le décor.
On voit aussi qu’une fois ces éléments en place, cela va permettre de pouvoir créer des trajets en automatique et de gérer un vrai block système.
Prochaines étapes : faire un test unitaire deux bloc arduino : 4 ILS, 2 RFID et 2 feu bicolore pour valider le fonctionnement d’un canton complet. Un vrai test sur 4 cantons sera idéal pour valider le fonctionnement, même si je doute pouvoir le faire avant la construction du réseau.