LOCODUINO

Discussions Générales => Bus DCC => Discussion démarrée par: bobyAndCo le janvier 09, 2022, 02:58:44 pm

Titre: Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 09, 2022, 02:58:44 pm
Bonjour à tous,

Ce nouveau fil pour la réalisation d’une centrale DCC compatible RailCom (oui je sais c’est déjà dans le titre).

Pour beaucoup de modélistes ferroviaires et en particulier à Locoduino, la découverte de DCC++ a été une véritable révélation. Que son concepteur Gregg E. Berman en soit une fois une nouvelle fois ici remercié.

Mais au fil des ans, DCC++ a montré ses limites. A Locoduino, Thierry en particulier, nous avons beaucoup travaillé à y apporter des améliorations. Ainsi est né par exemple DCCpp écrit sur la base de classes C++ rendant la programmation de base universelle et donc les utilisations potentielles plus larges et simplifiées.

Le projet La Box sur base d’ESP32 est aussi l’une de ces évolutions.

Récemment, à l’occasion de la sortie de la seconde édition du livre de Pascal Barlier, nous avons découvert une nouvelle centrale (non plus sur base de DCC++) mais qui m’a tout de suite intéressée car elle promet de permettre la détection RailCom (qui est aussi absente dans DCC++).

La licence GNU autorisant la modification et la publication du code modifié, j’ai souhaité « élargir » les utilisations de cette nouvelle centrale pour pouvoir la rendre compatible avec les multiples applications open source que nous avons développées ou adoptées autour de DCC++ comme JMRI par exemple.

L’objectif étant de pouvoir bénéficier à terme de la détection RailCom sans avoir à remettre en cause ces différentes configurations existantes.

Je mets en téléchargement un programme de test mais opérationnel qui permet de réaliser une station sur Arduino avec un LMD18200 (dans cet exemple) et qui peut (pour l’instant) être pilotée par le port série par JMRI par exemple mais aussi par toute application capable d’envoyer de informations par le port série.

Toujours pour des raisons de compatibilité, j’ai adopté le protocole de communication de DCC++ tellement connu du type <t 1 12 100 1>. Reportez-vous à l'entête du fichier principal plus d'informations.

L’ambition à ce stade du projet que je soumets n’est autre que de tester le retour d’information RailCom au travers des détecteurs également conçus par Pascal Barlier. Les PCB sont en fabrication et quelques uns d’entre nous se sont déjà proposés pour les tester.

L’autre espoir que j’ai est que la lecture et l’écriture des CVs soient améliorées par rapport à DCC++. Mais ce sera pour plus tard.

Si donc vous utilisez DCC++ et que vous souhaitez en plus pouvoir profiter de la détection RailCom, ce fil devrait vous intéresser et nous comptons sur vous pour nous aider à améliorer le projet.

Bien cordialement

Christophe
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 09, 2022, 11:12:28 pm
Programme validé sur un UNO avec un LMD18200. Le DIR passé sur io 10
Pilotage par une manette via le serial.
Reste à tester le RailCom ...
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 15, 2022, 10:51:26 am
Bonjour à tous,

Une avancée importante dans la réalisation de cette station DCC compatible RailCom avec l’implantation sur ESP32.

Les fonctions de throttle répondent bien, testées avec JMRI en liaison Serial avec différentes locomotives. J’ai fait les tests avec un ESU LokSound v5.0, un Lenz (basic) et, sur la vidéo, un décodeur MFX de Marklin (Trix). Malheureusement, les décodeurs Marklin ne sont pas compatibles RailCom.

N’ayant pas d’oscilloscope ni encore reçu le hard pour tester le RailCom, je ne peux pas encore me prononcer sur ce point.

Pour que la centrale soit opérationnelle, il me reste encore pas mal de travail dont le traitement des commandes de fonctions, la communication en WiFi et en CAN, la détection des surtensions et des courts-circuits...

Je n’ai pas prévu pour ma part de me servir de cette station pour la programmation des décodeurs, ayant déjà un banc pour cela qui fonctionne bien. Mais cela mériterait sans doute d’essayer pour voir si cela peut-être une solution pour ceux qui rencontrent des difficultés sur ce point avec DCC++ ou DCCpp.

https://www.youtube.com/watch?v=AmGNV-QiFVU



Titre: Re : Une station DCC compatible RailCom
Posté par: DDEFF le janvier 15, 2022, 01:35:53 pm
Belle vidéo, très beau banc d'essai.
Mais le principal est ailleurs.

Denis
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 15, 2022, 01:58:22 pm
Oui, dans l'ESP32 ...
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 15, 2022, 06:22:35 pm
Voila un code opérationnel pour une centrale DCC sur ESP32 compatible RailCom.

