Le RFID comme technique d’identification des locomotives (et plus)

Bonjour à tous,

J’ouvre ce fil concernant un thème que j’ai lancé récemment au travers de plusieurs autres fils, mais qui mérite d’être traité à part.

Je rappelle brièvement que l’objectif recherché qui est de pouvoir identifier une locomotive quand elle se trouve sur un endroit précis du réseau. Il ne s’agit pas seulement de détecter la présence de la locomotive ou du train mais de connaitre son adresse pour être en mesure de lui envoyer des commandes spécifiques par exemple. Il s’agit de réaliser ce que permet Railcom en DCC.

En MFX, il n’existe pas de technique similaire à Railcom qui communique sa position sur le réseau à une fréquence de l’ordre de 450 à 500 micro secondes. Au travers des différents forum spécifiques au 3 rails, la seule technique qui semble créer un certain consensus est le RFID.

C’est la technique du badge que l’on place sur les portiers d’immeubles ou encore les puces que les vétérinaires implantent dans le coup des animaux pour permettre leur identification en cas de perte.

Pour faire simple, on a tout d’abord une étiquette (tag) placée sur le train, elle contient un microprocesseur et une antenne. Cette étiquette stocke un identifiant unique.

Un lecteur RFID situé sous une portion de voie, il émet des ondes radio pour activer l’étiquette RFID lorsqu’un train passe. Le lecteur capte la réponse de l’étiquette contenant l’identifiant.

Associé à un microcontrôleur (Arduino…) il est alors possible par une table d’adresse d’associer l’adresse de la locomotive avec l’identifiant du tag. Le microcontrôleur peut alors réaliser un certain nombre d’actions comme envoyer des commandes de traction (vitesse, sen) ou d’activation de fonctions à la locomotive.

Le RFID est également utilisé par Rocrail et probablement les autres comme technique d’identification

Ce fil peut permettre à ceux qui sont intéressés d’en discuter ou d’en apprendre plus.

Pour lancer les choses, je répondrai ici @Julaye qui avançait qu’il était sans doute difficile de placer un lecteur avec de la voie C. Des images valant mieux qu’un long discours, je propose de visionner cette vidéo.

Il est évident que pour de la voie K, les choses seraient encore plus faciles.

Merci par avances de vos réactions et contributions

Christophe

3 « J'aime »

Hello

J’ai regardé ta vidéo par curiosité (*)

Étant totalement ignare en électronique je me permets juste de suggérer un peu plus d’explications dans la vidéo
Par exemple on voit sur l’écran des barres de volume horizontales monter et descendre mais uniquement quand la loco passe sur le contact … si oui ou s’affiche son nom ou son adresse ?
Ou la loco est détectée quelque soit sa position sur le réseau ?

Bref j’ai rien compris :joy:désolé
Et ce n’est pas par mauvaise foi !!

Francis

Ps : les sigles ont généralement une signification R = F= … ?

( * ) je préfère les solutions toutes faites pour le peu qu’elles soient fiables et je n’ai jamais trop vu l’intérêt du Mfx

Oui, il est vrai que si l’on ne connait pas du tout l’Arduino, on ne peut pas soupçonner que ce qui est affiché à l’écran est un moniteur série et que s’affiche ici des informations de debbug. C’est à dire des messages renvoyés par l’application. Ici, on affiche l’adresse se la locomotive quand elle passe sur le capteur.

RFID signifie Radio Frequency Identification. C’est une technologie qui utilise des ondes radio pour identifier et suivre des objets équipés d’étiquettes (ou tags) RFID à distance. Chaque étiquette contient un identifiant unique, qui est lu par un lecteur RFID lorsqu’elle passe à proximité. Cela permet de suivre des objets sans contact visuel direct ni besoin de scanner manuellement.

Dans le modélisme ferroviaire, RFID permet d’identifier automatiquement les trains lorsqu’ils passent sur certaines sections de la voie.

Voili voilou !

Merci merci :pray:

Si je comprends bien cela permet de savoir automatiquement que la machine adresse x vient de passer sur le capteur y

Avec un logiciel type iTrain Rocrail ou TC on declare sur quel capteur ( canton ) est la machine x au début et ensuite le logiciel la suit à la trace puisque c’est le logiciel qui donne les instructions ( en full auto ou en itinéraires décidés par l’utilisateur mais gérés par le logiciel )

Cet exemple ( pour les besoins de la discussion ) illustre ce que j’appelle les déviances de l’informatique : on veut en faire toujours plus et finalement trop au détriment du coût , de la fiabilité et de l’écologie .

