Auteur Sujet: Train HO avec pilotage par ESP8266 à l'intérieur  (Lu 44580 fois)

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Train HO avec pilotage par ESP8266 à l'intérieur
« le: juillet 12, 2021, 10:23:09 pm »
Bonjour à tous,

Je vous présente mon projet qui a bien avancé.
Comme j'étais petit garçon, j'adorai les trains en HO, et ayant une petite maison, mess circuits n'étaient pas fixés sur des planches en bois, et j'avais donc bcp de soucis de connexions électriques, avec des faux contacts et des roues qui noircissaient, faire attention aux aiguillages droit-gauche, etc.
J'ai un petit garçon de 5 ans et demi qui adore les trains. Après lui avoir acheté des trains en Lego qui marchent à piles, il a vu mes vieux trains et a voulu que je lui prête. Je lui ai expliqué que c'était compliqué et je ne voulais pas non plus qu'il joue tout seul avec un transfo de 220V/12V.
Donc l'idée mets venu d'essayer de rendre mes locos HO comme celles en Lego, c'est à dire à batterie et donc sans énergie venant des rails.
Etant ingénieur en informatique et fondu de IoT, j'avais les compétences pour ça.

Le but n'est pas de faire du modélisme ferroviaire pur et dur, mais juste de permettre à un enfant de jouer sans danger et facilement.

Je suis parti d'une vieille CC40101, récupérée dans une décharge au milieu des années 80. 2 avantages : elle est assez grande pour y placer l'électronique et les batteries nécessaire, et venant d'une décharge, elle était en mauvais état (plus de pantho, etc), donc c'était pas grave si je la sacrifiais pour rien.

Donc, l'idée de départ, était d'utiliser un ESP8266 alimenté par une ou plusieurs batteries, que l'on rechargerait en les débranchant du train pour les brancher sur un ordinateur ou sur un chargeur.
L'ESP contiendrait un serveur Web qui fournirait une interface simple pouvant être utilisé par un enfant de 5 ans.
Du train, on garde la motorisation. Par contre pour éviter des courts-circuits à travers les rails, on coupe les fils entre les essieux et le moteur, qui sera alimenté autrement.

L'idée de départ était d'utiliser une batterie de 3,7 V  Li-ion avec un step-up pour fournir les 12V au moteur. Mais comme l'alim de l'ESP8266 nécessite 5V, il fallait mettre 2 batteries de 3,7 en série. De plus, avec une seule batterie, le step-up et moteur l'aurait trop sollicité.

Pour l'ESP, au début je suis parti sur un NodeMCU 12, mais après réflexion, un Wemos D1 Mini était plus compact et compatible avec un shield motor Wemos.

Pour piloter le moteur, au départ, j'ai utilisé un shield à base de L293D, mais les pointes de courant de certains moteurs de train dépassaient le maximum accepté par ce pont en H (600ma).
Finalement, j'ai opté pour un shield Wemos Motor qui se place au dessus des Wemos à base de TB6612FNG qui supporte 1,2 A en moyenne et des pointes à 3,2 A.

Pour la recharge des batteries, j'avais prévu de débrancher les batteries, et donc j'ai utilisé prises au format Micro JST 1.5mm ZH 2-Pin, qui sont les plus petites dispo car certains intérieurs de trains sont très petits. Mais ouvrir chaque loco, et charger chaque batterie une par une, c'était pas très pratique. J'ai donc opté par un rechargement sans ouvrir et démonter les batteries. Pour cela, j'ai installé un interrupteur pour basculer du mode "marche" au mode "rechargement" et une prise ZH pour y brancher un contrôleur de charge Li-ion USB à base de TP4056.


Après tâtonnement, le schéma électronique se compose de 2 batteries de 3,7 V  Li-ion de 1200 mah, montées en série pour fournir entre 8,2 et 7,4 V, d'un module Step-up (hacheur) qui permet d'élever la tension de la batterie jusqu'à 12 V pour le moteur du train, d'un régulateur 5V pour alimenter l'ESP et consort, d'un ESP8266 au format Wemos D1 mini, d'un shield Motor Wemos qui vient se coller au dessus de l'ESP, d'un interrupteur 2x3 position (DPDT), et de prises au format Micro JST 1.5mm ZH 2-Pin, male et femelle.

