User Tools

Site Tools


rocnet:article-fr
C'est un article de RocNet pour le journal MERG Journal prévu pour le Vol 48-4, l'Édition Noël. (En Aglais)



Automatisation de réseaux ferroviaires avec un Raspberry Pi.

Le petit ordinateur Raspberry Pi populaire et bon marché 1) propose quelques E/S intéressantes comme l'I2C et le GPIO. Parce que le bus I2C est courant et standard, l'idée de l'utiliser pour l'automatisation de réseaux ferroviaires est née en 2013.
Avec Peter Giling, qui vit aux Pays-Bas, nous avons développé une gamme de modules pour une utilisation avec des réseaux ferroviaires.
Et je suis Rob Versluis, habitant en Allemagne, le fondateur et développeur principal du projet Rocrail: http://www.rocrail.net

Historique

En septembre 2011, avant que le Raspberry Pi ne soit sorti, un membre du forum a mentionné que le Raspberry Pi pourrait servir pour un serveur Rocrail sous le réseau. Personne n'a réalisé à quel point la popularité, la puissance, et la flexibilité le Raspberry Pi serait. En mai 2013 l'expérimentation a été faite en utilisant une variété de méthodes de communication. En mai 2003 la première mention de Rocnet comme moyen de communication entre le PC et un Raspberry Pi s'est produit. En août 2013 la première version du client Rocnet du Raspberry a été créée. C'est un simple périphérique d'extension de port. Simple, robuste, et facile à implémenter, c'est une solution presque parfaite… et pas cher en plus. Viennent ensuite le servo/contrôleur LED, puis les autres modules.

Divers membres du forum ont également essayés une variété de protocoles TCP/IP comme le SRCP (1).
Bien que la SRCP soit certainement une possibilité, il manque de capacités plug-and-play car il est basé sur un socket TCP/IP (2). Rocnet, qui est basé sur la multidiffusion, est plug-and-play.

Pendant cela, diverses autres expériences ont été menées par Peter et d'autres.
Une variété de périphériques (3) ont été essayés pour diverses fonctions.
Certains ont réussi, certains moins. Un fait est devenu de plus en plus clair à la suite de ces expériences, le Raspberry Pi (et son bus I2C) est stable, robuste et est une plateforme très performante.
Le meilleur de ces prototypes a donné lieu à des modules disponibles auprès de GCA (= Giling Computer Applications).
Rétrospectivement, le Raspberry basé sur Linux s'est avéré être plus qu'un simple contrôleur pour les trains miniatures.
Couplé avec Rocrail/Rocnet il devient ce que certains appellent une Super-Controlleur.

(1) SCRP = Simple Railraod Command Protocol (Protocole de commande de réseaux ferroviaire simple)

(2) Les communications par socket TCP/IP requièrent que l'adresse IP du nœud distant soit connu avant que les communications puissent démarrer.
Pour résoudre ce problème, IP-Multicast est utilisé pour que les communications du nœud distant puissent avoir lieu sans connaissance préalable de l'adresse IP de destination.
Cela signifie également que l'adresse IP du Raspberry peut changer sans impact. (Les changements d'adresse IP sont courants lorsque le DHCP est utilisé pour attribuer des adresses IP.)

(3) I2C = IIC = Inter Integrated Circuit.
Ce matériel se base sur le protocole de communication, à l'origine créé par Philips, c'est un système de communication 2 fils entre les puces sur la même carte.
Les améliorations ultérieures et l'accélération, ensemble avec disponibilité d'émetteurs-récepteurs de bus et de tampons comme ceux utilisés dans les modules RocNet, a permis d'étendre les lignes de communication à plus de 10 mètres.

Installation

L'ensemble du système est un peu 'Plug&Play', mais il a besoin d'un réseau local Ethernet dans lequel IP-Multicast n'est pas bloqué par un pare-feu.
Une passerelle Internet n'est nécessaire que pour la mise à jour du logiciel Rocnetnode.

Petit ou Grand

