dimanche 24 juillet 2016

Voilà le premier ensemble de modules


Dernièrement, je vous ai montré le module de détection ainsi que le module multiplexeur. Voici de quoi cela aura l'air sur mon réseau de test une fois installés... Comme vous pouvez le constater, le multiplexeur peut accueillir 4 modules de détection soient 8 zones indépendantes! Sur cette photo il n'y en a que la moitié (4 zones).



samedi 23 juillet 2016

Récupération des signaux de détection avec le multiplexeur


Nouvelle étape réalisée hier soir: le mutliplexeur, et second modèle sorti des ateliers PAZ-électronique... Il s'agit d'un module capable de récupérer tous les signaux provenant des détecteurs et de les encapsuler dans un message véhiculé par un CanBus. C'est l'équivalent des LocoNet et des S88 de ce monde: transporter des informations d'un module à l'autre parallèlement au signal DCC.

Ici, j'ai l'avantage de contrôler à 100% le protocole et son contenu dans des messages CanBus, en comparaison des autres protocoles dits "commerciaux". Au moins, j'ai toute la documentation nécessaire avec moi ;-)

Donc voici le module déjà fonctionnel bien qu'il soit en cours de réalisation:


Encore une fois, rien de compliqué: autour de l'Arduino, on trouve le contrôleur CanBus MCP2515 et le transmetteur MCP2551. L'oscillateur sur la droite est temporaire comme vous pouvez l'imaginer! Pour l'instant, je suis capable de faire communiquer deux modules entre eux. Il ne me reste qu'à compléter l'installation des pins d'e/s et de faire quelques tests avec les détecteurs...

A suivre...



vendredi 22 juillet 2016

jeudi 21 juillet 2016

Tout dernier prototype du détecteur de présence DCC


Voilà, c'est fait! La version 1.0 (prototype fonctionnel) du détecteur de présence est sorti, et par la même occasion cela marque le début des activités des ateliers PAZ-électronique!!! ;-)

Ce montage est identique à ceux utilisés avec l'automate dans les vidéos de mon réseau de tests. Sur ce dernier, je ne les avais pas montés sur PCB encore, mais sur de simples plaquettes de prototypage à trous...

Dommage que je sois déjà en train de travailler sur la version suivante 1.1 à cause de deux petites erreurs de design... J'ai pu les corriger rapidement sur les PCB que j'ai déjà reçus car cela ne me gêne pas de les utiliser ainsi sur mon réseau.

Quoiqu'il en soit, voici la bête: 2 zones par plaquette, alimentation 5V, témoins d'occupation. Le signal de sortie est HIGH ou LOW au sens Arduino du terme (+5V ou GND). Il peut être utilisé par n'importe quel autre montage (un Arduino, alimentation d'une LED sur un TCO, déclenchement d'un relais à l'aide d'un petit montage supplémentaire, etc...). Bien évidemment, toute modification peut être apportée en fonction des besoins...


mardi 19 juillet 2016

Encore un nouveau script...

Celui-ci est particulier puisqu'il montre à la fois le va-et-vient automatique de la SD40 mais aussi la possibilité de piloter la B23-7 manuellement. L'intérêt réside dans la protection automatique des deux locomotives. Lorsque je demande à pouvoir accéder à la voie principale, l'automate stoppe la SD40 et la met en attente. Une fois ma manoeuvre terminée,  le trafic normal est restauré. Une petite vidéo en exemple...


dimanche 17 juillet 2016

On continue avec les scripts et l'automate...


Ah... que de péripéties depuis quelques jours... Pour ne pas trop m'étendre sur le sujet, je dirais tout d'abord que j'ai probablement grillé mon LMD18200 suite, je crois, à un court-circuit sur un aiguillage mal positionné en faisant des tests... Il a fallu remplacer la pièce. Heureusement, j'avais un L298 sous la main ce qui m'a bien rendu service car je n'ai pas eu à attendre une nouvelle commande de composants.

Ensuite, pour parer à tout nouveau problème, j'ai installé un disjoncteur (Digitrax PM42) entre mon réseau de test et mon automate. Je ne comprends pas pourquoi je ne l'ai pas fait plus tôt alors que je l'avais dans mes cartons depuis quelques temps déjà. Il est pourtant clair que de manipuler des prototypes électroniques peut finir par créer des situations sensibles... ;-) Donc, si vous êtes comme moi et évoluez dans le même environnement, mieux vaut installer un disjoncteur!!!

Enfin, j'avais un problème d'instabilité dans le signal DCC, la détection des cantons, etc... La solution? Ne pas oublier de raccorder les masses entre elles! surtout lorsque plusieurs alimentations sont en jeu...

Bref, après cette longue introduction, voici les deux résultats obtenus. Un va-et-vient avec une configuration à plusieurs aiguillages:


Ensuite, un croisement et va-et-vient entre deux locos:


Voilà pour aujourd'hui. Je continue mes tests de scripts...


mardi 12 juillet 2016

Motorisation des aiguillages


Ce soir, j'ai installé les deux servo-moteurs ainsi que le module de commande incluant les deux relais d'alimentation. Après quelques soudures et plusieurs branchements entre ce module et le réseau ainsi qu'avec l'automate, je peux enfin faire les premiers tests...


La locomotive se déplace bien sur les aiguillages et ceux-ci se positionnent  lorsque j'indique la direction voulue depuis le clavier de l'automate.

Demain, j'espère pouvoir écrire un petit script qui inclura les aiguillages...

