3.8 KiB
3.8 KiB
Introduction
Ce projet permet de réaliser un programmateur pour des décodeurs DCC.
Coté matériel, il est constitué d'un ARDUINO NANO, un pont en H LM18220 et un mesureur de courant
Coté logiciel, il utilise platform.io, et est très simple, il permet uniquement de programmer les décodeurs de locomotive ou d'accessoires à partir d'une commande via le port série de l'arduino.
Prérequis
- Arduino Nano avec câble USB
- Pont en H LM18220
- Module de mesure de courant (ex : ACS712 )
- Rails DCC pour test
- Décodeurs à programmer
- Platform.io (CLI ou extension VS Code)
- Python 3.6+
Mise en oeuvre matérielle
Schéma de connexion
-
Arduino Nano vers Pont en H LM18220
- Pin 9 → IN1 (direction)
- Pin 10 → IN2 (direction)
- Pin 11 → PWM (vitesse/amplitude)
-
Mesureur de courant
- Connecter en série dans le circuit de puissance
- Sortie analogique vers Pin A0 de l'Arduino
- Prévoir des condensateurs de découplage (100nF)
-
Alimentation
- Tension de programmation : 12-18V DC
- Courant max : adaptez l'alimentation aux spécifications du pont en H
- Prévoir un fusible de protection (2-3A recommandé)
Points importants
- Masse commune : Connecter la masse de l'Arduino et du circuit de puissance
- Condensateurs de découplage : Ajouter des 100nF près des broches d'alimentation
- Câblage : Minimiser les boucles, utiliser un écran pour les signaux analogiques
- Connecteur : Prévoir un connecteur facilement débrochable pour les rails de test
Mise en oeuvre logicielle
Installation
# Cloner le projet
git clone <repository>
cd DCC-Prog
# Installer les dépendances platform.io
pio lib install
# Compiler
pio run
Configuration port série
- Baud rate : 115200 par défaut
- Format : 8N1 (8 bits, pas de parité, 1 bit de stop)
- Port :
/dev/ttyUSB0(Linux),COM3(Windows),/dev/cu.usbserial(macOS)
Conseils d'utilisation
Programmation des décodeurs
-
Préparation
- Placer le décodeur seul sur les rails de programmation
- Respecter les délais entre les commandes (attendre la confirmation)
-
Commandes typiques
- Lire un CV :
READ_CV <numéro> - Écrire un CV :
WRITE_CV <numéro> <valeur> - Configurer l'adresse :
SET_ADDR <adresse>
- Lire un CV :
-
Vérification du courant
- Surveiller le courant pour détecter les dysfonctionnements
- Valeur normale : 50-300mA selon le décodeur
- Dépasser 500mA indique un court-circuit probable
Flux de programmation recommandé
- Interroger le décodeur pour vérifier la réponse
- Programmer les CVs une à une
- Vérifier chaque écriture en relisant
- Terminer et tester sur les rails principaux
Dépannage
| Problème | Cause probable | Solution |
|---|---|---|
| Pas de réponse du décodeur | Décodeur absent ou défectueux | Vérifier la connexion, tester avec un décodeur différent |
| Courant trop élevé | Court-circuit ou décodeur défectueux | Couper l'alimentation immédiatement |
| Écriture sans confirmation | Décodeur bloqué en lecture seule | Vérifier le type de décodeur, réinitialiser si possible |
| Port série introuvable | Pilote USB manquant | Installer les pilotes CH340 ou FTDI selon le câble |
Notes de sécurité
⚠️ Important
- Ne jamais dépasser 18V sur les rails DCC
- Prévoir un arrêt d'urgence (bouton sur l'alimentation)
- Utiliser une alimentation stabilisée
- Vérifier l'absence de court-circuit avant mise sous tension
- Porter attention au courant appelé lors de la programmation
- Laisser refroidir le pont en H s'il chauffe excessivement
Support et ressources
- Documentation NRMA DCC : https://www.nmra.org/dcc
- Spécifications Arduino : https://www.arduino.cc
- Pont en H LM18220 : Consulter la fiche technique du fabricant