Files
Dcc-Prog/README.fr.md
T
2026-08-13 11:58:21 +02:00

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 ou INA219)
  • 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

  1. Arduino Nano vers Pont en H LM18220

    • Pin 9 → IN1 (direction)
    • Pin 10 → IN2 (direction)
    • Pin 11 → PWM (vitesse/amplitude)
  2. 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)
  3. 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

  1. Préparation

    • Placer le décodeur seul sur les rails de programmation
    • Respecter les délais entre les commandes (attendre la confirmation)
  2. Commandes typiques

    • Lire un CV : READ_CV <numéro>
    • Écrire un CV : WRITE_CV <numéro> <valeur>
    • Configurer l'adresse : SET_ADDR <adresse>
  3. 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é

  1. Interroger le décodeur pour vérifier la réponse
  2. Programmer les CVs une à une
  3. Vérifier chaque écriture en relisant
  4. 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