lundi 11 juillet 2016

Modification de l'automate et du réseau de test


Les choses avancent... Je planifie de travailler sur mon automate afin de créer un script de croisement de plusieurs trains. Pour cela, j'ai modifié mon mini-réseau de test pour ajouter deux embranchements. Je vais ainsi pouvoir tester la logique des aiguillages.

Certes, il ne s'agit pas d'une zone de dépassement. Mais le principe est le même: il est possible de gérer plusieurs trains et actionner les aiguillages en fonction des directions de chacun.

Ensuite, il me faut un module de contrôle pour les moteurs d'aiguillages. Voilà qui est fait:


Le principe est simple:
  • réception des deux signaux de commande d'aiguillage de l'automate
  • déplacement des moteurs (type servo)
  • positionnement des relais correspondant afin d'alimenter correctement les pointes de coeurs
L'Arduino peut se charger facilement de cette responsabilité: lecture sur un port d'entrée d'un signal de commande provenant de l'automate. En fonction de la valeur du signal, envoi d'un HIGH ou LOW sur une sortie. Celle-ci est branchée sur un transistor qui alimente un relais... Enfin, sur une autre sortie, branchement d'un servo et gestion de celui-ci avec l'aide de la bibliothèque Servo.h bien connue. On multiple le tout par deux et on peut commander deux aiguillages...

Enfin, j'ai aussi ajouté deux accessoires bien pratique sur le clavier de mon automate: un potentiomètre pour la vitesse et un interrupteur trois positions pour les changements de direction (marche avant-stop-marche arrière).


Prochaine étape: installation des moteurs sur le réseau et test...

vendredi 1 juillet 2016

Nouveau prototype de mon automate


Avancement du projet "automate", qui avait débuté par le développement de mon décodeur maison et que j'utilisais comme automate avec quelques modifications du programme. En effet, à l'aide de l'interface Loconet et du détecteur BDL168 de Digitrax, j'étais capable de récupérer les informations d'occupation des cantons et d'agir logiquement sur les deux locomotives au travers de ma centrale Zephyr. Je vous renvoie aux deux vidéos: va-et-vient et gestion d'espacement par cantons.

Aujourd'hui, le projet évolue vers un modèle autonome. Cette fois-ci, plus besoin de centrale! Le montage incorpore l'équivalent d'un booster (un pont en H). Plus besoin non plus de Loconet pour communiquer entre les éléments puisque toute la logique est centralisée dans l'Arduino. Enfin, plus besoin du détecteur BDL168 puisque, maintenant, je développe aussi mes propres détecteurs...

L'intérêt d'un tel montage se caractérise tout d'abord par sa simplicité: lors d'une exposition ou d'une démonstration, pas besoin d'emporter la centrale DCC, l'ordi et d'installer un logiciel complexe et de programmer les scripts d'automatisme. Je suis pourtant assez familier avec ces logiciels et informaticien de profession. Malgré cela, il n'est pas toujours évidant d'arriver rapidement aux résultats voulus...

Ici, mon objectif est de rendre l'utilisation d'un petit réseau DCC très simple pour qui désire seulement faire rouler quelques convois en va-et-vient, gérer le croisement de deux trains en gare, etc... Ainsi, il reste du temps pour discuter avec les visiteurs sans avoir le nez rivé sur la manette de commande... Certains se reconnaitront sûrement ;-)

Voici le prototype:


Certains pièces sont bien connues pour ceux qui développent autour de l'Arduino: le pont en H LMD18200 en haut, l'afficheur LCD au milieu et bien sûr l'Arduino mini sur la gauche de mon PCB. En attendant une intégration complète, je réutilise les différents éléments que j'ai sous la main, ce qui facilite le prototypage.

Le petit clavier est fait de 4 boutons poussoir. Mon PCB contient l'Arduino, un démultiplexeur pour ajouter des ports de sortie afin de commander des aiguillages, ainsi qu'un multiplexeur qui permet de gérer jusqu'à 16 cantons (détecteur de courant, barrière infra-rouge, ILS, etc...). Le montage s'adapte facilement à tous les besoins...

Comme vous avez pu le voir lors d'un précédent article sur mon "établi", la voie que j'ai installée au dessus de ma zone de travail est découpée en trois cantons, chacun équipé d'un détecteur maison basé sur le principe bien connu de détection de courant induit. Nous aurons sûrement l'occasion d'y revenir plus en détails dans un futur article.

Une fois le montage réalisé, il suffit de connecter le PCB au 5V, le "booster" au 12V, les cantons au multiplexeur, le signal DCC au booster et le tour est joué...

Bien évidemment, pour les premiers essais les seules actions possibles sont le réglage de la vitesse et le sens de marche. L'adresse de la loco est gravé dans le programme ainsi que l'allumage des feux, etc... Il suffira de compléter le programme avec toutes les fonctions utiles et écrire une petite interface qui s'adaptera à l'afficheur LCD.

Les règles que j'ai implantées dans l'automate sont simples: si la loco entre dans le canton de gauche, alors elle repart vers la droite. Idem pour le canton de droite. Le LCD affiche simplement le sens de marche, la vitesse et les états des 3 cantons pour une vérification visuelle rapide...



Voilà, rien de bien compliqué... Vous pouvez visionner la vidéo suivante qui présente les premiers essais concluants de cette phase d'intégration du prototype...



Si vous êtes intéressés par ce montage, n'hésitez pas à mon contacter par email.
Bon visionnement.