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

Chris

  • Newbie
  • *
  • Messages: 19
    • 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
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 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,
Dominique

dbdu78

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #47 le: novembre 05, 2020, 03:06:40 pm »
Hello messieurs

j'ai aussi des problèmes de programmation des CV.
J'ai un Arduino Mega, DCC++ original, LMD18200 sur les deux voies.
J'ai bien modifier les deux PacketRegister mais mes décodeurs Lenz ne veulent rien savoir.

En tout cas félicitation pour le travail accomplis ! je comprend a peine 5% de vos postes  ;D

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #48 le: novembre 05, 2020, 05:33:12 pm »
Bonjour et bienvenue.

Hors programmation des CV, tout fonctionne ? Qui produit les codes DCC++ ?
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #49 le: novembre 06, 2020, 09:08:18 am »
J'ai bien modifier les deux PacketRegister mais mes décodeurs Lenz ne veulent rien savoir.

En tout cas félicitation pour le travail accomplis ! je comprend a peine 5% de vos postes  ;D

Modifier une partie sensible d’une bibliothèque sans la comprendre à 100% vous expose à de nombreux problèmes. C’est ce qu’il ne faut jamais faire mais plutôt chercher la réponse dans les nombreux sujets traités ou expliquer en détail le problème constaté avec tout l’environnement qui l’a révélé. Bon courage.
Cordialement,
Dominique

dbdu78

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #50 le: novembre 09, 2020, 09:33:17 am »
@msport. Oui tout fonctionne hormis la programmation par Jmri. Je referai des essais avec des nouveaux MAX471 car ceux que j'ai ont une résistance interne beaucoup trop importante mon problème vient potentiellement de la.

Merci

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #51 le: novembre 09, 2020, 10:08:09 am »
Les MAX471 qui restent en vente semblent souvent défectueux : on a proposé un circuit de remplacement à MAX472 :

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

JPB

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #52 le: janvier 04, 2022, 08:21:03 pm »
Bonsoir,

En clair, je prends le bazar en cours de route, le dernier post date de plus d''un an et je suis néophyte en programmation.
A lire et relire ce sujet (4 pages) je fini par ne plus savoir de quel version de "DCC" il s'agit. J'ai pu télécharger et décortiquer les programmes suivants:
DCCpp-uno
DCCpp-master
Les deux récupérés sur le site Github/locoduino

- J'ai suivi à la lettre le projet de bobby & co: https://www.locoduino.org/spip.php?article253
- Je vois dans ce sujet, dès les premiers posts, qu'il ne faut pas confondre DCCpp et DCC++... Bah ça commence bien !
- Au fil des posts, certains s'engagent dans des charcutages de librairies et on ne sait toujours pas au final si le programme de départ ou d'arrivée fonctionne mieux ou pas.

Bien qu'ayant lu que "Modifier un programme sans comprendre... " c'était inconcevable, j'aimerai qu'au final une réponse claire soit apportée au sujet en cours... Je vous jure que je fais des efforts.