Sur ce lien Youtube, le premier prototype :

Coté interface Web, l'idée de départ était que chaque train/ESP avait son interface de pilotage. Mais finalement, pour pouvoir contrôler plusieurs trains depuis une seule page Web, j'ai opté pour un modèle Restfull API, c'est à dire que dans chaque ESP, il y a une partie "cliente" (l'interface de pilotage) et une partie "serveur", le pilotage lui-même via des requêtes http GET, et POST.

Voir le fichier joint pour l'interface.



« Modifié: juillet 12, 2021, 11:17:20 pm par Gboule »

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #1 le: juillet 12, 2021, 10:50:17 pm »
Ce premier proto fonctionnait pas trop mal, mais j'avais des plantages de l'ESP8266 par moment sans que je comprenne d'où ça venait...

J'ai réussi à remettre la cabine et ça donnait ça :

Je me suis attaqué à miniaturiser le système, car je voulais le mettre dans une machine à vapeur de type 140C180. C'est une des rares machines à vapeur Jouef dont le moteur ne se trouvait pas dans le tender. Donc j'avais de "la place" mais bcp moins que dans la CC40101.

Donc j'ai réduit l'encombrement de mes fils, et surtout j'ai mis 2 batteries très compactes de 600 mah mais 3C, capable de fournir de gros courant.

Le prototype est visible là :

Et le tender fermait ça donnait ça :

Sur cette machine, plus de plantage de l'ESP8266,  le mystère s'épaississait...

Après, je suis passé à une Lima BB15006. Voir les photos en pièce jointe.
Et là, encore des plantages de l'ESP, mais encore plus fréquent.

Grace à mon oscilloscope, j'ai pu voir que certains moteurs pouvaient présenter à leurs bornes des gros pics de tension provoqué par le passage des charbons sur les connecteurs de bobines, compris entre 50 et 100V. Et ces pointes de tension, arrivaient à passer jusqu'aux bornes de l'ESP et le faisait planter.

J'ai essayé plusieurs méthodes pour filtrer ces tensions : le kit RouleNet (diode+capa), diode TVS, etc Rien ne fonctionnait. Finalement, en mettant de choke Coil ou bobine d'arrêt, sur chaque borne du moteur, plus de plantage, et l'oscillo confirme un écrêtage fort de pic de tension.

La machine à vapeur était épargnée car d'une part le moteur fait moins de parasite, et d'autre part le moteur est éloigné du tender et donc de l'ESP.

« Modifié: juillet 12, 2021, 11:16:46 pm par Gboule »

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #2 le: juillet 12, 2021, 11:05:47 pm »
Pour continuer, j'ai fini avec la dernière machine qui me restait : un BB67407. Pas de difficulté particulière, montrant que tout marchait comme prévu.
J'en ai profité pour rajouter des LED rouges et blanches qui s'allument suivant le sens de marche.

En achetant un lot de rails sur le BonCoin pour compléter les miens, j'ai eu droit à une nouvelle machine : une BB9201. Le problème avec cette machine, c'est qu'elle a un moteur qui alimente les 2 boggies grâce à 2 axes qui prennent toute la place à l'intérieur de la machine.
Je suis donc parti sur le même principe que la machine à vapeur : j'ai pris un petit wagon de marchandise, dans lequel j'ai mis toute l'électronique. Voir les photos.

Et pour finir, je me suis fait un petit plaisir en achetant une BigBoy, la plus grosse machine à vapeur du Monde, équipé d'un gros tender, ou il y a de la place pour y stocker l'électronique.


Du coup, j'ai rajouté du son grâce à l'ESP qui est capable de produire un mp3 avec un petit transistor et un petit haut parleur :



