La section Modélisme de l’UAICF Nevers-Vauzelles a conçu une carte utilisant le système ABC pour la gestion des cantons en mode digital (DCC).
Ce projet vise à automatiser le contrôle des relais, qui eux-mêmes régulent les modules ABC. Ces modules permettent de stopper un convoi lorsque le trajet prévu n’est pas correct ou que le canton suivant est déjà occupé par un autre train.
Le projet met en œuvre une carte Arduino NANO.
- Qu’est-ce que l’ABC ?
- Principe de la carte de gestion du module ABC
- Fonctions de la carte Arduino NANO
- Circuit imprimé
- Configuration des itinéraires
- Application Processing
Qu’est-ce que l’ABC ?
L’ABC (Automatic Brake Control – inventé par LENZ) repose sur une asymétrie du signal DCC appliquée sur la zone de voie. Les décodeurs compatibles détectent cette asymétrie et déclenchent un freinage progressif pour obtenir un arrêt complet.
Pour utiliser cette fonction, il faut paramétrer le décodeur de chaque locomotive : tous les décodeurs ne proposent pas la fonction « ABC ». Les marques Lenz, ESU, ZIMO proposent cette fonction pour de nombreux décodeurs.
Le DCC est un signal carré bipolaire :
– moitié du temps positif,
– moitié du temps négatif,
mais symétrique → ce qui fait que normalement le décodeur ne voit aucune différence entre les deux alternances.

Dans un module ABC, on insère des diodes en série sur un seul rail (pas les deux), toutes orientées dans le même sens.. Chaque diode crée une chute de tension d’environ 0,6 V.
Le montage classique ABC utilise 5 diodes (1N4004 ou 1N4007) mais pas dans le même sens :
– 4 diodes dans un sens ;
– 1 diode dans l’autre sens.
Les 4 diodes dans un sens créent la chute de tension cumulée (~4 × 0,6 V = ~2,4 V).
La 5ᵉ diode dans l’autre sens sert de by-pass pour l’alternance opposée.
- Dans un sens du signal : il traverse les 4 diodes (donc atténué d’environ 2,4 V) .
- Dans l’autre sens : il ne passe que par 1 diode (donc atténué de seulement ~0,6 V).
On obtient donc une différence nette entre les alternances (environ 1,8 V d’écart).
Le signal n’est plus symétrique : c’est ce que le décodeur détecte comme condition « zone ABC ». La loco se met alors à appliquer la logique programmée (ralentir, s’arrêter).
Principe de la carte de gestion du module ABC

