Création d'un signal DCC avec un PC


Généralités

Il est possible de concevoir à partir d'un PC et pour un prix modique, un système permettant de générer un signal DCC et de piloter un réseau en gérant la rétrosignalisation.

Deux approches sont décrites dans cette rubrique:

- la génération d'un signal DCC directement sur l'interface parallèle du PC. Cette solution est la moins chère et fonctionne bien. Malheureusement, l'interface parallèle tend à disparaître sur les PC récents (en particulier les portables) et cette approche a donc peu d'avenir

- l'autre approche consiste à utiliser un petit module connecté sur un port USB du PC et qui génère le signal DCC. Une solution basée sur le module SPROG II est décrite dans la rubrique consacrée à ce module. Pour y accéder, cliquez ici.

On peut éviter ainsi l'achat d'une onéreuse station de commande. Comme le système DCC est normalisé, il suffit d'acheter les décodeurs de locomotive chez n'importe quel fabricant et c'est le PC qui génère le signal DCC et controle le réseau.

On peut trouver une présentation complète en Français de la norme DCC sur le site du MOROP (NEM 670 et NEM 671)

Le système réalisé est constitué d'un logiciel écrit en Visual Basic et d'une interface matérielle (booster) entre le connecteur parallèle du PC et les rails pour la première approche ou d'un booster entre le module SPROG II et les rails pour la seconde approche .On peut utiliser un ampli audio comme booster.

Pour la rétrosignalisation, on peut utiliser les entrées numériques disponibles sur l'interface parallèle du PC ou bien un module du commerce qui dispose d'entrées numériques et/ou analogiques et qui se connecte en USB au PC.

Création d'un signal DCC sur l'interface parallèle d'un PC avec Visual Basic

Le programme que j'ai écrit, appelé "TCM", permet de générer les paquets nécessaires à la commande simultanée de plusieurs décodeurs de locomotives et pour chaque loco effectue les opérations suivantes:
- réglage de la vitesse et du sens de marche des motrices
- mise en route et arrêt des accessoires de la loco (phares, fumigène, sons), fonctions F0 à F4

Le progamme TCM permet également de programmer l'adresse du décodeur. (habituellement, l'adresse programmée en usine pour un décodeur de locomotive est l'adresse 3).

Les premiers tests ont été réalisés avec 2 décodeurs: un décodeur LENZ "Digital Plus" ref LE 1025A et un décodeur ZIMO ref MX64

Puis une série de tests a été effectuée avec les décodeurs suivants:
- un décodeur DCX80 3A destiné aux grandes échelles (O ou G) de la société CT Elektronik
- un décodeur sonore GE70 DI qui permet de sonoriser une loco diesel (société CT Elektronik)
- plusieurs décodeurs sonores Loksound V3.5 de la société ESU
- plusieurs décodeurs sonores Loksound XL de la société ESU
- un décodeur Quantum destiné aux grandes échelles (O ou G) de la société QSI
- un décodeur sonore MX640 de la société ZIMO
- un décodeur non sonorisé LGB

Tous les décodeurs fonctionnent parfaitement à l'exception du décodeur MX640 de ZIMO qui présente un fonctionnement erratique non expliqué.

Il faut noter que le système marche d'autant mieux que le processeur du PC est rapide.

Le tableau ci-dessous donne les résultats obtenus avec trois PC de différentes générations.

Processeur

Système d'exploitation

Résultats

Intel Pentium 233 MHz
Windows 98
Fonctionnement correct, peu de paquets perdus
Intel Celeron 633 MHz
Windows 98
Fonctionnement correct, peu de paquets perdus
Intel Celeron 633 MHz
Windows 2000
Fonctionnement correct, peu de paquets perdus
AMD Athlon xp2500 (2 GHz)
Windows 2000, XP
Fonctionnement impeccable
Sempron 2800+ 1,6 GHz
Windows XP
Fonctionnement impeccable


L'un des grands avantages du DCC est la possibilté de sonoriser les locomotives et j'ai maintenant installé des décodeurs sonores dans la plupart de mes locomotives.

Les résultats obtenus sont très bons.

Les haut-parleurs plaçés sous le réseau sont utilisés en complément pour les annonces en gare et pour actionner le klaxon de la loco diesel lorsqu'elle passe devant un détecteur.

J'ai également réalisé un programme appelé CATDCC (Commande Automatique de Trains en DCC) qui permet d'automatiser la commande d'un réseau en DCC. Actuellement le programme permet de faire circuler ensemble trois trains sur le réseau.

Choix du logiciel: Freebasic et Visual Basic.

Il n'est pas possible d'utiliser QBasic pour générer un signal DCC car le logiciel est trop lent et de plus QBasic ne marche qu'avec les anciennes versions de Windows (95 et 98).

Mais il existe maintenant un compilateur rapide pour QBasic appelé FreeBasic qui est gratuit, rapide et compatible avec toutes les versions de Windows (95, 98, 2000 et XP).
Le compilateur est vraiment très rapide. Il va plus vite que celui de Visual Basic et j'ai pu ainsi générer un signal DCC correct avec mon vieux PC à 233 MHz et Windows 98. En mode automatique où les itinéraires sont préprogrammés, celà marche très bien. Cependant, j'ai de grosses difficultés avec la commande par clavier: parfois les commandes ne sont pas prises en compte ou sont prises en compte avec retard. Je n'ai pas pu résoudre le problème. Par contre, la commande par la souris marche très bien.
Il est donc difficilement envisageable d'utiliser Freebasic pour faire un TCO.
Si vous voulez utiliser FreeBasic, je vous conseille une version avec éditeur qui permet d'éditer le programme dans une fenêtre Windows puis de le compiler avec FreeBasic.
Vous pouvez utiliser FBIde qui est gratuit et que vous pouvez télécharger en cliquant ici.

La meilleure solution est d'utiliser Visual Basic qui est très puissant et largement répandu.
Depuis la version 2005 de Visual Studio, Microsoft propose les Express Editions, des versions limitées mais gratuites de leurs produits, destinées essentiellement aux étudiants et qui suffisent largement à nos applications ferroviaires. La firme de Redmond ne déroge pas à la règle avec la version 2008 de la suite et propose ainsi un Visual Basic Express Edition 2008.

Page suivante