Le plus compliqué maintenant, est de trouver ou placer l'interrupteur et la prise de recharge et de faire les trous associés sans dénaturer les locos...
« Modifié: juillet 12, 2021, 11:15:27 pm par Gboule »

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #3 le: juillet 12, 2021, 11:25:14 pm »
Pour finir, j'ai essayé de gérer les cantons. J'ai utilisé des puces RFID et des lecteurs cachés dans des bâtiments pour détecter le passage des trains, mais la lecture des puces RFID est essentiellement faite pour fonctionner avec un mouvement perpendiculaire au plan du lecteur et pas par un mouvement de translation devant le plan du lecteur. Par conséquence, la lecture de la puce RFID ne se fait pas à chaque fois, compromettant la gestion des cantons.

Je me suis rabattu sur un arrêt automatique en gare :

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #4 le: juillet 13, 2021, 08:20:10 am »
Bonjour Gboule,

Bienvenue sur Locoduino (bon, depuis Février..) et j’applaudis franchement pour le partage de cette réalisation qui va intéresser de nombreux modélistes ayant des enfants à protéger comme vous.

Votre expérience est agréablement décrite pas à pas et vos recherches vous ont menées jusqu’à la réussite.

Je suis certain que vous trouverez de l’aide pour aboutir à une solution fiable et bien reproductible.

Par exemple, pour la charge de la batterie, on pourrait regarder du côté des chargeurs par induction, sans contact.
Comme il n’y a pas de DCC, il serait possible d’ajouter des courbes s’accélération et de ralentissement des locos.
Pour les commandes des aiguilles, une transmission radio serait aussi très sympathique.
Et pour la RFID il y a des possibilités à explorer.

Nous pouvons vous aider aussi à présenter un bel article complet sur le site éditorial si cela vous plait.

Cordialement
Dominique

« Modifié: juillet 13, 2021, 09:15:18 am par Dominique »
Cordialement,
Dominique

CATPLUS

  • Sr. Member
  • ****
  • Messages: 435
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #5 le: juillet 13, 2021, 07:16:43 pm »
Bonsoir

Comme Dominique, je trouve votre approche au demeurant bien pensée.

La chose la plus importante que je retiens c'est la sécurité de protection pour les enfants.

Bravo & bonne continuation.

Cordialement
Best Regards

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #6 le: juillet 13, 2021, 11:44:25 pm »
Bonjour et bravo !

Votre réalisation présente beaucoup, beaucoup plus d’avantages que ce que l’on perçoit sans doute de prime abord. Ce que vous présentez est selon moi vraisemblablement la prochaine révolution technologique pour ce qui est du modélisme ferroviaire.

Tout d’abord, il faut bien reconnaître que l’alimentation électrique des locomotives est un vrai et gros problème. Sans doute le principal problème. J’ai ouvert une discussion sur ce sujet en évoquant les Power Packs et autres stay alive.

Alors bien sûr la réponse commence par le câblage, un feeder en 6mm, relier électriquement chaque bout de rail, c’est un travail de titan et c’est couteux. Je sais de quoi je parle car je reconstruis un réseau actuellement. Ensuite, il y a l’entretien régulier des rails, et là encore beaucoup, beaucoup de travail et parfois des zones non accessibles. Là aussi, ça peut être rapidement onéreux. Je viens d’acheter le wagon aspirateur et le wagon brosse de ModellBau, 450€ les deux !!!

Enfin, et en plus de ce que je viens de citer, il est clair que le Power Pack est une bonne réponse surtout pour les petites locos, draisine, Moyse qui, ne consommant pas trop, peuvent rester alimenter pendant des durées significatives. Ce sont aussi souvent elles qui ont les moins bonnes prises de courant. Mais un Power Pack digne de ce nom, c’est 45€.

Par ailleurs et vous le montrez bien, il est possible avec un ESP de remplacer un décodeur sonore. Un ESP, ça vaut beaucoup moins cher qu’un décodeur sonore.

Alors, c’est vrai, il y a le stockage de l’énergie.

