
Klik voor
vergroten
Functionaliteit
Het basis board DCC-EX seriële centrale is een 14 of 16-kanaals1
input en output device voor uitgaande (DCC-) commando's of binnenkomende
terugmeldingen. Deze seriële DCC-EX centrale wordt via een USB-kabel (niet
meegeleverd) met de besturings-PC verbonden.
1 Afhankelijk van de uiteindelijke configuratie zijn er 14
of 16 pinnen beschikbaar voor input of output via een stack board. Indien
de treinbesturingssoftware die je gebruikt bij 'Baanstroom Aan' slechts
1 centrale die opdracht geeft dan heb je 16 vrije pinnen, stuurt de software
die opdracht naar alle USB-centrales dan heb je 14 pinnen beschikbaar (pin
3 en 11 vallen dan af). Het is ook mogelijk om de pinnen 3 en 11
beschikbaar te maken. Dan zijn er 16 vrije pinnen. Verderop op deze
pagina wordt dat besproken bij 'DCC-EX centrale zonder motorshield'.
Te gebruiken met de stack boards: wissels, ontkoppelen, servo's, DC-outputs,
relais en pins, seinen LED, stroomdetectie, sensoren, test en debug, DCC-monitor.
Begrippen
- Stack modules: dit modulaire systeem om digitale modelspoorbanen
te besturen. Stack modules is een geregistreerd handelsmerk.
- Basis board: een stack module basis board verzorgt het protocol
van en naar de besturingscentrale en/of de PC (DCC-EX, DCC-decoder,
LocoNet).
- Stack board: een stack module die op een basis board geplaatst
kan worden en die de aansturing van de accessoires regelt (wissel,
servo, ontkoppelaar, DC-output, sein, relais, baanuitlichting,
sensoren, etc) of die de terugmeldingen van het spoor kan ontvangen
(stroomdetectie, massadetectie, andere sensoren).
- Arduino IDE: dit is het programma (ontwikkelomgeving)
waarmee je Arduino boards kunt programmeren in de programmeertaal
C++.
- PCB: print circuit board, een printplaat voor elektronische
onderdelen.
- Accessoires: daarmee bedoelen we de onderdelen van de
modelspoorbaan die je wilt aansturen. Zoals bv wissels, servo's
ontkoppelaars, DC-outputs, seinen, leds's, relais, pinnen, etc.
- Header: een rijtje female pinnen (2.54mm pitch).
- Pin header: een rijtje male pinnen (2.54mm pitch).
- Footprint: de voetafduk (afbakening) van een component op het
PCB. Een footprint geeft vaak ook informatie over montagerichting,
polariteit, etc.
Stuklijst
Controleer even of je alles compleet hebt:
PCB basis board DCC-ex. Nano V3 ATmega328 mini-USB. Header 15P female
(4). Header 2P male. Led 3mm groen. Schroefterm. KF301 2P 5.0mm. Weerstand
220Ω.
Codering weerstanden
Er bestaan 2 veel gebruikte versies van kleurcodering voor weerstanden. Je
zult veelal beige of blauwe weerstanden tegenkomen:

