Home   Contact
Basis boards   CS & power
Stack boards   Bouwinstructies
Prijslijst   Site in English
 
 

Bouwinstructie basis board
DCC-decoder V2.1


Basis board DCC-decoder,
klik

 

Inhoudsopgave van deze pagina

Deze pagina heeft de volgende secties (scroll down):

  • Functionaliteit
  • Stuklijst
  • Codering weerstanden
  • Het bouwen
  • Volgende stappen en 1e test
  • Upload definitieve sketch
  • Instellen modelspoor software
  • Adressering
  • Volgende stap: stack board
  • Het eindresultaat
  • Aansluitingen

 

Functionaliteit

Het basis board DCC-decoder is een 16-kanaals output device voor uitgaande DCC-commando's.

Te gebruiken met de stack boards: wissels, ontkoppelen, servo's, DC-outputs, relais en pins, seinen LED, sensoren, test en debug, DCC-monitor.

De moeilijkheidsgraad van deze bouwinstructie is 2.

 

Stuklijst

Controleer even of je alles compleet hebt:

  • PCB basis board DCC-decoder
  • Nano V3 ATmega328
  • Header 15P female (4)
  • Header 2P male (2)1
  • IC optocoupler 6N137
  • IC socket 8P
  • Led 3mm blauw
  • Led 3mm groen
  • Schroefterm. KF301 2P 5.0mm (2)
  • Weerstand 10KΩ
  • Weerstand 220Ω
  • Weerstand 2K2Ω (2)

1 Het kan zijn dat de 2P (polige) male header niet los in de verpakking van het basis board zit. In dat geval blijft de benodigde header over uit het op maat breken van de pinnen van het stack board (bv wissels). Die pinnen leveren we meestal in 40-polige uitvoering en als je daar de 2x 15P vanaf breekt blijven er 10 pinnen over.

 

Codering weerstanden

Er bestaan 2 veel gebruikte versies van kleurcodering voor weerstanden. Je zult veelal beige of blauwe weerstanden tegenkomen:

 


Codering weerstanden,
klik

 

Voor het buigen van de aansluitdraden van een weerstand (of een diode) kun je een stukje karton gebruiken van 2mm dikte (achterzijde schrijfblok). Als je beide aansluitdraden om de rand van het karton buigt dan past de weerstand precies in de footprint op het PCB (weerstanden hebben geen polariteit, het maakt dus niet uit welk pootje in welk gaatje in de footprint op het PCB zit):

 


Weerstand buigen

 

Het bouwen

  1. Alle onderdelen worden op de zichtzijde van het board geplaatst en aan de onderzijde gesoldeerd.
     
  2. Monteer de weerstand 220Ω op R1, 2K2 op R2, 2K2 op R3 en 10K op R4.
     
  3. Plaats dan de 2 led's (groen naast -5v+ en blauw naast DCC). 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).
     
  4. Plaats het 8-polige IC-voetje op 6N137 en steek de witte optocoupler 6N137er voorzichtig in. Let op dat de markering van beiden overeenkomt met de uitsparing in de footprint.
     
  5. Plaats de 2 stuks 2-polige header pins (bij -5v+ en bij DCC).
     
  6. Soldeer nu de 2 KF301 (blauw) schroefterminals bij -5v+ en bij DCC.
     
  7. Soldeer de 4 stuks 15-polige female headers op het PCB.
     
  8. Soldeer, indien van toepassing, de 2 stuks 15-P male headers op de Nano (plaats ze langs onder op het board en soldeer ze aan de zichtzijde vast). Laat het zwarte blokje met de 6 pinnen weg, monteer deze niet. Ze zijn niet nodig en maken het aansluiten van accessoires op het stack board soms lastig. Plaats tot slot de Nano in de daarvoor bestemde headers op het basis board, met de USB aansluiting aan de linker zijde (zie onderstaande afbeelding).
     
  9. Controleer je soldeerwerk nog even visueel op slordigheden, onbedoelde kortsluitingen tussen 2 soldeerpunten of niet gesoldeerde contacten.
     
  10. Aansluiten:
     
    Sluit een 5v DC-spanning aan op de blauwe KF301 schroefterminal. Let daarbij goed op de polariteit - en +.
     
    Sluit ook de DCC-railstroom aan op de KF301 (footprint: DCC).
     
    De USB-aansluiting van de Nano wordt alleen gebruikt bij het uploaden van de sketch. Bij normaal gebruik op de modelbaan is die kabel niet nodig en kan die verwijderd worden.

 