1- je suis équipé: Uno et/ou master (au choix, j'ai les deux), MAX471 / ASC712 (j'ai essayé les deux avec modifs du seuil dans le programme), MAX485 + module L298 (pas le shield), la carte 9110S est dans l'avion qui vient de Chine, et en connexion USB
2- Mon décodeur Train O mania (le seul que j'ai actuellement) réagi à la demande de JMRI mais ne retourne pas d'info dans le logiciel, lecture impossible.
3- les commandes d'alimentations de voies fonctionnent correctement (leds en sortie du L298).
4- La reconnaissance du décodeur ne fonctionne ni sur voie prog, ni sur voie principale.

Merci donc à ceux qui ont les bonnes infos et terminé leur projet de répondre de façon claire et positive à mes interrogations.


« Modifié: janvier 04, 2022, 08:41:29 pm par JPB »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #53 le: janvier 04, 2022, 10:32:17 pm »
Bonsoir,

vous êtes sur un forum qui évolue pour tenir compte des problèmes techniques rencontrés, alors il faut suivre l'actualité.
Depuis l'année dernière on a enterré les MAX471, trop souvent défectueux.
Et signalé que les ACS712 ne permettaient pas de faire la lecture des CV (juste la protection de court-circuit)
Le schéma modifié pour les GY-169 : https://forum.locoduino.org/index.php?topic=843.msg13424#msg13424

Mais j'ai du mal à comprendre en quoi consiste votre montage à L298 sans shield.
Cordialement

JPB

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #54 le: janvier 05, 2022, 07:38:06 am »
Bonjour,

Vous écrivez: "Mais j'ai du mal à comprendre en quoi consiste votre montage à L298 sans shield"... J'ai un arduino suivi d'un MAX485 pour avoir deux signaux opposés en final et suivi d'un L298n. Pour moi un "shield" est une carte qui se monte sur la carte mère arduino, ce qui n'est donc pas le cas. J'attends ma carte L9110S qui est dans l'avion... Ce qui me permettra de me passer du MAX485 et d'être conforme au schéma d'origine. Seul bémol, l'asc712 placé entre la sortie d'alim 18V et le L298n avec un Vout sur A0
Un peu électronicien de formation, j'ai, après 42 ans de carrière, quelque notions de câblage et je ne comprends toujours pas en quoi un contrôleur d'intensité en amont dans un circuit perturbe un retour de signal sur la voie. Je peux comprendre que les "modules" L298 pourraient empêcher le retour d'info mais j'ai lu dans un autre post de ce forum qu'il pourrait suffire d'augmenter le seuil de déclenchement du programme avec un ASC712 (puisque Vout = 100mV/A) ce qui est d'ailleurs positif car l'alimentation démarre avec un seuil à 600 et qu'à 300, elle ne démarre pas.

Les L298n ici:
https://www.amazon.fr/DollaTek-Module-Stepper-Controller-Arduino/dp/B07DK6Q8F9/ref=sr_1_6?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=3MVOVGS0QBMA5&keywords=L298n&qid=1641364631&sprefix=l298n%2Caps%2C123&sr=8-6

Je suis obligé de passer par un max485 pour obtenir les deux signaux en opposition de phase pour les modules L298n. Vu sur un autre site: La gare de Lormedy...

Lors de la lecture du décodeur avec decodeur pro, la loco réagit mais le logiciel ne récupère simplement pas les infos. J'ai aussi tenté de choisir manuellement le type de décodeur sans plus de succès de retour.

Je n'ai pas de réponse non plus sur le charcutage proposé dans ce post et ne sais pas réellement si son application a été positive.
Mon site de référence étant actuellement Amazon mais il en existe d'autres, je trouve aussi facilement des modules MAX471 que des ASC712 et les MAX472 sont vendus à la pièce, non câblés. J'ai bien trouvé le lien pour faire réalisé les CI adéquats et en ait fait réaliser avec une CNC (avec succès)

Comme je débute dans la construction à base d'Arduino, il est normal de poser plein de questions qui dans ce sujet sont restées sans réponse. Le but étant, pour les néophytes, d'avoir un maximum de détails et d'aller au bout de la démarche.

PS: Côté forum, je suis fondateur d'un forum de caravaning et sais très bien comment cela fonctionne. Je ne peux que regretter que certains posent des questions auxquelles on répond et ne donnent souvent pas suite de l'évolution de leur démarche !
« Modifié: janvier 05, 2022, 11:48:37 am par JPB »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #55 le: janvier 05, 2022, 06:06:03 pm »
Bonsoir,

votre problème semble venir du fait que vos MAX471 n'ont pas été validés et que les ACS712 ne sont pas adaptés à la lecture des CV (jusqu'à preuve du contraire, car je n'en ai pas vu d'application jusqu'ici).

Pour l'ACS712, les échanges sur le forum ont conclu que l'on pouvait les utiliser en protection de court-circuit mais pas en lecture de CV.

Dans son dernier post sur ce sujet, BobyAndCo indique qu'il les utilise seulement pour la protection contre les courts-circuits.
https://forum.locoduino.org/index.php?topic=1030.msg10981#msg10981

Je vous suggère de monter un banc de test avec le DCCpp_Uno original de Gregg Berman :
https://github.com/DccPlusPlus/BaseStation
https://forum.locoduino.org/index.php?topic=843.msg14370#msg14370 (*)
présenté au paragraphe ARDUINO MOTOR SHIELD de :

https://www.locoduino.org/spip.php?article187

Pour le module à L9110S, voir le fil correspondant(*), il n'y a pas que des bêtises ...
Cordialement

JPB

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #56 le: janvier 05, 2022, 08:13:31 pm »
Merci beaucoup pour ces excellentes précisions.
J'admets que ASC712 n'est pas le ci optimum pour cet usage et que tout ce que j'ai lu même ailleurs reste négatif... Je vais tâcher de m'approvisionner un "shield" moteur pour un montage test et faire le tour des références pour remplacer ce fichu MAX471par une référence plus adéquate.  je me suis servi jusqu'à lors de matériel déjà acquis au fil des semaines et depuis ma rencontre à Dreux avec Dominique (Rencontre très instructive d'ailleurs !).
J'avais bien téléchargé la "Base station" de Bergman sur github...
Je progresse pas à pas evec ce nouvel univers et vient de dévorer 20 pages en français sur la programmation et l'utilisation des décodeur tOm ! C'est bien plus ardu qu'il n'y parait pour faire tourner une loco voire plusieurs ! Il restera après à se familiariser avec JMRI mais ce n'est pas ici le sujet...

 :) :) :)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #57 le: janvier 05, 2022, 09:35:06 pm »
c'est vrai qu'on est parfois face à des choix pas faciles, vu la quantité d'informations.

Mais pour se faire la main, je recommande toujours:
INA169 (au lieu de Max471 et ACS712, sauf pont en H de plus de 3A)
LMD18200 tout fait ou L6203 avec sa mesure de courant par ampli op

A ce sujet, avec msport on pourrait publier (si ce n'est déjà fait) sa carte à base de L6203 qui remplace le LMD18200 et qui fait partie intégrante de LaBox.

De même, je recommande de ne "brancher" JMRI que quand la centrale fonctionne bien et commande bien 1 ou 2 trains avec les commandes "<x x x >" manuelles via le moniteur de l'IDE (protocole DCC++).

Bon courage
« Modifié: janvier 05, 2022, 11:10:59 pm par Dominique »
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #58 le: janvier 05, 2022, 10:06:44 pm »
Merci Dominique pour la confirmation de l' INA169, le schéma revu est là :

https://forum.locoduino.org/index.php?topic=843.msg13879#msg13879

https://www.ebay.fr/itm/174358185974

la mesure de courant est envoyée sur A1.


Et le GY-169 n'est pas mal non plus et dispense de courir après la résistance de 0.1 ohm à souder à l'emplacement RS de l' INA169.

https://forum.locoduino.org/index.php?topic=843.msg13494#msg13494

https://www.ebay.fr/itm/253071135646
Cordialement

JPB

  • Newbie
  • *
  • Messages: 47
    • Voir le profil
Re : Problème de lecture et programmation de CVs avec DCC++
« Réponse #59 le: janvier 06, 2022, 07:32:52 am »
Merci encore... J'ai désormais de bonnes références. Reste à commander ça !