Bonjour à tous,
juste pour information, je reprends ici le sujet commencé sur un autre fil
https://forum.locoduino.org/index.php?topic=843.msg14751#msg14751, car cela concerne directement DCC_EX (Comparaison de lecture des CV entre DCCpp_uno et DCC_Ex).
Après avoir modifié le fichier de configuration de DCC_Ex (définition des pins entrée/sorties) pour devenir compatible avec le hardware de la carte Pololu comme dans les articles de locoduino
https://www.locoduino.org/spip.php?article187, je peux maintenant poursuivre les essais de lecture des CV avec les 2 logiciels.
Le banc de test est composé d'un PC avec JMRI, une carte Mega avec le shield Pololu, une loco de test avec décodeur Marklin MLD/3, une seconde loco de test avec décodeur ESU V4, une lecture du courant d'alimentation de la carte Pololu, et une lecture de tension sur la broche M1FB et M2FB (Image du courant sur la voie principale et la voie de programmation).
Le principe du test est simple. Je charge DCCpp_Uno sur l'arduino et j'essaye de lire /détecter la nouvelle Loco avec JMRI. Ensuite, je charge DCC_EX et je recommence la lecture des CV.
Test 1 (DCCpp_Uno) :
Décodeur Marklin : Pas de lecture du décodeur, pas d'acquittement en retour (Stopping due to error, pas de confirmation loco (308) ).
Décodeur Esu-V4 : Le décodeur est reconnu et les valeurs de CV s'affichent dans JMRI.
Test 2 (DCC_Ex) :
Décodeur Marklin : Pas de lecture du décodeur, pas d'acquittement en retour (Stopping due to error, pas de confirmation loco (308) ).
Décodeur Esu-V4 : Le décodeur est reconnu et les valeurs de CV s'affichent dans JMRI.
Dans la documentation DCC_Ex, la carte Polulu n'est pas recommandée pour la lecture des CV. La sensibilité de lecture du courant est donnée pour environ 500mV/A sur les broches M1FB et M2FB. Je décide de modifier la voie de programmation (M2FB) sur la carte Pololu en augmentant la résistance en sortie du miroir de courant. Je remplace la 220Ω par une 470Ω, soit à peu prés le double.
Je vérifie que cela fonctionne en traçant la courbe V (M2FB) en fonction du courant de l'alimentation. le résultat est:
I (ma) alimentation 18 160 250 683 780 915 1115
M1FB (mv) R = 220 Ω 0,1 1,36 21,9 262 314 390 502
M2FB (mv) R = 470Ω 0,1 2,74 39,3 537 651 810 1032
J'ai bien sur M2FB une tension en sortie du miroir de courant de l'ordre de 1V/A, soit une sensibilité double par rapport à la sortie M1FB qui n'est pas modifiée. je reprends les tests comme précédemment.
Test 3 (DCCpp_Uno) :
Décodeur Marklin : Pas de lecture du décodeur, pas d'acquittement en retour (Stopping due to error, pas de confirmation loco (308) ).
Décodeur Esu-V4 : Le décodeur est reconnu et les valeurs de CV s'affichent dans JMRI.
Test 4 (DCC_Ex) :
Décodeur Marklin : Le décodeur est reconnu et les valeurs de CV s'affichent dans JMRI
.
Décodeur Esu-V4 : Le décodeur est reconnu et les valeurs de CV s'affichent dans JMRI.
Apparemment, pour la même configuration matérielle, il y a bien une différence de comportement entre DCCpp_Uno et DCC_Ex pour le même montage et avec les mêmes conditions de mesure.
Vue mes connaissances en informatique, je ne sais pas expliquer pourquoi, mais maintenant je peux lire les CV (carte Pololu et DCC_EX) sur mes décodeurs Marklin qui bien que du matériel récent, etait non lisible avec DCCpp_Uno .
J'ai quand même réalisé une mesure relative pour essayer de comprendre la différence entre les 2 décodeurs même si le principe de mesure n'est pas très "déontologique". j'ai mesuré en mode Min/Max le pic de courant observé lors de la lecture des CV. Celui-ci est de 124ma pour le décodeur Esu et seulement de 68ma pour le décodeur Marklin. C'est peut être un début d'explication
.
Ce commentaire est simplement un constat, il sera peut être utile pour certains des lecteurs propriétaires d'une carte Pololu.
Banc de test :