Pour l'instant, seule la liaison Serial est opérationnelle.

Je précise à nouveau que pour des raisons de compatibilité, j'ai repris le protocole de communication de DCC++ du type <t 4 31 100 1> pour la traction ou <f 31 144> pour les fonctions (Fonctions FL à 12) pour le moment. Cela veut dire que toutes les stations de commandes qui sont compatibles avec DCC++ le sont avec ce programme. C'est particulièrement vrai pour JMRI qui a été utilisé pour les tests.

Attention, la gestion des surtensions et des courts circuits n'est pas implantée, soyez vigilants si vous faites des tests.

Railcom est opérationnel.

Ma prochaine étape sera d'implanter le WiFi.

Merci à ceux qui veulent bien tester et faire des retours.
Titre: Re : Une station DCC compatible RailCom
Posté par: trimarco232 le janvier 15, 2022, 08:13:02 pm
Bonjour,
bravo !
2 questions :
- quel est le timing du cutout dans la séquence des bits du preamble (suis pas cap. de le lire précisément dans ton programme) ?
- quel dispositif pour lire les réponses des décodeurs ?
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 15, 2022, 08:55:17 pm
Le cutout, comme toutes les trames DCC est généré dans la méthode sous interruption void IRAM_ATTR DCC::interrupt(void)

C'est une méthode callback passée à la fonction timerAttachInterrupt et appelée toutes les 28µs (Pascal Barlier suggère 29µs mais bon... dans mon cas ça fonctionne) 28µs correspond à 1/4 de trame pour le bit 1.

  timer = timerBegin(0, 80, true);
  timerAttachInterrupt(timer, &DCC::interrupt, true);

  timerAlarmWrite(timer, 28, true);
  timerAlarmEnable(timer);

Dans la méthode interrupt, toutes les 28µs, un compteur est décrémenté et, tant qu'il est supérieur à 0, la pin brake est maintenu à LOW

case DCC_CUT_1: // 1/2 bit : zone de coupure
      switch (m_dataMode)
      {
        case DCC_PACKET_CUTOUT :
          if (!--m_cutoutCount)
          {
            m_dataMode = DCC_PACKET_HEADER;
            m_headerCount = DCC_HEADER_SIZE;
            digitalWrite(PIN_BRAKE, LOW);
          }
          else
            digitalWrite(PIN_BRAKE, HIGH);
          break;
        default :
          m_cut = DCC_CUT_0;
      }

La méthode interrupt se comporte comme une machine d'état qui toutes les 28µs positionne les pins en fonction des combinaisons de variables.

Comme j'ai pu le préciser un peu plus haut, je n'ai pas implanté les fonctions pour lire ou écrire dans les décodeurs. Je cherche avant tout à réaliser des tests de détection RailCom.

Dans l'ensemble, les méthodes de mes classes sont du "copié-collé" de ce qu'a écrit Pascal Barlier avec des adaptations bien sûr. Il ne serait pas très compliqué d'adapter le code de lecture écriture de CV à mon propre code.

Et comme, je le rappelle, j'ai adopté la messagerie de DCC++, il suffit donc d'utiliser une application compatible DCC++ (comme JMRI) pour cela.
Titre: Re : Une station DCC compatible RailCom
Posté par: trimarco232 le janvier 15, 2022, 09:05:02 pm
ok, merci
Titre: Re : Re : Une station DCC compatible RailCom
Posté par: msport le janvier 15, 2022, 09:06:38 pm
... lire les réponses des décodeurs ?

 les réponses RailCom des décodeurs ? : le at-retour de Pascal Barlier
 les réponses CV des décodeurs ? : rien ici puisqu'on ne mesure pas le courant DCC
Titre: Re : Re : Une station DCC compatible RailCom
Posté par: msport le janvier 15, 2022, 10:15:36 pm
tester et faire des retours.

Testé avec le montage sur table comme avec le UNO ci-dessus. HO en 12V
On voit le RailCut à l'oscillo.
le DCC est  bien digéré par un ZIMO d'usine (je crois) dans une loco LENZ
peut être un peu de bruit (??) avec une LOCO ROCO avec un décodeur LAISDCC basique

A noter : l'initialisation du DCC serait à améliorer, les locos démarrent tant que le montage n'a pas reçu le <1>

On va regarder de plus près demain.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 15, 2022, 10:47:19 pm
A noter : l'initialisation du DCC serait à améliorer, les locos démarrent tant que le montage n'a pas reçu le <1>


Euhhhh, c'est que y a pas encore de <0> ni de <1>, sniff !!!
Titre: Re : Re : Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 16, 2022, 01:42:35 pm
A noter : l'initialisation du DCC serait à améliorer, les locos démarrent tant que le montage n'a pas reçu le <1>

