Commande par trajets programmés du RAIL-LAND



Le but de cette électronique est de réaliser le pilotage et la commande des 2 trains pouvant circuler sur la maquette.

Le pilotage permet de stopper un train, de bloquer un canton, de figer la maquette.
En automatique la commande de la maquette actionne les aiguillages, gère les accélérations et les ralentissements des trains, ainsi que les arrêts programmés en gare.

Pour réaliser tout cela :
- Un micro-controleur PIC16F84 comme cœur du système
- Un clavier 16 touches comme interface de pilotage
- 8 voyants pour indiquer l'état de la maquette
- De l'électronique pour commander les aiguillages et les sens et vitesses des cantons
- Du temps pour assembler le tout



Description des différents modules électroniques


Voir le schéma de la carte UC
Unité centrale :
Il s'agit de la carte principale comportant 32 sorties et 24 entrées logiques, gérées par un micro-contrôleur PIC16F84.
C'est cette carte qui pilote toute la maquette.

Voir le schéma de la carte des cantons
Alimentation des cantons :
Le réseau est découpé en 4 cantons (voir partie maquette).
Chaque canton est commandé indépendamment en sens et vitesses ce qui permet le fonctionnement simultané des 2 trains.
Les cantons sont alimentés en modulation de largeur d'impulsion.
C'est à dire que, en une fréquence constante, le pulse d'alimentation dure plus ou moins longtemps selon la vitesse désirée.
Ces alimentations sont générées par la carte UC en passant par une carte à relais et transistors de puissance.
Détecteurs de présence des trains :
La détection de présence des locomotives se fait aux extrémités des cantons par des montages à transistors. Mis à part des coupures dans la voie, il n'y a aucun ajout de capteur (forcément plus difficiles à dissimuler à cette échelle)
Voir le schéma de la carte de commande des aiguillages
Commande des aiguillages :
Les aiguillages sont commandés par des impulsions électriques en 12 volts continu. La largeur de l'impulsion est gérée par la carte UC via des transistors de puissance.
Pupitre de commande :
Les différentes commandes permettant de piloter la maquette sont saisies sur un petit clavier de 16 touches.
L'état des cantons et les positions des trains sont donnés par une série de voyants lumineux (8 LEDs)


Présentation du programme du micro-contrôleur

Objectifs du programme :
- Faire circuler les 2 trains selon les trajets définis.
- Gérer les alimentations en vitesses variables des différents cantons.
- Commander les aiguillages.
- Donner un état de la maquette (position des trains, état des cantons,...) par voyants lumineux.
- Lire et traiter les commandes tapées au clavier.

Le programme se décompose en 2 parties principales :
Le corps du programme
La routine d'interruption
Routine d'initialisation : Permet de mettre la maquette dans un état de démarrage (maquette figée et aucun train)

"GestionClavier" Gestion des commandes saisies au clavier
Mode "manuel"
Tous les cantons sont commandés ensemble
* = Passer en mode automatique
0 = Arrêt en douceur
7 = Vitesse lente
8 = Vitesse normale
9 = Vitesse rapide
C = Augmenter la vitesse
D = Diminuer la vitesse
# = Arêt brusque et changement de sens
1 = Aiguillage A1 à droite
4 = Aiguillage A1 à gauche
2 = Aiguillage A2 à droite
5 = Aiguillage A2 à gauche
3 = Aiguillage A3 à droite
6 = Aiguillage A3 à gauche
A = Aiguillage A4 à droite
B = Aiguillage A4 à gauche

Mode "automatique"
AB = Bloquer la maquette
AD = Débloquer la maquette
BBn = Bloquer le train n
BDn = Débloquer le train n
BAn = Annuler (supprimer) le train n
BCncs = Créer le train n sur le canton c dans le sens s
CBc(n) = Bloquer le canton c (pour le train n)
CDc(n) = Débloquer le canton c (pour le train n)
* = Annuler la saisie en cours
# = Valider la commande saisie

"SetVoyants" Allumage des voyants d 'état de la maquette :
2 lignes de 4 voyants (2 trains, 4 cantons)
3 états possibles : =Eteint =Allumé =Clignotant
Le voyant d'un canton et d'un train allumé = Train utilisant ce canton
Le voyant d'un canton et d'un train clignotant = Train bloqué sur ce canton
Les voyants des trains d'un canton clignotants = Canton bloqué

Voici un exemple :

Cantons : 1 2 3 4
Train 1:
Train 2:
Train 1 sur canton 2 et 4
Train 2 stoppé sur canton 1
Canton 3 bloqué pour les 2 trains


"Trajets" Gestion des trajets.
Cette routine décode les trajets programmés en EEPROM
Le codage des trajets se fait en utilisant les instructions suiantes :
"Canton" : Donne la vitesse du train, son accélération, son sens et le numéro du canton destination
"Detecteur" : Attente de la présence d'un détecteur
"Aiguillage" : Commande un aiguillage donné
"Saut" : Saute à un pas de programme de trajet donné
"Branchement aléatoire" : Saut relatif à une valeur aléatoire
"Temporisation" : Enclenche une temporisation pour un train. Le prochain pas de programme trajet ne sera traité qu'à la fin de cette temporisation

Le train passe d'un canton à un autre après contrôle de non occupation du canton de destination.
... A suivre ...