Ceci dit je comprends que ce soit gratifiant de construire soi même

Fin de la parenthèse :wink: et merci pour les explications

Le Do It Yourself c’est plus écologique, en tout cas bien plus qu’acheter des produits au Fabricant avec du marketing, de l’emballage, des salons, la moitié des fonctions dont on a pas besoin, des invendus, … et surtout de l’obsolescence programmée :slight_smile:

PS: je suis consciente d’ouvrir la boite de pandore, au besoin je déplacerais ma remarque dans le bistrot du coin :wink:

1 « J'aime »

En fait je me pose deux questions, et je n’ai pas la réponse avec ta vidéo :slight_smile:

1 - la taille de l’antenne (tu es en 13.56 Mhz ?) pour loger dans le ballast plastique et obtenir quand même la distance qui va bien avec la locomotive, à priori entre ballast et tag sur la loco, on est pas loin de 2 cm. On peut aussi mettre une grande antenne sous le ballast mais cela ajoute une épaisseur (pas trop grave).

2 - les interférences avec la voie, surtout si l’antenne est proche du rail des picots ? le signal n’est pas perturbé sur le rail ? ce que j’en comprends c’est que ton antenne RFID a suffisamment de puissance pour alimenter et lire le tag mais justement, quid du signal MFx ou DCC, perturbé ou pas sur ce tronçon ?

Voilà mes interrogations.

PS: un tag c’est pas un microcontroleur dedans (après c’est du NFC avec un microcontroleur mais c’est plutot pour faire des applis de transport ou de paiement), c’est juste une ROM (id à envoyer), une baseband et une sorte de transfo (le primaire c’est l’antenne du lecteur, l’espace plein d’air c’est l’isolant et le secondaire c’est l’antenne du tag), avec un registre qui vient shunter au rythme de la porteuse et des bits à 0 et à 1 dans la ROM - rétromodulation.

Bonsoir
je me demandais si en équipant mes motrices et wagons de RFID si quand je sortirais une boite de l’armoire si le bon contenu arrivait dans cette boite et qu’il me sufirait de ranger dans l’armoire

ou mieux si je pense à quelque chose que je veux remettre dans l’armoire mon voeu serait exaucer
Bonne soirée
André

1 « J'aime »

Bonsoir @Julaye , merci pour l’intérêt que tu portes au sujet.

Oui, il s’agit bien d’un tag I2C à 13,56 MHz qui mesure 35 x 20 mm ce qui fait qu’il est assez à l’aise sous la voie.

Attention à ne pas se tromper avec un autre modèle en SPI qui lui ressemble

Nous avons testé de nombreux tags pour retenir celui-ci qui présentait les meilleures performances par rapport à sa taille. Les étiquettes aussi nos intéressaient qui se collent bien sous des locomotives HO.

Écoute, je n’ai eu à faire aucun effort. Je pensais que j’aillais devoir le coller sur le fond du rail, je m’attendais comme toi à devoir rechercher la meilleure position etc… Que nenni ! Je l’ai posé au sol, mis le rail dessus et lancé la loco et ça a marché du premier coup ! J’ai alors lancé la locomotive au max de sa vitesse, ce que l’on voit vers la fin de la vidéo et même après plusieurs passages, j’avais toujours une très bonne détection. Donc voilà.

Sur mon réseau j’en ai utilisé dans des conditions pas très bonnes, recouverts de « vrai » ballast et ça fonctionne. Je n’utilise plus car j’utilise Railcom maintenant.

Le choix de l’ESP32 y est pour quelque chose. J’ai programmé le process de lecture comme tâche freeRTOS qui tourne seule sur l’un des cœurs et qui s’exécute dans la mémoire flash : void IRAM_ATTR Rfid::process(void *p) et réalise une lecture en moyenne toute les millisecondes. Mais je suis à peu près certain qu’il n’y a pas besoin de tout cela.

Il faudrait tester sur un réseau plus conséquent soumis à des interférences. Mais les résultats seraient moindres mais pas nuls.

Ah au fait, pour l’écologie, j’utilise des blocs de batteries 18650 de récupération comme on en voit un sur la vidéo, que je charge avec des panneaux solaires !!! Comme je l’ai déjà dit, « Qui veut noyer son chien l’accuse de la rage ». Il fera meilleur demain.

Bien à toi

Christophe

2 « J'aime »

Bonjour,

Ce sujet m’intéresse diablement car je cogite depuis un moment sur une solution d’identification de tout le matériel roulant (pas que les engins moteurs mais aussi les wagons) permettant de suivre les convois, détecter les dérives et assurer le cantonnement sans aucune coupure au niveau des rails.

