User Tools

Site Tools


dccpp:dccpp-fr

Arduino DCC++

Introduction

DCC++ est une centrale numérique basée sur un Arduino UNO/MEGA et une carte fille moteur L298.

  • Le rafraîchissement de la taille de la pile DCC est de 12, sur un MEGA jusqu'à 50, avec 127 crans de vitesse et 28 fonctions.
  • PT, Voie de programmation
  • POM, Programmation sur voie principale. (Écriture seulement)
  • 32 interfaces GCA compatible E/S.
  • support de décodeurs stationnaires DCC.
  • puissance du Booster de 2A.


Configuration DCC++

uno.jpg motorshield.jpg


  1. Installer le Firmware.
  2. Câbler la carte fille moteur: dccpp-motorshieldpinmappings.pdf


Caractéristiques

Des caractéristiques supplémentaires sont fournis par l'implémentation Rocrail:

  • Gestion de l'emplacement avec une purge de l'emplacement passif après 30 secondes de repos et une vitesse à zéro. (Peut être changé dans les réglages.)
  • Début de journée directement après l'établissement d'une connexion série.


Configuration générale

La bibliothèques DCC++ dans Rocrail est dccpp.

Sous-bibliothèque

Série-USB

La vitesse de transmission est fixée à 115200.
La seule chose à configurer est de choisir le bon port série virtuel.

TCP/IP

Une connexion TCP/IP peut être utilisé si l'Arduino dispose d'une carte fille Ethernet.
Le port TCP/IP est fixé à 2560.

Le fichier source Config.h doit être modifié et recompilé pour l'utilisation de la carte fille Ethernet:

/////////////////////////////////////////////////////////////////////////////////////
//
// DEFINE COMMUNICATIONS INTERFACE TYPE
//
//  0 = Built-in Serial Port
//  1 = Arduino Ethernet/SD Card Shield
 
#define COMM_TYPE   0

Exemple d'une réponse de connexion avec éthernet:

20160315.083459.796 r9999I dccpprea ODCCPP   0772 evaluate message: <iDCC++ BASE STATION FOR ARDUINO MEGA / ARDUINO MOTOR SHIELD: BUILD Mar 15 2016 08:31:58>
20160315.083459.806 r9999I dccpprea ODCCPP   0772 evaluate message: <N1: 192.168.100.153>

Options

Délai d'attente

Délai d'attente de lecture du port série en ms.

Emplacements

Le nombres d'emplacements par défaut à 12. Si on utilise le MEGA il peut être augmenté dans les sources DCC++.
Le nombre d'emplacements doit être inférieur ou égal aux nombres de registres mis dans les sources DCC++.

Commentaire DCC++:
Vous pouvez augmenté le nombre de registres à plus de 12, notamment si cela fonctionne sur un Mega, pas sûr de ce que le maximum donnerait, mais je suppose qu'on peut aller à environ 50.

Le nombre d'emplacements, registres, peut être changé dans le fichier Config.h ligne 24:

// DEFINE NUMBER OF MAIN TRACK REGISTER
 
#define MAX_MAIN_REGISTERS 12

Durée de purge du connecteur

Le temps minimal au repos en secondes avant qu'un emplacement ne soit purgé.

Délai pour l'arrêt du capteur (ms)

Pour les broches 22..53 seulement sur le MEGA.
La durée en ms d'attente avant de signaler une entrée comme éteinte. (La valeur doit être un multiple de 10.)
Le temps d'attente sera réinitialisé si une entrée obtient une valeur haute dans ce délai.

Information du système

