LOCODUINO

Parlons Arduino => JMRI et Arduino => Discussion démarrée par: JLuc le octobre 17, 2021, 09:17:21 pm

Titre: Pas de communication avec décodeur
Posté par: JLuc le octobre 17, 2021, 09:17:21 pm
Bonjour

J'ai réalisé une centrale DCC++ basée sur un arduino Méga selon un article de ce site.
Elle fonctionne très bien. Les 2 leds de sortie (voie programmation et voie principale) s'allument. Avec un réglage à 16 v du transfo principal, j'ai 12 v sur les rails en N.
J'ai mis à jour la bibliothèque avec DCCpp.
Lorsque j'utilise JMRI décoder pro, je mets sous tension en haut au milieu.
Je clique sur Nouvelle loco.
Je fais une lecture du décodeur.
Malheureusement, un message me dit : Stopping due to error : Pas de confirmation de la locomotive (308)
Quel est le problème?

Merci pour votre aide
Cordialement
JLuc
Titre: Re : Pas de communication avec décodeur
Posté par: AmadeusHF le octobre 18, 2021, 10:46:09 am
Bonjour : cela signifie que la lecture des CV depuis la locomotive ne fonctionne pas.
Lorsque vous demandez l'ajout d'une loco, l'application tente d'identifier le décodeur en lisant plusieurs CV : 1, 7, 8, etc...

Si la loco "gigotte" durant cette opération c'est que les commandes de lecture lui arrivent bien...mais que le boitier DCC++ n'arrive pas à lire la réponse du décodeur depuis la voie....autrement dit que la mesure du courant consommé sur la voie de programmation ne marche pas.

Quel schéma avez-vous utilisé pour votre montage et, surtout, quel composant pour la mesure de courant ? Et comment l'avez-vous monté ?
Titre: Re : Pas de communication avec décodeur
Posté par: Jeje_12_34 le octobre 18, 2021, 12:05:47 pm
Bonjour J Luc

J'ai peur que ce soit ton, max471 qui soit foireux, comme la plupart, désormais.

Il y a des personnalisations a effectuer dans la bibliothèque DCCpp en fonction de ta configuration. Pourrais tu les détailler ?

Pourrais tu également tester avec une autre loco si tu y  as accès  ? S'il le faut c'est ton décodeur qui est mort.

Et puis tant qu'on y est, pourrais tu poster ton sketch complet que je puisse comparer avec le mien qui fonctionne sur une configuration similaire à la tienne puisque issue du même article.
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le octobre 18, 2021, 06:56:57 pm
Bonjour : cela signifie que la lecture des CV depuis la locomotive ne fonctionne pas.
Lorsque vous demandez l'ajout d'une loco, l'application tente d'identifier le décodeur en lisant plusieurs CV : 1, 7, 8, etc...

Si la loco "gigotte" durant cette opération c'est que les commandes de lecture lui arrivent bien...mais que le boitier DCC++ n'arrive pas à lire la réponse du décodeur depuis la voie....autrement dit que la mesure du courant consommé sur la voie de programmation ne marche pas.

Quel schéma avez-vous utilisé pour votre montage et, surtout, quel composant pour la mesure de courant ? Et comment l'avez-vous monté ?

Bonjour AmadeusHF

Merci pour votre réponse.
J'ai réalisé le montage : https://www.locoduino.org/spip.php?article253 (https://www.locoduino.org/spip.php?article253)
Je mesure la tension avec un multimètre en continu sortie transfo et en alternatif sortie carte moteur.

Bonjour J Luc

J'ai peur que ce soit ton, max471 qui soit foireux, comme la plupart, désormais.

Il y a des personnalisations a effectuer dans la bibliothèque DCCpp en fonction de ta configuration. Pourrais tu les détailler ?

Pourrais tu également tester avec une autre loco si tu y  as accès  ? S'il le faut c'est ton décodeur qui est mort.

Et puis tant qu'on y est, pourrais tu poster ton sketch complet que je puisse comparer avec le mien qui fonctionne sur une configuration similaire à la tienne puisque issue du même article.
Merci Jeje pour ta réponse

