User Tools

Site Tools


dccpp:dccpp-nl

Arduino DCC++

Introductie

DCC++ is een Centrale gebaseerd op de Arduino UNO/MEGA en een L298 Motor Shield.

  • The "DCC refresh stack"grootte 1) is 12, bij de MEGA tot 50, met 127 snelheidsstappen en 28 functies.
  • PT, Programmeer spoor
  • POM, Programmeren op het hoofdspoor (alleen schrijven)
  • 32 GCA Interfaces (NL) compatibele I/O-poorten.
  • DCC accessoire (functie) decoder ondersteuning.
  • 2A Booster power.


DCC++ Installatie

uno.jpg motorshield.jpg


  1. Installeer de Firmware.
  2. Sluit het motor shield aan: dccpp-motorshieldpinmappings.pdf


Extra Eigenschappen

Bij het gebruik van Rocrail worden de volgende extra eigenschappen toegevoegd:

  • Slot management met passieve slot-vrijgave na 30 seconden leegloop en bij snelheid 0 (nul). (Dit kan bij de instellingen gewijzigd worden)
  • Start van de Dag direct na het realiseren van de seriële verbinding.


Algemene Instelling

Tabblad "General"

De DCC++-Bibliotheek in Rocrail is dccpp.

Sub-Biblioteek

Serial-USB

De baud rate moet worden gezet op 115200.
Daarna moet de juiste virtuele seriele poort worden gekozen.

TCP/IP

Een TCP/IP verbining kan worden gebruikt wanneer de Arduino over een Ethernet Shield beschikt.
De TCP/IP Poort is gezet op 2560.

Het Config.h bronbestand moet worden aangepast en opnieuw worden ingevoerd om de de Ethernet Shield te gebruiken:

/////////////////////////////////////////////////////////////////////////////////////
//
// DEFINE COMMUNICATIONS INTERFACE TYPE (Zet de communicatie interface)
//
//  0 = Built-in Serial Port (ingebouwde Seriele Poort)
//  1 = Arduino Ethernet/SD Card Shield 
 
#define COMM_TYPE   0

Voorbeeld van de verbindings bevestiging met ethernet:

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>

Opties

Timeout

Timeout van de seriele leestijd in ms.

Slots

Het aantal slots is standaard 12. Bij gebruik van de MEGA kan dit worden aangepast in de DCC++ bron.
Het aantal slots moet kleiner of gelijk zijn aan het aantal registers als gezet in de DCC++ bron.

DCC++ comment:
Het aantal registers kan groter worden gezet dan 12, zeekr bij gebruik van de MEGA. Hier is het aantal waarschijnlijk maximaal 50.

Het aantal slots, registers, kan worden aangepast in Config.h line 24:

// DEFINE NUMBER OF MAIN TRACK REGISTER (definieer het aantal registers voor het hoofdspoor)
 
#define MAX_MAIN_REGISTERS 12

Slot Vrijgave tijd

De minimale leegloop tijd in seconden voordat een slot vrijgegeven wordt.

Melder uit vertraging (ms)

Voor pin 22.53 alleen bij de MEGA.
Aantal ms wachttijd voordat een input als UIT gemeld wordt. (De waarde moet een veelvoud van 10 zijn.)
De wachttijd-timer wordt gereset wanneer een input HIGH wordt binnen deze wachttijd.

System Info

Vraagt de stroomsterkte uit van het hoofdspoor (Deze is bedoeld voor de Rocview Status Balk.)

Echo commando's

Terugkoppeling van schakelopdrachten voor de Arduino I/O.

Verwissel de uitgangen (Swap gates)

Wissel de poorten om voor wisselopdrachten rechtdoor en afbuigend.

Tabblad "Rocrail Eigenschappen"

Beperk IDs (Reduce IDs)

Beperkt het aantal aangemaakte wissel en uitgangs IDs tot 16 ()..15). Standaard is 256.
Deze optie maakt het mogelijk een Arduino Uno te gebruiken met meer dan 45 accessoires onder DCC.

Geen poort test bij het opstarten

Een aantal Windows systemen kunnen crashen bij het opstarten van de Rocrail server, wanneer de volgende optie niet is gezet:

I/O Setup


Toevoegen

Voegt een nieuwe I/O toe met Type/Pin-nummers/Opties.
Dit wordt tijdelijk gemaakt in de DCC++ Centrale.

Wijzigen

Modificeer de gekozen I/O met Type/Pin-nummers/Opties.
Dit wordt tijdelijk gemaakt in de DCC++ Centrale.

Verwijderen

Wist de gekozen I/O.
Dit wordt tijdelijk gewist in de DCC++ Centrale.

Query

Maakt een overzicht alle gedefineerde I/O's in de DCC++ Centrale.

Opslaan

Bewaart alle gedefineerde I/O's in de EEPROM.

Wissen

Wist alle gedefineerde I/O's uit de EEPROM.
Een nieuw overzicht wordt automatisch gemaakt.

Opties

Output opties

Optie Bit Waarde
Geïnverteerd 0 0 = rijrichting vooruit (ACTIVE=HIGH / INACTIVE=LOW)
1 = rijrichting omgekeerd (ACTIVE=LOW / INACTIVE=HIGH)
Terugzetten 1 0 = status van de pin wordt hersteld bij power-up naar ACTIVE of INACTIVE afhankelijk van de status bij afsluiten; de status van de wordt INACTIVE gezet bij het eerste gebruik
1 = status van de pin wordt gezet bij power-up, of bij eerste gebruik, naar ACTIVE of INACTIVE afhankelijk van bit 2
Initiaal 2 0 = status van de pin wordt INACTIVE gezet bij power-up of bij eerste gebruik
1 = status van de pin wordt ACTIVE gezet bij power-up of bij eerste gebruik