Le diagramme suivant montre un petit et un grand exemple de configuration:

ORD-3 = Booster 3A
SPROG = Générateur DCC
RFID12 = Détecteur RFID comme le lecteur MERG RFID Mk2
RocNetNode = Raspberry Pi
PI01 = Carte interface RocNet GCA_PI01
PI02 = Module E/S RocNet GCA_PI02 32-Ports

Le DHCP-Switch (une petite boite utilisé pour inter-connecter des périphériques TCP/IP) est responsable de l'attribution des adresses IP aux RasPi et Rocrail.
L'exemple de grande configuration est particulièrement intéressant pour les aménagements modulaires comme le mien 'Plan-F': http://wiki.rocrail.net/doku.php?id=plan-f:plan-f-en.


Logiciel

Le projet Rocrail a développé un protocole basé sur la communication Ethernet IP-Multicast qui a été choisi pour cette solution RasPi.
Le Rocnetnode est la partie logicielle en cours d'exécution sur le RasPi et va gérer les E/S, les Servos et les manettes. Tous les modules matériel sont basés sur l'I2C et ne nécessite aucun firmware; Rocnetnode s'occupe de tout.
Le protocole Rocnet est Open Source et est documenté dans les pages du Wiki Rocrail: http://wiki.rocrail.net/doku.php?id=rocnet:rocnet-prot-fr


Matériel

Ce diagramme montre les nombreuses et flexibles possibilités de la solution Raspberry Pi en combinaison avec Rocrail et Rocnetnode:


Modules disponibles

Interface 32-E/S 16-Servo Manette Décodeur-G Alimentation Détecteur par transformateur
gca-pi01_pict03.jpg gca_pi02_pict03.jpg gca_pi03_pict01.jpg pict5613.jpg gca_pi06_pict_02.jpg gca_pi07_pict03.jpg
GCA-Pi01 GCA-Pi02 GCA-Pi03 GCA-Pi04 GCA-Pi05 GCA-Pi06 GCA-Pi07


Il y a sept modules matériel disponibles:

Pi01 Le module principal qui est directement connecté sur le connecteur GPIO du RasPi.
Pi02 Module E/S 32 port qui est compatible avec tous les modules d'interface GCA: http://wiki.rocrail.net/doku.php?id=france#materiels.
Pi03 Module 16 port PWM pour contrôler des servos. C'est un adaptateur pour le contrôleur PWM Adafruit PCA9685.
Également utilisable pour la gradation de LEDs (4095 pas)
Pi04 Une manette à main avec 28 fonctions.
Pi05 Décodeur grande échelle qui peut reporter les étiquettes RFID scannés entre les rails. (Ceci est toujours en cours.)
Pi06 Alimentation 3A et hub I2C ensemble
Pi07 Détection d'occupation sans perte qui peut gérer les courants faibles et élevés pour les locomotives à grande échelle.


Tous les modules ont des pilotes de ligne I2C pour permettre de longs câbles.
Vous pouvez choisir entre les type de connecteurs RJ45(CAT) et RJ12(LocoNet).
Je préfère personnellement le RJ12 parce que ce type est facile à assembler par soi-même avec des câbles très flexibles, et ils ne peuvent pas être accidentellement échangé avec les câbles Ethernet RJ45.


Branchement du Pi01 au Raspberry Pi

Le Pi01 se branche au connecteur GPIO du RasPi et sert également d'alimentation lorsqu'il est connecté au Pi06.
gca-pi01_pict03.jpg
La carte offre deux LEDs et un bouton. La LED verte commence à clignoter si Rocnetnode est démarré.
La LED rouge est utilisée pour l'identification est requise par Rocrail, ce qui est très utile en cas d'une installation importante.
Un appui court sur le bouton identifiera ce Rocnetnode à Rocrail et affichera l'utilitaire de configuration avec ce nœud sélectionné.
Un appui long de plusieurs secondes arrêtera ce RasPi comme indiqué par le clignotement rapide de la LED verte.

