Overblog
Suivre ce blog Administration + Créer mon blog

electronique

Carte de Rétro-Signalisation

Publié le par jml

Pourquoi de la Rétro-Signalisation ?

Dès que l'on veut automatiser la circulation des trains ou simplement en assurer la sécurité grace à un espacement controlé, le système doit pouvoir détecter la présence d'un convoi dans une zone. C'est ce procédé que l'on appelle "Rétro-signalisation"

Le réseau doit être découpé en zones dans lesquelles ne peut se trouver qu'un seul train. Dans le monde ferroviaire (réel aussi) ces zones sont appelées des "cantons". 

Note: Il faut bien différencier les moyens permettant l'identification d'un convoi dans une zone de ceux permettant uniquement de détecter une présence (sans savoir de quel train il s'agit).

Voici quelques méthodes permettant d'éffectuer cette détection : 
* Mécaniquement via des contacts le long de la voie
* Optiquement avec des barrièrres lumineuse
* Par radio grace à des balises RFID par exemple
* Par mesure de la consommation de courant dans la voie. C'est cette dernière méthode qui est décrite ici.
 

Shéma fonctionnel de la carte

Shéma fonctionnel de la carte

La carte electronique assure les fonctions suivantes :

* Interfacage avec le bus Loconet
* Interfacage USB
* Mesure de la consommation de courant du convoi sur le canton.
* Isolation galvanique entre la tension de voie DCC et le reste de la circuiterie.
* Mémoriser (en EEProm) les différents réglages de configuration.
* Une interface de dialogue utilisant le port USB de la carte arduino et la fenêtre de terminal du système de developpement arduino. (ou un autre terminal compatible)
Elle permet de :
    - Attribuer un numéro de canton à chaque section électrique (numéro LocoNet unique utilisé par RTTC)
    - Visualiser les messages LocoNet.
 

Avantages et inconvénients de cette carte:

* L'isolation galvanique assure une bonne immunité aux parasites qui pourraient remonter des rails vers le bus LocoNet. Elle permet aussi de pouvoir connecter n'importe quelle file de rail sans aucun lien entre eux.

* Comme pour la carte controleur Aiguillages décrite dans l'article précédent, son coût de réalisation est très faible.

* Son interface Loconet est intégrée, le câblage externe est donc très réduit.

* La détection de courant ne se déclenche qu'a partir de 6 milliampères consommés par le convoi. C'est plus élévé qu'avec d'autres systèmes. Cela peux être un inconvénient avec des essieux résistifs par exemple.

* Comme pour la carte contrôleur Aiguillage, le temps de câblage est assez conséquent. 

Implantation des éléments sur la carte contrôleur

Implantation des éléments sur la carte contrôleur

Les 2 cartes permettent la détection de 32 cantons

Les 2 cartes permettent la détection de 32 cantons

On voit ici l'eurostar et un marchandise qui occupent les cantons C29 et C24
On voit ici l'eurostar et un marchandise qui occupent les cantons C29 et C24

On voit ici l'eurostar et un marchandise qui occupent les cantons C29 et C24

Configuration RTTC pour le canton C24

Configuration RTTC pour le canton C24

Dans un prochain article je reviendrais plus en détail sur la configuration RTTC concernant la prise en compte des différentes cartes controleurs.

Schémas et Logiciel.

Pour ceux que cela intéresse, voici un .ZIP contenant tous les fichiers.

http://vulatrain.fr/images/ln_detect.zip 

 

Publié dans Electronique

Partager cet article
Repost0

Commande moteur d'aiguillage

Publié le par jml

Le principe de commande du servomoteur est simple mais nécessite quand même une electronique de pilotage. 

La position angulaire de l'axe du servo est déterminée par la largeur d'une impulsion (de 750 à 2250µs).

La rotation maximum est d'environ 180°.

J'ai conçu une carte supportant un maximum de 6 servos. Chaque carte est installée sur le réseau au plus proche des servos. 

Elle est connectée au reste du réseau par 3 fils uniquement. Alim 12V et 1 fil loconet.

Elle possède son propre régulateur de tension 5V afin de ne pas véhiculer cette tension sur l'ensemble du réseau (risque de captation de parasites)

un connecteur pour servo et 3 fils pour le relais de polarisation du coeur d'aiguille.

Un arduino nano assure la gestion de l'ensemble.

Shéma fonctionnel de la carte

Shéma fonctionnel de la carte

La carte électronique assure les fonctions suivantes :

* Interfacage Loconet

* Interfacage USB

* Commande (course limitée et progressive) des servo-moteurs

* Relais de réalimentation des coeurs d'aiguille. Le changement d'état se fait à la position médiane de l'aiguille pour éviter les court-circuit.

* Mémoriser (en EEProm) les différents réglages de configuration et la position mécanique de l'aiguillage.

* Une interface de dialogue utilisant le port USB de la carte arduino et la fenêtre de terminal du système de developpement arduino. (ou un autre terminal compatible)

Cette interface permet de :

- Définir les positions angulaires de chaque servo et leurs vitesses de déplacement.

- Attribuer un numéro d'aiguillage à chaque servo (numéro LocoNet unique utilisé par RTTC)   

- Visualiser les messages LocoNet.

- Lancer des tests d'endurance.

Implantation des éléments sur la carte contrôleur

Implantation des éléments sur la carte contrôleur

Fabrication des cartes

Puisque je n'ai besoin que de 4 cartes pour couvrir tous mes besoins, elles sont réalisées simplement sur des cartes proto.

Cette solution est acceptable sur un petit réseau. Sur un réseau plus important il faudra envisager de fabriquer des circuit-imprimés.

 

 

Les cartes contrôleur aiguillages en cours de câblage.
Les cartes contrôleur aiguillages en cours de câblage.

Les cartes contrôleur aiguillages en cours de câblage.

A combien ça revient ?

A combien ça revient ?

Le soft

Le soft

Shémas et Logiciel.

Pour ceux que cela intéresse, voici un .ZIP contenant tous les fichiers.

http://vulatrain.fr/images/ln_access.zip 

 

 

Utilisation

Connecter le cable USB, lancer le soft Arduino et ouvrir la fenêtre terminal en 115200 bauds.

A l'invite, taper 'H' pour avoir l'aide sur les fonctions. On doit obtenir ceci :

** Help ** LN_ACC V6 jml 110616 Vers 6
Chg pos Aig: A <Aig_log> <pos> 0=Droit 1=devie
Valeurs en EEP: C
Info: I
Maj Cvs: D <Aig> <DelProg> <PasDeProg>
Maj TypeObj: O <Aig> <TypeObj>
Maj Cvs: P <Aig> <ValMoy> <val_droit> <val_deviee>
Maj Aig_log: L <aig> <Aig_log>
Milieu: M <Aig> <ValMoy> 75-225
Trace Tram: N TrameLn MsgLnEtat (0 ou 1)
Mode test: T <NuTst> <param>
Raz CVs: Z 99

 

La commande 'i' permet d'afficher le paramètrage de chaque servo :

Info
CV Obj 1 TObj 2 logi 22 ValMoy 150 ValPosDt 140 ValPosDv 160 DelaiProg devie  DelaiProg 6 PasDeProg 1
CV Obj 2 TObj 2 logi 0 ValMoy 126 ValPosDt  116 ValPosDv 136 DelaiProg devie  DelaiProg 6 PasDeProg 1
CV Obj 3 TObj 2 logi 3 ValMoy 150 ValPosDt 143 ValPosDv 157 DelaiProg devie  DelaiProg 6 PasDeProg 1
CV Obj 4 TObj 2 logi 4 ValMoy 150 ValPosDt 143 ValPosDv 157 DelaiProg devie  DelaiProg 6 PasDeProg 1
CV Obj 5 TObj 2 logi 5 ValMoy 150 ValPosDt 143 ValPosDv 157 DelaiProg devie  DelaiProg 6 PasDeProg 1
CV Obj 6 TObj 2 logi 6 ValMoy 150 ValPosDt 143 ValPosDv 157 DelaiProg devie  DelaiProg 6 PasDeProg 1

 

'Obj' est le numéro physique du servo

'Logi' est le numéro logique du servo (c'est le n° loconet, il doit être unique sur le réseau)

'ValMoy', 'ValPosDt' et 'ValPosDv' détermine les valeurs angulaires pour les positions Milieu, Dévié et Droit de l'aiguille.

'DelaiProg' précise la vitesse de déplacement, plus il est élévé, plus le déplacement de l'aiguille sera lent.

 

notes:

* La valeur angulaire est exprimée en dizaine de micro-seconde (150 génère une impulsion de 1500 micro-seconde).

* Il faut commencer par définir (par tatonnement) la position milieu de l'aiguille grace à la commande 'M' puis programmer les 3 valeurs (Moy, Dt, Dv) grace à la commande 'P'. La valeur du point milieu est importante car c'est à ce point que le relais de polarisation du coeur d'aiguille est changé.

Avec le montage mécanique du servo que j'ai utilisé et des aiguillages N peco, un delta de 100 micro-secondes (voir moins) par rapport au point milieu est suffisant. exemple: si le point milieu est à 150, le droit est à 140 et le dévié à 160 (ou l'inverse si le servo est monté en sens opposé). Ces valeurs seront différentes en fonction du servo, du type de montage, du modèle d'aiguillage, etc ...

* La commande 'L' permet d'assigner un numéro logique à chaque servo. 

* La commande 'A' permet de tester l'aiguillage avec son N° logique.

 

Une petite vidéo résumant cette article.

Publié dans Electronique

Partager cet article
Repost0