Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - LegoLow

Pages: [1]
1
Bonjour à tous,
je me lance moi aussi !

Mon projet s'appelle ainsi juste une "boutade" sur le fait que l'on surnomme souvent notre maison celle du moulin à vent ;-)
Ce projet a démarré il y a maintenant plus d'un an après avoir vu ce que l'on pouvait faire avec une Arduino et les trains LEGO.
En voyant le potentiel d'espace disponible au sous-sol, en voyant mon père avoir mis de côté des trains HO toute sa vie sans jamais pouvoir en profiter, et étant plus particulièrement fan de la petite brique qui s'emboite et surtout de ces trains (de mon enfance jusqu'à maintenant), je me suis dis : c'est le moment ou jamais.
Je démarrais donc de çà :


pour préparer mon "plateau" de mon réseau, il a fallu faire quelques plans, créer quelques "meubles" (permettant de ranger notamment cette collection de Lego)



La surface (qui a été légèrement modifié depuis) est à peu près celle-ci :

Le 1m55 de gauche s'est transformé peu à peu en 1m60 et le 1m20 en 1m40.
La difficulté avec la "L-gauge" c'est que les courbes, ou demi-tour complet prennent 80 cm de diamètre..... donc dès que l'on veut dans le réseau mettre plusieurs voies en parallèle, cela commence à prendre beaucoup de place....

J'ai donc ensuite démarré mon réseau, foncant dans le tas (sans aucune préparation) et plusieurs incidents se sont succédés : inondation suite à un défaut d'évacuation des eaux de pluies, suivi d'une fuite d'eau. Le premier incident a fait gondolé certaines planches, le réseau devenant impraticable. Le deuxième força le démontage complet afin de réparer l'arrivée d'eau de la maison.
J'en ai profité alors pour mettre une petite couche de peinture sur les murs et de redémarrer le projet cette fois-ci dans l'ordre : étude et conception, recherche sur les différents composants et leurs mises en oeuvre, R&D sur l'automatisation des aiguillages, etc...

Voici le schéma de mon réseau (sujet à changement possible) :
  • Niveau 0 : entièrement "sous-terrain"

  • Niveau 1 : semi-souterrain, gare à l'air "libre" à 80%

  • Niveau 2 : niveau "plein-air"

  • Niveau 3 : début du "voyage" dans la montagne

  • Niveau 4 : montagne suite....

  • Niveau 5 : sommet de la montagne

J'essaye autant que possible de faire rouler mes trains à "gauche", de mettre mes signaux à gauche des voies. Il y a aura dessus 25 trains 9V qui rouleront et 5 trains 12V.


Entrons un peu plus dans les détails du projet :

  • Côté "contrôle" des trains :
    Ne pouvant contrôler mes loco directement, et devant jouer sur l'alimentation ou non de leurs rails pour les faire avancer, je me suis penché sur les systèmes de cantonnement, de "block-system" et j'ai trouvé que je pouvais via ce système faire croire que les trains roulaient tous en même temps, pas forcément à la même vitesse, d'en arrêter certains alors que d'autres roulent encore. Il a donc fallu que je divise ce tracé en cantons et que je trouve le moyen de les alimenter tous. J'ai trouvé sur le web de nombreux fans qui utilisent donc un L298N, un pont double en H, pour contrôler le niveau d'alimentation des rails LEGO. Il "dérive" dessus le transformateur classique LEGO (afin d'avoir du 9V), puis l'Arduino, via ces PWM, contrôle la puissance des L298N fournissant ainsi aux rails entre 0V et 9V. Un L298N contrôle 2 cantons. A raison de 58 cantons 9V et 12 cantons 12V, il me faut 40 L298N pour contrôler l'ensemble du réseau.


  • Côté alimentation du réseau :
    Pour le réseau principal, les trains sont en 9V. Il y a un réseau secondaire en 12V. Les motrices LEGO sont sensibles au voltage et parfois requièrent pas mal d'ampérage..... une motrice à vide utilise à peu près 380 mA. En charge, cela peut monter à 800 mA voir parfois plus notamment pour monter les côtes (surtout si on met 2 motrices sur la même section alimentée). Plutôt que de partir sur une alimentation PC modifée ou une alim de labo, j'ai trouvé un transfo "classique" qui me fournira mon 9V avec 5A... et si ce n'est pas assez, j'en ai repéré une, qui me délivrera 16,7A.....  il y aura quand même 25 trains 9V sur le réseau, certes ils ne tourneront sûrement pas tous en même temps du fait du cantonnement mais.... on sait jamais !!!

    Pareil pour le 12V, sauf que j'ai trouvé une plus costaud de suite : 12V à 8A.
    Les composants électroniques auront la leur : 5V à 10A.



  • Côté "capteurs :
    Je suis vite parti sur des LED IR pour détecter le passage, la présence des objets : ca marche dans le noir (je pense à mes "souterrains"), à la lumière, il suffit juste de bien les "calibrer".
    J'ai ensuite découvert les ILS (petit débutant que je suis !) : les trains LEGO ont "l'avantage" d'avoir des aimants pour coupler les wagons. J'ai fait un test et en surélevant un ILS de quelques millimètres, l'aimant de tête et de queue est détecté. Je n'ai pas fait le test si celui-ci détectait les aimants lorsque des wagons sont attelés.... mais j'ai cette piste comme capteurs de secours au cas où (bien que l'ILS n'est pas donné par rapport au LED IR.....)


  • Côté automatisation des aiguillages :
    Pour le réseau 12V, il y a eu une automatisation avec des télécommandes : pour cela je n'aurais qu'à étudier le type de courant (intensité et puissance) qui est envoyé aux aiguillages pour les faire basculer. Vu que ceux-ci se branchaient sur le côté de la centrale d'alimentation 12V, je pense qu'il devait envoyer soit du +12V ou -12V pour les faire basculer.... (ou moins en voltage). Donc cela ne devrait pas être bien compliqué de les contrôler via l'Arduino... et sûrement via des L298N.....

    Pour le réseau 9V, LEGO n'a jamais automatisé les aiguillages qui sont toujours restés manuels !!  :o
    J'ai donc dû rechercher, parcourir le web à la recherche d'une solution viable et sûr.... sans succès, je me suis orienté vers des servo en cherchant celui qui ferait le travail puisque les aiguillages LEGO ont une "résistance" interne que je ne voulais pas "casser".... j'ai trouvé après plusieurs commandes et tests, mon servo : un TowerPro MG92B et le montage LEGO adéquat :


    J'ai en tout 27 aiguillages à piloter....



  • Côté "signalisation verticale" :
    J'étais au début parti sur des feux "simples" : à 3 feux pour les cantons pseudo-permissif, à 2 feux pour les cantons à arrêt strict.... puis je suis tellement fan de trains, que je tente ces derniers temps (et çà se voit sur mes schémas plus haut) de pousser à un certain réalisme ferroviaire... donc je pense faire plutôt une gamme un peu plus large de feu : signaux à 3 feux pour les cantons "classiques", signaux avec carré rouge pour les arrêts stricts, signaux avec carré rouge et avertisseur 30, signaux avec carré rouge et avertisseur 60. + un feu de manoeuvre (blanc et violet) pour la voie qui sert d'insertion/sortie dans le réseau et des feux de manoeuvre violet fixe pour décorer mes voies de garage (qui seront vraiment que du décor).
    Au début avec mon système "simple", cela me faisait quand même la bagatelle de 144 Led..... alors plutôt que de cascader des HC595 à go-go, je m'oriente plutôt vers un MAX7219 qui permet le contrôle d'une matrice de 64 Leds..... que l'on peut bien sûr cascadé donc 2x MAX7129 + HC595 pour le reliquat de feu restant....
    Mais en passant avec à ma signalisation avancée, j'obtiens 256 Leds !!! Tiens, çà ne serait pas une puissance de 2 çà, surtout un multiple de 64 ;-)
    Donc résultat, je pense partir sur 4 x MAX7219 en cascade.... ca sera la partie "cablage" la plus importante : réalisé des matrices sans erreur.....

    J'ai dernièrement ajouté l'idée de mettre des feux d'indications de chemins : avant les aiguillages, surplombant les feux, ils existent des feux horizontaux blancs, indiquant le chemin que le train va prendre suivant les aiguillages.... sûrement à relier aux systèmes pilotant les aiguillages, cela me permettra d'avoir un petit feedback visuel que les aiguillages marchent bien  ;)


  • Côté "branchement" et "capteurs" :
    J'ai vite vu que le nombre de PWM étaient limité à 15 par Arduino Mega, j'ai donc opté directement pour cette carte. Au début, je n'avais que 15 capteurs IR (de détection de passage) par niveau, pour les 3 premiers niveau. J'étais donc parti sur une Arduino par niveau, la 4eme et dernière gérant tous les derniers niveaux..... mais je me suis dis, c'est pas possible, cela doit être possible de tout faire avec une seule carte !
    Au début, j'ai vu le fameux HC595 : le "bit-shifter" qui permet de gérer 8 sorties avec seulement 3 de l'Arduino.... je me disais pour les Led, ca devrait le faire...
    Puis en cherchant plus, j'ai trouvé pour démultiplexer les entrées analogiques grâce au CD4067 : 16 entrées analogiques sur une entrée analogique de l'Arduino : yeah !!! Car, pour le moment, j'en suis à 80 capteurs IR !!!!

    Pareil ensuite pour le contrôle de mes PWM : la petite "carte" PCA9685 qui permet de contrôler via l'I2C, 16 PWM. De plus, celle-ci est cascadable !
    Et pour mes servo d'aiguillage, la même carte, la PCA9685 !




  • Côté "bonus" :
    J'appelle çà "bonus" car si déjà j'arrive à faire tourner mon réseau ainsi, je serais super content !
    Donc bonus 1 : la reconnaissance des trains avant les gares afin que déjà d'une les trains de marchandises ne s'arrêtent pas (sauf problème de circulation) et que de deux, je puisse identifier mes trains pour le bonus 2. Cela sera sûrement en RFID. A voir si je peux suivre une fois le train identifié son parcours sur le réseau (théoriquement oui), sinon il y aura un lecteur RFID à chaque entrée de gare.

    Bonus 2 : des écrans OLED en gare, indiquant les trains au départ et/ou à l'arrivée... la classe !
    Il manquerait plus qu'une petite voie féminine et on s'y croirait "[jingle] le train 7740 en provenance de la gare 1 va bientôt entrer en gare, veuillez vous éloigner de la bordure du quai s'il vous plait ! [jingle]"


  • Côté controle-commande :
    J'ai prévu pour le moment un petit boitier, permettant de débrier tous les aiguillages, de faire démarrer le programme sur l'arduino, de le mettre en pause ou de l'arrêter (un shutdown propre remettant dans une certaine position tous les feux, tous les aiguillages).

    Je pousserais peut-être le bouchon plus loin en créant un programme sur tablette pour suivre le réseau en temps réel mais cela sera une autre paire de manche !!!


Voilà dans sa globalité mon projet. Pour l'instant donc, tout "rentre" dans une seule et unique Arduino : à voir ensuite à la programmation, à l'implémentation si une seule Arduino peut tout gérer. Je commencerais par faire le niveau 0, voir déjà les temps d'exécution et je verrais ainsi pour la suite si je dois mettre en place un réseau CAN par exemple ou juste diviser ma charge sur plusieurs Arduino, chacune gérant son niveau.... avec peut-être un peu d'échange entre carte du style : "coucou arduino du niveau 1, je suis Arduino du niveau 0 et je t'envoie un train sur ton réseau, tu as de la place ?"

En ce moment, je commence un peu ma programmation (mes classes de base et mes instances déjà).
Je vois aussi comment créer des "boitiers/carte" par type de "module" électronique (IR LED, signalisation LED, etc....) afin ensuite de réaliser un câblage clair.

Je reviendrais donc ici au fur de l'avancée de mes travaux, de mes tests et de mes retours d'expériences !
Un grand merci à vous pour votre patience et votre intérêt !


2
Bonjour à tous,

je viens de m'inscrire ici mais je ne sais pas si je ne vais pas me faire "jeter"....
Petite explication :
Je me lance effectivement dans un projet de réseau, complètement automatisé en Arduino, sur des trains..... mais m'accepteriez-vous sachant que l'échelle que j'ai choisi... enfin les trains sur lesquels je travaille ne sont pas vraiment considérés comme modélisme ??  ???

Je parles des trains LEGO.   :o

Je possède un parc d'une trentaine de train, couvrant les années 1980 à maintenant.
Et je viens de dédier dans mon sous-sol une surface de 5m sur 1,6m avec un retour de 3,80m sur 1,6m.....
eh oui ! l'échelle "LEGO" (parfois appelé L-Gauge) est grande et prend de la place.
Afin de "m'épanouir", j'ai prévu donc de faire ce réseau sur pas moins de 6 niveaux (niveau espacé d'environ 16-18 cm).