Il n'est pas nécessaire d'arrêter le RasPi parce que la configuration est sauvegardée sur la carte SD. Mais pour ceux qui auront mauvaise conscience en débranchant la prise d'alimentation d'un Raspberry Pi, l'option d'arrêt(tous) est disponible avec certaines variantes.


Pi02

gca_pi02_pict03.jpg
Le Pi02 est un module avec 32 E/S programmable pour une large gamme d'applications comme:

  • LEDs (Signaux)
  • Boutons poussoirs
  • Polarisation de cœur d'aiguillage
  • Bobines d'aiguillages
  • Servos
  • etc…
Interfaces

La liste d'interfaces compatibles pour le Pi02 est longue et est documentée ici: http://wiki.rocrail.net/doku.php?id=france#materiels.

Une petite vue d'ensemble des interfaces possibles:

  • Détection d'occupation basée sur le courant: GCA93
  • Détecteurs à effet Hall et contacts reed (Aimants): GCA173
  • Contrôleur de faisceau de voies / pont tournant / pont transbordeur: GCA145
  • Pilotes de bobine jusqu'à 10A: GCA76, GCA77
  • Carte relais pour polarisation de cœur d'aiguillage: GCA107
  • Pilotes de servos: GCA136

Les LEDs et autres composants basse consommation peuvent être connectés directement avec les résistances nécessaires.
Les boutons poussoirs peuvent être connectés directement pour être capable de créer un TCO.

Contrôleur PWM Pi03

Le Pi03 utilise le contrôleur PWM Adafruit PCA9685 comme carte d’accueil car l'empreinte de la puce est trop petite pour nos techniques.
gca_pi03_pict01.jpg
Une alternative aurait été de laisser la puce être montée directement sur une carte professionnelle mais cet investissement ne rentrerait pas dans notre budget de loisir.
Mais également la solution de carte d’accueil est tout simplement génial pour les servos et le PWM général. (Éclairage de jour et de nuit.)


Manette Pi04

Cette manette, également appelé 'Rocmouse', est indépendant de la Centrale Numérique et a l'apparence d'un FREMO Fredi.
pict5613.jpg
Les commandes sont scannées par Rocnetnode fonctionnant sur le RasPi et sont renvoyé à Rocrail.
Rocrail enverra les commandes reçues vers le Centrale Numérique configurée dans son propre protocole natif comme Xpressnet par exemple.
Il peut être branché à chaud sur n'importe quel connecteur I2C libre.

Caractéristiques

  • Bouton rotatif pour la vitesse; 50 pas qui sont recalculés pour correspondre aux pas réels de la vitesse de la locomotive.
  • Commutateur de direction avec position V=0.
  • 28 fonctions divisées par groupes de 4. le numéro de groupe est représenté sous forme de nombre binaire par les LED au-dessus des boutons.
  • Lumières.
  • LED clignotante Scan/Marche.
  • Jusqu'à 8 manettes connectées sur un RocNetNode.


Alimentation Pi06

Le Pi06 sert d'alimentation pour tous les modules et le RasPi.
gca_pi06_pict_02.jpg
C'est aussi un concentrateur pour le bus I2C.
Il a seulement quatre connecteurs mais tous les modules peuvent être chaînés en série.

Le projet a démarré en utilisant les alimentations 5V USB communes mais cette solution a été abandonné en raison de la mauvaise qualité de ces unités et elles n'ont jamais livré le 5V promis.
Le Pi06 a rendu le projet plus acceptable en évitant de nombreux adaptateurs 5V indésirables.


Détection de courant sans perte Pi07

L'idée originale vient de Richard Andrews (Texas).
gca_pi07_pict03.jpg
Peter et moi ne l’avons pas pris très au sérieux au début, mais les expériences de Richards ont abouti à un bon résultat utilisable.
Après le prototypage par Peter, nous l'avons ajouté à la gamme de matériel Pi.


Exemple de module