Klik voor vergroten

 

Volgende stappen en 1e test

  1. Het board is nu klaar voor een eerste test.
     
  2. Zorg ervoor dat er een CH340 (of CH341) driver op de PC geďnstalleerd is (zoek in Google). Deze Windows driver zorgt voor de verbinding tussen het Arduino board en de PC met de Arduino IDE.
     
  3. 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.
     
  4. Haal de Nano van het basis board af en verbind de Nano via een USB-kabel met de PC.
     
  5. Start de Arduino IDE op de PC.
     
  6. Selecteer in de Arduino IDE het juiste board (Nano) en de juiste COM-poort.
     
  7. Download deze testsketch en unzip het bestand in je map met Arduino projecten. Open daarna de file met de Arduino IDE.
     
  8. In regels 20-25 van de code van deze sketch staan 5 pinmappings. Uncomment (dus zonder //) de pinmapping voor je board (DCC-EX, DCC-EX I2C, DCC-decoder, LocoClient of LocoBuffer en zorg ervoor dat de andere 4 pinmappings wel // ervoor hebben staan in de code (C++ code met // ervoor wordt niet uitgevoerd). Zie afbeelding:

 


Pinmapping instellen,
klik

 

  1. Controleer in de Arduino IDE de instelling bij:

    [Tools]
    [Processor]
     
    Daar moet ATmega328p of ATmega328P (Old Bootloader) geselecteerd zijn.
     
  2. Upload de sketch vervolgens naar de Nano.
     
  3. Indien de sketch niet naar de Nano upload, controleer dan de volgende dingen:
     
    1. Is er een CH340-driver op de PC geďnstalleerd (USB)?
       
    2. 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).
       
    3. Is het juiste board geselecteerd in de Arduino IDE (Nano)?
       
    4. Is de juiste COM-poort geselecteerd in de Arduino IDE?
       
    5. Switch in de Arduino IDE bij...:
       
      [Tools]
      [Processor]
       
      ...eens van ATmega328P naar ATmega328P (Old Bootloader) of andersom.
       
    6. Is Rocrail (of andere modelspoorsoftware) actief naast de Arduino IDE? Soms conflicteren deze op het gebruik van COM-poorten als ze tegelijkertijd gebruikt worden.
       
  4. Plaats de Nano terug op het basis board. Indien je beschikt over een stack board test en debug, dan kun je dat nu op het basis board plaatsen in H1 en H2.
     
    Heb je geen stack board test en debug dan kun je ook losse led's (met een weerstand) of een multimeter gebruiken om de outputs te testen. Plaats nog geen ander stack board! Dat doe je pas als je de definitieve sketch hebt geupload naar het basis board.
     
  5. Als alles goed is gemonteerd en geďnstalleerd dan loopt er nu een testprogramma op de Nano dat poorten 1 tm 16 steeds kort aan/uit schakelt (DCC-decoder, DCC-EX, DCC-EX I2C en LocoClient). Of led's 1 en 2 branden continu en de led's 3-16 knipperen afwisselend (LocoBuffer). Op het stack board test en debug branden/knipperen de led's 1 tm 16 één voor één, en in de seriële monitor (rode kader) van de Arduino IDE verschijnt een melding dat alles goed werkt (let op: zorg ervoor dat de baudrate van de Arduino IDE hetzelfde is ingesteld als de genoemde baudrate van de sketch (void setup, zie rode kaders). zie afbeelding:

 


Baudrate instellen,
klik

 

  1. 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).

 