J’avais fait avec un train Lego un montage très similaire au votre avec un ESP32, une carte Pololu TB6612 et 3 batteries 18650 et une BMS pour éviter de flinguer les batteries par trop de décharge ou trop de charge.



Alors, certes, tout ceci reste encombrant mais en jouant intelligemment avec les wagons, c’est jouable. Après tout, un train sans wagon, ce n’est pas un train non ? Pour relier électriquement loco et wagons, j’utilise les attelages aimantés de chez REE comme je montre dans cette vidéo : 

Pour réduire la taille des batteries, j’avais acheté sur ebay des batteries EBL AAA 1100 mAh pour 1.2V C’est plutôt performant pour la taille, mais je n’ai pas fait le montage : https://www.ebay.fr/itm/Pack-de-8-Piles-AAA-EBL-Piles-Rechargeables-1100-mAh-1-2V-Ni-MH-1200-Cycles-ECO-/124209745436?norover=1&mkevt=1&mkrid=709-153696-590495-1&mkcid=2&keyword=&crlp=379906665755_&MT_ID=&geo_id=&rlsatarget=dsa-810059358670&adpos=&device=c&mktype=&loc=9040911&poi=&abcId=&cmpgn=6467462101&sitelnk=&adgroupid=76337716254&network=g&matchtype=b&gclid=CjwKCAjw87SHBhBiEiwAukSeUdJwDW1JoSMLWZaj27FMp72tHhjD0deJ5Y6qwRNie65Kz8YHm_DnEBoC1GYQAvD_BwE


Sur mon train Lego, avec 3 batteries de 2500 mA, je faisais tourner la loco environ 2 heures à vitesse constante :


Je pilote également au travers d'une interface web que j'ai crée :

Pour la recharge des batteries, j’avais imaginé que la loco vienne se garer à un endroit précis du réseau et que les connexions de recharges viennent se positionner sous la loco à l’aide d’un petit servo moteur qui aurait assuré le contact entre le chargeur et la loco.

Pour la lecture RFID, il faut se référer à l'article https://www.locoduino.org/spip.php?article248

Dans mon réseau en construction, les capteurs sont intégrés dans le liège et ça fonctionne très bien :

Alors, pour moi, c’est oui clairement oui, ce type de système est l’avenir du train électrique. Par ailleurs, des locos ainsi équipées peuvent prendre place sur un réseau existant, analogique ou DCC sans aucune modification particulière.

Il doit surement y avoir moyen de réduire la taille de l’électronique en travaillant sur des conceptions de PCB optimisés et en faisant souder directement l’ESP sur le PCB. Je pense que des boites comme JLC PCB doivent le faire.

Personnellement je suis prêt à participer à un tel projet et en y mettant des moyens financiers car j'y crois beaucoup.
« Modifié: août 08, 2021, 10:42:38 pm par bobyAndCo »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #7 le: juillet 14, 2021, 09:20:35 am »
Petites réflexions de la nuit sur ce sujet que je trouve passionnant.

Pour la recharge de l’énergie, il faut aussi tester avec une prise de courant sur les rails comme aujourd’hui, soit directement en 12v en analogique, soit en 18v DCC passé dans un pont de diodes pour recharger en permanence une réserve d’énergie qui pourrait être de plus faible capacité du coup. C’est un avantage supplémentaire où des locos ainsi équipées sont totalement compatibles avec tous types de réseaux existants.

Par ailleurs, quand je pense aux caprices du DCC, je me dis que je préfère nettement ce type de solution.

J’ai d’ailleurs vu dans un forum quelconque un modéliste en O (donc à peu près taille Lego) qui fonctionne aussi comme cela mais je ne sais plus où exactement. Par ailleurs le gars fabrique lui-même ses locos en impression 3D résine.

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #8 le: juillet 14, 2021, 03:28:44 pm »
Bonjour à tous,
tout à fait d'accord avec vous pour l'alimentation par batterie, avec des ralentis dignes de ce nom.
C'est d'ailleurs ce que j'ai fait depuis maintenant 1 an (en LGB par contre, ce qui est bien moins contraignant et plus adapté à mes pauvres petits yeux).
Voici ce que cela donne avec le son en prime:

Bonne soirée
Antoine

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #9 le: juillet 14, 2021, 05:31:05 pm »
Bravo Antoine, c'est en effet très convaincant et intéressant.

Où sont tes batteries ? Quel type ? Quel nombre ? Quelle ampérage unitaire ? Comment se fait la recharge ?

Effectivement, à cette échelle c'est plus facile à réaliser soi-même avec des composants du commerce, c'est en HO que ça commence à ce compliquer mais c'est faisable comme le démontre Gboule.

Comme je le disais précédemment, il faudrait dessiner une carte très compacte et sans doute faire souder en usine l'ESP et les composants CMS? Quelqu'un a t'il déjà fait poser et souder chez le fabricant de la carte ?


AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #10 le: juillet 15, 2021, 12:08:54 pm »
Oui on a fait appel à la prestation d'assemblage de JLPCB.
Ca marche pas mal mais il faut tenir compte de plusieurs détails :
  • La conception du circuit sur EasyEDA est préférable, pour éviter les problèmes (processus plus fluide)
  • En particulier, cela permet de n'utiliser que des références de composants au catalogue JLPCB pour garantir la fabrication
  • Malgré tout, il a des références qui sont "courantes" et d'autres non. Les références courantes sont présentes dans les bobines montées de base et sont bon marché. Dès qu'on doit faire changer une bobine pour monter un composant qui n'est pas dans la liste des composants courants, il faut anticiper 3€ de frais de changement de bobine...ça peut vite douiller !

En dehors de ça, les 3 prototypes que nous avons fait faire comme cela n'ont pas posé de problème.
Sébastien.
La perfection est un chemin, non un but...

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1081
  • HO avec DCC++
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #11 le: juillet 15, 2021, 12:17:14 pm »
Merci pour ces infos. Perso, je pense que je vais aussi commencer à tester un montage similaire à celui de Gboule sur des vielles Jouef analogiques sans chercher à reduire notablement l'encombrement dans un premier temps et tester le passage par un pont de diode pour le faire tourner sur mon réseau en DCC

Tony04

  • Hero Member
  • *****
  • Messages: 569
    • Voir le profil
Re : Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #12 le: juillet 15, 2021, 04:14:47 pm »
Où sont tes batteries ? Quel type ? Quel nombre ? Quelle ampérage unitaire ? Comment se fait la recharge ?

Sur la vidéo c'était le prototype qui était encore alimenté par les rails, mais depuis il y a 3 locos équipées de mon système et qui elles sont bien alimentées par des batteries dont une énorme diesel avec 2 moteurs que l'on peut voir ici:

Elle fonctionne plus de 4 heures sans recharge selon son propriétaire.
Et pour le plaisir de yeux, voici le réseau très "nature" :

ou avec la caméra sur le devant:


Les batteries sont 2 blocs LIPO de 11,1V 5200 mAh et sont soit dans la loco, soit sur un wagon séparé.
La recharge est faite pour l'instant par la prise 4 points prévue sur chaque batterie mais sur la 4è machine que je suis entrain d'équiper je monte une carte 6S qui permettra la charge par 2 fils simplement et éventuellement par les roues sur une portion de rails dédiée.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #13 le: juillet 15, 2021, 06:55:28 pm »
En fait, pour ces grandes échelles, rien n’empêche d’utiliser du matériel de radio commande de modèles volants : il y a tout ce qu’il faut  :o
Cordialement,
Dominique

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #14 le: juillet 16, 2021, 03:31:27 pm »
Pour répondre aux quelques remarques que j'ai lu :
- recharge par induction => j'y ai pensé, mais les "plaques" à induction sont bien trop grande pour rentrer dans un HO
- recharge par les rails, => j'y ai pensé aussi, mais très difficile à faire, car comment passer du mode "recharge" au mode "marche" et comment être sûr que le + et le - se trouvent sur les bons rails

En fait le solution la plus simple, reste la prise de recharge avec un double interrupteur, voir les photos jointes