J’ai deux techno en tête, l’une en RFID comme tu le proposes, l’autre à base de barcode 1D ou 2D.

Je suis ce post avec grand intérêt :+1:

Amicalement

Bernard

1 « J'aime »

Bonjour Bernard,

Je me réjouis que tu t’intéresses à ce sujet.

La technique du RFID a en effet cet avantage, c’est qu’elle permet autant l’identification des locomotives que des wagons comme tu le soulignes.

Les lecteurs ne sont pas trop chers (3 à 4 €) mais surtout les étiquettes à 30 ou 40 centimes d’€ ce qui permet d’équiper bon nombre de wagons.

J’ai un ami (avec qui j’ai rédigé l’article de Locoduino sur ce sujet) qui est adepte de trains américains. Ils ont une technique de jeu particulière qui consiste à prendre des wagon à un endroit, en déposer d’autres à un autre endroit etc, etc… C’est un balai incessant d’échange de wagons (ils en ont plusieurs centaines !) qui est géré par une base de données et tous les wagons sont équipés d’étiquettes RFID.

J’avais testé le barre code il y a bien longtemps mais je rencontrais deux problèmes majeurs.
1° - l’impression des étiquettes ne m’apportais pas la qualité nécessaire, sauf à créer l’étiquette en format image (PNG) puis l’imprimer ensuite.
2° - Le rayon du lecteur que l’on prenait dans les yeux. Il aurait fallu détecter l’approche des trains pour commander la mise en fonction du lecteur puis l’arrêter une fois la lecture faite. Trop compliqué.

Je ne dis pas que la lecture de QR code ne serait pas intéressante, je l’ai testée au début de l’année mais les lecteurs restent chers et encombrants.

Pour ce qui est de la gestion de parcs importants de wagons avec une identification géolocalisée comme ici, j’ai aussi développé à partir de l’ESP32 des connexions en SQL sur des bases de données. C’est assez amusant ! Restait à faire un synoptique où la position des wagons apparaitrait en temps réel.

Pour rappel, voici le lien sur l’article de Locoduino LOCODUINO - Annonces en gare avec la RFID

Je me ferais un plaisir de répondre à tes questions sur le sujet et de t’aider dans cette démarche si tu l’entreprends.

Christophe

2 « J'aime »

Bernard,

Regarde ici, c’est mon ami dont je t’ai parlé, ils ont fait une vidéo et l’on voit bien que tous les wagons sont équipés d’étiquettes.

Tu verras aussi leur système qui envoie les infos dans une feuille excel, je trouve ça marrant !

1 « J'aime »

Urban loop

Voir ici, à la 9ième minute. Les petits trains auraient-ils devancé les grands avec les codes barre ? :grin:

La technique d’identification par QR code a été évoquée à un moment et je trouvais intéressant de partager cet article de Geoff Bunza, un Géo Trouvetou dans le domaine du modélisme ferroviaire.

Mais comme vous le verrez, l’équipement reste assez encombrant et, de l’aveu même de Geoff, la détection est délicate. La vitesse doit être assez faible et quelques détections sont défaillante.

Christophe

Bonjour Christoph,
Ce que tu as commencé, je l’ai également commencé. Il n’est pas encore terminé, mais je suis déjà plus avancé, car je l’ai également commencé plus tôt.
S’il te plaît, lis les premiers articles, tu y trouveras tout ce qui est important. Si tu es toujours intéressé, nous pouvons travailler ensemble.
Ici :
https://www.stummiforum.de/t173168f5-RE-Meldegleis-zur-Identifikation-ohne-Verdrahtung-und-Schienentrennung.html

Le navigateur peut tout traduire, c’est ce que j’utilise aussi ici :sunglasses:

Salutations cordiales de Hambourg
Joachim

Traduit avec DeepL.com (version gratuite)

Bonjour Joachim,

Merci pour ce message et les informations que tu apportes sur le sujet. J’ai regardé les messages sur le lien que tu as donné. Mais je n’ai pas pris le temps de tout lire et relire ce qui est nécessaire quand les différentes informations sont disséminées un peu partout dans différents messages.

Je n’ai donc pas une idée claire de ce que tu propose exactement. Je crois bien comprendre que la détection par RFID est l’élément central de ton système et je crois également avoir compris que tu proposes un feedback en Bluetooth, est-ce bien cela ?

Mais les informations d’identification de locomotives ou de wagon sont ensuite exploité comment, par qui ? Est pour être utilisé par des logiciels de gestion de réseau, Rocrail, iTrain ? Par des centrales Marklin, CS2, CS3 ?

