Merci Jacques, pour cette première analyse très intéressante :
J’avais déjà constaté des "choses" et j’avais décidé de pousser les investigations plus loin, donc c’est le moment de partager maintenant.
Moi aussi j’ai commencé par interfacer l’émetteur et le récepteur au "niveau TTL", comme je construisais le pilote DCC et le bloc système sur le même Arduino, il fallait voir vite ce qui se passe.
Ensuite je me suis procuré une MS2 pour programmer mes quelques locos et pour comparer ce qu’elle envoie par rapport à ma centrale basée sur Cmdrarduino. Plus tard j’ai rendu le moniteur autonome et j’ai pu regarder ce que d’autres centrales envoient (l’ECOS en particulier, le référence dans les clubs).
Je me suis d’abord concentré sur les commandes de locos (vitesse et fonctions) en 128 pas uniquement (c’est plus logique avec un Arduino que 28 ou 14 et moins saccadé).
J’ai tout de suite vu l’inversion que le bibliothèque Cmdrarduino fait au niveau des vitesses 0 (urgence, sans inertie) et 1 (arrêt avec inertie). J’ai donc décidé de ne pas utiliser l’arrêt d’urgence, car c’est à la centrale de gérer la circulation pour éviter cela.
Ensuite j’ai eu des doutes sur la répétition automatique des commandes de vitesse, car j’avais l’impression que mes locos ne réagissaient pas à tous les coups.
Ma constatation est que la bibliothèque Cmdrarduino envoie moins de commande que les centrales du commerce qui, elles, remplissent le temps de trames de commandes, alors que nous voyons dans l’exemple de cet article qu’il y a 90 % d"idle".
Bien-sur cela demande du temps pour analyser encore plus ce comportement et décortiquer la bibliothèque, ne cesserait-ce que pour la transposer sur Arduino DUE qui est nettement plus puissant.
Je n’ai pas encore testé Cmdrarduino pour programmer des CVs et commander des accessoires, mais cela viendra.
Pour obtenir un comportement des locos qui me plait, j’ai pris l’habitude de répéter les commandes toutes les secondes ou demi-secondes.
Dans la suite à venir de "Comment piloter trains et accessoires en DCC avec Arduino (4)", je donnerai le programme complet qui est quand même un peu compliqué. Si vous êtes pressé de le lire, allez sur mon site perse "bultez.fr".
A priori je pense que vous pouvez faire confiance à ce que le décodeur de Minabay "voit" : je n’ai vu aucun défaut à l’usage.
Par contre, si vous comparez la trace du décodeur avec le comportement d’une vrai loco, n’oubliez pas qu’il y a pas mal de CVs qui modifient son comportement : en particulier les CVs d’accélération et décélération doivent être mis à 0 (zéro).
Je vous suggère de me contacter par email pour approfondir cette analyse qui méritera un article futur dans Locoduino.
Bien cordialement
Dominique