Klik voor
vergroten
Support
Mocht je ergens niet uitkomen of heb je nog vragen? Stuur
dan een e-mail met je vraag naar stackmodules@ziggo.nl. Wellicht
kunnen we je per e-mail helpen, of anders maken we een afspraak voor een
telefoontje (ook beeldbellen) of een skype-meeting.
Volgorde montage
- Let op: bij het monteren en
solderen van elektronica, en dan mn chips (Nano's), gebruik je
altijd een antistatisch polsbandje dat geaard is. Statische
elektriciteit kan chips gemakkelijk onherstelbaar beschadigen.
- Begin eerst met de kleinste en platste delen zoals weerstanden,
diodes, etc.
- Monteer vervolgens de hogere componenten zoals IC's, transistoren,
led's, etc.
- En plaats dan de hoogste delen op het PCB, zoals pinheaders,
schroefterminals, etc.
- Deze werkwijze monteert vaak het prettigst omdat de onderdelen
dan op hun plaats blijven zitten als je het PCB omdraait en neer
legt om te
solderen.
- Tip: je kunt onderdelen die je wilt solderen ook tijdelijk op
hun plaats houden met een klein stukje isolatietape, dat je er
daarna weer afhaalt.
Het bouwen
- Alle onderdelen worden op de zichtzijde van het board geplaatst
en aan de onderzijde gesoldeerd.
- Monteer eerst de weerstand 220Ω op R1.
- Plaats dan de led. Het lange pootje van de led (+) moet links en
het korte pootje van de led (-) moet rechts (- is de zijde met de witte
verdikte rand in de footprint).
- Plaats de 2-polige header pins (-5v+).
- Soldeer nu de schroefterminal en de 4 15-polige female headers op
het PCB.
- Plaats tot slot de Nano in de daarvoor bestemde headers, met de
USB aansluiting aan de linker zijde (zie onderstaande afbeelding).
- Controleer je soldeerwerk nog even visueel op slordigheden, onbedoelde
kortsluitingen tussen 2 soldeerpunten of niet gesoldeerde contacten.
- Aansluiten: verbind de Nano via een USB-kabel met de PC. De KF301
schroefterminal wordt dan niet gebruikt, de voedingsspanning voor de
Nano komt dan immers via de USB-kabel vanuit de PC of vanuit een USB-hub.

Klik om te
vergroten (nieuw tabblad)
Testen met een testsketch
- Het board is nu klaar voor een eerste test.
- Zorg ervoor dat er een CH340 (of CH341) driver op de PC
geïnstalleerd is. Deze kun je bv
hier downloaden.
Deze driver zorgt voor de verbinding tussen het Arduino board en de
PC met de Arduino IDE.
- Is de Arduino IDE (V2, Integrated Development Environment) op je PC
geïnstalleerd? Zo niet, dan kun je die downloaden vanaf
Arduino.cc. Download de versie voor jouw systeem en start
vervolgens de installatie.
- Verbind de Nano via een USB-kabel met de PC.
- Start de Arduino IDE op de PC.
- Selecteer in de Arduino IDE het juiste board (Nano) en de juiste
COM-poort.
- Download
deze testsketch
en unzip het bestand in je map met Arduino projecten. Open daarna de
file met de Arduino IDE.
- In regels 21-23 van de code van deze sketch staan 3 pinmappings. Uncomment (dus
zonder //) de pinmapping voor je board (DCC-EX, DCC-decoder of
Loconet client) en zorg ervoor dat de andere 2 pinmappings wel //
ervoor hebben staan in de code (C++ code met // ervoor wordt niet
uitgevoerd).
- Controleer in de Arduino IDE de instelling bij:
[Tools]
[Processor]
Daar moet ATmega328p of ATmega328P (Old Bootloader) geselecteerd
zijn.
- Upload de sketch vervolgens naar de Nano.
- Indien de sketch niet naar de Nano upload, controleer dan de volgende dingen:
- Is er een CH340-driver op de PC geïnstalleerd (USB)?
- Is de USB-kabel oké? Probeer eens een andere kabel. Sommige
USB-kabels hebben maar 2 aders en zijn alleen geschikt om iets
op te laden. Normale USB-kabels hebben 4 aders (2 datalijnen, 5V
en gnd).
- Is het juiste board geselecteerd in de Arduino IDE (Nano)?
- Is de juiste COM-poort geselecteerd in de Arduino IDE?
- Switch in de Arduino IDE bij...:
[Tools]
[Processor]
...eens van
ATmega328P naar ATmega328P (Old Bootloader) of andersom.
- Indien je beschikt over een stack board test en debug, dan kun
je dat nu op het basis board DCC-EX plaatsen in H1 en H2. Heb je geen stack
board test en debug dan kun je ook losse led's (met een weerstand
van minimaal 220Ω) of een multimeter gebruiken
om de outputs te testen.
- Als alles goed is gemonteerd en geïnstalleerd dan loopt er nu een
testprogramma op de Nano dat poorten 1 tm 16 (op het PCB D2 tm D11 en A0 tm A5) steeds kort
aan/uit schakelt. Op het stack board test en debug knipperen de
led's 1 tm 16 één voor één en in de seriële monitor van de Arduino IDE verschijnt
een melding dat alles goed werkt.
- Algemene informatie over de werking van Arduino boards en de
verschillende modellen kun je op
deze pagina raadplegen. En mocht je meer willen leren over het
programmeren van Arduino boards in C++ dan kun je bv terecht op
deze website
(Bas on Tech).
DCC-EX centrale zonder motor shield
Pinnen 3 en 11 worden gebruikt door het motor shield van het
commandstation. Maar een losse DCC-EX unit zonder motor shield heeft
deze pinnen daarvoor niet nodig. Je kunt ze op de volgende wijze
beschikbaar maken als inputs of outputs:
- Maak een kopie van de map met de DCC-EX sketches (zodat het
origineel beschikbaar blijft).
- Open de gekopieerde DCC-EX software in de Arduino IDE.
- Selecteer de file MotorDrivers.h.
- Pas bij de definitie van het standaard motor shield de volgende
regels aan. Originele code:
new MotorDriver(3, 12, UNUSED_PIN, UNUSED_PIN, A0, 2.99, 2000,
UNUSED_PIN)
new MotorDriver(11, 13, UNUSED_PIN, UNUSED_PIN, A1, 2.99, 2000,
UNUSED_PIN)
Moet worden:
new MotorDriver(20, 21, UNUSED_PIN,
UNUSED_PIN, A0, 2.99, 2000, UNUSED_PIN)
new MotorDriver(20, 21, UNUSED_PIN,
UNUSED_PIN, A1, 2.99, 2000, UNUSED_PIN)
- Sla de file MotorDrivers.h op en upload de nu aangepaste
commandstation sketch naar de Arduino.
Upload de definitieve DCC-EX sketch
- Installeer eerst (als je dat nog niet gedaan hebt) de DCC-EX library
in de Arduino IDE.
- Download die library hier:
Github DCC-EX.
- Start vervolgens de Arduino IDE en voeg de zojuist gedownloade library
(zip) toe aan de IDE via:
[Sketch]
[Include Library]
[Add .Zip Library]
- Open nu de DCC-EX sketch CommandStation-EX (deze staat in de library-map
van de DCC-EX library) in de Arduino IDE en upload die sketch naar het
Nano board.
- In de seriële monitor van de Arduino IDE verschijnt een melding
dat alles werkt.
Instellen modelspoorsoftware
Stack modules werken prima samen met alle bekende softwarepakketten.
Je stelt dit globaal als volgt in:
- Maak een nieuwe centrale aan, type DCCpp. Kies een logische en herkenbare
naam voor de unit (bv 'DCC-EX wissels 1').
- Kies de juiste COM-poort via welke het basis board DCC-EX met de
PC verbonden is.
- Start de software opnieuw op.
Er zijn best veel verschillende programma's voor digitale modelspoorbesturing.
In deze bouwinstructie vermelden we de settings voor Rocrail. Maar andere
programma's wijken daar niet zo veel vanaf.
Aanmaken centrale (in Rocrail in dit geval):

