L'exploitation d'un réseau DCC avec un PC en mode automatique nécessite de diviser le réseau en un certain nombre de cantons.
Il est nécessaire d'insérer entre le booster et le réseau un module de gestion de cantons qui assure la détection d’occupation pour chaque section.
Le schéma du système d'exploitation est représenté ci-dessous.
Le signal DCC généré par le PC est appliqué au booster puis au module de gestion de cantons qui alimente séparément chaque canton.
Sur l'interface parallèle, j'utilise la partition des adresses suivantes:
- l'adresse 890 qui peut commander 4 sorties est utilisée pour la génération du signal DCC qui commande les locomotives et les accessoires DCC
- l'adresse 888 qui peut commander 8 sorties (D0 à D7) est utilisée pour la sélection du détecteur d'occupation d'un canton (D0 à D3) et pour la commande des accessoires commandés directement par le PC (aiguilles, feux, haut-parleurs, etc...) (sorties D4 à D7)
- l'adresse 889 qui commande 4 entrées est utilisée pour la réception des signaux issus des détecteurs d'occupation de voie et de passage.
J'ai commençé le développement de 2 programmes en Visual Basic TCO1 et TCO2 qui réalisent les fonctions suivantes:
- TCO1 permet d'éditer les itinéraires qui sont stockés dans un fichier
- TCO2 lit le fichier et réalise l'exploitation automatique du réseau.
Les 8 sorties disponibles pour l'adresse 888 entrainent des limitations sur le réseau. Avec la partition décrite ci-dessus qui utilise les adresses D0 à D3 pour la sélection du détecteur d'occupation d'un canton, on est limité à 16 cantons pour le réseau (en utilisant un démultiplexeur 4 vers 16).
De même, on est limité à 16 accessoires commandés directement par le PC.
Si on veut augmenter le nombre de cantons, alors il faut renoncer aux accessoires commandés directement par le PC et n'utiliser que des accesssoires commandés par le signal DCC (par l'intermédiaire de décodeurs d'accessoires). Dans ce cas, les 8 sorties du connecteur parallèle sont disponibles pour la sélection des cantons et on peut avoir jusqu'à 256 cantons sur le réseau (avec un démultiplexeur 8 vers 256).
Module de gestion de cantons
Le module de gestion des cantons est constitué par un ensemble de détecteurs d'occupation qui détectent la présence ou l'absence d'un train sur chaque canton et par un module éventuel de scrutation des cantons. Si le nombre des cantons est inférieur ou égal à 4, on peut transmettre directement au PC les signaux issus des détecteurs d'occupation.
Deux schémas de détecteurs d'occupation que j'ai réalisés sont donnés sur la page suivante.
Edition des itinéraires: programme TCO1
L'édition des itinéraires se fait canton par canton.
On commence par choisir le canton dans lequel se trouve la première loco qui doit démarrer et on édite les paramètres pour ce canton.
Puis on passe au canton suivant dans lequel peut se trouver par exemple la deuxième loco qui va démarrer et on édite les paramètres.
Puis on passe au troisième canton qui va être le deuxième canton pour la loco 1, puis on éditera le quatrième canton qui sera le deuxième canton pour la loco 2 et ainsi de suite. Il ne peut y avoir qu'une loco par canton.
Les commandes à éditer pour chaque canton sont les suivantes:
- adresse du canton
- adresse de la loco dans le canton
- sens de marche (avant ou arrière)
- vitesse au début du canton
- vitesse à la fin du canton
- mise en marche ou coupure de la fonction F0
- mise en marche ou coupure de la fonction F1
- mise en marche ou coupure de la fonction F2
- commande de l'accessoire commandé par le PC associé au canton (aiguille)
- commande de l'accessoire commandé en DCC associé au canton (feu ou aiguille)
Lors de l'exploitation, la règle utilisée pour passer d'un canton à un autre est la suivante:
- si une loco à l'arrêt est présente dans le canton (détecteur = 1), le programme envoie les ordres à effectuer pour cette loco et les accessoires reliés à ce canton, puis passe au canton suivant
- si une loco en marche est déjà présente dans le canton et si cette loco doit traverser le canton sans s'arrêter, alors on réduit la vitesse d'un ou deux crans
- si la loco n'est pas encore arrivée dans le canton (détecteur = 0), le programme boucle sur le canton précédent en attendant l'arrivée de la loco. Lorsque la loco arrive, le programme envoie les commandes associées au canton et passe au canton suivant.
La règle de base est que la longueur du canton et la vitesse de la loco doivent être ajustés pour que lorsque le programme passe au canton suivant pour la même loco(après avoir envoyé les commandes pour le canton en cours), la loco ne soit pas encore arrivée dans le canton suivant.
Le réglage de la vitesse peut se faire en mesurant le temps de passage dans un canton (on utilise la fonction "timer" de Visual Basic).
On mesure le temps dt entre l'arrivée de la loco dans le canton et l'arrivée de la loco dans le canton suivant. Si le temps de passage est trop long (dt > seuil), alors on augmente la vitese. Si dt est trop court (dt < seuil), alors on réduit la vitesse.
Lorsque plusieurs locos circulent simultanément dans le réseau, l'édition des cantons se fait dans l'ordre suivant:
loco 1: premier canton à traverser par la loco 1
loco 2: premier canton à traverser par la loco 2
loco 1: deuxième canton à traverser par la loco 1
loco 2: deuxième canton à traverser par la loco 2, etc...
Il est recommandé de remplir un tableau Excel qui décrit les itinéraires canton par canton. Ce tableau sera utilisé pour éditer les itinéraires avec le programme TCO1.
Exemple de mise en oeuvre simplifiée.
Il n'est pas forcément nécessaire de diviser le réseau en cantons pour exploiter un petit réseau en DCC.
La vidéo ci-dessous montre trois locos équipées de décodeurs DCC qui manoeuvrent ensemble. Une 030T Rivarossi équipée d'un décodeur Loksound V3 va chercher une voiture voyageurs et va l'atteler aux voitures dèjà en gare. Puis deux locos diésel BB 63000 Lima vont venir s'atteler aux voitures en gare pour ensuite partir en double traction.
Dans cet exemple, deux détecteurs de passage et deux aiguillages suffisent pour exploiter le réseau.
Il n'y a pas de cantons. Les deux détecteurs de passage sont utilisés pour la synchronisation des manoeuvres. A partir de la réception de ces signaux, le PC commute les aiguillages et génére les séquences DCC.