mercredi 3 octobre 2007

Précisions sur la gestion des cantons

Voici où j'en suis de mes réflexions sur la gestion des cantons:

La gestion de canton possèdera 4 fonctions
- A - fonction alimentation: gestion de vitesse et sens de circulation
- B - fonctions de blocks et signalisation (pilotage principal du canton)
- C - fonctions de détection de train
- D - fonctions de routage (gestion d'un chemin, aiguillages, etc.)
Chacune de ces fonctions fera l'objet d'un module différencié, commandé par des PICs.
De plus, une centrale (que j'appelle MCP) permettra, en fonction du train, de donner une direction pour la fonction routage, et une vitesse max pour la fonction alimentation.

A) fonction alimentation
- la fonction alimentation sera très proche du système "Pictrain 2", avec une modulation PWM pour gérer la vitesse.
- si le train est connu (message I²C en provenance du MCP), la vitesse max (=VMax train) sera celle envoyée par le MCP. Sinon, ce sera une constante (à définir).
- la fonction de pilotage du canton permettra de gérer 8 "niveaux de vitesse" (codés sur 3 bits donc).
  • 0: Arrêt
  • 1: 13% VMax train
  • 2: 25% VMax train
  • 3: 50% VMax train
  • 4: 75% VMax train
  • 5: VMax train
  • 6: VMax du PWM quelque soit le train
  • 7: Manuel (en fonction d'un potentiomètre, ou en paliers comme Pictrain 2 ???)
- Si le canton est marqué "à double sens" (config dans l'EPROM du pilotage de canton) gestion du sens
- En cas de changement de vitesse, effectuer accélération ou décélération progressive
- Question en suspens: Que faire à l'entrée du canton (connaissance de la vitesse du canton N-1 ??? -> A priori, oui, pour éviter les changements brutaux de vitesse aux jonctions de canton)
- Prévoir une possibilité de brider la vitesse de canton (par exemple pour gérer un virage très serré en coulisse, ou pour donner un aspect plus réaliste à un canton en montée)

B) Fonctions de block
En fonction du sens de circulation, déterminer les cantons de niveau N+1 et N+2
-> si C+1 occupé
=> feu rouge en fin de canton C
=> vitesse = 0 (arrêt)
-> si C+1 libre et C+2 occupé
=> feu orange en fin de canton C
=> vitesse = 2 (25%)
-> si C+1 libre et C+2 libre
=> feu vert en fin de canton C
=> vitesse = 5 (VMax train)
-> si pilotage manuel
=> feu de la couleur voulue
=> vitesse = 7 (manuelle)

C) Fonctions de détection du train
3 types de détection peuvent être mis en oeuvre:
  • lecture de code barre = reconnaissance du train (j'en reparle plus tard)
  • détection de consommation (détecteur principal, indique la présence d'un convoi sur le canton)
  • détection ponctuelle (optocoupleur à réflexion ITR8307) pour arrêt au pied d'un signal par exemple
Envoi des infos de détection de consommation aux cantons N-1 et N-2 (et N+1 et N+2 si canton à double sens)
Envoi des infos de reconnaissance de train au MCP pour gestion de vitesse et routage, via message I²C

D) fonctions de routage
à écrire.

mercredi 29 août 2007

Documentation

Pour pouvoir reproduire la gare de Saint-Omer, et son système de voies, il me fallait "trouver" des informations.
Dans un premier temps, j'envisageais 3 sources:
  • Le Web
  • La mairie ou l'office du tourisme de Saint Omer
  • Le service historique de la SNCF
1) Le Web
Une recherche dans les moteurs du même nom m'a permis de trouver un certain nombre d'informations générales sur la gare: quelques photos, quelques informations historiques, mais point de données plus "techniques", comme le plan des installations et des voies, par exemple...

2) La ville de Saint-Omer
Après une nouvelle recherche sur le Web (je travaille à distance), je trouvais les adresses e-mail de l'office du tourisme de Saint-Omer, et de la bibliothèque municipale, qui gère un fonds ancien de documents, dans lequel, je l'espérais, figuraient les documents rêvés.
L'office du tourisme transféra ma demande à "Saint-Omer ville d'Art et d'Histoire", une association gérant les informations sur le patrimoine artistique et historique de la ville. Ce sera ma quatrième source.

3) Le centre d'archives historiques de la SNCF
J'envoyais ma demande de renseignement au centre d'archives historiques de la SNCF. J'ai reçu ce matin un e-mail m'indiquant qu'ils avaient effectivement un grand nombre de plans concernant la gare de Saint-Omer.
Pour pouvoir les consulter, et j'espère reproduire ces documents, il va falloir me déplacer au Mans, où se trouve ce centre. Le temps d'organiser un petit voyage là-bas, et je vous en reparle.