Klik voor
vergroten

Klik voor
vergroten
De volgende stap is het configureren van accessoires in de software voor
de treinbesturing op de PC (in dit voorbeeld is dat Rocrail):
- Maak een nieuw accessoire aan (wissel, ontkoppelaar, sein, servo,
etc).
- Selecteer daarbij de naam van de centrale die je wilt aansturen
(in dit voorbeeld 'DCC-EX wissels 1').
- Vul bij 'Adres' de juiste pin in volgens de pinmappingtabel die
iets verder op deze pagina genoemd staat.
- Vul eventueel nog andere van toepassing zijnde parameters in (welke
dat eventueel zijn verschilt per softwarepakket).

Klik voor
vergroten
Adressering
Basis boards DCC-EX werken direct via een USB-kabel met de treinbesturingssoftware.
Bij de adressering van accessoires zoals wissels, ontkoppelaars, seinen,
DC outputs, servo's, etc, gebruiken stack modules een pinmapping.
DCC-EX basis boards worden dus direct aangestuurd op de pinnen.
Let op: Het
adres van een accessoire dat je moet instellen in de modelbaansoftware
(bv Rocrail) is dus de pin van de desbetreffende
Nano (D2 tm D11 en A0 tm A5).
De stack modules hebben meestal 16 kanalen (1 tm 16).
Voor DCC-EX geldt op stack modules de volgende pinmapping:
Aan te sturen
Nano pin |
Kanaal op het
stack board |
0 niet in gebruik |
|
1 niet in gebruik |
|
2 |
1 |
3 soms niet bruikbaar, zie 1 |
2 |
4 |
3 |
5 |
4 |
6 |
5 |
7 |
6 |
8 |
7 |
9 |
8 |
10 |
9 |
11 soms niet bruikbaar, zie 1 |
10 |
12 niet in gebruik |
|
13 niet in gebruik |
|
14 A0 |
11 |
15 A1 |
12 |
16 A2 |
13 |
17 A3 |
14 |
18 A4 |
15 |
19 A5 |
16 |
Dus, als je kanaal 1 op het stack board wilt schakelen dan stuur je op
het basis board DCC-EX pin 2 aan (= adres 2 in Rocrail).
En voor een accessoire op stack board kanaal 16 stuur je Nano pin 19
aan (= adres 19 in Rocrail). Et cetera...
Het eindresultaat

Aansluitingen
Dit basis board heeft de volgende aansluitingen:
- Mini-USB (Nano), deze wordt aangesloten op de USB-poort van de PC.
- Schroefterminal KF301, hier kun je 5v DC (niet meer!) voedingsspanning
aansluiten als de Nano niet met USB verbonden is. De polariteit is vermeld
op het PCB.
- 2 male pins (direct achter de schroefterminal), deze zijn verbonden
met de schroefterminal voor de voedingsspanning. De polariteit is vermeld
op het PCB.
- H1 en H2, hier plaats je een stack board naar keuze.
|