Interroge les opérations de la voie principale. (Pour l'afficher dans la barre de statut Rocview.)

Répétition des commandes

Répétition des commandes de commutation seulement pour les E/S Arduino.

Inverser les portes

Inverser les commandes déviées et droites.

Réduire des identifiants

Réduit les commutateurs générés et les identifiants de sortie à 16. (0…15) Par défaut à 256.
Cette option autorise l'usage d'un Arduino Uno avec plus de 45 périphériques adressés en DCC.

Vérification des périphériques série

Certaines configurations Windows "planteront" au démarrage du serveur Rocrail si l'option suivante n'est pas choisie:


Configuration E/S


Ajouter

Ajouter une nouvelle E/S comme définie avec le Type/Broche/Options.
Elle sera temporairement créée dans la centrale numérique DCC++.

Changer

Modifier l'E/S sélectionné avec les configurations Type/Broche/Options.
Il sera temporairement modifié dans la centrale numérique DCC++.

Supprimer

Supprimer l'E/S sélectionné.
Elle sera temporairement supprimée dans la centrale numérique DCC++.

Requête

Interroge toutes les E/S définies dans la centrale numérique DCC++.

Enregistrer

Sauvegarde toutes les E/S définies dans l'EEPROM.

Effacer

Efface toutes les E/S définies de l'EEPROM.
Une nouvelle interrogation est automatiquement lancée.

Options

Sortie

Option Bit Valeur
Inversion 0 0 = marche avant (ACTIVE=HAUT / INACTIVE=BAS)
1 = opération inversée (ACTIVE=BAS / INACTIVE=HAUT)
Restaurer 1 0 = état de la broche restaurée à la mise sous tension soit ACTIVE ou INACTIVE dépendant de l'état avant la mise hors tension; état de la broche configurée à INACTIVE lors de sa création
1 = état de la broche configurée à la mise sous tension, ou lors de sa création, soit ACTIVE ou INACTIVE dépendant du bit 2
Initial 2 0 = état de la configuration de la broche à INACTIVE à la mise sous tension ou lors de sa création
1 = état de la configuration de la broche à ACTIVE à la mise sous tension ou lors de sa création

Détecteur

Option Bit Valeur
Pull-up 0 1 = utilise la résistance interne pull-up pour la broche
0 = n'utilise pas la résistance interne pull-up pour la broche


Adressage

Les détecteurs et les sorties partage le même espace d'adressage; Évitez les chevauchements pour éviter les comportements inattendus.

Aiguillages

Accessoire

Accessoire DCC.
Les aiguillages sont adressés par le schéma MADA avec l'adresse et le port d'un décodeur. (DCC)

Aucun accessoire

Arduino E/S.

Commande Sortie
droit adresse + 0
dévié adresse + 1

Aucun accessoire porte simple

Arduino E/S.

Commande Sortie État de la broche
droit adresse OFF
dévié adresse ON


Détecteurs

Les broches libres de l'Arduino peuvent être utilisée comme ports de détecteurs.

Sorties

Accessoire

Les sorties sont adressées par le schéma NMRA avec l'adresse du décodeur et le port.

Aucun accessoire

Les broches libres de l'Arduino peuvent être utilisées comme ports de sortie.
Pour lier la sortie en DCC l'option "As switch" doit être activée.

Signaux

Le drapeau accessoire est utilisé pour les commandes de Sorties.

Les numéros d'aspect

Le numéro d'aspect et La valeur d'aspect peuvent être utilisés.
La valeur de l'aspect représente un peu les masques utilisés pour les quatre adresses du signal.


G-ASH02

Interface E/S pour l'Arduino MEGA.
dccpp-hw.jpg

Type

Code du type Fonction
N Pas d'opération
O Sortie
I Entrée

Options

Voir: Options E/S

I/O n

La sélection du connecteur GCA E/S.
La disposition des boutons ressemble à celle du PCB.


Cartographie des broches

Broches du MEGA connecteur GCA GCA E/S
22..36 (pair) I/O 1 1..8
23..37 (impair ) I/O 2 9..16
38..52 (pair) I/O 3 17..24
39..53 (impair ) I/O 4 25..32


Les connecteurs E/S correspondront à toutes les cartes GCA comme le GCA76, GCA77, GCA93, GC94, GCA173 etc

Cavalier Fonction Remarque
JP1 Utilise le 5V à partir de la carte Arduino si en place. Placer seulement si l'Arduino manque de puissance, autrement il va se réinitialiser.

Fichiers

Voie de programmation

L'alimentation du rail doit être en marche avant d'utiliser la voie de programmation.
Ne pas oublier d'ajouter le fil de liaison requit sur la Carte Moteur.


Installer le Firmware

  1. Installer le logiciel Arduino (IDE)
  2. Télécharger la dernière sortie de DCC++ Base Station et décompresser les sources:
  3. Ouvrir avec l'IDE Arduino le fichier suivant, trouver dans le répertoire DCCpp_Uno:
    • DCCpp_Uno.ino
  4. Sélectionner la cible Arduino, celle utilisée, dans l'IDE Arduino:
    • Outils → Carte → Arduino/Genuino UNO ou MEGA
  5. Sélectionner le port USB:
    • Outils → Port → COMx ou /dev/tty* ou /dev/cu*
  6. Écriture du Firmware DCC++ dans l'Arduino:
    • Sketch → Téléverser

Fichier HEX

Dépannage

La locomotive s'arrête à vitesse maximale

Régler le nombre de Pas du décodeur à 126 au lieu de 128 dans l'onglet Interface des propriétés de la locomotive.

Erreur de compilation ethernet

Si l'erreur de compilation suivante survient:

In file included from /Users/rob/Projects/Arduino/BaseStation-1.2.1/DCCpp_Uno/DCCpp_Uno.ino:179:0:
sketch/Comm.h:11:28: fatal error: Ethernet.h: No such file or directory
   #include ETHERNET_LIBRARY
                            ^
compilation terminated.
exit status 1
Error compiling.

Changer la ligne 11 dans Comm.h: de

  #include ETHERNET_LIBRARY

à

  #include <Ethernet.h>


Windows plante après que Rocrail est démarré

Certaines configurations Windows planteront au démarrage du serveur Rocrail si l'Arduino est connecté par USB et que l'option suivante n'est pas sélectionnée:


Courant Max.

Dans le fichier CurrentMonitor.h le courant max. peut être changé à la ligne 16:

#define  CURRENT_SAMPLE_MAX         300
selon
Trainboard.com
correction
math.
Valeur Courant Max. Valeur
300 800 mA 270
600 1600 mA 540
750 2000 mA 675

L'application de ces valeurs à la Carte Moteur Arduino R3 avec une détection de courant de 1.65 V / A.
La détection de courant d'autres types de cartes Moteur peut variée, spécialement si son courant max. est > 2 A.
Voir pour plus d'information: Trainboard.com www.trainboard.com_highball_data_attachments_171_171670-95fce61ebb745f799c8472bf81c9e6ad.jpg

:!: Note importante: Il y a des cartes Moteur avec des puces pilotes LM298 qui sont montées de telle façon que la chaleur ne peut pas passer au dessus de la surface de la carte.
La photo montre cela pour cet ensemble, il est possible de mettre une bande de papier sous la puce.
A pleine charge (2A) pour une unité sans cette astuce la chaleur dissipée par la puce devient inévitablement trop chaud et la puce sera détruite.
Voir: Trainboard.com


Liens

dccpp/dccpp-fr.txt · Last modified: 2019/08/27 09:33 by phil45