Pour être agréable avec sa Seigneurie, voici le programme modifié qui place dans le setup() la pin ENABLE sur LOW (coupant ainsi l'alimentation des rails) La commande pour mettre sous tension est <1> (la réponse est <p1>). Pour couper l'alimentation, la commande est <0> (la réponse est <p0>). Comme je l'ai dit, ce sont les commandes de DCC++. Elles ne sont pas toutes implantées, loin s'en faut, mais celles qui le sont sont compatibles.

En prime, j'ai ajouté la lecture de la consommation de courant sur la pin 15 #define CURRENT_MONITOR_PIN_MAIN    GPIO_NUM_15

J'ai déterminée que la tension max sur la pin serait de 2,7v, ce qui correspond à une valeur de 3200 sur 4096 (3,3v)

#define CURRENT_SAMPLE_MAX 3200 // 2,7 V

Au delà de cette valeur 3200, la pin ENABLE est placée à LOW

La protection contre les courts circuits fonctionne, cependant, je n'ai pas étalonné ces mesures et il sera prudent de placer CURRENT_SAMPLE_MAX à 500 ou 1000 pour commencer
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 16, 2022, 05:11:02 pm
Il n'y a qu'à Locoduino qu'on est servi comme ça !

Fonctionnement sans problème avec mes deux locos fétiches.

Et les premières photos du cutout nouveau né :

Pour le contrôle du courant, l'utilisation de la broche 8 du LMD18200 a été rappelée récemment.
En connectant, par exemple, une résistance de 2,7 K Ohm entre cette broche 8 et et GND on a une sensibilité d’environ 1V/A.
Ce qui donne avec la valeur de 2,7V, une protection à 2,7A.
Néanmoins cette sortie peut atteindre 12V si on a un courant de court-circuit de 12A, il faut donc prévoir une limitation à 3,3V pour ne pas détruire l'entrée de l'ESP32.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 16, 2022, 05:19:24 pm
Le signal est propre !

Par contre, ici, ça mériterait un petit schéma :

Pour le contrôle du courant, l'utilisation de la broche 8 du LMD18200 a été rappelée récemment.
En connectant, par exemple, une résistance de 2,7 K Ohm entre cette broche 8 et et GND on a une sensibilité d’environ 1V/A.
Ce qui donne avec la valeur de 2,7V, une protection à 2,7A.
Néanmoins cette sortie peut atteindre 12V si on a un courant de court-circuit de 12A, il faut donc prévoir une limitation à 3,3V pour ne pas détruire l'entrée de l'ESP32.

... car en fonction de l'age du capitaine dont la belle sœur couche avec le boulanger qui a trois enfants dont deux d'une première noce, alors on peut en déduire que la mer sera haute à 17 H 23 !!!
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 16, 2022, 06:34:14 pm
Le montage a été rappelé dans ce message ;
https://forum.locoduino.org/index.php?topic=796.msg14570#msg14570
Le schéma théorique nécessite de souder un fil volant vers pin 15 et une résistance au dos du circuit imprimé du module vers GND. (+ protection)


Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 16, 2022, 07:18:31 pm
Effectivement, c'est d'une grande simplicité. Mais je croyais pourtant que cette solution avait été déconseillée dans Locoduino même !
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 16, 2022, 07:36:12 pm
... je pense que c'est le fait de devoir souder sur un module alors que les montages à LMD18200 + Nano se réalisent normalement avec des câbles DuPont.

Autres retours d'expérience attendus.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 17, 2022, 12:33:39 am
Voilà le programme pour piloter la centrale en WiFi avec un ESP32.

L’adresse IP « en dur » dans le programme est 192.168.1.200, adresse généralement utilisée pour les centrales DCC comme pour le port fixé à 2560. Mais vous pouvez bien sûr modifier cette adresse.

Dans le fichier « Config.h » vous devrez renseigner lignes 12 et 13 les paramètres propres à votre box.

#define WIFI_SSID              "xxxxxxxxxxxxxxx"
#define WIFI_PSW               "xxxxxxxxxxxxxxx"

ATTENTION : Vous devez lancer JMRI qu'après avoir démarré l'ESP32.

Lorsque vous lancerez JMRI pour la première fois avec cette nouvelle centrale, il vous demandera probablement de modifier les paramètres de connexion. Il faudra utiliser DCC++ Ethernet, vérifier l’IP et le port. Voir la copie d'écran jointe.

La mesure de courant a été reportée sur la pin 36.

J’attends vos retours pour modifier ce qui ne fonctionnerait pas (bien).
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 23, 2022, 05:38:07 pm
J'avais fait un peu vite pour mettre le code de la v_06 en ligne. Ca marchait bien en WiFi, mais plus en Serial !!!

Du coup, j'ai supprimé le téléchargement de la v_06 sur le dernier post et je vous met ici la v_07. Si vous ne l'avez pas encore testée, je vous invite vraiment à le faire. Cette petite station est très ludique et fonctionne bien.

Je suis en train de porter dessus un petit contrôleur HTML que j'avais déjà réalisé (4 à 6 locos) utilisable sur un smartphone par exemple. C'est très sympa et ça permet de faire tourner des trains rapidement sans avoir à se prendre la tête.
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 23, 2022, 10:47:38 pm
Testé avec le serial, toujours OK.

Mais toujours surpris, avant passer une commande (hors <1> initial), la loco posée sur les rails démarre à fond.

Pour la protection C/C, j'ai vu 3200/ 4096 * 3.3 = 2,6 soit 2,6 A avec notre habituel 1V/A

On continue à suivre les actualités.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 23, 2022, 10:58:30 pm
Mais toujours surpris, avant passer une commande (hors <1> initial), la loco posée sur les rails démarre à fond.



C'est que la commande ne respecte pas le protocole DCC++. Quand la centrale reçoit la commande "S" elle envoie alors la commande <p0> qui demande au controleur de se mettre en OFF

case 'S' :
      //      static bool start = false;
      //      if (! start) {
      client->print("<p0>");
      //        start = true;
      //}
      break;

Par ailleurs mon code respecte le protocole DCC++

case '0' :
      digitalWrite(PIN_PWM, LOW);
      client->printf("<p%c>", com[0]);
      break;

    case '1' :
      digitalWrite(PIN_PWM, HIGH);
      client->printf("<p%c>", com[0]);
      break;

Essaye avec JMRI, et tu verras qu'il n'y a pas ce problème
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 10:41:57 am
Le sniffer a parlé : pas de trame idle comme il se devrait après le <1>.
Et l'oscillo ne voit que des bit 0 jusqu'à la première commande DCC.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 24, 2022, 10:49:11 am
Bon m***de alors. Comme je te le disais, je n'ai pas le problème avec JMRI. Je vais regarder mais je n'ai pas beaucoup de temps cette semaine.

Ca t'es possible de faire un test avec JMRI pour voir si c'est toujours le cas ?
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 11:10:24 am
... pas réussi à faire communiquer le montage avec ma version de Decoder Pro en USB (port identifié mais statut ON/OFF inconnu)
et commandes DCC++ pas reçues - dont <1>.
Alors que passé immédiatement sur l'IDE le <1> allume le DCC.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 24, 2022, 11:23:40 am
Tu es bien sur la dernière version que j'ai mis en téléchargement hier, la v0.7 ? Car elle résout justement ce problème
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 11:53:52 am
Project :      DCCxx ESP32 WIFI

Version   :      v 0.7

Fichier   :      C:\Users\miche\Documents\Arduino\Locoduino\Christophe Bobille\DCCxx_v_0.7_wifi_ESP32\DCCxx_v_0.7_wifi_ESP32.ino

Compiled  :     Jan 23 2022 - 22:05:31

End setup

Tout frais sorti de Locoduino !
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 24, 2022, 12:11:32 pm
Ca veut dire que quand tu lances JMRI, le bouton power est en jaune, c'est bien cela ?
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 12:12:52 pm
yes
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 24, 2022, 12:58:29 pm
on c'est vrai que j'ai aussi un problème en port USB. Par contre, ça fonctionne bien en WiFi avec JMRI

Dans config.h, il faut entrer lignes 12 et 13 l'identifiant du réseau et le password de la box

#define WIFI_SSID              "xxxxxxxxxx"
#define WIFI_PSW               "xxxxxxxxxx"

et placer #define COMM_INTERFACE   1 ligne 19 à 1

Par defaut, dans le fichier .ino, les réglages sont : Adresse IP à 192, 168, 1, 200

#if COMM_INTERFACE == 1
  IPAddress local_IP(192, 168, 1, 200);
  IPAddress gateway(192, 168, 1, 1);
  IPAddress subnet(255, 255, 255, 0);

Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 02:37:38 pm
Connexion à Firefox avec des <a 0>

mais mon JMRI n'y arrive pas :
Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le janvier 24, 2022, 04:26:32 pm
Bonjour Michel

Ce test a été réalisé avec la version non WIfi (impossible de me connecter en Wifi)

Essaye dans JMRI avec la connexion serial port.
Je n'ai pas pu me connecter que de cette manière, au bout de très peu de temps d'utilisation JMRI à couper

Marcel
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 04:58:01 pm
C'est ce que j"ai tenté ce matin en connexion USB (sketch VO)

et dans le trafic moniteur j'ai :
 Prog Read Cmd: CV: 29, Callback Num: 0, Callback Sub: 82

En résumé sur
la V7 d'origine connexion directe via radio sur RX/TX : OK sans JMRI
la V7 d'origine connexion USB pas d'erreur avec le port COM le programmateur est dit en ligne mais on/off est en jaune. Rien ne bouge
la V7 configurée WIFI connexion via Box, connexion JMRI OK mais  DCC++ non reconnu
Titre: Re : Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 24, 2022, 05:56:43 pm
Connexion à Firefox avec des <a 0>

mais mon JMRI n'y arrive pas :

Popopop Faut changer de lunettes. L'adresse IP que je vois sur la copie d'écran est 198.168.0.200 alors que celle que j'ai programmée est 192.168.1.200

L'adresse programmée est logique avec un masque de sous réseau à 255.255.255.0.
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 07:15:58 pm
Eh non, ce n'est pas une question de lunettes. Chez Free on est dans la série des 192.168.0.xx
C'est donc modifié volontairement comme pour toutes les applis wifi que j'utilise ...
Et le masque de sous réseau est bien  255.255.255.0
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 24, 2022, 07:30:57 pm
Donc tu as bien changé dans le code qui à l'origine est :

//  IPAddress local_IP(192, 168, 1, 200);
//  IPAddress gateway(192, 168, 1, 1);
//  IPAddress subnet(255, 255, 255, 0);
//  if (!WiFi.config(local_IP, gateway, subnet))
//    Serial.println("STA Failed to configure");
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le janvier 24, 2022, 08:56:00 pm
oui :

#if COMM_INTERFACE == 1
  IPAddress local_IP(192, 168, 0, 200);
  IPAddress gateway(192, 168, 0, 1);
  IPAddress subnet(255, 255, 255, 0);
  if (!WiFi.config(local_IP, gateway, subnet))
    Serial.println("STA Failed to configure");
  WiFi.begin(WIFI_SSID, WIFI_PSW);
  while (WiFi.status() != WL_CONNECTED) {

et on me dit gentiment

Version   :      v 0.7

Fichier   :      C:\Users\miche\Documents\Arduino\Locoduino\Christophe Bobille\DCCxx_v_0.7_wifi_ESP32w\DCCxx_v_0.7_wifi_ESP32w.ino

Compiled  :     Jan 24 2022 - 14:01:07

.....
WiFi connected.
IP address: 192.168.0.200
End setup

et de cette adresse 200, je récupère une flopée de <a 0>
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le janvier 30, 2022, 09:33:47 pm
Bonjour à tous,

J’ai finalisé et testé la dernière version 1.2 de cette station DCC sur ESP32. Les résultats sont très encourageants.

Elle fonctionne en mode Serial et WiFi et reprend, comme je l’ai déjà précisé, le protocole de messagerie de DCC++. Elle est donc totalement compatible avec JMRI par exemple.

Pour l’utilisation du Wii avec JMRI, il faut utiliser les réglages proposés pour Ethernet. L’adresse IP programmée par défaut dans le fichier Config.h est 192.168.1.200 mais peut bien sûr être modifiée pour s’adapter à votre propre réseau.

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

Tous les principaux réglages ont par ailleurs été regroupés dans ce fichier Config.h

Lignes 13 et 14 l’identifiant et le mot de passe de votre réseau
Lignes 7, 8 et 9 les broches à relier au LMD18200 mais que vous n’avez normalement pas besoin de modifier
Ligne 11, la broche qui va recevoir la mesure du courant
Ligne 19 la sélection entre la liaison Serial (0) ou WiFi (1)

Cette station ne permet que la conduite de locomotives et l'activation des fonctions F0 à F12. Elle ne peut donc pas être utilisée pour la programmation de CVs.

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

Il subsiste quelques petits problèmes comme le démarrage intempestif de certaines locomotives à la mise sous tension.

Bien sûr, je ne peux que vous inciter à tester cette petite centrale ludique est facile à mettre en œuvre à laquelle on peut se connecter sans fil.

Je travaille par ailleurs à la finition d’une petite interface de télécommande pour smartphones dans l’esprit de WITHROTTLE.

J’attends aussi avec intérêt vos retours.

Les fichiers sont téléchargeables à partir du Github de Locoduino : https://github.com/Locoduino/DCCxx-ESP32-WiFi-Railcom

Titre: Re : Une station DCC compatible RailCom
Posté par: Dominique le janvier 31, 2022, 09:09:48 pm
Moins de chance pour moi hier soir à cause d'une mauvaise soudure (Ah le bleu !),
 mais ça marche nickel maintenant selon le câblage minimum de Michel, (4 fils entre l'ESP32 et le LMD18200 : Un ESP32 alimenté par l'USB (le moniteur de l'IDE) ou un 5V produit par un 7805 connecté à l'alim 12V:
Project :      DCCxx ESP32 WIFI RAILCOM

Version   :      v 1.2

Fichier   :      /Users/dominiquebultez-1/Desktop/DCCxx-ESP32-WiFi-Railcom-main/DCCxx-ESP32-Railcom/DCCxx-ESP32-Railcom.ino

Compiled  :      Jan 31 2022 - 10:31:56

<p0>End setup

1
<p1>t 1 26 15 1
<T 1 15 1>
La commande <1> alimente les rails et la loco @26 se lance à vitesse 15 de façon satisfaisante


Un coup d'oeil au sniffer DCC montre que la qualité du signal DCC est correcte
(https://forum.locoduino.org/index.php?action=dlattach;topic=1352.0;attach=4462;image)

Titre: Re : Une station DCC compatible RailCom
Posté par: msport le février 01, 2022, 04:34:56 pm
Et un test positif avec JMRI via une Freebox : adresses en 192.168.0.xx et non en 192.168.1.xx

Le config.h du programme :

// DEFINE COMMUNICATIONS INTERFACE
//  0 = Serial Port
//  1 = Wifi
#define COMM_INTERFACE 1

#if COMM_INTERFACE == 0
#define INTERFACE HardwareSerial
#elif COMM_INTERFACE == 1
#include <WiFi.h>
#define INTERFACE WiFiClient
#define LOCAL_IP 192, 168, 0, 200
#define PORT 2560
#endif

et les écrans de JMRI joints, à partir de Edition / Préférences :
Titre: Re : Re : Une station DCC compatible RailCom
Posté par: msport le février 01, 2022, 05:30:27 pm
Et un test positif ...
Ne craignez rien, vous ne serez pas cas contact !
Titre: Re : Une station DCC compatible RailCom
Posté par: Dominique le février 01, 2022, 06:06:30 pm
et un test positif (aussi) avec RocRail :

Finalement RocRail me semble plus intuitif et moins prolixe en fenêtres ouvertes à tous les vents...
Titre: Re : Une station DCC compatible RailCom
Posté par: Dominique le février 01, 2022, 06:24:54 pm
et un oscillogramme montrant des bits 0 et 1 corrects (à 10 % près environ d'après le sniffer)
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le février 01, 2022, 07:22:56 pm
Bon, puisque nous arrivons tous à la conclusion que ça fonctionne globalement bien il aurait été intéressant d'avoir un retour de Thierry pour savoir si c'est susceptible de relancer le projet la Box ?
Titre: Re : Une station DCC compatible RailCom
Posté par: Thierry le février 02, 2022, 10:00:18 am
Ce qui est curieux avec ces résultats, c'est que LaBox utilise exactement la même méthode par interruption pour générer les trames et semble moins fiable sur la qualité des bits envoyés. Les tests que j'ai réalisé de mon côté avec DCCpp version ESP32, qui est identique à LaBox pour le DCC, sont aussi mauvais que pour LaBox. Je voulais justement voir si les à côté de LaBox (gestion des Throttles avec le Wifi et le reste...) ne perturbaient pas le signal...
Donc pour résumer, le projet de Christophe a un bon signal, alors que DCCpp et Labox qui utilisent le même moteur non...
Le projet LaBox est bloqué de mon côté surtout du fait de la lecture des CV qui ne marche pas. J'ai tenté de multiple approche, et rien ne va. Et je manque effectivement un peu d'idées sur comment avancer sur le sujet.
Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le février 02, 2022, 12:19:20 pm
Bonjour
Le test se poursuis depuis 2 hrs.
(http://)


Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le février 25, 2022, 07:04:53 pm
Fin de journée, petit montage Furtif  :)

JMRI + Engine Driver

Montage ESP32 => Christophe (voir précédemment)
Montage Décodeur => Eric (voir http://forum.locoduino.org/index.php?topic=1310.0)

Pas de RailCom,  reste la lumière et le changement du numéro.
Tout ceci pour dire que cela fonctionne.

(https://forum.locoduino.org/index.php?action=dlattach;topic=1352.0;attach=4535;image)


Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le septembre 21, 2022, 09:50:08 am
Bonjour à tous,

Voici des bonnes nouvelles concernant ce sujet. Avec toute la persévérance qu’on lui connaît, Marcel a produit un détecteur Railcom qui fonctionne parfaitement avec la centrale que j’ai développée et qui est l’objet de ce fil. Je rappelle que cette centrale génère le CUTOUT nécessaire, ce que ne font pas toutes les centrales comme DCC-EX !

J’ai pu tester avec sept locomotives équipées de décodeurs ESU et Zimo. Les détections sont parfaites et je n’ai aucune erreur.

Pour les locos qui ne sont pas équipées de Railcom, Marcel a trouvé des petits composants qui se placent dans les locos et qui envoient un message Railcom reconnu par le détecteur.

Personnellement, je considère que la combinaison de cette centrale Wifi très compacte et la reconnaissance des décodeurs Railcom sont des évolutions importantes pour le modélisme ferroviaire en DIY et pour Locoduino.

Reste à multiplier les tests, le nombre et la diversité des marques de décodeurs mais les premiers résultats sont encourageants et prometteurs.

Je pense que Marcel mettra dès que possible les Gerber et la liste des composants. De mon côté, je vous mets le code pour ESP32 ainsi que le programme de la centrale pour que vous n’ayez pas à le chercher.

Si Marcel en est d’accord, je pense que nous ferons un article d’ici quelques semaines pour expliquer tout cela de long en large.

Le détecteur :

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

La centrale :

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



Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le septembre 21, 2022, 06:18:40 pm
Bonsoir à tous

En complément du post de Christophe (merci à lui pour le soft)

Il faut rendre à César ce qui appartient à « Thomas Hörndlein » 

https://www.stummiforum.de/t142080f21-Lokerkennung-mittels-Railcom-selfmade.html

https://www.youtube.com/watch?v=nomi5a_MVZg&ab_channel=Robokalle

Je suis parti de sa réalisation  & de nombreuses recherches sur Web.

Vous trouverez ci-joint photos, plan, liste des composants, etc…
Pour le fichier Gerber, mon ami Eric étant absent, il nous le fournira  dès que possible

Si vous n’avez pas de décodeur Railcom, ESU commercialise un décodeur  ref  54680 qui peut être associé en parallèle avec le décodeur de votre matériel.
Pour la programmation si la demande s’en fait sentir je peux faire un post.
Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le septembre 21, 2022, 06:19:46 pm
suite
Titre: Re : Une station DCC compatible RailCom
Posté par: nopxor le septembre 26, 2022, 05:15:43 pm
Bonjour,

Ci-joint le zip des fichiers Gerber du circuit imprimé détecteur Railcom.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le septembre 27, 2022, 03:33:43 pm
Merci Eric, je vais lancer une fabrication d'une vingtaine. Si certains en veulent qu'ils se manifestent. Il sera toujours possible de relancer un nouveau jet.
Titre: Re : Une station DCC compatible RailCom
Posté par: nopxor le septembre 27, 2022, 05:30:53 pm
Bonjour,
Pour rendre compatible Railcom n'importe quel décodeur, il y a le projet Bi-Di open-source japonais à base D'ATMEGA328P:
https://nagoden-la-coocan-jp.translate.goog/?_x_tr_sch=http&_x_tr_sl=auto&_x_tr_tl=fr&_x_tr_hl=fr&_x_tr_pto=wapp
Titre: Re : Une station DCC compatible RailCom
Posté par: nopxor le septembre 27, 2022, 08:49:35 pm
Il y a aussi la version de Paco à base de PIC:
https://usuaris.tinet.cat/fmco/railcom_en.html#dccrail
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le septembre 27, 2022, 10:55:59 pm
La page en coréen n'est pas traduite pour moi avec Google traduction !!! Et en coréen c'est pas facile à comprendre.

Avec Paco ce qui est dommage, c'est qu'il ne quitte pas les PIC ! Et on n'a pas le code. Il faudrait pouvoir faire la même chose avec un Attiny mais n'est pas encore trop gros ?

Marcel a trouvé des solutions du commerce chez ESU, ref 54680. Il y a pénurie mais j'en ai trouvé sur E-bay à 70 - 75€ les 5 : https://www.ebay.fr/sch/i.html?_from=R40&_trksid=p2047675.m570.l1313&_nkw=esu+54680&_sacat=0

Il existe un produit similaire chez Uhlenbrock appelé LISSY mais plus couteux.

A placer par exemple sous la loco :

(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSige4sMLkiRQ7xLLXIdHFqWU_ZHZu1mFoY9w&usqp=CAU)
Titre: Re : Une station DCC compatible RailCom
Posté par: nopxor le septembre 28, 2022, 11:24:03 am
La page d'acceuil n'est effectivement pas traduite,
mais il faut cliquer sur le lien de couleur jaune, marqué: 57. BiDi(Railcom)Sender
normalement la page s'ouvre et elle est traduite.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le octobre 03, 2022, 10:36:58 am
Bonjour à tous,

Il y avait un bug dans la version 1.3 du programme de la centrale. Du coup, voici la v 1.4.
Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le octobre 03, 2022, 01:43:16 pm
Bonjour à tous,

Ce matin, implantation du détecteur Railcom « version Marcel » sur mon réseau en utilisant la centrale ESP32 Railcom. Fonctionnement parfait des locomotives et de la détection pour les adresses longes et les adresses courtes.

La centrale génère parfaitement le CUTOUT

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

Le premier programme de test que j’avais mis à disposition pour lire les adresses de locomotives utilisait une interruption (broche 13 de l’ESP32 reliée au brake du LMD18200).

J’ai réalisé un autre programme test de lecture qui n’utilise plus d’interruption et lit les données du détecteur Railcom avec la broche 14. C’est l’entrée Serial1 de l’ESP32. Je rappelle que la vitesse de transmission est de 250 000 bauds.


(https://alkans.fr/locoduino/img/2022-10-03-a-13.14.06.jpg)


(https://alkans.fr/locoduino/img/2022-10-03-a-13.09.08.jpg)

Ces deux programmes sont en téléchargement ci-dessous.

Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le octobre 03, 2022, 01:49:15 pm
Bonjour Christophe
C'est une bonne nouvelle, j'espère que nos lecteurs pourrons faire le montage et nous donner leurs appréciations
Titre: Re : Une station DCC compatible RailCom
Posté par: Dominique le octobre 03, 2022, 04:02:26 pm
Excellents résultats et bravo à tous les deux  ;D ;D ;D ;D

Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le octobre 06, 2022, 07:04:33 pm
Bonsoir,

Ci-joint le schéma de montage de la Version 1 (connexion entre le "BRAKE" du LMD et la pin 13 de l'ESP)
Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le octobre 11, 2022, 10:20:30 am
Bonjour
En complément, vous trouverez ci-joint la programmation (format pdf _2 fichiers) du Décodeur Railcom ESU 54680
Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le octobre 11, 2022, 10:21:20 am
Partie 2
Titre: Re : Une station DCC compatible RailCom
Posté par: msport le octobre 11, 2022, 11:18:56 am
Bonjour à tous,

un point d'étape sur ce projet, avec les éléments que mes amis m'ont communiqués :
(j'ai juste ajouté un afficheur oled).

J’ai rationalisé les alimentations avec :
https://fr.aliexpress.com/item/1005001426023425.html
  0.79 + 0.92€

D’où le schéma.

Attention, actuellement, je n'ai obtenu que la lecture des adresses longues.

Les programmes :

Centrale Railcom :      DCCxx ESP32 WIFI
Version   :      v 1.4
que vous devez personnaliser dans config.h pour JMRI:

// DEFINE COMMUNICATIONS INTERFACE
//  0 = Serial Port
//  1 = Wifi
#define COMM_INTERFACE   1  // par défaut

#define WIFI_SSID              "xxxxxxxxxxxx"
#define WIFI_PSW               "yyyyyyyyyyy"

#if COMM_INTERFACE == 0
  #define INTERFACE HardwareSerial
#elif COMM_INTERFACE == 1
  #include <WiFi.h>
  #define INTERFACE   WiFiClient
  #define LOCAL_IP    192,168,0,200  // 0 pour free, 1 pour orange et sfr à reporter dans Éditer connexions de JMRI

et
Railcom Detector ESP32 (sans interruption)
Version :      v 0.3

Apparemment, il est nécessaire d’envoyer une commande à la locomotive concernée avec JMRI pour avoir une lecture de l’adresse.


Titre: Re : Une station DCC compatible RailCom
Posté par: bobyAndCo le novembre 19, 2022, 05:23:19 pm
Bonjour à tous,

En complément de la carte de détection Railcom© que nous vous avons présenté un peu avant dans ce fil, nous avons avec Marcel (Catplus pour les intimes) réalisé une carte permettant l'affichage de l'adresse de la loco avec un afficheur LED 7 segments. La sortie TX de la carte de détection est à souder sur l'entrée RX de l'afficheur, fil vert.

L'afficheur est à Anode commune. L'ensemble de la carte s'alimente en 5V.

Les 4 transistors sont de classiques PN2222A, les résistances entre l'ESP32 et la base des transistors sont des 1KΩ.

Le 7 résistances de l'afficheur sont ici des 68Ω, mais on pourra réduire cette valeur si l'on souhaite plus d'intensité.

Vous trouverez en fichiers joints, le GERBER ainsi que le code du programme.

Ajout le 28/11/2022 de la dernière version du programme :  Railcom_FreeRTOS_display7segments-221129a.zip

(https://alkans.fr/locoduino/railcom/_DSC0374.jpg)

Titre: Re : Une station DCC compatible RailCom
Posté par: CATPLUS le novembre 30, 2022, 03:37:32 pm
Bonjour à tous,

Une petite vidéo

https://vimeo.com/manage/videos/776623388