Je vais enlever le Max 471. C'est vrai que j'ai déjà lu qu'il pouvait poser problème.
J'ai installé la bibliothèque DCCpp sans modification, telle que je l'ai téléchargée sur Github.
J'ai testé avec une loco. Même résultat. Elles fonctionnent avec une centrale Z21.

Le sketch est d'origine (sans la moindre modif) DCC++ (de 2016, lien dans l'article) avec la bibliothèque DCCpp sur Github.

Cordialement
JLuc
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le octobre 18, 2021, 08:14:45 pm
J'ai shunté le Max471. Ca ne fonctionne pas mieux.
Le message d'erreur est : Found mfg 192 version 255, no such manufacturer defined. Sur une machine LS Model
et Found mfg 252 version 254, no such manufacturer defined. Sur une machine Piko
Les decodeurs sont en première monte d'origine.
Titre: Re : Pas de communication avec décodeur
Posté par: Jeje_12_34 le octobre 18, 2021, 09:01:00 pm
Il ne faut pas shunter ni enlever le max471, c'est lui qui permet la communication avec les décodeurs :)
 
Il faut le tester (plusieurs sujets traitent de cette problématique sur le forum) et le remplacer par un autre composant s'iol est foireux . La aussi,  tu as quelques discussions sur ce sujet .

JMRI t'indique qu'il ne reconnait pas tes locos. C'est que le max471 ne fait pas son travail et/ou que le sketch est mal configuré.

Si  tu veux utiliser la bibliothèque DCCpp, il ne faut plus utiliser DCC++ .
Le sketch devient tres court.

Je te montre mon sketch en connexion USB mais que je n'ai utilisé que pour le test  (enfin, il fonctionnait il y a quelques mois, mais je ne peux plus le tester, tout est démonté chez moi)

/*************************************************************
project: <Dc/Dcc Controller>
author: <Thierry PARIS>
description: <Dcc Serial Controller sample>
*************************************************************/

#include "DCCpp.h"

#ifndef USE_TEXTCOMMAND
#error To be able to compile this sample,the line #define USE_TEXTCOMMAND must be uncommented in DCCpp.h
#endif

void setup()
{
Serial.begin(115200);
 Serial.println("le setup est lancé");

DCCpp::begin();
  Serial.println(" DCCPP est lancé");
 
  // Configuration for my LMD18200. See the page 'Configuration lines' in the documentation for other samples.
#if defined(ARDUINO_ARCH_ESP32)
  DCCpp::beginMain(UNDEFINED_PIN, 33, 32, 36);
#else
 

  DCCpp::beginMain(UNDEFINED_PIN, DCC_SIGNAL_PIN_MAIN, 3, A0);
  DCCpp::beginProg(UNDEFINED_PIN, DCC_SIGNAL_PIN_PROG, 11, A0);
#endif
}

void loop()
{
DCCpp::loop();
}

Par contre, il FAUT modifier la bibliothèque DCCpp pour l'adapter à ta configuration.
Cela se fait par une simple éditeur de texte.
le DCCpp que tu as téléchargé ne peut pas fonctionner avec ta config si te ne le personnalises pas.
Tout cela est tres bien renseigné par l'auteur :)
Je ne vais pas pouvoir t'aider plus, je ne me souviens plus des modifs a faire. Il me semble que cela se joue au niveau des #define au tout début

Et je te montre aussi le sketch de ma configuration qui est la même que la tienne, mais avec un  shield ethernet (V2, ;) ) en plus.

/*************************************************************
project: <Dc/Dcc Controller>
author: <Thierry PARIS>
description: <Dcc Ethernet Controller sample>
*************************************************************/

#include "DCCpp.h"

#if !defined(USE_TEXTCOMMAND) || !defined(USE_ETHERNET)
#error To be able to compile this sample,the lines #define USE_TEXTCOMMAND and #define USE_ETHERNET must be uncommented in DCCpp.h
#endif

