Auteur Sujet: Problème de lecture et programmation de CVs avec DCC++  (Lu 5336 fois)

Chris

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #45 le: septembre 04, 2020, 11:36:23 am »
Un autre essai avec une carte Pololu MC33926 : Ça marche en programmation et sur voie principale :D
mais seulement avec la console de l'IDE.
Avec JMRI, ça fonctionne sur voie principale mais pas en programmation... Mais je ne sais pas ce que fait JMRI.
En tout cas, sur 4 MAX471 achetés, 3 sont défectueux. Ces circuits ne valent pas grand chose (au propre comme au figuré) et au moins la pololu a sa protection intégrée.
Quant à la L9110S je finis par la mettre en doute aussi...
Ces cartes qui viennent de Chine me semblent n'avoir aucune fiabilité, et si elle ne valent pas cher ça fini quand même par  avoir un certain coût.
Finalement, la fiabilité a un prix.
Donc je vais tester ce soir avec un ami qui a une config qui fonctionne en HO avec JMRI si il peut programmer ma loco. Je vous donnerai le résultat.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2024
  • 100% Arduino et N
    • Voir le profil
Re : Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #46 le: septembre 04, 2020, 12:46:24 pm »
Bonjour à tous,
Voici les résultats actuels de mes investigations :
Avec les modifications proposées par Jéjé ( Merci à toi), que j'ai légèrement modifiées de la façon suivante :
 - j'ai gardé les resetpacket et passé le bRead précédent à 6 au lieu de 5 (ce qui revient au même que de rajouter une ligne)
 - les init suivants dans le ".h" :
         #define  ACK_BASE_COUNT            100     
         #define  ACK_SAMPLE_COUNT          500       
         #define  ACK_SAMPLE_SMOOTHING      0.2     
         #define  ACK_SAMPLE_THRESHOLD       5     

Je peux lire et écrire des CVs dans mon vieux décodeur Arnold   ;D  depuis la console arduino avec de commandes R et W. Ça fonctionne aussi en programmation avec JMRI  :D, mais quand je passe sur le régulateur sur voie principale, rien ne se passe :'(
j'ai tracé le retour de courant et il tourne autour de 11 pour un seuil à 5.
Quant à mon décodeur LockPilot Micro V4.0 toujours pas de réponse.
Quelqu'un utilise t-il ces décodeurs ?
Par ailleurs je précise que je suis en N ;
Christian

Bonjour Christian,
Tes tests sont intéressants et j’avoue être perplexe quand aux modifications des commandes bRead-Reset (avec ou sans). Pour les seuils, sûrement ça joue et le circuit de mesure de courant est très important (il y a des alternatives au Max471, voir http://forum.locoduino.org/index.php?topic=1038.msg10994#msg10994)

J’ai l’hypothèse qu’il faut de toute façon lire l’impulsion de courant au bon moment après la réception par le décodeur de la commande bRead, et il y a sûrement des dispersions de caractéristiques des décodeurs. Dans le cas de l’Esp32, la méthode avec un AVR ne marchait pas du tout. Ajouter un délai ne garantit rien. J’ai donc intégré une vingtaine de fenêtres de mesures (au lieu d’une seule) et je regarde s’il y a une impulsion dans une de ces fenêtres (ou aucune si pas d’impulsion). Sur l’ESP32 ça a l’air de marcher ( http://forum.locoduino.org/index.php?topic=922.msg10754#msg10754)

J’essayerai d’appliquer cette méthode sur l’AVR. mais à mon retour de vacances.

Par ailleurs il ne faut pas oublier que les ordres de programmation sur voie principale sont SANS réponse du décodeur (sauf la recherche d’adresse dans DCCpp). Beaucoup de modélistes programment l’adresse ainsi et font juste le test pour voir si ça marche.

Enfin je peux dire que ma petite MS2 marklin arrive parfois à lire les CVS quand DCCpp échoue, mais ça prend un temps fou donc elle essaye plusieurs méthodes (mais lesquelles, mystère).

Conclusion : on a encore du pain sur la planche (breadboard📎).

Dominique
« Modifié: septembre 04, 2020, 12:51:35 pm par Dominique »
Cordialement