La carte a été conçue pour piloter automatiquement le module ABC en fonction de la situation du réseau.
Contrairement à un module ABC classique qui applique en permanence l’asymétrie dans la zone isolée, la carte analyse l’état des aiguillages et l’occupation des voies pour décider si le freinage doit être activé ou non.
La carte comprend 2 relais bistable afin de commander 2 modules ABC qui peuvent être sur le même canton (1 dans chaque sens) ou pour 2 cantons différents.
Pour gérer la surveillance d’analyse des états et commander les relais, la mission est confiée à une carte Arduino NANO.
Pourquoi un relai bistable ?
Le relais bistable est particulièrement pratique pour l’ABC car il garde sa position même quand le courant est coupé, il ne consomme de l’énergie qu’au moment où il change d’état, il ne chauffe pas, et il permet d’activer ou de désactiver le freinage de façon simple et fiable.
Une carte Arduino NANO
La carte transforme un Arduino Nano en un véritable contrôleur d’itinéraires : en fonction de l’état d’occupation des cantons concernés et des positions des aiguillages, elle détermine s’il existe un itinéraire valide. S’il y a aucun itinéraire n’est valide, la carte active le module BM1 en envoyant une impulsion sur le relai bistable. Il est également possible de forcer l’activation du module BM1 via une adresse DCC (commande d’un accessoire).
En fonction des états et des itinéraires, la carte gère également la signalisation de type SNCF via le bus I²C. Il faut ajouter une carte PCF8575 pour commander jusqu’à 16 LED.
Fonctions de la carte Arduino NANO
Aucune connaissance en programmation n’est nécessaire.
Il suffit uniquement de savoir téléverser le programme dans une carte Arduino.
Conçu avec un programme paramétrable, la configuration de la carte Arduino NANO se fait par l’envoi de consignes via le moniteur série. Pour faciliter les étapes de paramétrage, une interface graphique a été réalisée avec l’application gratuite Processing.
Les paramètres et la configuration sont automatiquement enregistrés dans la mémoire EEPROM de la carte afin d’être conservée même après la mise hors tension.
La carte Arduino NANO a les caractéristiques suivantes :
- 2 modules BM1 avec des diodes 1N4004 ;
- Pilotage de 2 relais bistables pour la gestion des modules BM1 ;
- Décodeur DCC pour gérer les modules BM1 ;
- 13 entrées numériques configurables : contacts secs pour la position des aiguillages et l’état d’occupation des cantons ;
- Bus I²C dédié pour la gestion des signaux lumineux : gestion de 2 feux SNCF ;
- Alimentation 9 Volts avec régulateur de tension pour alimenter les relais et la carte(Arduino Nano ;
- Gestion logicielle simple : états mémorisés, anti-rebond logiciel, temporisation d’impulsion pour les relais bistables.
Pour la signalisation, par défaut, la carte gère 3 combinaisons de feux lumineux SNCF :
- Carré (2 feux rouges) : itinéraire impossible, BM1 activé ;
- Vert + œilleton : itinéraire possible, BM1 désactivé ;
- Rouge + œilleton : itinéraire possible, BM1 activé manuellement pour forcer l’arrêt du train.
En paramétrant la carte et en fonction des itinéraires, on peut commander différentes combinaisons de signaux :
- Orange (avertissement) ;
- Ralentissement 30 et 60 ;
- Rappel de ralentissement 30 et 60 ;
- Violet ;
- Blanc et blanc clignotant ;
- Vert clignotant ;
- Rouge clignotant.
On ne retrouve pas toutes les combinaisons de feux possibles pour la signalisation SNCF mais un large éventail est couvert !
Circuit imprimé
La conception de la carte a été réalisée avec les fonctionnalités gratuites du logiciel Eagle, logiciel utilisé pour le développement de schémas électroniques et de circuits imprimés. Le schéma électrique définit l’ensemble des composants (diodes, relais bistable, résistances, connecteurs) et leurs interconnexions logiques. À partir de ce schéma, le PCB a été routé en tenant compte des contraintes spécifiques : largeur de pistes adaptée au courant DCC, isolement suffisant entre les zones de puissance et la logique de commande.
Le circuit est conçu en double face, avec une sérigraphie pour faciliter le câblage et limiter les risques d’erreur lors de l’installation et paramétrage.
Pour permettre la réalisation des circuits électroniques, les fichiers sources Eagle (.sch et .brd) sont mis à disposition. Ils peuvent être modifiés, adaptés si besoin. Les fichiers Gerber (.zip) correspondants sont également fournis et peuvent être envoyés directement à un fabricant de circuits imprimés. Ces fichiers comprennent toutes les couches nécessaires : cuivre supérieur et inférieur, masque de soudure, sérigraphie et perçages.

Configuration des itinéraires
Pour chaque zone ABC, il est nécessaire de définir les différents itinéraires possibles.
En pratique, cela signifie identifier toutes les combinaisons de positions d’aiguillages et d’occupation de cantons qui peuvent amener un train à entrer dans la zone de freinage.
L’idéal est de commencer par réaliser un schéma du réseau en numérotant précisément les cantons et en repérant les zones ABC correspondantes.
À partir de ce schéma, on construit une table de vérité qui décrit, pour chaque configuration d’itinéraire (aiguillages + occupation), si l’ABC doit être activé ou non. Cette méthode permet de formaliser clairement la logique avant de passer au paramétrage de la carte, ce qui réduit les erreurs et garantit un comportement cohérent du système.
Application Processing
La configuration de la carte Arduino NANO se réalise via le port série à l’aide du moniteur série. Les paramètres définis par l’utilisateur sont enregistrés directement dans la mémoire EEPROM de l’Arduino, ce qui permet de conserver toutes les données même après une mise hors tension. Ainsi, la carte redémarre toujours avec la dernière configuration enregistrée, sans nécessiter une nouvelle saisie.
Pour simplifier le paramétrage, une assistance graphique a été développée avec l’application gratuite Processing. Cet outil offre une interface qui permet de configurer la carte sans avoir à saisir de commandes dans le moniteur série.
L’application est compatible Windows, Mac, Linux et Raspberry, ce qui la rend utilisable quel que soit l’environnement informatique.
L’application Processing de configuration de la carte Ardunino NANO est proposée en téléchargement avec soit :
- les fichiers source à utiliser avec le logiciel Processing ;
- l’application sans installation compatible Windows 64 bits.