// the media access control (ethernet hardware) address for the shield:
uint8_t mac[] = {0xBE, 0xEF, 0xBE, 0xEF, 0xBE, 0xEF };
//the IP address for the shield:
uint8_t ip[] = { 192, 168, 0, 200 };

EthernetServer DCCPP_INTERFACE(2560);                  // Create and instance of an EthernetServer

void setup()
{
Serial.begin(115200);
 
  DCCpp::begin();
 
  // Configuration for my LMD18200. See the page 'Configuration lines' in the documentation for other samples.
#if defined(ARDUINO_ARCH_ESP32)
  DCCpp::beginMain(UNDEFINED_PIN, 33, 32, 36);
#else
DCCpp::beginMain(UNDEFINED_PIN, DCC_SIGNAL_PIN_MAIN, 3, A0);
  DCCpp::beginProg(UNDEFINED_PIN, DCC_SIGNAL_PIN_PROG, 11, A0);
#endif
  DCCpp::beginEthernet(mac, ip, EthernetProtocol::TCP);


}
void loop()
{
DCCpp::loop();
 
}

Tu vois, ce ne sont que quelques lignes. C'est la bibliothèque  appelée au tout début du sketch qui fait tout.  :)

Titre: Une station DCC complète, polyvalente : Pas de communication avec décodeur
Posté par: msport le octobre 18, 2021, 09:46:19 pm
Bonsoir,

vérifications à faire :

Avec un voltmètre en alternatif la tension carrée doit être présente sur les deux voies.

