La commande par micro-contrôleur 2

On dit que c’est à la fin de la construction de son logement ou de son bateau (pour prendre un thème qui m’est cher) que l’on sait comment il aurait fallu le construire. Fort de cet adage, je poursuis  mes investigations sur la commande d’un réseau test par micro-contrôleur avant de me lancer dans un projet de plus grande ampleur.

Petit rappel

Les premières étapes de découverte du micro-contrôleur Arduino m’ont conduit a acquérir et tester différents modules. Un des composants importants étant une barrette de relais. Il est apparu qu’il était encombrant, gourmand en énergie et difficile à dépanner en cas de défaut d’un des relais par exemple. Cette barrette nécessitait une alimentation 5 V séparée, car la carte ne pouvait la commander en direct de quoi se faire du souci pour un projet de plus grande ampleur.

Tout sur les premiers pas

Un levier pour le micro-contrôleur

source: arduino103.blogspot.com

Entre-temps, les travaux du Rail Club La Côte et internet m’ont fait découvrir le composant ULN 2803A.

Ce module est équipé de 8 Darlington permettant de faire circuler 500 mA du côté puissance, soit bien assez pour les relais et signaux en 12V dans le domaine du modélisme. 

– Chaque circuit de puissance est équipé d’une diode dite en roue libre.

– Une résistance interne de 2.7 kohms en entrée limite le courant du circuit de commande à moins de 2 mA.

Les relais choisis se contentent de 17mA sur le circuit de puissance (12V). Au niveau traction et en exploitation, il ne devrait y en avoir que 5 qui consomment en même temps dans le projet futur.

Il était temps de passer à une fabrication maison!

Conrad propose une carte avec la possibilité d’insertion d’un connecteur D-SUB 25 pôles aux extrémités. Voilà qui limite le câblage dans le pupitre, d’autant plus que le travail avec un micro-contrôleur limite la logique câblée. A l’avenir, j’imagine une de ces cartes par connecteur arrivant au pupitre, avec, à l’autre extrémité, les câbles partant vers le micro-contrôleur. Les relais et IC sont montés sur socles pour une maintenance plus aisée. Ce choix permet également un contrôle de toutes les liaisons avant de monter les composants.

Un pupitre rudimentaire

Le kit de démarrage arduino contient un affichage LCD de 2 lignes de 16 caractères. Pourquoi ne pas en faire la base d’un pupitre rudimentaire permettant de se passer du PC? Avec cet affichage, les fonctions des 4 boutons du montage initial deviennent dynamiques et sont adaptées à la phase de roulement. L’affichage de base comporte sur la première ligne les états de blocks aux extrémités (réservé sortant à gauche, libre à droite dans le cas présent), l’itinéraire, le sens de marche de la gare, la vitesse et le mode d’exploitation (manoeuvre, exploitation, automatique, distant). Sur la deuxième ligne, sont affichées les fonctions des boutons. A vitesse nulle en dehors des modes « automatique » et « contrôle distant », les deux boutons de droite deviennent « I » (itinéraire) et « M » (mode) puis s’adaptent en fonction des requêtes du micro-contrôleur, avec par exemple, le choix de la voie lors de la création d’un itinéraire.

Petit bémol: l’affichage LCD et les 4 boutons mobilisent 10 canaux du micro-contrôleur!

Un montage plus compact

Les nouveaux composants sont intégrés au dispositif de gestion du réseau test. Le micro-contrôleur UNO est remplacé par un modèle MEGA (au centre). Le tout est nettement plus compact, même si le montage de l’affichage LCD n’est pas du tout « optimisé »(à gauche)!… Mais cette configuration a le désavantage craint lors des premiers tests: la concentration du câblage aux abords du micro-contrôleur. Une solution devra encore être trouvée avec des choix stratégiques concernant l’utilisation des composants MCP23017 et leur communication en bus qui permet de limiter le câblage. S’il sera probablement utilisé pour les extensions qui dépendront de l’environnement de la gare (blocks selon les normes de clubs par exemple), son utilisation en interne devra être évaluée si le câblage en est simplifié.