LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: Gboule le juillet 12, 2021, 10:23:09 pm

Titre: Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule 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 :https://www.youtube.com/watch?v=l-tEmR_2CSU (https://www.youtube.com/watch?v=l-tEmR_2CSU)

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.



Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule 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 : https://www.youtube.com/watch?v=Oc5cGx2BMyk (https://www.youtube.com/watch?v=Oc5cGx2BMyk)

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à : https://www.youtube.com/watch?v=cWh3WO0clR4 (https://www.youtube.com/watch?v=cWh3WO0clR4)

Et le tender fermait ça donnait ça : https://www.youtube.com/watch?v=7QKhKzzaeJ8 (https://www.youtube.com/watch?v=7QKhKzzaeJ8)

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.

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule 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.
https://www.youtube.com/watch?v=fb4jD6YH1Xw (https://www.youtube.com/watch?v=fb4jD6YH1Xw)

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 :
https://www.youtube.com/watch?v=8xb9kJsVin4 (https://www.youtube.com/watch?v=8xb9kJsVin4)


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...
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule 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 : https://www.youtube.com/watch?v=0Awgcmvw_Ho (https://www.youtube.com/watch?v=0Awgcmvw_Ho)
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Dominique 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

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: CATPLUS 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
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo 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.

(https://alkans.fr/locoduino/img/_DSC8190.jpg)

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 :  https://www.youtube.com/watch?v=0_9LLsjchTo&t=8s

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 (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 :
https://www.youtube.com/watch?v=4K9tM-wDYPc

Je pilote également au travers d'une interface web que j'ai crée : (https://alkans.fr/locoduino/img/dcc_controller.png)

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 (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 : (https://alkans.fr/locoduino/img/_DSC9076.jpg)

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.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo 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.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Tony04 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: https://www.youtube.com/watch?v=UnQG8axkMRY

Bonne soirée
Antoine
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo 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 ?

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: AmadeusHF 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 :

En dehors de ça, les 3 prototypes que nous avons fait faire comme cela n'ont pas posé de problème.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo 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
Titre: Re : Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Tony04 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:
https://www.youtube.com/watch?v=zei0VUs64OE
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" :
https://www.youtube.com/watch?v=jf6EMihOdks
ou avec la caméra sur le devant:
https://www.youtube.com/watch?v=QYZiQglsNJI

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.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Dominique 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
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule 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
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 03:38:37 pm
Puisque mon projet a l'air d'intéresser du monde, je vais partager tout ce que je peux.

Pour cela, je vais partir d'un nouveau train dont je viens de faire l'acquisition pour 50€ sur le BonCoin et elle est en excellente état.
Il s'agit d'un TGV Est de chez Jouef : il ne s'agit pas d'un choix au hasard, car c'est un des rares modèles de TGC qui n'a qu'un seul boggie moteur, donc de la place pour y placer l'électronique.

En pièces jointes, les photos de la loco tracteur fermée puis ouverte.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 04:55:23 pm
Première chose : préparer le shield Motor Wemos.
On peut commander le shield ici : https://www.ebay.fr/itm/Shield-motor-I2C-for-Wemos-D1-Control-of-2-motors-1387Z-/163459069789 (https://www.ebay.fr/itm/Shield-motor-I2C-for-Wemos-D1-Control-of-2-motors-1387Z-/163459069789) (j'avais commandé les miens sur Amzon, mais y'en a plus !!)

Sur les versions < 2.0, il faut mettre à jour le firmware, car celui d'origine est buggué.
Il faut suivre le tuto ici : https://medium.com/@shelladdicted/how-to-update-the-firmware-of-a-wemos-motor-shield-fadbb496fd01 (https://medium.com/@shelladdicted/how-to-update-the-firmware-of-a-wemos-motor-shield-fadbb496fd01)

Les étapes sont (voir photo):
1) Souder le plot STBY sur I2C
2) Souder le plot RST
3) Souder les pins sur les 2 cotés : RST, 3V3, 5V, GND, D1, D2 + (RX, D4, D8) pour le son
4) Souder provisoirement RTS au 3V3 pour permettre le flash du shield mais déssouder à l’issu





Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 04:56:59 pm
5) Brancher un convertisseur USB-RTS avec
a.   GND
b.   3V3
c.   TX en D2
d.   RX en D1
6) dans une fenêtre DOS, passer la commande "Stm32flash COMx" => vérification de la communication
7) Puis la commande : "Stm32flash COMx –k" => Unlock Read-Protected Flash
8) Puis la commande  : "stm32flash COMx -u" => Unlock Write-Protected Flash
9) Puis la commande : "stm32flash COMx -v -w motor_shield.bin"
10) DESSOUDER la liaison RTS au 3V3
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 05:03:28 pm
Après avoir dessouder la liaison RTS-3V3, on peut souder l'ESP8266.
J'ai choisi des Wemos D1 mini car ils sont très petits (plus que les nodemecu 12), et plus complet en terme de pins que les ESP-01.
Wemos commandés ici : https://www.amazon.fr/gp/product/B0754W6Z2F/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 (https://www.amazon.fr/gp/product/B0754W6Z2F/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1)

Il faut les souder directement sur le broche male du shield sans passer par des pins femelles pour gagner en place. Par contre, il ne faut pas se louper dans le sens, bien faire coïncider les pins entre le Wemos et le Shield, sinon le dessoudage sera très compliquer.