Plus globalement, je voudrais comprendre ce qu’apporte apport de ton système en plus de ce qui existe.

Je ne dis pas que ce n’est pas intéressant, loin de là, mais les logiciels de gestion de réseau n’ont pas besoin de cette identification. Elle n’est nécessaire que lorsque l’on souhaite créer sa propre application de commande de trains comme ici où l’on parle de la gestion totale d’une gare cachée. Et donc de la prise de contrôle des locomotives.

J’accepte volontiers ta proposition de travail en commun car j’ai toujours pensé que dans ce domaine, on est plus intelligent à plusieurs que seul. J’ai par ailleurs une bonne connaissance de ces questions et ce sont des techniques que j’ai déjà mise en pratique et qui fonctionnent.

https://www.locoduino.org/spip.php?article248

J’ai aussi développé la reconnaissance Railcom en DCC

https://www.locoduino.org/spip.php?article334

Je n’abandonne pas l’idée de pouvoir lire les UID des locomotives en MFX comme on le fait avec Railcom en DCC.

Merci de préciser de façon très sommaire la technologie mise en œuvre et comment et par qui sont exploitées les informations d’identification. Quelques photos et schémas seraient également les bien venus.

Au plaisir de te lire

Christophe

Bonjour Christoph,

Le tout premier message est long, parce que je l’ai toujours mis à jour et il inclut la spécification.
En gros, il y a un circuit imprimé, y compris un lecteur RFID pour NFC ISO 15693, la détection d’occupation de bloc de type Märklin à 4 canaux et l’envoi de messages à un abonné Bluetooth BLE. L’abonné est un PI Raspberry avec beaucoup de logiciels, qui recherche automatiquement les lecteurs et s’abonne.
Les événements et le statut sur les 4 canaux sont transformés en messages d’occupation de bloc au logiciel de contrôle de train PC. Les messages sont envoyés via IP, en utilisant la fonction de pont Märklin UDP de CS2 et CS3. Le logiciel RocRail reçoit directement les messages équivalents.

MQTT et NMRA sont des options ultérieures.
Lisez la longue spécification avec 3 cafés ou tasses à thé…

Il y a 2 autres threads.
Le premier est le développement, la vision technique.
https://www.stummiforum.de/t189683f5-Bau-und-Entwicklungs-Thread-Drahtlose-Identifikation.html

Le second est centralisé pour mon logiciel Raspberry et un matériel supplémentaire pour l’état d’occupation si nécessaire.
https://www.stummiforum.de/t202871f5-Software-zu-Meldegleis-zur-Identifikation-Besetztmeldung.html

Fondamentalement, je vais générer des occupations à partir d’événements RFID. Ces canaux Märklin sont un addon pour rendre le système moins cher et flexible.

Je détecte les voitures perdues, si elles transportent des RFID. Ensuite, générez un signal d’arrêt.

C’est à peu près l’idée.

Salutations de Hamburg,
Joachim Kröger

Addendum : Je souhaiterais que RocRail et Märklin, tous deux, acceptent les identifications externes des trains, au moins des motrices et des locomotives, afin de pouvoir traiter par exemple les locomotives changées. Ou de permettre un suivi sur cette base.
Or, ce n’est pas le cas. RocRail permet, avec les RFID, au moins une gestion des stocks. Mais pas plus.
Nous pourrions par exemple réaliser une gare de marchandises avec une fonction de tri, de sorte que les wagons descendent à travers le champ d’aiguillage pour composer de nouveaux trains.
Ce n’est pas possible avec RocRail et Märklin. Mais peut-être à l’avenir, lorsqu’il sera possible de voir quel potentiel l’identification fournit.
Je vous salue cordialement,
Joachim

Traduit avec DeepL.com (version gratuite)

@JoachimKroeger

Bonjour Joachim,

L’exemple que tu donnes d’une gare de triage me semble un très bon exemple de ce que peut apporter la reconnaissance par RFID appliquée au modélisme ferroviaire.

On peut effectivement imaginer un automate qui commanderait des aiguilles pour orienter des wagons sur la bonne voie en vue de constituer des convois en fonction de l’identité du wagon. La composition des trains ayant été au préalable saisies, soit dans une base de données (SQL etc…), soit sous forme de tableau dans le programme (plus simple mais moins pratique).

Mais comme tu le soulignes, ni Rocrail, ni les centrales Marklin ne gèrent ce genre de choses. Ils sont fait pour piloter des trains sur des itinéraires.

