Auteur Sujet: Impossibilité de lire CV sur décodeur marque Uhlenbrock  (Lu 37172 fois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Impossibilit� de lire CV sur d�codeur marque Uhlenbrock
« Réponse #15 le: décembre 24, 2018, 01:02:01 pm »
Bonjour Antoine,
Comme il y a deux configurations de base dans l'article (LMD18200 et motor shield à L298), il te faut encore tester la deuxième ...
Tu as utilisé le serial monitor ?
Pour t'affranchir des mauvais contacts de la voie et de la loco, tu peux te monter un petit banc avec juste le décodeur et un petit moteur (genre 5V récupéré sur un lecteur de DVD)
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #16 le: décembre 24, 2018, 03:21:04 pm »
Merci Antoine pour le petit gars qui courre :
,
Je n’en suis pas encore là mais ça va venir  ;D

Pour la programmation des décodeurs, surtout dans un club, je préconiserais plutôt une solution qui reste au club et qui soit commune à tout le monde.
Chez moi j’ai fait une centrale DCCpp qui ne sert qu’à ça (vu le prix!!) et qui devrait me permettre de trouver les bons réglages pour les décodeurs récalcitrants.

D’après ce que tu as écrit, si la loco bouge pendant la lecture, c’est bon signe, il faut probablement modifier un réglage dans la lecture du courant de chaque bit de la réponse. Mais c’est assez compliqué à faire et tu ne pourras pas le faire sur les 6 centrales.

Et il y a aussi des alternatives, juste pour la programmation :
- utiliser JMRI Décoder Pro avec DCCpp (je n’ai pas encore essayé)
- utiliser une centrale du commerce comme la MS2 de Marklin/Trix
- y’en a peut-être d’autres.

En attendant passez de bonnes fêtes.

Amicalement
Dominique
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #17 le: décembre 24, 2018, 10:42:43 pm »
Antoine,
peut-être encore une piste pour rien, d'autant que je n'ai pas compris l'avertissement, qu'est ce que la {F9} decoder interrogate instruction.:
http://www.digitrax.com/static/apps/cms/media/documents/documentation/decodermanual.pdf

à la page 63  il y est dit :
Programming differences:  To harmonize with NMRA’s “RP 9.2.3” program-
ming RP, the DH140 and subsequent decoders do not implement the "legacy"
{F9} decoder interrogate instruction. Note that this will not allow correct
"address" read back on Marklin 6032 and older revision Lenz programmers
that use this older {F9} instruction, and not physical register 1 read back. Note
that even though the read back will fail with no confirmation, you will always
be able to write a new value correctly.
Cordialement

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #18 le: décembre 26, 2018, 11:42:42 am »
peut-être encore une piste pour rien, d'autant que je n'ai pas compris l'avertissement, qu'est ce que la {F9} decoder interrogate instruction.:
http://www.digitrax.com/static/apps/cms/media/documents/documentation/decodermanual.pdf

à la page 63  il y est dit :
Programming differences:  To harmonize with NMRA’s “RP 9.2.3” program-
ming RP, the DH140 and subsequent decoders do not implement the "legacy"
{F9} decoder interrogate instruction. Note that this will not allow correct
"address" read back on Marklin 6032 and older revision Lenz programmers
that use this older {F9} instruction, and not physical register 1 read back. Note
that even though the read back will fail with no confirmation, you will always
be able to write a new value correctly.

Bonjour Michel,

la trêve de Noël étant passée on reprends le boulot  ;D
J'avais déjà lu cette doc et tombé sur le même avertissement sans le comprendre, mais entre-temps d'autres décodeurs ont le même soucis, entre-autres un TCS, il semblerait donc que le problème vienne de DCCpp (ou des circuits utilisés).
Je viens de commander un motor shield pour faire un essai avec cette configuration (sans y croire vraiment). Dans la version LMD18200 j'ai essayé avec ma souris et avec le serial monitor sans succès.
Dominique a proposé dans sa réponse de faire une centrale que pour la programmation des CVs, mais je vais me heurter aux mêmes difficultés.

L'idéal serait d'analyser de façon approfondie ce qui se passe d'autant plus que je ne suis de loin pas le seul à avoir ce genre de soucis, n'est-ce pas Christophe ?

En résumé:
- Lecture des CVs se fait correctement (ce qui veut dire que ce n'est pas une question de lecture du courant puisque c'est par ce biais que revient l'information)
- Ecriture répond toujours par -1, mais si j'ai bien compris l'écriture se fait par un codage de la tension porteuse sans inter-action avec la mesure du courant (comme les commandes de vitesse), cela voudrait-il dire que ce codage est erroné puisque ces décodeurs récalcitrants se programment sans problème avec une centrale Lenz ou autre.

L'idéal serait de faire un relevé des signaux sur DCCpp et sur une centrale du commerce pour la même instruction d'écriture ce qui m'est impossible pour l'instant car mon oscillo a définitivement rendu l'âme après 30 ans de bons et loyaux services. Mais je sais que parmi les utilisateurs de Locoduino il y a des supers spécialistes pour ce type de relevé  :) .

Merci à tout ceux qui veulent bien partager mon soucis du moment.

Cordialement
Antoine

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 744
    • Voir le profil
Re : Impossibilit� de lire CV sur d�codeur marque Uhlenbrock
« Réponse #19 le: décembre 26, 2018, 11:56:59 am »
Ce n'est pas sur la forme des signaux qu'il y a problème puisque le reste (vitesse, fonctions) marche, c'est sur l'organisation des bits, et donc sur les paquets émis et/ou reçus. Plutôt qu'un oscillo, mieux vaudrait utiliser un sniffer Dcc qui listerai les trames concernées. Peut être certains décodeurs ont ils besoin de passer en mode 'service', ou de paquets 'idle' pour fonctionner...

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #20 le: décembre 26, 2018, 12:04:10 pm »
Excellente idée Thierry, penses-tu que le moniteur de Dominique (http://www.locoduino.org/spip.php?article39) me permettrait de voir une différence entre une centrale DCCpp et une centrale du commerce ?

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #21 le: décembre 26, 2018, 12:16:56 pm »
 Il faut dire que l’écriture d’un CV est souvent suivie de la relecture du CV écrit. Cela peut foirer à la relecture.

Je pense que Thierry a raison.  Il y a des centrales qui fonctionnent mieux que d’autres sur certaines commandes et certains décodeurs.  J’ai déjà essayé de tracer l’intérieur de l’automate de décodage de DCC++.  Il y a sûrement des choses à faire. Un décodeur DCC permettra sûrement de voir l’envoi de la commande, mais pas la réponse.

 Si j’ai fait une centrale pour la programmation c’est pour pouvoir étudier ça. Bon, sauf qu’en ce moment je n’ai pas trop la possibilité de le faire.  Ça caille dans mon grenier.  :'(

 Je pense qu’en février je me remettrai à la tâche.  Si d’autres centrales y arrivent alors DCC++ doit y arriver aussi.

 En attendant, dans les clubs, il est préférable de disposer d’une centrale dédié à la programmation et à la gestion des CV des locos des adhérents pour que la cohérence du parc du club soit bien maintenue.
« Modifié: décembre 26, 2018, 12:23:16 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #22 le: décembre 26, 2018, 12:20:13 pm »
Excellente idée Thierry, penses-tu que le moniteur de Dominique (http://www.locoduino.org/spip.php?article39) me permettrait de voir une différence entre une centrale DCCpp et une centrale du commerce ?

Je dirai « peut-etre mais pas sûr », vue la complexité du décodeur. Là  aussi il y a un besoin de perfectionnement.

 Là aussi j’avais entrepris de réaliser une nouvelle version de décodeur basé sur l’input captur interrupt  qui permet de bien mesurer la durée des bits.  Mais c’est encore un projet en sommeil. Je pense que je vais le réactiver dès que possible.
« Modifié: décembre 26, 2018, 12:40:19 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #23 le: décembre 26, 2018, 12:51:12 pm »
 Pour tout vous dire, j’ai regardé le livre de Pascal Barlier, sa façon de programmer les locomotives: Elie est basique, elle marche peut-être (je ne l’ai pas encore testée) et en fait il n’utilise même pas la fonction getCV qui n’est pas encore écrite.

 Un de ces jours je testerai aussi son générateur DCC, moins pratique et moins complète que DCCpp, car ce n’est pas une bibliothèque.
Cordialement,
Dominique

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #24 le: décembre 26, 2018, 02:16:23 pm »
Je pense que Thierry a raison.  Il y a des centrales qui fonctionnent mieux que d’autres sur certaines commandes et certains décodeurs.  J’ai déjà essayé de tracer l’intérieur de l’automate de décodage de DCC++.  Il y a sûrement des choses à faire. Un décodeur DCC permettra sûrement de voir l’envoi de la commande, mais pas la réponse.
Quand tu parles de décodeur DCC s'agit-il du moniteur de ton article ? Si oui c'est lui qui afficherait les commandes envoyées.
Pourquoi ne pourrait-on pas voir la réponse en passant par un circuit de détection de courant comme on le fait pour la centrale DCCpp qui lit parfaitement les réponses.
Pour "espionner" une centrale du commerce il faudrait bien sûr rajouter cette détection de courant avec un MAX471 puis envoyer le courant lu sur le UNO (ou MEGA) qui afficherait les réponse.

Ce principe est-il jouable d'après vous ?

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #25 le: décembre 26, 2018, 03:02:59 pm »
Pourquoi ne pourrait-on pas voir la réponse en passant par un circuit de détection de courant comme on le fait pour la centrale DCCpp

 DCC++  fait un traitement statistique sur les mesures du courant lu à des instants particuliers et avec des récurrences particulières et c’est le résultat que l’on récupère dans DCC++.   Cette méthode est basée sur les valeurs d’un certain nombre de paramètres dont les réglages pourraient éventuellement permettre des optimisations. Cette méthode est difficilement exportable dans un décodeur.

Citer
Pour "espionner" une centrale du commerce il faudrait bien sûr rajouter cette détection de courant avec un MAX471 puis envoyer le courant lu sur le UNO (ou MEGA) qui afficherait les réponse

Oui sans doute, mais la synchronisation avec la centrale est certainement difficile. J’essayerai plutôt avec un bon oscilloscope rapide et à mémoire, que je n’ai pas ;(
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Impossibilit� de lire CV sur d�codeur marque Uhlenbrock
« Réponse #26 le: décembre 26, 2018, 03:22:44 pm »
J’ajouterai, que si certaines centrales lisent mieux et programment mieux les CVS que d’autres, c’est parce qu’elles mettent en œuvre plusieurs méthodes.
Ma petite MS2 met plus de temps que DCCpp mais elle réussit quand cette dernière échoue (c’est pour cela que je m’en sers toujours).

Quand on recherche les problèmes de programmation de CVs dans les autres Forum on s’apercoit vite que ce n’est pas la joie partout et que les méthodes de programmation sans vérification sont les plus courantes.

Dans mon club on utilise une ECOS 5000 ou qqc comme ça et ça marche bien, mais c’est très cher.

En conclusion, il est certainement possible d’ameliorer DCCpp, mais il faudra du temps ...

Cordialement,
Dominique

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #27 le: décembre 26, 2018, 03:32:42 pm »
Donc patience, d'autant plus qu'aujourd'hui ce décodeur refuse même la lecture (malgré les soubresauts des tests de courant), lecture qui était possible hier encore alors que je suis dans les mêmes configurations. Mystères et joies de l'électronique  :'(

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #28 le: décembre 26, 2018, 04:15:41 pm »
Donc patience, d'autant plus qu'aujourd'hui ce décodeur refuse même la lecture (malgré les soubresauts des tests de courant), lecture qui était possible hier encore alors que je suis dans les mêmes configurations. Mystères et joies de l'électronique  :'(

Alors là on connaît la réponse : augmenter la résistance série avant l’optocoupleur ou mettre une petite capa en parallèle (20-50 pifs).

Msport qui a trouvé le remède donnera les liens vers la discussion ;)
Cordialement,
Dominique

Tony04

  • Hero Member
  • *****
  • Messages: 549
    • Voir le profil
Re : Impossibilité de lire CV sur décodeur marque Uhlenbrock
« Réponse #29 le: décembre 26, 2018, 04:17:16 pm »
Panne trouvée, à force de rajouter des résistances pour augmenter le courant, destruction du MAX471.

Par contre, question à Thierry concernant la routine DCCpp::setCurrentSampleMaxProg(1 à 1023);
Est-il normal que la lecture d'un CV soit correcte aussi bien avec la valeur 1 qu'avec la valeur 1023 ? J'utilise la version 1.3.1 qui est sur le forge Locoduino