Il faut souder au moins les mêmes pins que sur le Shield : RST, 3V3, 5V, GND, D1, D2 + (RX, D4, D8) pour le son.

Nota : habituellement, je soude dans l'autre sens, mais ça marche aussi dans ce sens.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 05:43:00 pm
Maintenant, l'alimentation est le Step-up.
J'ai commandé ces step-up : https://www.amazon.fr/gp/product/B071H9NRTW/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1 (https://www.amazon.fr/gp/product/B071H9NRTW/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1)

En même temps, j'y soude au plus près, le régulateur 5v pour alimenter l'ESP, le shield et éventuellement le MAX98357 pour le son.
Pour le régulateur, on peut utiliser des 7805 mais j'utilise plutôt des L4931CZ50-AP commandés ici https://fr.rs-online.com/web/p/regulateurs-de-tension/6869117p/?cm_mmc=FR-PPC-DS3A-_-google-_-3_FR_FR_R%C3%A9gulateurs+de+tension_STMicroelectronics_Exact-_-STMicroelectronics+-+R%C3%A9gulateurs+de+tension+-+6869117P-_-l4931cz50+ap&matchtype=e&kwd-422500369397&gclid=CjwKCAjw3MSHBhB3EiwAxcaEu8K0QN8UvrVzZWO0_4plRnzvv6AD1YanZovwK-8Gc1SpABC6iydCSRoCbfMQAvD_BwE&gclsrc=aw.ds (https://fr.rs-online.com/web/p/regulateurs-de-tension/6869117p/?cm_mmc=FR-PPC-DS3A-_-google-_-3_FR_FR_R%C3%A9gulateurs+de+tension_STMicroelectronics_Exact-_-STMicroelectronics+-+R%C3%A9gulateurs+de+tension+-+6869117P-_-l4931cz50+ap&matchtype=e&kwd-422500369397&gclid=CjwKCAjw3MSHBhB3EiwAxcaEu8K0QN8UvrVzZWO0_4plRnzvv6AD1YanZovwK-8Gc1SpABC6iydCSRoCbfMQAvD_BwE&gclsrc=aw.ds). Astuce rentrer la référence dans RS particulier, commander le week-end, c'est moins cher !!

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 05:48:11 pm
Avant de souder les fils d'alim entre le couple Wemos+Shield et le Step-up, il faut regarder comment agencer tout ça dans le train.
Ici dans le TGV, y'a de la place, mais il faut enlever le lest et son support en plastique en le coupant au cutter.

Puis on essaie de déterminer la meilleure place pour chacun des éléments, le Wemos+Shield, le Step-up, les 2 batteries, et l'interrupteur et la prise de recharge.

Pour les batteries, y'a un grand choix sur Amazon, mais attention aux mesures : faut que ça rentre !!! Des exemples :
https://www.amazon.fr/gp/product/B07M9T66WV/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1 (https://www.amazon.fr/gp/product/B07M9T66WV/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1)
https://www.amazon.fr/gp/product/B087LTZW61/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1 (https://www.amazon.fr/gp/product/B087LTZW61/ref=ppx_yo_dt_b_asin_title_o02_s01?ie=UTF8&psc=1)
https://www.amazon.fr/Sirecal-Batterie-Connector-Charger-Quadcopter/dp/B08ZS4P5Z2/ref=sr_1_2_sspa?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=Hootracker+4PCS+3.7v+300mAh+25C+RC+Drone+Lipo&qid=1626450721&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExUTk3WVVJUFNFWFBTJmVuY3J5cHRlZElkPUEwNjYyNTc4MjRTRUxNTUVJTTc4RCZlbmNyeXB0ZWRBZElkPUEwMzgwODY5M0dDMTVYSlpCWVpRTCZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU= (https://www.amazon.fr/Sirecal-Batterie-Connector-Charger-Quadcopter/dp/B08ZS4P5Z2/ref=sr_1_2_sspa?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=Hootracker+4PCS+3.7v+300mAh+25C+RC+Drone+Lipo&qid=1626450721&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExUTk3WVVJUFNFWFBTJmVuY3J5cHRlZElkPUEwNjYyNTc4MjRTRUxNTUVJTTc4RCZlbmNyeXB0ZWRBZElkPUEwMzgwODY5M0dDMTVYSlpCWVpRTCZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=)

Je coupe le connecteur d'origine et j'y mets à la place les plus petits que j'ai trouvé pour le courant demandé : Micro JST 1.5mm ZH 2-Pin, male et femelle. Pas facile à trouver...

Pour l'interrupteur, il faut des modèles 2x3 positions DPDT comme ceci : https://www.amazon.fr/gp/product/B008DFYHV2/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1 (https://www.amazon.fr/gp/product/B008DFYHV2/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1)

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 16, 2021, 06:04:25 pm
Pour brancher tout ça, voici les diagrammes au format Fritzing : 1 avec le son sans DAC et l'autre avec DAC.

Quelques fils à souder, le plus compliqué étant de souder ceux de l'interrupteur et de la prise de recharge.

La suite un peu plus tard...
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le juillet 17, 2021, 02:58:32 pm
Bonjour à tous,

Je remercie une nouvelle fois Gboule pour le travail important qu’il a déjà réalisé et aussi pour m’avoir motivé à reprendre mes propres réflexions sur des recherches qui étaient finalement assez proches.

