Configurateur de CV sur base de la station DCC minimale

. Par : msport. URL : https://www.locoduino.org/spip.php?article323

L’article Une station DCC minimale avec boutons de commande et écran Oled vous annonçait plusieurs applications pour cette carte moteur agrémentée d’organes d’interface pour le modéliste.
Vous êtes vous retrouvé une fois avec une locomotive dont vous ne connaissiez pas l’adresse, ou avec l’obligation d’en changer pour pouvoir la poser sur un réseau ami ?
Pas de centrale disponible à l’horizon et encore moins d’ordinateur.
Ce montage est fait pour vous.
C’est un configurateur basique pour modifier les CV des décodeurs, en particulier ceux des locomotives, que nous vous proposons.

Vous avez déjà modifié la configuration des CV des décodeurs avec Ma première centrale DCC et JMRI ou même directement avec les commandes DCC++ issues du serial monitor.
Vous aimeriez disposer d’un montage qui ne mobilise pas votre centrale et ne nécessite pas un ordinateur. Et en particulier un montage qui vous permette de modifier facilement l’adresse d’une locomotive.

Au cas vous l’utiliseriez quand même avec JMRI, notez que la programmation se fait sur la voie principale et que c’est cette option que vous auriez à sélectionner dans JMRI.

Cet article Une station DCC minimale avec boutons de commande et écran Oled, vous a guidé pas à pas dans la réalisation d’une mini centrale avec un Arduino UNO, en particulier grâce à l’achat du circuit imprimé pré-équipé de ses composants CMS. Ne pas oublier de faire le pont de soudure UNO au dos du circuit imprimé.
Vous êtes donc en possession du montage opérationnel de l’une ou l’autre de ses variantes. Montage qui peut être intégré dans le boitier que l’on voit plus bas.

Figure 1 : Un aperçu de cette centrale sur un Arduino UNO
Figure 1 : Un aperçu de cette centrale sur un Arduino UNO

Figure 1

Programme

On utilise les commandes de DCCpp pour lire et écrire les CV sur la voie principale.

Ce programme est structuré par les états des variables qui sont modifiés par l’appui sur les trois boutons qui permettent :

  • le noir  : la sélection du numéro du CV que l’on veut modifier (sélection par rotation du bouton codeur)
  • le vert  : la validation de chacune des sélections faites précédemment
  • le rouge  : réservé pour un usage ultérieur

Ces boutons sont traités par l’anti rebond Bounce2.

les variables d’état sont :

  • choixCV : le numéro du CV est cours de sélection
  • choixValeurCV : la valeur du CV choisi est cours de sélection
  • okCV : le numéro du CV a été choisi
  • okValeurCV : la valeur du CV précédemment choisi a été choisie
  • okEcriture : le numéro du CV et la valeur du CV ont été choisis

Vous avez déjà installé l’IDE Arduino avec l’article Ma première centrale DCC
et savez Installer une bibliothèque
Pour compiler le sketch, il vous faudra d’abord installer les bibliothèques Bounce2 et DCCpp, toutes deux disponibles dans le gestionnaire de bibliothèque.
Pour cette centrale V&V : Vous placez le répertoire decodeur du programme décompressé dans votre répertoire de sketches. (il est fourni ci-dessous) et vous double-cliquez sur decodeur.ino.
Téléversez le dans votre UNO.

Decodeur.zip

Utilisation

Lors de l’initialisation par le setup, une reconnaissance de la locomotive sur les rails est lancée. Son adresse courte ou longue est affichée et le numéro des CV est prépositionné à 1. Si la locomotive dispose d’une adresse courte, ce CV 1 contient son adresse de la locomotive. Si la lecture a échoué, c’est -1 qui est affiché et vous ne pouvez pas faire fonctionner le montage. Si la locomotive n’a pas tressauté, vérifiez la connectique et qu’elle comporte bien un décodeur.

