compteur de visiteur widget compteur de visite  
Centrale DCC V3.4
MODIFICATION MATÉRIELLE pour la CENTRALE DCC V3.4 TCO






INTRODUCTION
Le rajout d'un TCO sur la centrale DCC V3 nécessite l'utilisation d'un bus S88 pour remonter les informations d'état d'occupation des cantons ou autres du réseau.

Il est nécessaire de prendre en compte les informations présentes sur le bus S88 et les envoyer vers le PC pour qu'ils soient traitées.

De même certaines fonctions, comme la lecture des Cv des décodeurs de locomotives ont été modifiées pour être affichées sur un écran LCD 4 * 20 avec interface I2C.

Pour cela il est nécessaire de modifier l'électronique de la centrale DCC V3.

Les MODIFICATIONS
La mise à jour nécessite l'utilisation des composants suivants :
  • Un bus S88 externe à la centrale,
  • Un Arduino UNO ou MÉGA pour la lecture du bus S88 et la transmission au PC ainsi que l'affichage du résultat des lecture des Cv des décodeurs de locomotives,
  • Un écran LCD 4 * 20 avec interface I2C.

modification schema centrale CC V3-4
Modification matérielle de la centrale DCC V3.4 avec MAX 471

modification schema centrale CC V3-4
Modification matérielle de la centrale DCC V3.4 avec LM358
L'ajout d'un TCO (Tableau de Contrôle Optique), nécessite une légère modification concernant la centrale DCC V3.

Cette modification consiste à connecter à l'Arduino de la centrale, la deuxième carte Arduino nécessaire au fonctionnement du TCO :
 • L'alimentation de l'Arduino de la centrale DCC V3 se fait à partir du deuxième Arduino,
 • La connexion au port USB de la centrale DCC V3 n'est plus nécessaire sauf pour charger le programme DCCpp.

FONCTIONNEMENT de la MODIFICATION
Détection d'un évènement
Pour permettre la remontée d'informations vers le TCO le réseau doit être équipé de détecteurs ou capteurs pour détecter les changements qui se produisent sur le réseau.

La détection d'un évènement peut se faire en utilisant différentes méthodes :
   • Détecteurs de consommation de courant,
   • Détecteur infrarouge,
   • Contact ILS,
   • ...

Les capteurs sont reliés au bus S88 constitué de circuits 74LS165 (registre à décalage) qui transmettent une information 0v ou 5v (0 ou 1 en binaire).

La rétrosignalisation
La rétrosignalisation ou plus communément appelée Bus S88 permet la remontée d'informations de manière unidirectionnel du réseau vers le PC.

Ces informations concernent :
• L'état d'occupation d'un canton,
• La position d'un signal,
• La position d'une aiguille,
• ...

Les informations présentent sur les entrées du bus S88 sont ensuite récupérées et envoyées vers le PC.

bus s88
Bus S88

Principe de la rétrosignalisation S88
Pour pouvoir visualiser sous forme graphique les informations transmises sous forme binaire par les capteurs ou détecteurs, il faut relier ces derniers à l'électronique de la centrale qui ensuite les fait remonter au PC pour traitement.

La centrale DCC V3.4 est capable de gérer un bus S88 de 256 entrées.
On voit ici que le nombre de fil à relier à la centrale devient vite incompatible avec les possibilités de nos Arduinos ou tout simplement des microcontrôleurs en général.

Chaque capteur ou détecteur envoie ses informations en temps réel et de manière simultanée. On peut dire que les informations sont transmises en parallèle.

Pour résoudre le problème, la solution consiste à transformer la transmission parallèle des capteurs ou détecteurs en une transmission série vers la centrale ou PC.
La transmission série permet de transférer les informations les unes à la suite des autres. Cette manière de procéder réduit à un seul fil de données la connexion à l'Arduino au lieu de 256 au maximum.

Pour réaliser cette transformation de parallèle vers série on utilise des modules de rétrosignalisation constitués de 8 ou 16 entrées.

Ces modules sont chaînables entre-eux pour augmenter le nombre d'entrées.

L'avantage de procéder de cette façon est d'augmenter le nombre d'entrées S88 au fur et à mesure de l'équipement de son réseau tout en gardant une transmission vers la centrale ou le PC à un seul fil de données.

L'achat de ces modules de rétrosignalisation peut vite représenter une somme importante au vu des prix pratiqués.
C'est pourquoi j'utilise une solution maison très simple et peu couteuse.

Cette solution consiste en l'utilisation de registre à décalage (74LS165) qui permettent de transformer les données parallèles en données série. Ces circuits sont très simples à utiliser, chaînables entre-eux pour augmenter le nombre d'entrées, et peu cher.

Les registres à décalages sont reliés à un second Arduino UNO ou MÉGA qui reçoit les données, les traitent et les transmet ensuite au PC.

Le PC reçoit la transmission la décode et transforme les informations binaires en une représentation graphique sur l'écran du PC.

connexion de trois 74ls165 en cascade
Bus S88 relié à l'Arduino

L'AFFICHEUR LCD
Un afficheur LCD avec interface I2C a été rajouté pour afficher le résultat d'une lecture adresse courte ou longue.
Le résultat a été déplacé de l'interface DCC vers l'afficheur LCD.

Lorsque l'utilisateur utilise les touches :
• "Lect Adr Courte",
• "Lect Adr Longue",
• "Lect Cv".

Le résultat s'affiche sur l'afficheur LCD.

lancement interface arduino
Lancement interface Arduino

resultat adresse courte
Résultat lecture adresse courte

resultat adresse longue
Résultat lecture adresse longue

Les PROGRAMMES
Téléchargement des programmes de la CENTRALE DCC V3.4 TCO :
 Contactez-moi, je vous fournirai les logiciels correspondants.
Le fonctionnement de la centrale nécessite :
• D'utiliser l'interface de la centrale DCC V3.4,
• D'implémenter le logiciel DCCpp dans l'Arduino Uno 1,
• D'installer le logiciel de gestion du Bus S88 dans l'Arduino Uno 2. Le logiciel est spécifique au type d'arduino utilisé UNO ou MÉGA.

Le fonctionnement du logiciel du Bus S88 nécessite de télécharger et d'installer les bibliothèques :
LiquidCrystal_I2C.h,
SoftwareSerial.h,
SoftwareSerial.

L'afficheur LCD fonctionne sur un bus I2C. Pour cela il est nécessaire d'identifier l'adresse de cet afficheur sur le bus I2C.
Pour cela voir :

Dans le sketch de l'Arduino l'adresse de l'afficheur LCD est réglée sur 27 (0x27, 20, 4).
Dans le cas ou l'adresse de votre afficheur est différente, il est nécessaire de l'indiquer dans le sketch à la ligne 27 :

LiquidCrystal_I2C lcd (0x27,20,4); // Adresse LCD 0x27 Pour 20 colonnes et 4 lignes