Je vous présente ici une approche qui est différente de ce que nous a présenté Gboule et qui n’a pas la prétention d’être ni mieux ni meilleure. Elle vise des objectifs différents et à ce titre elle est complémentaire et élargissant le champs des possibilités.

https://www.youtube.com/watch?v=0J00hPeUibI (https://www.youtube.com/watch?v=0J00hPeUibI)

Ici, je n’utilise qu’une seule batterie 18650 (2500mAh) qui est glissée dans le corps d’une vielle 241P de Jouef. Il y a, comme le fait Gboule, un step-up réglé sur 12 volts.

(https://alkans.fr/locoduino/img/_DSC9100.jpg)

Ce qui manque dans ce que je vous présente, c’est un BMS 1S (que je viens de commander) pour tout d’abord protéger la batterie des décharges et recharges excessives. Mais je souhaite aussi, au travers d’un pont de diodes et d’un régulateur, recharger la batterie sur le courant DCC du réseau par les rails. La batterie se comportant alors comme un gros Power-Pack ou keep-alive. Elle ne cherche pas à produire la totalité de l’énergie « absorbée » par la loco. Et les locos ainsi équipées pourront donc cohabiter avec des locos en DCC sur le même réseau.

Pour le reste, je suis sur une configuration très similaire à ce que Gboule a réalisé. Pour moi un ESP32 et une carte Pololu TB6612 parce que ce n’est ni plus ni moins que la carte que j’avais réalisée pour mon train Lego. Par la suite, je montrai aussi un Wemos. Le pilotage se fait également à partir d’une application web qui communique en WiFi avec l’ESP.

(https://alkans.fr/locoduino/img/_DSC9097.jpg)

Pour le reste, je vais très largement m’inspirer de l’excellent travail réalisé par Gboule comme pour ce qui concerne le son.

Même si les contraintes d’encombrement en HO ne sont pas et de loin résolues, je pense que nous allons réussir à trouver des solutions tout de même suffisamment miniaturisées pour être acceptables et s’affranchir ainsi :

1° du vrai problème que représente l’alimentation par (seulement) les rails,
2° des décodeurs sans peut-être obtenir les mêmes fonctionnalités, et encore !
3° du DCC qui il faut bien le reconnaître est assez capricieux, n'est ce pas Messieurs les développeurs de la Box !





Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Dominique le juillet 17, 2021, 04:07:16 pm
En attendant LaBox permet de jouer avec du N   ;D :o

Mais je reconnais que c’est très intéressant à explorer.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le juillet 18, 2021, 10:56:50 am
Bonjour à tous,

Assurément, en nous proposant ce sujet, Gboule a en quelque sorte ouvert une boîte de Pandore. Catplus (Marcel pour les intimes) m’a fait passer un lien sur un article de MRH numéro de juin 2021 qui apporte des éclairages intéressants au sujet que nous abordons.

Le principe qui y est décrit est encore différent de tous ce dont nous avons pu parler mais soulève des problématiques que nous rencontrons nous-mêmes dont, par exemple, les questions d’encombrement.

Il s’agit ici de commander les locomotives en DCC mais avec la technologie radio.

(https://alkans.fr/locoduino/img/dcc_wireless1.jpg)

Ce que je trouve intrigant, c’est que l’on ne cherche pas à s’affranchir de l’alimentation par les rails en DCC qui sert notamment à recharger la batterie (comme je souhaite le faire), et que l’on ne cherche pas non plus à s’affranchir du DCC comme Gboule et moi-même souhaitons le faire.

En fouillant, vous verrez qu’il est abordé un système à base de micro-receivers en 2,4 GHz qui mérite que l’on s’y intéresse. Voici le lien sur le site du fabricant : http://www.deltang.co.uk/index.htm (http://www.deltang.co.uk/index.htm)

Par ailleurs, il y a les questions de stockage d’énergie, de step-converter et de BMS (Battery Management System) qui nous intéressent et qui sont abordées dans l’article et aussi dans le forum.

Pour ma part, j’ai particulièrement retenu la question du « wagon suiveur ». Certains pensent comme moi que c’est la solution pour « transporter » une partie du matériel qu’il sera difficile d’embarquer autrement.

(https://alkans.fr/locoduino/img/dcc_wireless2.jpg)

Pourtant, il y a dans le forum, cette présentation que je trouve extraordinaire.

Toute l’électronique et la batterie sont glissées dans le toit de ce petit locotracteur qui est donné pour 55 minutes d’autonomie et 15 de charge ! Il y a clairement ici des sources d’inspiration pour nos réflexions.

(https://alkans.fr/locoduino/img/dcc_wireless3.jpg)
(https://alkans.fr/locoduino/img/dcc_wireless4.jpg)
(https://alkans.fr/locoduino/img/dcc_wireless5.jpg)

Article à lire donc pour tous ceux qui s’intéressent à ces questions : https://online.fliphtml5.com/buups/cjfs/index.html#p=9

Le forum ici : https://model-railroad-hobbyist.com/magazine/mrh2021-06/publishers-musings?page=1

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Gboule le juillet 19, 2021, 10:33:57 pm
La suite...

Une fois tout monté dans la loco, on peut envoyer le "firmware" : le premier download nécessite de brancher l'ESP par port USB, mais si vous faites des modifs du softs, les autres téléchargement peuvent se faire par OTA (over the air), c'est à dire sans être obliger de brancher l'ESP par USB et donc pas besoin de démonter le train.

Le code est fourni est en pièce jointe, mais il faut l'adapter avec votre SSID Wifi et le mot de passe associè. Il faut aussi mettre une adresse statique par DHCP via votre box et la mettre dans le tableau "tabTrain" du code.
Vous pouvez mettre aussi une photo du train (au format 100x40 à peu près) et éventuellement un fichier son, mais c'est 2 fichiers ne doivent pas être trop gros pour ne pas remplir la mémoire de l'ESP. Le son en mono et en 22 khz suffit. Ces 2 fichiers doivent se trouver dans un dossier Data du projet Arduino et doivent être uploader grâce au plug-in "upload SPIFFS".
Comme avec l'interface, vous pouvez gérer plusieurs trains, il faut ces éléments pour chacun des trains dans le tableau "tabTrain". Il faut aussi définir le nombre de trains avec le #define NB_TRAIN

Il est possible d'utiliser un ESP8266 non embarqué dans un train qui servirait à piloter tous les autres.
Pour accéder à l'interface, il suffit d'un browser (PC, Tablette, smartphone) et d'ouvrir l'URL via http://adresse_IP_du_train.
L'écran est divisé en autant de section qu'il y a des trains configurés dans le tableau tabTrain. Pour chaque section, un voyant rouge-vert indique si le train est joignable, une échelle de 10% à 100% permet de choisir la puissance moteur, et un bouton permet de choisir le sens de marche. Les boutons "marche" et "arrêt' sont évidents, et le bouton sonnerie activera le son si vous avez équipez le train d'un moyen de reproduction sonore.

Une partie du code est commenté et devait servir à gérer les cantons par RFID, mais comme la détection RFID n'était pas fiable à 100%, le code n'a pas pu être débbugué..

Le code n'est pas 100% propre, car je n'ai pas encore y le temps de le "nettoyer", mais il est fonctionnel.

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le août 02, 2021, 12:08:39 pm
Bonjour,
Je découvre ce fil alors que je suis sur une réalisation du même genre depuis quelques semaines.
Mon objectif est de faire fonctionner une petite automotrice Egger-Bahn HOe sur batterie, pour s'affranchir de la mauvaise prise de courant et pouvoir rouler sur des voies "pittoresquement délabrées".
Je me suis inspiré d'une réalisation pour Car-System Faller:
http://letraindejc.free.fr/pages/index.php?v=ESP00[/i]]http://letraindejc.free.fr/pages/index.php?v=ESP00 (http://[i)
J'ai fait pour l'ESP12s un petit circuit imprimé qui se loge dans le plafond de la motrice. Le convertisseur "step-up" est logé, lui, sous le plancher.
Tout ça fonctionne bien, mais l'automotrice étant articulée j'ai utilisé du fil un peu trop raide pour la connexion à la cabine. J'attends livraison de fil plus fin pour re-câbler.
Coté logiciel, je ne fonctionne pas en HTTP comme JC, mais en UDP avec l'appli Z21 de Roco.
Si vous souhaitez discuter de ça plus avant, je suis à votre disposition.
Cordialement,
JPM06
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le août 02, 2021, 06:16:56 pm
 Oui bien sûr que nous aimerions en savoir plus, moi en tous les cas. Photos et code en particulier. C’est intéressant d’avoir des approches relativement différentes qui permettent d’enrichir la réflexion.

En HOe, c’est encore plus une prouesse qu’en HO.

Est-ce que tu charges la batterie « hors-rails » ou as-tu une prise de courant de recharge par les rails ?

Le lien que tu donnes ne fonctionne pas mais celui-ci, oui :
http://letraindejc.free.fr/pages/index.php?f=ESP12-Car

Concernant le protocole, je pense effectivement qu’il est préférable d’utiliser l’UDP que le HTTP.  J’ai discuté de ce point en MP avec Gboule et il m’a précisé que c’est surtout parce qu’il connaît mieux le HTTP et ce mode de transaction.

Pour ma part, j’utilise le TCP et les websockets mais dans le cas d’une Z21, c’est vrai que le protocole de Roco est l’UDP.

Je viens juste de recevoir mes cartes BMS 1S pour la gestion de la batterie 18650, je vais donc pouvoir m’y remettre et je publierai des choses quand j’aurai avancé.

Alors, oui, photos et code et toutes explications sur ta réalisation sont les bien-venues.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le août 03, 2021, 05:48:41 pm
Bonjour,
Voici le schéma final:

(https://alkans.fr/locoduino/img/schema_EB1010.jpg)

Je n'utilise qu'une partie du GPIO. G13 doit servir à connecter un avertisseur sonore si j'en trouve un assez petit.
Je ne suis pas sûr que toutes les résistances pull-up et pull-down soient indispensables, mais je n'ai pas voulu prendre
de risque, et en CMS ça ne prend pas trop de place.
Les LEDs sont connectées directement à la batterie pour soulager le régulateur.
La batterie sera rechargée en connectant simplement un chargeur externe. Je ne vise pas une autonomie très importante, et
de toutes façons il n'y aurait pas la place pour loger un système de recharge par les rails.

Voici le circuit imprimé:

(https://alkans.fr/locoduino/img/CI_EB1010_1.jpg)

Comme il se loge sous le toit, il y a un plafonnier (LEDs blanches) de chaque coté. Les résistances sont sur l'autre face.
Le circuit de droite est le pont en H qui commande le moteur.
Quelques remarques:
1: j'ai dessiné le circuit à l'origine pour un régulateur HT7333, mais j'ai eu des problèmes avec ce composant: l'ESP12s
génère des pics de consommation très forts que le HT7333 n'arrivait pas à amortir, et ça se traduisait par des
redémarrages intempestifs. Avec un TC1262, rien de tel, mais malheureusement l'empreinte du composant est différente.
2: lorsque j'ai pris cette photo, le pont en H DRV8833 était mal connecté. Voir le schéma. Et ce n'était pas une bonne
idée non plus que de coller les deux CIs à l'araldite.
3: il y a six points de connexion (à gauche de l'ESP) qui permettent de charger le programme au départ, et de le recharger
en cas de problème avec l'OTA.

La batterie est une 380mAh longue avec connecteur PH 2.0 incorporé. Malheureusement les dimensions indiquées ne tenaient
pas compte de ce connecteur, que j'ai du oter. Si c'était à refaire je prendrais un modèle plus puissant, et avec fils.

Le convertisseur "step-up" est un MT3608 raccourci monté sous le châssis:

(https://alkans.fr/locoduino/img/MT3608.jpg)

Une fois peint en noir, il pourra passer pour un réservoir ou autre comme on en voit sous les châssis.
On voit aussi sur cette photo la prise de recharge et l'interrupteur (oui, si j'avais mis les deux du même coté, ça aurait été droit!):
(http://amfn.nice.free.fr/perso/jpm/EB1010_dessous.jpg)

Le logiciel: au démarrage l'ESP essaie de se connecter à ma box en mode station. S'il n'y arrive pas, c'est que je l'ai
emmené ailleurs, alors il démarre en mode point d'accès. L'OTA ne fonctionne qu'en mode station.

J'aime bien UDP qui est un protocole hyper simple, rapide, et bien adapté à ce genre d'application... mais qui nécessite
une appli dans le smartphone. Je n'utilise en fait qu'une toute petite partie de l'appli Z21, correspondante à mes
besoins. Je publierai le programme quand je l'aurai un peu nettoyé.

Pour commander simultanément plusieurs véhicules, j'envisageais de faire ce que suggère Gboule: un autre processeur (chez
moi, le PC qui gère le réseau) qui relaye les messages du smartphone vers les locos, chacune avec son IP. Mais le temps de
réponse serait-il au rendez-vous?

J'en reste là pour aujourd'hui. Il me reste à re-câbler l'engin avec du fil plus fin, faire des tests d'autonomie, et
surtout vérifier qu'il n'y a pas de parasite intempestif qui remettrait la solution en question.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le août 03, 2021, 07:03:41 pm
Tout ce que tu présentes est fort intéressant et démontre bien que tout ceci n’est pas une utopie.

Ton PCB permet une certaine miniaturisation. Nous aurons bien sûr du mal à rivaliser avec les tailles atteintes sur des décodeurs mêmes avec des composants CMS mais tu montres bien que cela tient pour toi. Une photo d’ensemble serait intéressante d’ailleurs.

Dans ma démarche, je mise sur un ou peut-être plusieurs wagons suiveurs car la batterie est plus conséquente (2500 mAh), que je cherche à assurer une recharge par les rails (comme s’il s’agissait d’un gros Power Pack) pour que ces locomotives fonctionnant en fait en analogiques puissent circuler sur mon réseau qui est en DCC par un pont de diodes dans la loco qui redresse le courant alternatif DCC en courant continu.

L’UDP est effectivement plus rapide que le HTTP car il n’y a pas le processus de validation. Mais il ne permet pas de savoir si les trames envoyées ont bien été reçues. Il faut donc répéter les commandes envoyées comme le fait d’ailleurs le DCC. En TCP et websocket, il y a un processus de contrôle de (bonne) réception, la répétition de l’envoi est automatique si erreur.

Une astuce quand on utilise des cartes moteur comme ici (DRV8833) prévues pour piloter 2 moteurs. Relier les entrées entre elles (DIR et PVM) et relier les sorties entre elles ce qui permet de doubler la capacité de sortie. En HO, certains vieux et gros moteurs peuvent demander beaucoup de puissance par exemple au démarrage.

Mais je suis un peu réservé quant à l’utilisation ici d’une DRV8833 qui est donnée pour une tension max de 10,8 V alors que la TB6612 est donnée pour 13,5 V ce qui me semble plus adapté au HO (https://www.pololu.com/product/713). Les performances de ces deux cartes sont par ailleurs comparables.

Il est vraiment bien que plusieurs projets avec des approches différentes soient menés en parallèle ce qui permettra de chercher à synthétiser le meilleur de chaque.

Avis à tous les amateurs qui voudraient se lancer.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le août 04, 2021, 10:59:12 am
Bonjour à tous,

Je viens de recevoir mes BMS 1S qui me permettent d’utiliser la batterie 18650 en toute sécurité. Ils sont indispensables car ils contrôlent la charge et la décharge (en particulier) sans quoi la batterie serait rapidement HS.

(https://alkans.fr/locoduino/img/_DSC9129.jpg)

J’ai refait le test avec ma carte (ESP32 + TB6612) prévue pour le train Lego et les choses fonctionnent parfaitement. Je rappelle que la batterie 18650 délivre environ 2500mAh.

(https://alkans.fr/locoduino/img/_DSC9131.jpg)

Du coup, j’ai dessiné un PCB adapté à cette configuration HO. Le courant pour recharger en permanence la batterie est pris sur les rails en DCC. Il est redressé dans un pont de diodes (à gauche), passé dans un convertisseur de ± 18v à 5 volts, tension acceptée par le BMS qui charge la batterie. La sortie du courant de la batterie est elle aussi contrôlée par le BMS et se situe dans une plage de 4,2 – 3,7 selon le niveau de charge. Le steper est réglé pour élever la tension à 12V.

(https://alkans.fr/locoduino/img/loco_ESP32_wifi_PCB.jpg)

Le courant 12V est envoyé sur le PCB, passe par un convertisseur 3,3V pour l’alimentation de l’ESP et envoyé directement sous 12V à la carte moteur TB6612 en passant par un condensateur de 470µF (très important car sinon, il y a de grands risques de griller la carte lors des pics de courant).

L’ESP32 est une version à empâtement étroit de 2,3cm (merci Michel !) qui me permet de glisser le PCB (27 mm) dans un « wagon suiveur ». Les WEMOS eux sont moins longs mais plus larges.

J’ai prévu plusieurs pads sur des sorties de l’ESP pour pouvoir relier ultérieurement des accessoires, feux de la loco, sons etc…

Je devrais recevoir les PCB sous quelques jours, je vous ferai un retour quand j’aurai testé.

Tout ceci est bien passionnant, n'est-il pas ?
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le août 04, 2021, 11:27:46 am
Citer
...wagons suiveurs...
J'envisage aussi la solution à wagon suiveur pour mes petites locos, parce que loger la moindre électronique dans une 020T en HOe est vraiment acrobatique. À suivre.
Citer
...UDP ne permet pas de savoir si les trames envoyées ont bien été reçues...
Je pense que le DCC est conçu pour transmettre ses messages sur un média hautement parasité: la voie, avec ce que ça implique de faux contacts, etc. Mais une liaison WiFi devrait être plus fiable. D'ailleurs la liaison smartphone - centrale ne pose pas de problème, que je sache (?). Par ailleurs, il s'agit d'une commande manuelle: si on voit que la loco ne répond pas à une commande, on la répète.
Note que j'utilise TCP depuis longtemps pour commander mon réseau à partir de Pocket-PC (petits smartphones des années 2000), mais seulement parce que leur IDE ne donne pas accès à UDP. J'ai du écrire l'appli moi-même, ce que j'ai voulu éviter avec les 8266.
Citer
...astuce quand on utilise des cartes moteur comme (DRV8833)...
C'est exactement ce que j'ai voulu faire, sauf que je me suis planté en reliant les deux cartes entre elles!
La tension de 10V me suffit pour le HOe, mais je vais commander quelques TB6612 pour essai.
Merci du tuyau!


Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le août 06, 2021, 10:47:44 am
Ci-joint une version provisoire de mon programme.
Commentaires bienvenus.
Renonçant à bricoler mes batteries, j'en attend une nouvelle livraison, sans connecteur intégré.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le août 08, 2021, 03:46:28 pm
Dans un ancien message, Gboule écrit:
Citer
... 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.
J'ai aussi essayé RFID sans aboutir à un résultat satisfaisant, aussi j'ai maintenant en tête un système "inverse" pour localiser et identifier les locos. En bref, le réseau serait équipé de petites balises infra-rouges autonomes (c'est à dire non connectées à un réseau, seulement alimentées à partir d'un feeder 5V, ou à partir de la voie sur un réseau numérique). Les locos, équipées de ESP8266, détecteraient le signal en passant dessus, et transmettraient en WiFi un message indiquant le numéro de la loco et le numéro de la balise. Avec ces informations il serait facile de gérer le système, c'est à dire reconstituer un bloc-système ("à pédales", comme on dit), de rendre le fonctionnement automatique tout en gardant la commande manuelle, bref, un peu ce qu'on veut.
Je n'aurai pas le temps d'essayer ça avant 2022, mais j'aimerais avoir des opinions sur le sujet...
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Dominique le août 08, 2021, 06:20:39 pm
Bonjour à tous,

J'utilise le RFID (NFC) pour localiser mes trains selon la description faite dans cet article https://www.locoduino.org/spip.php?article271 (https://www.locoduino.org/spip.php?article271).

Cela marche très bien en N, avec la seule restriction que l'étiquette soit collée sous un wagon car le moteur de la loco la perturberait.

J'avais aussi utilisé d'autres lecteurs qui marchaient très bien (mais très chers à l'époque) : voir https://www.locoduino.org/spip.php?article41 (https://www.locoduino.org/spip.php?article41). Mais ces derniers ne peuvent pas être installés partout et se perturbent mutuellement.

Donc les premiers sont parfaits, avec interface I2C ou SPI, selon ses besoins.

En tout cas le déplacement de l'étiquette par rapport au lecteur ne pose pas de problème.

Citer
le réseau serait équipé de petites balises infra-rouges autonomes (c'est à dire non connectées à un réseau, seulement alimentées à partir d'un feeder 5V, ou à partir de la voie sur un réseau numérique). Les locos, équipées de ESP8266, détecteraient le signal en passant dessus, et transmettraient en WiFi un message indiquant le numéro de la loco et le numéro de la balise.
Ce principe des balises émetteur infrarouge selon un code correspondant au canton, ressemble à ce qui est dans le Car System de (..je ne sais plus).
C'est une bonne idée et la présence de ESPxxx dans la loco permet avec cela, de réaliser l'équivalent du Railcom.

Bravo les bonnes idées ! ;) :D ;D

Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le août 09, 2021, 08:52:43 am
J'ai aussi essayé RFID sans aboutir à un résultat satisfaisant, aussi j'ai maintenant en tête un système "inverse" pour localiser et identifier les locos. En bref, le réseau serait équipé de petites balises infra-rouges autonomes (c'est à dire non connectées à un réseau, seulement alimentées à partir d'un feeder 5V, ou à partir de la voie sur un réseau numérique). Les locos, équipées de ESP8266, détecteraient le signal en passant dessus, et transmettraient en WiFi un message indiquant le numéro de la loco et le numéro de la balise.

Je ne vois pas comment ce système pourrait de connaitre la position d'un train donné à un endroit particulier du réseau. S'il est en effet possible d'identifier précisément une locomotive avec un ESP (8266 ou 32), je vois pas comment une balise infra rouge pourrait délivrer un identifiant (par nature unique) qui permettrait de dire : 1 train précis (avec un identifiant unique) est à un endroit précis du réseau identifié lui-même comme tel.

Sinon, tout système qui permettrait la détection (identifiée) d'un train sur des portions particulière du réseau (cantons) m'intéresse au plus haut point ce pourquoi la réponse m'intéresse bigrement !
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le août 09, 2021, 09:11:10 am
Et justement, à propos d’identification de train sur des sections précises du réseau, il faut s’intéressé au post de Marcel (Catplus) qui traite du même sujet.

L’idée de Marcel est d’utiliser un Attiny pour sa petite taille qui saurait envoyer un identifiant et selon l’endroit du réseau où serait capté cet identifiant, cela permettrait d’en déduire la position d’un train. https://forum.locoduino.org/index.php?topic=256.msg13415#msg13415 (https://forum.locoduino.org/index.php?topic=256.msg13415#msg13415)

L’idée de Marcel était de transmettre cet identifiant sur le bus DCC (comme le fait Railcom) et à partir du moment où cet identifiant est lu sur une portion particulière donc identifiable du réseau, il était alors possible d’en déduire la position d’un train particulier.

Sauf que, et sans entrer dans les détails (Dominique l’a un peu fait en répondant à Marcel), cela est compliqué sur le bus DCC entendu au sens matériel, donc les rails. Compliqué mais peut-être pas infaisable ! Ce sujet mérite que l’on y réfléchisse.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le août 09, 2021, 07:56:07 pm
Bonsoir à tous,

J’ai reçu aujourd’hui les PCB que j’ai fait fabriquer ad hoc pour entrer dans le wagon suiveur.

La batterie, le BMS et le steper-up prennent place dans le corps de chauffe comme je l’ai montré précédemment.

(https://alkans.fr/locoduino/img/_DSC9134.jpg)

(https://alkans.fr/locoduino/img/_DSC9136.jpg)

Sur le PCB du wagons suiveur, l'ESP32 est un Node 32S qui a l'avantage d'être l'un des plus étroit du marché. Plus long mais moins large encore qu'un WEMOS et c'est ce qui m'intéressait.

La batterie 18650 est alimentée au besoin par les rails soit en DCC soit en analogique (DC). Un pont de diodes se charge de redresser le courant en DC.

Sur la photo, on voit l’empreinte des quatre diodes qui ne sont pas encore soudées. La tension de ce courant DC est abaissée de 18v à 5v au travers d'un convertisseur pour être supporté par le BMS 1S qui charge la batterie en continu. A la sortie de la batterie 18650 nous avons un Step-up qui remonte le courant à une tension de 12v pour alimenter le moteur au travers de la carte Pololu TB6612.

(https://alkans.fr/locoduino/img/_DSC9139.jpg)

L'ESP32 est alimenté à partir de ce courant 12v au travers d'un convertisseur 3,3v

Et voilà le résultat :

https://www.youtube.com/watch?v=HdgezKZF06c (https://www.youtube.com/watch?v=HdgezKZF06c)

Je vous joint le code pour l’ESP32 (récepteur). Le code pour le pilotage est écrit en C++ mais sur mon ordinateur. Je vais rapidement faire une version pour ESP32 (émetteur), pour un pilotage très simple : Potentiomètre rotatif sur une entrée analogique et un simple bouton pour l’inversion de sens.

Ce code est assez complet et inclus la possibilité de mise à jour en OTA. Il est en même temps assez simple puisqu'il s'agit de communication en TCP. La connexion n'est jamais fermée entre l'émetteur et le récepteur pour la rapidité des transactions (j'ai même été obligé de ralentir un peu le programme !). Si la connexion est coupée, la locomotive se met immédiatement en eStop.

Dans le fichier Config.h, il y a moyen de régler l'accélération et la décélération de façon indépendante comme sur un décodeur et aussi limiter la vitesse maxi. Il y a également moyen de régler la fréquence de la PWM du moteur que j’ai mise à 30000Hz mais je pense être un peu optimiste.

Je vais aussi adapter une version HTML (tablettes, smartphones) avec des websockets.

Pour la syntaxe des messages, j’ai copié celle de DCC++ adaptée à ce projet spécifique afin de rester dans un univers connu. Ainsi, une commande de traction s’écrit elle <t 100 1> pour commander une traction (t) à la vitesse de 100 en marche avant (1). Il n’y a bien sûr pas de référence à l’adresse du décodeur.

Pour les fonctions, idem <f 128> par exemple.

J’ai fait des tests de sons comme l’a fait Gboule avec des fichiers directement copiés dans la mémoire SPIFFS de l’ESP. Ca fonctionne bien mais comme je n’avais qu’un malheureux transistor 2N2222 en sortie, le volume n’était pas convainquant. J’ai commandé le même ampli que Gboule MAX98357 que je devrais recevoir mercredi. Merci à lui pour le tuyau.

Voilà pour le moment mais je reste très motivé pour avancer sur ce sujet dont je remercie une nouvelle fois Gboule de l’avoir apporté.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le août 14, 2021, 11:55:57 pm
Citer
Je ne vois pas comment ce système pourrait de connaitre la position d'un train donné à un endroit particulier du réseau. S'il est en effet possible d'identifier précisément une locomotive avec un ESP (8266 ou 32), je vois pas comment une balise infra rouge pourrait délivrer un identifiant (par nature unique) qui permettrait de dire : 1 train précis (avec un identifiant unique) est à un endroit précis du réseau identifié lui-même comme tel
L'idée est que les balises émettent en permanence leur identité, comme font les balises de bonne famille, et l'ESP embarqué, en passant dessus, lit cette identité, y ajoute la sienne (c.a.d. celle du train) et transmette le tout à un ordinateur central pour traitement et action.
Les balises en question pourraient être effectivement constituées d'un AtTiny ou autre petit µC bas de gamme, d'une diode IR et d'une résistance.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: JPM06 le septembre 03, 2021, 03:36:50 pm
J'ai reçu mes batteries et j'ai pu terminer mon projet. La batterie utilisée est une 500mAH sans connecteur.
Voici à quoi ressemble l'intérieur de l'automotrice avant fermeture:
(http://amfn.nice.free.fr/perso/jpm/EB1010_montage.jpg)
J'ai ajouté un petit aménagement intérieur:
(http://amfn.nice.free.fr/perso/jpm/EB1010_amenagement.jpg)
J'ai renoncé à mettre un sifflet parce que je n'en ai pas trouvé d'assez petit.
Au final, tout fonctionne bien. Cf: http://amfn.nice.free.fr/perso/jpm/EB1010.mp4 (http://amfn.nice.free.fr/perso/jpm/EB1010.mp4)
Désolé pour la mauvaise qualité de la vidéo, pas facile de filmer et commander l'engin en même temps.
(Nb: la vidéo ne rend pas les éclairages comme dans la réalité).

Maintenant que ça roule, je vais pouvoir peaufiner les réglages: du PWM moteur, de l'éclairage, des accélérations/freinage, etc.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le septembre 12, 2021, 10:09:04 pm
Bravo !

Voila qui démontre que c'est faisable.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Dominique le septembre 14, 2021, 11:05:32 am
Dans le dernier numéro de MRH, il y a un nouveau projet de Geoff Bunza qui s’intéresse aux connexions inter-wagons avec des aimants comme connecteurs:
 https://model-railroad-hobbyist.com/node/43382#comment-485518 (https://model-railroad-hobbyist.com/node/43382#comment-485518)

Ça semble applicable au HO uniquement pour le moment mais je vois aussi des applications dans les décors.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: bobyAndCo le septembre 14, 2021, 05:43:12 pm
Ah oui, c'est intéressant. Pas totalement innovant puisque je pense que les attelages REE font sans doute la même chose.

Par contre, il y a vraiment une bonne idée ici en embarquant un accus 18650 dans un wagon. J'attire vraiment l'attention sur ce principe car il a un vrai potentiel comme par exemple réaliser des super power pack comme je l'ai montré avant dans la loco 241P.

(https://model-railroad-hobbyist.com/sites/model-railroad-hobbyist.com/files/users/geoffb/Power_Car_5207.JPG)

(https://model-railroad-hobbyist.com/sites/model-railroad-hobbyist.com/files/users/geoffb/PowerCarBattery_5215.JPG)

Et comme je l'ai déjà dit, le courant de charge peut être pris sur les rails en DC ou DCC (pont de diodes) et un step up (12V par exemple) mais ce n'est pas le cas ici. L'accus se charge vraisemblablement par la prise USB et le micro switch permet d'économiser l'énergie quand on n'en a pas besoin. 

2500mAh dans un accus c'est considérable pour le HO.
Titre: Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: jeanmi67 le septembre 14, 2021, 06:32:35 pm
 
Bonjour,

Pour Dominique, si cela existe en N, avec 2 pôles et avec 4 pôles

Jean-Michel  :)
Titre: Re : Re : Train HO avec pilotage par ESP8266 à l'intérieur
Posté par: Tony04 le octobre 23, 2021, 06:54:50 pm
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 :  https://www.youtube.com/watch?v=0_9LLsjchTo&t=8s

Bonjour Christophe,

j'aimerais bien essayer ton montage avec la capa de 25000µF mais je ne vois pas comment tu l'as branchée pour conserver l'alimentation du décodeur et du moteur dans les 2 sens de marche, ou alors je me suis trompé sur son usage.
Pourrais-tu me faire un petit croquis ?

Avec mes remerciements.
Antoine