Par contre, un automate sur Arduino, ESP32 ou encore Raspberry PI Pico est facile à réaliser et permettre d’obtenir le résultat attendu. C’est un peu l’exemple de la vidéo que j’ai postée plus haut.

On peut aussi imaginer cela également dans une gare voyageurs où les trains régionaux seraient orientés vers certains quais alors que les train nationaux ou internationaux seraient orientés sur d’autres quais. Et où bien sûr l’état occupé ou non de la voie est pris en compte de telle manière qu’un train ne puisse être engagé sur une voie déjà occupée.

Enfin, c’est aussi l’exemple de la gare cachée dont le sujet est à l’origine de ces posts.

Tout ceci est assez simple à réaliser avec l’identification en RFID en effet.

Est-ce que tu attends de moi quelque chose de particulier qui puisse t’aider ?

Christophe

Bonjour Christoph,
Pour l’instant, je n’ai pas de demande particulière de ta part. Peut-être seulement que tu lises la spécification pour voir si, de ton point de vue, il manque un aspect ou une fonction que tu considères comme importante.
Je réfléchis à l’ajout d’une fonction graphique qui représenterait les événements sur les rails.
Il y a plusieurs chemins pour arriver à Rome, ou en d’autres termes, pour que ce soit plus ergonomique, on pourrait transformer le fichier XML de RocRail pour la mise en page en un graphique qui représente les mouvements et les objets. Donc des trains avec leurs remorques. Transformer les symboles de taille normalisée, qui se touchent avec la souris ou le stylet (écran tactile), en représentation d’image de RocRail, si on veut être précis. Les idées sont les bienvenues. Le Raspberry que j’appelle concentrateur est un Raspberry 4. Il a 2 ports d’écran et il peut tout à fait créer des graphiques fluides grâce à sa puissance.

Christoph, ce qui m’intéresse pour le moment, c’est le feedback, les idées, les critiques et les souhaits ! Pour cela, il serait bien sûr important que tu lises les spécifications existantes, ce premier article plus important, et que nous allions ensuite plus loin.
J’aimerais produire le module NFC RFID et le concentrateur en aussi grand nombre que possible. Pour cela, tout doit être bien pensé. Tu es français et je ne parle malheureusement pas français. À l’école, je n’ai appris que le latin et bien sûr l’anglais. Je le parle couramment.
Nous pourrions faire une session vidéo Microsoft Teams, ou même un appel vidéo avec WhatsApp, afin d’accélérer le processus d’apprentissage mutuel. Nous comprendrions alors ce que l’autre a réalisé et où il veut aller.
Est-ce que tu parles anglais ?
Si ce n’est pas le cas, nous pouvons toujours essayer d’utiliser la traduction linguistique en ligne par ordinateur. Je n’ai pas d’expérience en la matière, mais j’ai lu que cela fonctionnait.
Tu peux faire des suggestions.
Nous échangerons volontiers nos coordonnées par messages personnels.
Cordialement, Joachim

Traduit avec DeepL.com (version gratuite)

Bonjour Joachim,

J’ai bien lu les documents que tu as mis à disposition. Pas toujours très simples à comprendre et quelques images et schémas pourraient aider à la compréhension. Mais bon, je crois avoir bien compris l’essentiel.

C’est un système complexe (Bluetooth, Raspberry…) qui rebutera de nombreux modélistes.

Par ailleurs, tu dis bien que cela n’apporte aucun bénéfice si l’on utilise une CS2 / CS3 (cas pour la majorité des modélistes) ni même pour Rocrail (ou autres). En effet, l’un et l’autre savent gérer de façon satisfaisante des itinéraires et des circulations sans identification.

Cela n’a donc d’intérêt que si l’on développe une application propre de gestion de réseau ou de gestion partielle comme une gare cachée ou une gare de triage. Et là, il ne reste plus grand monde qui sache le faire ou soit adepte.

Enfin, mais cela est très personnel, je ne suis pas favorable à l’utilisation de liaisons sans fil (WiFi ou Bluetooth) sur des réseaux de modélisme ferroviaire hormis quand cela est marginal, quelques équipements dont je fixerai arbitrairement le nombre à cinq.

Dans tous les cas, je ne baserais pas un système complet sur ces technologies sans fil surtout quand celui-ci touche à la sécurité.

Dans le domaine du modélisme, je suis un inconditionnel des bus CAN ou encore de l’Ethernet. Ce que justement Marklin a adopté et elles ont largement prouvées leur efficacité dans des environnement perturbés comme les réseaux de trains.

Voilà pour les quelques réflexions puisque tu me demandais ce que j’en pensais.

Bien cordialement

Christophe

1 « J'aime »