Auteur Sujet: DccToolkit / SystemToolkit  (Lu 970 fois)

AmadeusHF

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #15 le: mars 28, 2021, 04:26:17 pm »
Quand il affiche OK, la valeur lue est la bonne ?
Tu peux faire un test avec des roues nettoyées pour voir si ça change significativement le résultat ?
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #16 le: mars 28, 2021, 04:54:44 pm »
Je viens de faire un test avec la loco remontée : jusqu'à maintenant j'utilisait une liaison filaire directe au décodeur pour éviter les incertitudes liées au contact roues / rail pour la mise au point.

Les roues étant relativement encrassées et sur un vieux rail jouef décapé, j'obtiens ça :
CV 1 = 0 : Failed to read !
CV 2 = 0 : OK
CV 3 = 20 : OK
CV 4 = 20 : OK
CV 5 = 0 : OK
CV 6 = 144 : OK
CV 7 = 0 : Failed to read !
CV 8 = 134 : OK
CV 9 = 0 : OK
CV 10 = 88 : OK
CV 11 = 0 : OK
CV 12 = 0 : OK
CV 13 = 0 : Failed to read !
CV 14 = 255 : OK
CV 15 = 0 : OK
CV 16 = 1 : OK
CV 17 = 205 : OK
CV 18 = 5 : OK
CV 19 = 0 : OK
CV 20 = 0 : OK
CV 21 = 0 : OK
CV 22 = 0 : OK
CV 23 = 0 : OK
CV 24 = 0 : Failed to read !
CV 25 = 0 : Failed to read !

Je nettoie les roues et je refais un test...
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #17 le: mars 28, 2021, 05:15:01 pm »
Apres nettoyage des roues tout est OK :

CV 1 = 3 : OK
CV 2 = 0 : OK
CV 3 = 20 : OK
CV 4 = 20 : OK
CV 5 = 0 : OK
CV 6 = 144 : OK
CV 7 = 4 : OK
CV 8 = 134 : OK
CV 9 = 0 : OK
CV 10 = 88 : OK
CV 11 = 0 : OK
CV 12 = 0 : OK
CV 13 = 255 : OK
CV 14 = 255 : OK
CV 15 = 0 : OK
CV 16 = 1 : OK
CV 17 = 205 : OK
CV 18 = 5 : OK
CV 19 = 0 : OK
CV 20 = 0 : OK
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #18 le: avril 06, 2021, 07:05:42 pm »
Pour info, j'ai mis au point une nouvelle version (pas encore mise en ligne) qui permet de prendre en charge A LA FOIS l'USB et la connexion IP sur une seule et même configuration (là ou les libs usuelles imposent de choisir l'un ou l'autre).

J'ai encore quelques bricoles à finaliser et je pourrais vous proposer un topo complet pour une Base Station totalement opérationnelle s'appuyant sur ces libs.

A suivre.
Sébastien.
La perfection est un chemin, non un but...

AmadeusHF

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #19 le: avril 07, 2021, 03:35:13 pm »
Encore quelques nouvelles :

J'ai désormais à ma disposition plusieurs décodeurs avec lesquels j'ai fait des tests, tous concluants :
  • ESU LokPilot 4
  • ZIMO MX630
  • En plus du LaisDCC que j'avais déjà

A chaque fois : fonctionnement normal, lecture et programmation des CV sans problème.
J'ai également pu tester ces décodeurs sur une platine de test ZIMO (celle qui comporte un moteur et une série de leds + un HP) et les résultats sont identiques.

Autre test : utilisation d'un clone chinois à base de LGT8. Mes premiers tests avaient montré que la partie lecture de CV ne marchait pas, bien que la génération de signal DCC soit bonne. Ces tests avaient été réalisés avec le CPU tournant au fond, soit 32Mhz, puisque c'est un des points fort de ce composant.

Il s'avère que c'est aussi cette vitesse qui pose problème : à 16 ou 8 Mhz, tout le code fonctionne et s'adapte à la fréquence d'horloge.

En revanche, à 32 Mhz, la lecture des entrées analogiques retourne des valeurs incohérentes et la détection d'ACK ne fonctionne plus.

D'autres personnes ont aussi des problèmes avec cette partie du composant à cette vitesse, j'ai trouvé quelques sujets sur le NET, sans solution à ce jour.

Quand on y regarde de près, la spécification indique qu'on dispose de sampler à haute vitesse capables de tourner avec une horloge allant entre 300 Khz et 3Mhz. Cette horloge "ADC" est dérivée de l'horloge du CPU par un diviseur.
A 8 Mhz, l'horloge est divisée par 64 pour obtenir 125 Khz
A 16 Mhz, l'horloge est divisée par 128 et donne à nouveau 125 Khz
A 32 Mhz par contre, le diviseur ne peut pas augmenter car 128 est son maximum. Du coup l'horloge des convertisseurs analogiques passe de 125 à 250 Khz, et là plus moyen d'avoir une lecture fiable.

On est pourtant loin des 3Mhz indiqué dans la spec, et meme en deça des 300 Khz donnés comme minimum. Il semblerait que la conception du composant chinois ne suive pas la théorie de la datasheet...et je n'ai trouvé nulle-part d'explication et/ou de solution.

Donc sur ce type de composant, il faut garder le 16 Mhz pour que ça tourne correctement, ce qui fait perdre une partie des avantages par rapport à un Arduino normal. Reste d'autres points forts comme la flash de 48 Ko dont une partie tiens lieu d'EEPROM de taille paramétrable, ce qui permet de repousser à la fois le probleme de taille de l'EEPROM et de nombre limité d'écriture de celle-ci.
Sébastien.
La perfection est un chemin, non un but...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2263
  • 100% Arduino et N
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #20 le: avril 07, 2021, 06:58:22 pm »
Belle étude et tour de la question interessant.

Le fait que la bibliothèque soit en deux morceaux m'a posé des problèmes de compilation vu que j'ai plus de 100-120 bibliothèques installées : je vais refaire la manip et sortir l'erreur
Cordialement.

La qualité des réponses est liée à la qualité des questions. Les Winners, c'est juste des Losers qui s'acharnent..

AmadeusHF

  • Full Member
  • ***
  • Messages: 121
    • Voir le profil
Re : DccToolkit / SystemToolkit
« Réponse #21 le: avril 07, 2021, 07:30:17 pm »
Oui avec l'IDE c'est pénible.
Un autre avantage d'utiliser par exemple un truc comme Sloeber : les bibliothèques sont gérées projet par projet et chaque projet est étanche, ce qui fait qu'on a pas de soucis de collision. ;)
Sébastien.
La perfection est un chemin, non un but...