Auteur Sujet: Pas de communication avec décodeur  (Lu 4735 fois)

JLuc

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Pas de communication avec décodeur
« 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
« Modifié: octobre 17, 2021, 09:42:48 pm par JLuc »

AmadeusHF

  • Full Member
  • ***
  • Messages: 203
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #1 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é ?
Sébastien.
La perfection est un chemin, non un but...

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #2 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.
« Modifié: octobre 18, 2021, 12:10:48 pm par Jeje_12_34 »
Le néophyte de service !
Adhérent AFAN

JLuc

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #3 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
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

JLuc

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #4 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.

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 90
  • Double ovale N
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #5 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.  :)

Le néophyte de service !
Adhérent AFAN

msport

  • Hero Member
  • *****
  • Messages: 1750
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Une station DCC complète, polyvalente : Pas de communication avec décodeur
« Réponse #6 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.
Cordialement

JLuc

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #7 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

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2576
  • 100% Arduino et N
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #8 le: octobre 26, 2021, 10:00:40 pm »
Préférez l'INA 169  :D
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2576
  • 100% Arduino et N
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #9 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)
Cordialement,
Dominique

JLuc

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #10 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

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2576
  • 100% Arduino et N
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #11 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…
Cordialement,
Dominique

msport

  • Hero Member
  • *****
  • Messages: 1750
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Pas de communication avec décodeur
« Réponse #12 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.
Cordialement

JLuc

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Pas de communication avec décodeur
« Réponse #13 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

msport

  • Hero Member
  • *****
  • Messages: 1750
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Pas de communication avec décodeur
« Réponse #14 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.
Cordialement