Alors je ne travaillerais pas en DCC ne voulant pas modifier mes motrices Lego mais j'aborde l'implémentation de mon réseau avec les mêmes problématique qu'un réseau de modélisme classique : automatisation du trafic, des signaux lumineux, des aiguillages, divisions en cantons, etc.... avec bien sûr d'autres, particulières au Lego, comme par exemple les inclinaisons des pentes, la gestion du courant dans les blocks sections, etc....

J'ai décidé de m'inscrire car je trouve ce site très intéressant et je me dis que je pourrais peut-être parfois apporter mon aide et parfois, vous la vôtre à mon égard.

J'ai oublié de "définir" mes connaissances :
  • Arduino : niveau confirmé
  • Programmation C++ : oh le bonheur ultra ! Parlez moi de polymorphisme, je vous parlerais d'endomorphisme ! J'adore jongler avec les pointeurs ! (c'est d'ailleurs suite à l'article sur la programmation en C++ d'un réseau que je me suis inscrit ici)
  • Electronique/electricité : niveau débutant à modérer (apprentissage en cours, au fur et à mesure que j'avance dans ma conception)
  • Principe ferroviaire : modéré, en cours d'apprentissage !


Mon projet devrait aboutir à la série de nombres suivants :
  • 58 "block sections" pour les trains 9V et 12 pour les trains 12V
  • 27 aiguillages automatisés (via des servomoteurs)
  • 80 capteurs IR de détections de passages
  • une 40-50aine de feux de signalisations
  • si je "peux", 3 lecteurs RFID pour "trier" mes trains avant les gares (train de marchandise ne devant pas s'arrêter)
  • 3 mini écran OLED permettant de faire l'affichage en gare des trains en approche ou au départ (dépend bien sûr de la possibilité de mettre 3 lecteurs RFID)
  • 2 gares :
    • une gare au niveau 1 à "double sens" avec 2 voies dans un sens de marche, 3 voies dans le sens inverse
    • une gare au niveau 2 à "sens unique" avec 4 voies

Grâce au passage du père Noël, je suis équipé d'une imprimante 3D qui me permet de réaliser certaines pièces :
  • des voies classiques à des voies plus particulières
  • création de décor
  • création de mes feux de signalisations
  • boitiers pour mes modules électroniques

Mon projet ne se fera pas en 100% Lego puisque le budget pour un tel projet serait pharaonique mais j'emprunte justement des éléments au modélisme classique comme :
  • l'utilisation du bois pour créer mes niveaux, mon "support" de réseau
  • surement le recours à des éléments de décoration classique comme des tapis d'herbe, de gravier
  • peut-être faire le "décor" de mes montagnes de façon similaire au modélisme classique
  • peut-être utiliser du "vrai-faux" ballast sur mes voies....

Voili voilà, je crois avoir fais le tour de tout cela !
J'espère que vous m'accepterez dans votre communauté même si mon échelle de travail n'est pas des plus "standard" ou "commune"....
Même si ma réalisation va parfois s'éloigner du "standard", elle aura pas mal d'éléments en commun !




Pages: [1]