4) Saint-Omer, Ville d'Art et d'Histoire
En revenant de congés, je trouvais dans ma boîte aux lettres une enveloppe matelassée, contenant une brochure éditée à l'occasion du centenaire de la gare en 2004, ainsi qu'un CD-Rom contenant un certain nombre de photos de la gare et de plans des voies et installations. Un très bon début pour commencer cette maquette.
Je remercie beaucoup Sophie Barrère pour son courrier.

La gare de Saint-Omer

Ayant vécu quelques années dans la région Audomaroise, l'envie m'est venue de reproduire dans mon réseau la gare de Saint-Omer.
Cette superbe gare de style Néoclassique XVII° fut construite en 1904, sous la direction de l'architecte Clément Ligny. Elle fut exploitée par la Compagnie des Chemins de Fer du Nord.

Dans un premier temps, il me faut me documenter sur cette gare, et notamment sur l'état dans laquelle elle était aux débuts, alors que les machines à vapeur constituaient le parc ferroviaire.

mercredi 22 août 2007

Morphologie du réseau

Le réseau que nous allons réaliser sera installé dans notre grenier fraichement aménagé. Comme le grenier servira également de salle de jeux (pour les enfants) et de chambre d'amis (pour les... bon, ça va, vous avez compris ;)), ce sera un "petit" réseau modulaire en tour de pièce.

Voici l'état du grenier après aménagement:
Et voici la proposition d'occupation pour le train:

lundi 20 août 2007

16c57: Go !!!


Les vacances sont maintenant terminées, et mon nouveau programmateur de composants est arrivé. J'ai en effet acheté un programmateur Top2004 qui m'est arrivé d'outre-Atlantique.
Un premier test, effectué avec une version Debug de mon afficheur 3 chiffres, a permis de valider la programmation des PICs 16c57.

lundi 23 juillet 2007

Go/Nogo 16c57

En furetant sur le ouaibe ce week end, j'ai appris que le 16c57 ne se programmait pas du tout comme son remplaçant, le 16f57, dont il partage cependant les mnémoniques, la connectique, et autres caractéristiques (j'aime bien les rimes en "ique").
En effet, alors que presque tous les pics se programment grâce à une interface série (je parle ici de l'interface du pic, pas de celle reliant le programmateur à l'ordinateur), les 16c5x se programment en parallèle. Et les programmateurs de PIC les plus courant ne gèrent pas ce mode de programmation du PIC.

J'ai donc 2 solutions:
  • Trouver un programmateur de PIC en mode parallèle
  • Abandonner mes 147 16c57, et choisir un autre modèle de PIC
1) trouver un programmateur de PIC parallèle.
2 programmateurs sont recommandés par Microhip:
- le PicStart plus, que l'on trouve encore sur les sites de commerce de matériel électronique (autour de 330€!!! ouch).
- Le ProMate II, que je n'ai pas réussi à trouver.

A ceux là, on peut ajouter le PIC-02, que l'on trouve autour de 60€, et qui se programme via IC-Prog. Problème: si le PIC-02 indique bien que le 16c57 est supporté, IC-Prog ne semble pas le supporter.

2) Abandonner le 16c57
Cette solution a des avantages et inconvénients.
Au rang des "Pour", le fait que je n'aie pas investi une fortune dans les 16c57 (11€ port compris). De plus, cela me permettra de vraiment choisir le PIC qui correspondra à l'application que je veux en faire...
Au rang des "Contre", le fait que pour remplacer mes nombreux 16c57, j'aurai du mal à retrouver un prix aussi concurrenciel... quoique ;)

Je me laisse encore quelques jours pour décider...

Mise à jour du 24 juillet 2007: sur eBay, on trouve un grand nombre de programmateurs "Top2004" qui sont universels, et permettent de programmer les 16C57 (et plein d'autres milpapattes sympathiques tels ques des eproms, des µcontrôleurs Atmel, etc.). Je verrai à mon retour de vacances si j'investis...

vendredi 20 juillet 2007

Fonction des cantons

Le cantonnement permet de découper le réseau en sections, qui ont pour but d'empêcher les trains de se rattraper les uns les autres.

Les modules de pilotage de chaque canton devront assurer les fonctions suivantes:
  • Alimentation en énergie du canton, avec modulation pour faire varier la vitesse du train (alimentation de type PWM)
  • Récupération des informations des 2 cantons suivants, pour afficher la bonne signalisation (carré, avertissment, libre)
  • Fourniture aux 2 cantons précédents de l'état d'occupation du canton
  • Détection d'un train aux entrées du canton
  • Identification de ce train par lecture de code à barre
  • Routage automatique du train des N entrées vers les M sorties du canton, en positionnant correctement les aiguillages du canton (la table de routage du canton sera stockée en local sur le module de pilotage du canton, le routage des trains sera fourni par le module de contrôle principal - MCP -, la "centrale" de notre système)
  • Affichage de la signalisation locale du canton (sémaphores aux sorties)
Et tout cela, si possible, avec un unique 16C57...