Upload de definitieve DCC-decoder sketch

  1. Installeer eerst (als je dat nog niet gedaan hebt) de DCC_Decoder library in de Arduino IDE.
     
  2. Download die library hier: Github DCC_Decoder.
     
  3. Start vervolgens de Arduino IDE en voeg de zojuist gedownloade library (zip) toe aan de IDE via:

    [Sketch]
    [Include Library]
    [Add .Zip Library]
     
  4. Download nu de sketch die je nodig hebt voor het stack board dat op dit basis board geplaatst wordt en unzip de files in je map met Arduino projecten:
     
    1. DCC-decoder wissels
    2. DCC-decoder ontkoppelen
    3. DCC-decoder seinen
    4. Test & debug
       
  5. Open de juiste sketch in de Arduino IDE en upload het programma naar de Nano.
     
    Let op - In de sketch staan onder het kopje 'Door de gebruiker in te stellen variabelen' verschillende settings die je nog kunt/moet aanpassen. Bv startadres, soort output, soort input, pinmapping of outputs HIGH/LOW. Neem de sketch daarom even goed door en pas de variabelen aan waar nodig! Op veel plaatsen in de sketch staan ook toelichtingen over de werking ervan (zie //).
     
  6. In de seriële monitor van de Arduino IDE verschijnt een melding dat alles werkt.
     
  7. Plaats nu het stack board dat je bij dit basis board wil gebruiken op het basis board.

 

Instellen modelspoorsoftware

Er zijn natuurlijk 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.

 

Adressering

Basis boards DCC-decoder werken direct via de DCC-railstroom met de treinbesturingssoftware. Bij de adressering van accessoires zoals wissels, ontkoppelaars, seinen, DC outputs, servo's, etc, gebruiken stack modules een pinmapping.

De stack modules hebben meestal 16 kanalen (1 tm 16). Voor DCC-decoders 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 DCC-signaal  
3 1 (startadres)
4 2 (startadres +1)
5 3 (startadres +2)
6 4 (startadres +3)
7 5 (startadres +4)
8 6 (startadres +5)
9 7 (startadres +6)
10 8 (startadres +7)
11 9 (startadres +8)
12 10 (startadres +9)
13 niet in gebruik  
14 A0 11 (startadres +10)
15 A1 12 (startadres +11)
16 A2 13 (startadres +12)
17 A3 14 (startadres +13)
18 A4 15 (startadres +14)
19 A5 16 (startadres +15)

 

Elke DCC-decoder heeft dus een startadres plus 15 daar op volgende adressen. Bv de range 1-16 of 17-32, et cetera.

 

Volgende stap: stack board

Zie voor verdere instructies en de volgende stappen de bouwbeschrijvingen sectie 2 van de stack boards die op dit basis board passen (zoals wissels, terugmelding, ontkoppelen, seinen, servo's, outputs, etc).

 

Het eindresultaat

 

Aansluitingen

Dit basis board heeft de volgende aansluitingen:

  • USB-C (Nano), deze wordt aangesloten op de USB-poort van de PC om de unit via de Arduino IDE te programmeren. Voor normaal gebruik kan die USB-kabel weer losgekoppeld worden (dan moet de 5v (zie volgende punt) wel aangesloten worden).
     
  • 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.
     
  • Schroefterminal KF301, hier sluit je de DCC-railspanning aan voor de inkomende DCC-instructies van de centrale.
     
  • 2 stuks 2 male pins (direct achter de schroefterminals), deze zijn verbonden met de schroefterminal voor de voedingsspanning en het DCC-signaal. De polariteit van de 5v spanning is vermeld op het PCB, de polariteit van DCC maakt niet uit.
     
    De pinnen voor de voedingsspanning kun je gebruiken om de spanning met 2 korte Dupont-kabeltjes door te lussen naar de spanning van het stack board dat op dit basis board geplaatst gaat worden. Maar let op: alleen indien de voedingsspanningen van het basis board en het stack board gelijk zijn (bv bij LED seinen).
     
  • H1 en H2, hier plaats je een stack board naar keuze.

 

 

 



 

(C) Ed den Ouden
Modelspoor Stack Modules (R)