Sensor

Optie Bit Waarde
Pull-up 0 1 = gebruik de internal pull-up resistor voor de pin
0 = gebruik NIET de internal pull-up resistor voor de pin


Adressering

Melders en Outputs gebruiken dezelfde adresruimte; Voorkom overlappende adressen waardoor ongewenste gebeurtenissen kunnen optreden.

Wissels

Accessory (Accessoires)

DCC Accessoire Decoders.
Wissels worden geadresseerd volgens het MADA schema met decoder adres en poorten. (DCC)

Geen DCC Accessoire Decoders.

Arduino I/O.

Commando (EN) Opdracht (NL) Output
straight rechtdoor addres + 0
turnout afbuigend addres + 1

Geen DCC Accessoire Decoder Single gate

Arduino I/O.

Commando (EN) Opdracht (NL) Output Pin status
straight rechtdoor addres OFF / UIT
turnout afbuigend addres ON / AAN


Melders

Vrije Arduino Pinne kunnen worden gebruikt als Melder ingangen.
Free Arduino pins can be used as sensor ports.

Outputs / Uitgangen

Accessoires

Uitgangen kunnen worden geadresseerd volgens het NMRA schema met decoder adres en poortnummer.

Geen Accessoire

Vrije Arduino poorten kunnen worden gebruikt als Output poorten.

Seinen

De Seinen-Optie Accessoire word voor de Uitgangen-opdrachten gebruikt.

Seinlamp nummers

Seinlamp nummer and Seinlamp waarde kunnen worden gebruikt.
De seinlamp waarde vertegenwoordigt het bitpatroon voor de 4 sein adressen.

G-ASH02

I/O interface voor de Arduino MEGA.
dccpp-hw.jpg

Type

Type code Functie
N No operation / Niet in bedrijf
O Output
I Input

Options

Zie: I/O Opties

I/O n

De keuze van GCA I/O verbinding.
De layout van de knoppen komt overeen met de PCB layout.

PIN mapping

MEGA PINs GCA connector GCA I/O
22..36 (even) I/O 1 1..8
23..37 (oneven ) I/O 2 9..16
38..52 (even) I/O 3 17..24
39..53 (oneven ) I/O 4 25..32


De I/O connectors passen op alle GCA boards zoals GCA76, GCA77, GCA93, GC94, GCA173, etc.

Jumper Functie Opmerking
JP1 Gebruik 5V van het Arduino board (indien geplaatst). Doe dit alleen wanneer de Arduino niet onder spanning staat, anders wordt de Arduino zelf gereset.

Bestanden

Programmeer Spoor

De baanspanning moet "aan" worden gezet voordat het Programmeer spoor (PT) gebruikt kan worden.
Vergeet ook niet de vereiste jumperdraad te plaatsen op het Motor Shield.

Installeer de Arduino Software (Firmware)

  1. Installeer de Arduino Software (IDE)
  2. Download het meest recente DCC++ Base Station bestand en pak deze uit (unzip):
  3. Open met de Arduino IDE het volgende bestand. Dit is te vinden in de DCCpp_Uno directory:
    • DCCpp_Uno.ino
  4. Kies het juiste Arduino model, (degene die gebruikt wordt) in de Arduino IDE:
    • Tools → Board → Arduino/Genuino UNO or MEGA
  5. Kies de USB Poort:
    • Tools → Port → COMx or /dev/tty* or /dev/cu*
  6. Schrijf de DCC++ Firmware in de Arduino:
    • Sketch → Upload


HEX File

Trouble Shooting (problemen oplossen)

Loc's stoppen op max.snelheid

Zet het aantal Decoder stappen op 126 in plaats van 128 in het Interface tab van de Loc eiegnschappen.

Ethernet Compile Error

Wanneer de volgende schrijffout ontstaat: If the following compile error occurs:

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.

Verander regel 11 in Comm.h: van

  #include ETHERNET_LIBRARY

in

  #include <Ethernet.h>

Windows crash na het starten van Rocrail

Een aantal Windosw configuraties kunnen crashen bij het opstarten van de Rocrail server, wanneer de Arduino is aangesloten via de USB-poort én de onderstaande optie niet is aangezet:


Max. Stroomverbruik

In het bestand CurrentMonitor.h kan het maximale stroomgebruik worden aangepast in regel 16:

#define  CURRENT_SAMPLE_MAX         300
volgens to
Trainboard.com
math.
correct
Waarde Max. stroom Waarde
300 800 mA 270
600 1600 mA 540
750 2000 mA 675

Deze waarden zijn van toepassing op de Arduino Motor Shield R3 met een stroomgevoeligheid van 1.65 V / A.
De stroomgevoeligheid van andere Motor Shields kan variëren, met name wanneer de maximale stroom groter is dan 2A.
Voor meer informatie (EN): Trainboard.com www.trainboard.com_highball_data_attachments_171_171670-95fce61ebb745f799c8472bf81c9e6ad.jpg

:!: Belangrijke Informatie: Er zijn Motor Shields met de Driver chip LM298, die zodanig gemonteerd zijn dat de warmte NIET kan worden afgevoerd via de oppervlakte van het shield.
De afbeelding laat zien dat bij deze vorm, een stukje papier onder de chip zelf geschoven kan worden.
Bij een maximale belasting (2 A) van een shield met dit gebrek kan de warmte onvoldoende worden afgevoerd en zal de chip uiteindelijk te heet worden en stuk gaan.
Zie ook (EN): Trainboard.com
1)
Slots = Aantal Tijdsintervallen
dccpp/dccpp-nl.txt · Last modified: 2019/08/07 10:27 by vt601