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

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #15 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.

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #16 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 (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

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






Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #17 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

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #18 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

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.

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #19 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

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. Astuce rentrer la référence dans RS particulier, commander le week-end, c'est moins cher !!


Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #20 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/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=

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

« Modifié: juillet 19, 2021, 02:58:32 pm par Gboule »

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #21 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...
« Modifié: juillet 16, 2021, 08:15:50 pm par Gboule »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 540
  • HO avec DCC++
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #22 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.



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.



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.



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 !





« Modifié: juillet 18, 2021, 08:01:05 am par bobyAndCo »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2354
  • 100% Arduino et N
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #23 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.
Les Winners, c'est juste des Losers qui s'acharnent..

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 540
  • HO avec DCC++
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #24 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.



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

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.



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.





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

« Modifié: juillet 18, 2021, 11:01:07 am par bobyAndCo »

Gboule

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Train HO avec pilotage par ESP8266 à l'intérieur
« Réponse #25 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.