Vous modifierez le numéro des CV avec l’encodeur rotatif jusqu’à afficher le numéro de celui que vous voulez modifier et vous le sélectionnerez avec le bouton noir (DOWN) et le validerez avec le bouton vert (SEL). Si vous voulez modifier l’adresse de la locomotive, vous conservez le CV 1 dans le cas d’une adresse courte.
Voyez le lien plus bas d’un site qui indique comment faire dans le cas d’une adresse longue.

Vous êtes alors passé en mode de choix de la valeur du CV par rotation du bouton du codeur.
Un nouvel appui bouton vert (SEL) vous proposera l’écriture de cette valeur du CV sur le décodeur par appui sur le bouton du codeur .
Cette écriture sera confirmée par la relecture de ce CV et son affichage.

Pour modifier un autre CV, vous appuierez sur le bouton noir (DOWN), ce qui vous permettra de sélectionner à nouveau un CV à modifier par rotation du bouton du codeur. Vous le validerez avec le bouton vert (SEL).
Le CV étant choisi, la rotation du bouton du codeur change la valeur du CV qui est affichée et l’appui sur le bouton vert (SEL) le valide. Et de nouveau, l’appui sur le bouton du codeur lance l’écriture du CV

Dans tous les cas, l’appui sur le bouton du codeur lance l’écriture du CV affiché dans le décodeur mais seulement une fois les sélections validées.

En résumé, noir (DOWN) = CV, vert (SEL) = validation.

L’utilisation d’un stay alive (aussi nommé power pack) [1] rend la lecture des CV difficile, voire impossible. Dans ce cas, il faut le débrancher si on veut avoir une confirmation. Ceci n’empêche pas l’écriture des CV.

Notez qu’en cas d’erreur, la plupart des décodeurs peuvent être réinitialisés en écrivant 8 ou une valeur prédéfinie dans le CV 8.
La réinitialisation réaffecte l’adresse 3 à la locomotive concernée.
La réinitialisation ne fonctionne pas si le décodeur est verrouillé. Dans ce cas, il faut consulter sa notice et écrire dans un ou deux CV spécifiques.

Ce montage pourra piloter le Banc de test pour les décodeurs DCC

Pour rendre ce montage complètement autonome, vous pouvez l’alimenter à partir d’une batterie et d’un module step-up réglé à 12V.

Évitez absolument les courts-circuits sur les fils des batteries :
Danger de brûlures et risque d’incendie.

Et pour éviter de griller votre montage par inversion de la tension d’alimentation, utilisez des connecteurs JST. Les barrettes 2.54mm isolés avec de la gaine thermorétractable conviennent aussi mais ne comportent pas de détrompeur.

Plus de détails

un site en français sur le DCC et les interfaces de décodeurs :
https://geillon.pagesperso-orange.f...
Un calculateur des CV 17 et 18 pour les adresses longues :
https://www.ruppweb.org/Xray/comp/d...
Nota : pour passer en adresse longue, si le CV29 a une valeur inférieure à 32, il faut lui ajouter 32 (initialement, elle n’est peut-être pas à 0), ce qui correspond au positionnement à 1 du bit 5.

A noter :

La carte moteur de l’article Une station DCC minimale avec boutons de commande et écran Oled utilisée ici, a d’autres applications et il suffit de télécharger les programmes correspondants pour les utiliser.

Ou acheter ?

Où acheter ?, une liste de fournisseurs, et ci-dessous des liens directs :
https://www.ebay.fr/itm/275071228845 step-up 4€ (en France)
https://www.ebay.fr/itm/324237307837 step-up 1,3€
https://fr.aliexpress.com/item/4001... batterie 1000mAh 3,6€
https://www.ebay.fr/itm/363573211064 connecteurs JST 3€ les 10 paires
https://www.ebay.fr/itm/224860338672 alimentation 15V 3A 7€

Dans la version fournie, le programme limite à 255 les CV et les valeurs de CV. Y a t il des décodeurs avec 255 CV ? Les CV étant codés sur un octet, leur valeur ne dépasse pas 255.

[1Un stay alive est un condensateur qui accumule de l’énergie pour permettre à la locomotive de franchir un passage isolé (cœur d’aiguillage) ou un rail sale.