J'ai déjà migré deux modules. Le module 2 est vu sur l'image ci-dessus avec tout son matériel:
plan-f-mod2-rocnet.jpg

  • Logiciel de Centrale Numérique: RocNetNode + DCC232 + ORD3/4 → http://wiki.rocrail.net/doku.php?id=dcc232-fr
  • Seulement un seul transformateur 16V AC 70VA est nécessaire pour l'ensemble de la configuration du 'Plan-F'.
  • Un petit Switch Ethernet pour un petit budget de moins de 10€ qui peut être connecté en chaîne d'un module d'implantation à l'autre.


Configuration

Pour configurer les options Rocnetnode, les E/S et les Servos il y a un utilitaire très avancé dans Rocrail dans lequel chaque détail peut être visualisé et réglé.

Onglets de Configuration

Nom de l'onglet Configuration
Index Une liste des Rocnetnodes automatiquement enregistrés.
RocNet Une arborescence de tous les nœuds avec les paramètres de base.
Options Définit quel matériel est connecté; Même le SPROG peut être inclus.
Pi02 Port Setup Configuration E/S.
Pi03 Channel Setup Configuration Servo et/ou PWM.
Macro Spécialement pour le système de signaux avec plus de 4 aspects.
Update Mise à jour à la volée du logiciel Rocnetnode.

Voir pour une information détaillée: http://wiki.rocrail.net/doku.php?id=rocnet:rocnetnode-setup-fr.


Cartes et Kits

Les cartes et les kits de qualité professionnels peuvent être commandés sur le site Web de Peter Giling : http://www.phgiling.net/.
Une carte SD ou Micro-SD pré-configurée avec Raspbian et Rocnetnode installé est également disponible avec une commande.


Support

Le support de Rocrail et tout le Matériel associé est couvert par le très bon Forum avec beaucoup de bons modérateurs.
L'adresse du Forum Internet est: http://forum.rocrail.net


Le Futur

Parce que l'OS du Raspberry Pi est Open Source, le système Rocrail/Rocnet est facilement ajouté ou modifié.
Un client son est une idée en utilisant la sortie audio du RasPi.


Abréviations

Abréviation Signification Lien Internet
E/S Entrée/Sortie http://en.wikipedia.org/wiki/I/O
I2C Bus informatique série inventé par Philips. http://en.wikipedia.org/wiki/I%C2%B2C
GPIO E/S à usage général http://en.wikipedia.org/wiki/GPIO
TCP/IP Suite de protocole Internet http://en.wikipedia.org/wiki/Tcp/ip
SRCP Protocole de Commande de voie ferrée Simple http://srcpd.sourceforge.net/
GCA Applications Informatique de Giling http://www.phgiling.net/
DHCP Protocole de Configuration d'Hôte Dynamique http://en.wikipedia.org/wiki/Dhcp
Adresse IP Protocole d'adressage Internet http://en.wikipedia.org/wiki/Ip_address
IP Multicasting Envoie des datagrammes du Protocole Internet (IP) à un groupe de récepteurs intéressés http://en.wikipedia.org/wiki/IP_multicast
RasPi Nom court du "Raspberry Pi" http://www.raspberrypi.org/
PWM Modulation en Largeur d'Impulsion http://en.wikipedia.org/wiki/Pulse-width_modulation
SD-Card Secure Digital (SD) est un format de carte mémoire non volatile pour une utilisation des des périphériques portables. http://en.wikipedia.org/wiki/SD-card
CTC Tableau de Commande Optique http://en.wikipedia.org/wiki/Centralized_traffic_control
FREMO Freundeskreises Europäischer Modellbahner – FREMO e. V. http://www.fremo-net.eu/3.html?&L=6
Switch Ethernet Switch(Hub) Réseau http://en.wikipedia.org/wiki/Ethernet_switch
1)
“Raspberry Pi" est une marque déposée de la fondation Raspberry Pi.
rocnet/article-fr.txt · Last modified: 2021/12/06 14:29 by phil45