En connexion USB (celle qui a permis la programmation de l'Arduino) et avec la loco sur la voie de programmation, envoyer <R 8 123 123> au serial monitor (vitesse et port adhoc).
Cette séquence lit le CV8 qui contient le code constructeur.
La réponse est par exemple <r 123 123 99>. En cas d'anomalie la réponse est <r 123 123 -1>
C'est l'occasion de vérifier que la loco tressaute et donc que la liaison électrique jusqu'au moteur de la loco est bonne (voie et roues propres).
Le -1 c'est quand la réponse de la loco n'a pas été comprise. (problème de MAX471 ou connexion au A1 défectueuse)
avec <R 1 123 123>, on aurait l'adresse de le loco.

Si la loco ne tressaute pas, c'est la centrale qu'il faut vérifier : Je n'ai pas compris si les trains roulaient ?

Si les trains roulent , ce sera la configuration JMRI qu'il faudra vérifier.

En attendant, envoyer <t 1 03 20 1> au serial monitor, ce qui fait partir la loco adresse 03 en avant à la vitesse 20 sur la voie principale. Après mise sous tension avec <1>
Voir https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation

Si la loco tressaute, remplacer le MAX471 par un module à INA169 et sa résistance de 0.1 ohm comme présenté dans le fil :
https://forum.locoduino.org/index.php?topic=843.msg13879#msg13879
Ce que je n'ai pas testé, c'est la modification pour utilisation avec des courants plus importants.

Ce que j'ai testé , c'est la BaseStation standard (DCCpp_UNO.ino) avec INA169 qui n'a pas besoin d'être personnalisée pour faire fonctionner ce montage avec un UNO et le module à L9110. (# Mega) : DCC++ BASE STATION COPYRIGHT (c) 2013-2016 Gregg E. Berman
Fonctionne pour les voies principale et de programmation.
https://github.com/DccPlusPlus

Attention les décodeurs pour le N peuvent ne pas apprécier quand la centrale est alimentée en 18V. (On retrouve ~18V en signal carré sur les voies). Et certains décodeurs HO (Laisdcc) ne sont spécifiés que pour 15V.
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le octobre 24, 2021, 11:30:34 am
Bonjour Jéjé

Désolé, je ne suis pas assez calé en programmation pour pouvoir te suivre.

Bonjour MSPORT

Je suis reparti de zéro en retéléchargeant DCCpp et la bibliothèque. J'ai reconfiguré comme dans l'article.
J'ai suivi tes essais. Rien ne fonctionne.

Je vais commander un ACHS-7122 de chez Polulu

A suivre
Titre: Re : Pas de communication avec décodeur
Posté par: Dominique le octobre 26, 2021, 10:00:40 pm
Préférez l'INA 169  :D
Titre: Re : Pas de communication avec décodeur
Posté par: Dominique le octobre 26, 2021, 10:03:05 pm
Si on est certain de ne pas faire de court-circuit, on peut se passer du Max471 en attendant l'arrivée de l'INA 169 : cela permet de tester tout le reste (sauf la programmation ni la lecture des CVs)
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le décembre 10, 2021, 01:59:23 pm
Bonjour à tous

Merci pour vos réponses.

J'ai donc remplacé le Max471 par un ACHS7121. Malheureusement cela ne fonctionne toujours pas et rien n'a changé.  :'(

Mes leds de sortie s'allument lorsque je clique sur 0/1 dans JMRI. Mais pas de lecture du décodeur lorsque je fais nouvelle loco.
Les messages d'erreur sont les mêmes.

J'ai aussi inclus la bibliothèque DCC++ dans le sketch Base station.

Merci pour votre aide.

Cordialement
Jean-Luc
Titre: Re : Pas de communication avec décodeur
Posté par: Dominique le décembre 10, 2021, 02:32:47 pm
L’ ACHS7121 n’a pas les mêmes caractéristiques que l’INA169.

Cela peut expliquer le problème.
Après, il y a le décodeur…
Titre: Re : Re : Pas de communication avec décodeur
Posté par: msport le décembre 10, 2021, 03:34:46 pm
J'ai donc remplacé le Max471 par un ACHS7121. Malheureusement cela ne fonctionne toujours pas et rien n'a changé.  :'(

https://forum.locoduino.org/index.php?topic=1038.msg13331#msg13331

l'ACHS7121 utilisé fonctionne comme l'ACS712 comme indiqué dans ce message avec une tension de sortie de VDD/2, il n'est donc pas utilisable tel quel.

S'en tenir aux montages à base de MAX472, INA169 ou GY-169 décrits dans ces colonnes pour ne pas avoir à modifier le programme.
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le décembre 10, 2021, 09:17:41 pm
Merci.
Pourtant, j'avais trouvé cette solution dans ce forum.

Je vais donc commander un GY-169. J'ai vu qu'il est déjà équipé d'une résistance de 0,1 ohm.

A suivre
Titre: Re : Re : Pas de communication avec décodeur
Posté par: msport le décembre 10, 2021, 09:54:06 pm

Pourtant, j'avais trouvé cette solution dans ce forum.


Merci de donner le lien, c'est intéressant.
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le décembre 10, 2021, 10:02:07 pm
ici https://forum.locoduino.org/index.php?topic=843.msg10309#msg10309 (https://forum.locoduino.org/index.php?topic=843.msg10309#msg10309)
Titre: Re : Pas de communication avec décodeur
Posté par: msport le décembre 10, 2021, 10:08:58 pm
Relisez le message :
1. Il n'y est pas question de lecture des CV mais uniquement de la protection contre les courts-circuits. (confirmation dans les messages suivants)
2. Par ailleurs, il y a lieu de modifier le programme.
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le décembre 10, 2021, 10:19:16 pm
Merci.
Donc je vais commander un gy-169 mais je n'ai pas trouvé le cablage (vin, gnd et out) c'est clair.
Mais je ne vois pas comment câbler V+ et V- malgré la datasheet.
Titre: Re : Pas de communication avec décodeur
Posté par: msport le décembre 10, 2021, 10:29:58 pm
Là : https://forum.locoduino.org/index.php?topic=843.msg13424#msg13424

Mais utiliser A1 au lieu de A0.
Titre: Re : Pas de communication avec décodeur
Posté par: JLuc le décembre 10, 2021, 10:35:52 pm
Super.
Merci beaucoup.
A suivre
En attendant, bonnes fêtes de fin d'année
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le janvier 18, 2022, 09:42:27 pm
Bonjour,

Je me permets de continuer sur ce sujet. (contexte : Arduino utilisé comme centrale pour commander les locomotives)

En effet, dans mon cas, j'ai bien le DCC reconnu "Programmateur Mode Service "DCC++" est en ligne" (idem pour le mode exploitation) en bas de l'application.

Tout d'abord, je n'ai pas de "power" reconnu en haut il est indiqué " inconnu". Dans le DCC monitor, pas de message.

A titre indicatif,
- L'utilisation de la centrale fonctionne parfaitement avec la page HTML
- JMRI/DecoderPro détecte bien le DCC++ que ce soit en USB, ou en ethernet, et également sous windows ou Ubuntu/Linux.
- Software : tuto de locoduino respecté à la lettre, pas de changement de code. Et JMRI version 4.24.
- Hardware : Arduino MEGA2560 v3, Ethernet shield v2, LMD18200, MAX471, alimentation continu de 20 V

N'hésitez pas si d'autres éléments manquent à ce que j'ai mentionné ci-dessus.

Bien à vous,

Antoine
Titre: Re : Pas de communication avec décodeur
Posté par: msport le janvier 18, 2022, 10:31:38 pm
Bonsoir,

Si vous lancez la commande <1> depuis le serial monitor de l'IDE Arduino, vous avez le DCC sur les voies ?
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le janvier 21, 2022, 11:35:33 am
Hello,

Désolé pour mon retour tardif. J'ai rechargé le sketch sur l'arduino, et bien vérifié les deux fichiers sur la carte SD. Résultat :
- Page sur l'interface web : c'est bloqué "Loading...". (Ca marchait avant)

- Moniteur de sortie :
"<iDCC++ BASE STATION FOR ARDUINO MEGA / LMD18200 MOTOR SHIELD + MAX471: V-1.2.1+ (+ Ethernet) / Jan 21 2022 11:32:40>
SD card in the player !
<N1: 192.168.1.200>"

La commande <1> ne fonctionne pas, pas de réponse
Titre: Re : Pas de communication avec décodeur
Posté par: msport le janvier 21, 2022, 11:49:23 am
Bonjour,

je pense qu'il vous reste à barder votre sketch de print pour voir où ça tourne en rond ...
Ou de revenir au sketch de base pour voir à quel ajout ça coince.

N'ayant pas réalisé la partie internet, mon aide sera très réduite, peut être d'autres contributeurs ?
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le janvier 21, 2022, 03:38:33 pm
En fait, les paramètres "client.connected()" et "client.available()" ne change pas (fichier SerialCommand.cpp)

   while (client.connected() && client.available()) {      // while there is data on the network
      c = client.read();
      if (c == '<') {                // start of new command
        html = false;
        sprintf(commandString, "");
      }
      else if (c == '>') parse(commandString);          // end of new command
      else if (strlen(commandString) < MAX_COMMAND_LENGTH) // if comandString still has space, append character just read from network
        sprintf(commandString, "%s%c", commandString, c);  // otherwise, character is ignored (but continue to look for '<' or '>')
    } // while
    if (html == true) {
      client.print("\n<div id='prev'>Loading...</div>\n");
      sprintf(commandString, "%s", "D");
      parse(commandString);
    }
Titre: Re : Re : Pas de communication avec décodeur
Posté par: msport le janvier 21, 2022, 05:22:38 pm
     // while there is data on the network
/quote]

rien sur le réseau ? Est-il connecté ?
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le janvier 21, 2022, 06:11:21 pm

Pourtant, j'avais trouvé cette solution dans ce forum.


Merci de donner le lien, c'est intéressant.

- J'ai testé le "ping" dans un terminal c'est bon.
- J'ai pas d'échec de connexion avec le navigateur mais "Loading" non-stop
- J'ai mis la fonction "Serial.print" pour chercher où ça bloque sur le moniteur série:
    - Je vais dans la boucle while que vous mentionnez while (client.connected() && client.available()), mais ça ne dure pas longtemps
    - Je ne vais qu'une seule fois dans la fonction void SerialCommand::parse(char *com) , et du coup qu'une seule fois dans la fonction  void ServWeb::parse(char *c) pour le fichier control.htm

J'ai mis la COMM_INTERFACE à 0, j'allume et j'éteins bien le réseau avec les commande <p1> et <p0>.

Bizarre...

Titre: Re : Pas de communication avec décodeur
Posté par: msport le janvier 21, 2022, 07:57:54 pm
Bonsoir,

si cela fonctionne avec l"interface serial (COMM_INTERFACE 0), le problème est du coté réseau (que je ne maitrise pas)

Ce que vous citez concerne l'ACS712 qui est manifestement problématique à contrario des INA169 et GY-169.
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le janvier 23, 2022, 10:09:04 am
Salut,

Merci pour ton retour! Concernant les capteurs, j'utilise deux capteurs MAX471.

Je continue à investiguer!

Bien à vous,
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le janvier 28, 2022, 10:37:33 pm
Bonsoir à tous,

JMRI fonctionne parfaitement en liaison USB pour contrôler des trains en US, UM. Par contre quand j'essaie la lecture sur la voie de programmation, j'ai des valeurs aléatoires et jamais identiques quand je veux lire l'adresse du decoder.

Bien à vous,

Antoine
Titre: Re : Pas de communication avec décodeur
Posté par: msport le janvier 28, 2022, 10:55:39 pm
Bonsoir,

au fait quel schéma utilisez vous pour votre centrale ?

Avez vous validé l'entrée analogique que vous utilisez pour le courant de la voie de programmation ?
-> exemple de l'IDE AnalogInOutSerial.ino


Titre: Re : Re : Pas de communication avec décodeur
Posté par: bobyAndCo le janvier 29, 2022, 10:04:37 am
En fait, les paramètres "client.connected()" et "client.available()" ne change pas (fichier SerialCommand.cpp)

   while (client.connected() && client.available()) {      // while there is data on the network
      c = client.read();
      if (c == '<') {                // start of new command
        html = false;
        sprintf(commandString, "");
      }
      else if (c == '>') parse(commandString);          // end of new command
      else if (strlen(commandString) < MAX_COMMAND_LENGTH) // if comandString still has space, append character just read from network
        sprintf(commandString, "%s%c", commandString, c);  // otherwise, character is ignored (but continue to look for '<' or '>')
    } // while
    if (html == true) {
      client.print("\n<div id='prev'>Loading...</div>\n");
      sprintf(commandString, "%s", "D");
      parse(commandString);
    }

Je tombe un peu par hasard sur ce bout de code dont j'ai compris qu'il ne fonctionnait pas. Je n'ai pas les lignes précédentes du code, mais s'il n'y en a pas, ça ne fonctionnera pas en HTML.

En effet, en Serial() par exemple, l'ouverture du port est permanente. Très exactement, l'instance de la class permettant d'utiliser l'objet Serial est faite automatiquement par le programme Arduino. Mais pour les connexions TCP, vous devez explicitement créer une instance de la class Server de nom client. Comme ceci EthernetClient client = server.available();
voir ici : https://www.arduino.cc/en/Reference/ServerAvailable

Et si vous utilisez le protocole HTML (au dessus de la couche TCP/IP don je viens de parler), votre navigateur attend du serveur un confirmation avant d'envoyer sa requête (commandes DCC++) Le code doit de l'Arduino doit donc envoyer client.println("HTTP/1.1 200 OK");
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le février 02, 2022, 06:16:50 am
Salut,

Merci pour ton retour, j'avais une extractio
n partielle. Le code est identique à celui du tuto de ce site. Donc les lignes suivantes figurent bien dans le code:
EthernetClient client = server.available()
&
[/size]client.println("HTTP/1.1 200 OK");


Ne trouvant pas ce qui ne fonctionnent pas je suis passé en liaison série avec JMRI, et la lecture des CVs restent aléatoires avec le Max471 comme capteur de courant.

Titre: Re : Pas de communication avec décodeur
Posté par: bobyAndCo le février 02, 2022, 07:06:38 am
Il faudrait mettre en téléchargement toute la page de code.
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le février 06, 2022, 05:57:30 pm
Bonsoir à tous,

Désolé pour mon retour tardif, je vous pris de trouver ci-joint le code (qui est celui du forum : https://www.locoduino.org/IMG/zip/dccpp_ethernet_25_11_16_v3.zip (https://www.locoduino.org/IMG/zip/dccpp_ethernet_25_11_16_v3.zip)

Et les fichiers principaux sont en PJ (ServerWeb.cpp, SerialCommand.cpp, et DCCEthernet.cpp). Je n'ai absolument rien modifié.

Bien à vous, et merci pour votre aide!

Antoine
Titre: Re : Pas de communication avec décodeur
Posté par: bobyAndCo le février 06, 2022, 09:18:43 pm
Antoine,

Ca va un peu dans toutes les directions on dirait.

Le problème de lecture des décodeurs est connu avec DCC++ (et DCCpp et aussi semble t’il avec DCC–Ex comme j’ai pu le constater). Cela ne concerne que quelques types de décodeurs et fort heureusement pas les plus connus ou rependus  comme ESU ou Marklin… Avec quelques Zimo je crois qu'il y a des problèmes. Personne n’est semble t’il capable de trouver une solution à l’heure actuelle.

A cela s’est ajouté les MAX471 défectueux.

Pour s’y retrouver, il faut procéder avec méthode. Effectivement en premier, s’assurer de la fiabilité du module de mesure de courant (MAX471, INA169…).

Ensuite, avoir la bonne version du logiciel correspondant à la configuration matérielle.

Mais ici, le code que tu mets à ma demande en téléchargement est une modification que j’avais faite de DCC++ pour un usage bien précis avec un contrôleur HTML. Ce contrôleur n’a jamais fait de la lecture/écriture de décodeur et n’a jamais été conçu pour cela ! Il ne faut pas utiliser ce code avec JMRI (qui communique en TCP).

Pour assurer au mieux ses chances de succès, je reprends le conseil de msport qui dit qu’il faut (en plus de s’être assuré du bon fonctionnement du module de lecture de courant) installer une version originale de DCC++ et utiliser JMRI dont on a pu constater le bon fonctionnement avec de nombreux décodeurs. Le LMD18200 est aussi l'une des cartes moteur qui semblent bien adaptée dans ce cas.

Après cela, pour le pilotage, tu pourras utiliser des solutions plus « exotiques » comme ce contrôleur à partir d’une page HTML.

 
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le février 07, 2022, 05:50:49 pm
Salut bobyAndCo

Merci pour ton retour, et JMRI je le teste également en //. La commande des décodeurs marchent parfaitement.


En refaisant des essais avec JMRI aujourd'hui quand je lance une lecture des éléments "basique" (adresse, CV 1 & 2 sens marche, etc.) sur la voie de programmation, j'ai toujours 255 pour CV, 127 pour l'adresse courte, et 16383 pour l'adresse longue.

Vu le REX d'autres personnes sur ce forum, j'ai commandé l'INA169 que je reçois en fin de semaine, on verra !

Merci pour ton support !
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le mai 08, 2022, 08:22:38 pm
Bonsoir à tous,

Je suis désolé pour ce retour tardif, je n'ai pas pu plancher sur le sujet depuis mon dernier message. J'ai installé un capteur de courant de type INA169, mais sans effet. Par contre, éléments majeurs que je n'ai pas mentionnés auparavant:
- Lors que j'essaie de détecter le décodeur ou quand j'essaie de lire les données, la locomotive ne réagit pas.
- J'ai remarqué que JMRI ne propose pas de menu déroulant en bas de la fenêtre "Program on". J'ai mis ci-joint un screenshot, la deuxième PJ est l'extrait du tuto JRMI officiel, donc ce que je suis censé avoir comme menu déroulant. (J'ai installé la version 4.24)

Merci d'avance pour votre aide,
Bien à vous !
Titre: Re : Pas de communication avec décodeur
Posté par: msport le mai 08, 2022, 09:34:01 pm
Bonsoir,
quelle est la marque et le modèle du décodeur que vous essayez de lire ?
Y a t il un stay alive ?
Avez vous tenté de lire l'adresse sur la voie de programmation depuis le serial monitor ?
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le mai 09, 2022, 11:08:14 am
Bonjour msport!

> Je fais les tests avec des modules ESU Loksound V5 (ref 58412)
> J'ai réinstallé DecoderPro (version 4.24), et quand je fais "off" puis "on" sur la voie de programmation, la locomotive roule. Je lance donc la lecture de l'onglet "Basique", j'ai des valeurs aléatoires.
> Je suis débutant le "stay alive", je ne connais pas, ça consiste en quoi ?
> Sur la voie de programme avec le serial monitor, je n'ai jamais fait le test

Bien à vous !
Titre: Re : Re : Pas de communication avec décodeur
Posté par: msport le mai 09, 2022, 06:07:56 pm
J'ai réinstallé DecoderPro (version 4.24), et quand je fais "off" puis "on" sur la voie de programmation, la locomotive roule. Je lance donc la lecture de l'onglet "Basique", j'ai des valeurs aléatoires.

Normal, on ne peut pas lire les CV quand la locomotive roule, il faut régler ce problème avant.

Citer
le "stay alive",
c'est un/des condensateurs qui permettent aux locomotives de passer sur des mauvais contacts mais qui perturbe ou empêche la lecture des CV. Il faut débrancher le stay alive avant de lire les CV.

Citer
Sur la voie de programme avec le serial monitor, je n'ai jamais fait le test
Eh bien, c’est le moment de le faire :
poser une seule locomotive sur la voie de programmation faire dans le serial monitor :
<1> pour mettre sous tension
puis <R 1 123 123> et obtenir <r123|123|1 xxx> où xxx est l'adresse de la locomotive
comme on l'explique dans l'article :
https://www.locoduino.org/spip.php?article304

Citer
  Je suis débutant
Il ne reste plus qu'à lire les articles du site éditorial et du forum pour ne plus l'être.
Titre: Re : Re : Re : Pas de communication avec décodeur
Posté par: msport le mai 09, 2022, 08:14:10 pm
le "stay alive",


Chez ESU, ça s'appelle power pack.
Titre: Re : Pas de communication avec décodeur
Posté par: antoineleclercq le juin 12, 2022, 03:37:36 pm
Salut msport,

Désolé pour mon retour tardif. J'ai trouvé sur le forum  des préconisations d'installer DCC-Ex plutôt que DCCpp.

Et effectivement,.... j'arrive à lire et à écrire sur les décoders avec JMRI, aucun souci particulier!!

Merci pour ton temps et ton support,

Cordialement,

Antoine
Titre: CI SHIELD AVEC LMD18200
Posté par: RXCHAEUG le février 19, 2023, 06:18:03 pm
BONJOUR

Ou trouver et acheter le CI du SHIELD a base de LMD18200 dont vous parler dans votre doc su locoduino

un marchand ou les schema gerber pour refaire le CI

Cordialement
Titre: Re : Pas de communication avec décodeur
Posté par: msport le février 19, 2023, 07:58:10 pm
Bonsoir,

merci de préciser le numéro de l'article concerné.
Titre: Re : Pas de communication avec décodeur
Posté par: msport le février 20, 2023, 09:52:24 am
Bonjour,
à ma connaissance, il n'existe pas de shield à LMD18200 (un shield est une carte qui s'enfiche sur un UNO)
Ce sont les modules à LMD18200 qui sont utilisés :
https://www.ebay.fr/itm/314145128438
https://fr.aliexpress.com/item/4000238141001.html
Titre: Re : Pas de communication avec décodeur
Posté par: Fantasio le février 21, 2023, 11:33:53 am
Effectivement pas de shield avec un LMD18200 mais rien n'empêche d'en réaliser un, en positionnant un module LMD18200 sur un shield proto.
(https://www.pupenhausen.de/assets/images/arduinostack01-1400x781.jpg)
Photo extraite de ce site: https://www.pupenhausen.de/page2.html (https://www.pupenhausen.de/page2.html)