Introducing DCC++ ---a complete open-source DCC station and interface

Gregg Aug 25, 2015

  1. ISCOLD

    ISCOLD TrainBoard Member

    36
    38
    3
    Gregg,
    I made all test on UNO. It is OK. I can enable and disable main track and program track. Also the <D> command is OK.
    Just now I am waiting for my Polulo Motor Shield.
    Thanks a lot.
    Regards
     
    Scott Eric Catalano likes this.
  2. w8one

    w8one TrainBoard Member

    89
    109
    5
    Here is the beginning of the website https://sites.google.com/site/dccppsite/

    I've made some Wiki pages from Posts on here and from Gregg's comments in the code for the DCC++ Base Station https://github.com/DccPlusPlus/BaseStation/wiki
    More will be coming...
     
    Scott Eric Catalano, lnxlnx and HVT like this.
  3. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    Please note the website is very preliminary at this time. It's hosted on Google Sites which requires the use of Google's interface to design and build web pages. So most of what I've been doing is learning the interface and testing the framework. Creating pages is a bit clunky and sometimes you have to fight the system a bit to get the format right, but for the most part it seems reasonably easy to customize the pages and create navigation menus.

    I began with an intro page and am now linking up (and organizing) the videos from the DCC++ YouTube channel. Once that's done I will take a first pass at a "Getting Started" page that tries to summarize all initial steps in an easy-to-digest fashion. Other pages will include a detailed reference for the commands as well as details on using different motor shields.

    Suggestions for content would be most appreciated. Also, the site allows for collaboration so it may be possible to set the permissions to allow others to build and maintain pages as well.

    With regard to the motor shields, at this time we have folks who have successfully used the Arduino motor shield with both the Uno and the Mega, and the Pololu MC33926 with the Uno. Can anyone confirm success using the Pololu with the Mega? Anyone use any other shields? I'd like to keep a "user-tested" list on the web site.

    -Gregg
     
  4. UK Steve

    UK Steve TrainBoard Member

    453
    683
    12
    Hi Gregg,

    I'm currently waiting delivery (from China) of a "Cduino" branded motor shield. Which as best I can tell at this time, is a very near clone of the original Arduino shield.

    This will be paired with with my Mega 2560 copy board which I posted about yesterday. Page 26 post #514.

    Steve L.

    Update - The "Cduino L298P" most likely is a very new product, as just since ordering, a few more hits have appeared on the well known auction site. The price is around 70% lower than the original for me.
     
    Last edited: Jan 8, 2016
    Scott Eric Catalano and ISCOLD like this.
  5. mikegillow

    mikegillow TrainBoard Member

    116
    117
    13
    My thanks to Gregg and everyone else contributing to this project. I've been following it for a while now and am very excited about the prospect of having a JMRI-interfaced control system with a price tag I can handle.
    Gregg - I have a Mega 2560 clone and a Pololu MC33926 enroute. I have a 14.5v 2.5a wall wart that I will use for initial testing. I will post my results, hopefully within a week if life cooperates.
    I was bitten by the Arduino bug in October when I saw Geoff Bunza's blog on making a DCC servo controller from a ProMini. Also found Dave Bodnar's site and all of the great stuff he has shared. I made a demo five-servo decoder from Geoff's design but stopped there so that I could focus on finalizing a track plan for my 12.5'x16' space and actually get started on building it so that I had a place to install in.

    Mike
     
    Scott Eric Catalano and ISCOLD like this.
  6. ISCOLD

    ISCOLD TrainBoard Member

    36
    38
    3
    Gregg,
    The website is excellent.
    One, suggestion: can you discuss some about the difference between Main track and Program Track? I apologies if this is a valid suggestion, but as a novice in DCC sometimes I became in doubt about this.
    Regards
     
    Scott Eric Catalano likes this.
  7. Scott Eric Catalano

    Scott Eric Catalano TrainBoard Member

    205
    57
    6
    Main Track = your layout, Program Track = Thats where you program locomotives: addresses, sounds etc
     
  8. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    That's a great suggestion. I was hoping to include a page on DCC itself, since not everyone using DCC++ will have previous experience with DCC.
     
    KC Smith and Scott Eric Catalano like this.
  9. esfeld

    esfeld TrainBoard Member

    443
    382
    17
    Gregg
    The website looks fantastic! ........ perhaps you could have a section with the files. Since you are assuming that some people are not conversant with DCC they also might not be familiar with GitHub which can be confusing to novices.
    Steve
     
    KC Smith and Scott Eric Catalano like this.
  10. ISCOLD

    ISCOLD TrainBoard Member

    36
    38
    3
    Scott,
    Yes, I know this. But, physically speaking, it is the same track. Isn't it? Or not? I am not sure, but some time I read that programming track, must be open track. Is this correct?
    Regards
     
    Scott Eric Catalano likes this.
  11. UK Steve

    UK Steve TrainBoard Member

    453
    683
    12
    Hi ISCOLD,

    It's a special piece of track electrically isolated (but not necessarily physically isolated) from the main layout. It can be on a separate bench or table where ever you wish. It's only used to read, program and test your dcc enabled loco's and vehicles.

    Hence the need for the special output on the Base Station which connects this often just short length of track.

    Hope this helps

    Steve L.
     
    Last edited: Jan 8, 2016
    Scott Eric Catalano and ISCOLD like this.
  12. ISCOLD

    ISCOLD TrainBoard Member

    36
    38
    3
    Steve,
    Yes. This help me, because some time I became confusing with it.
    Thanks a lot.
     
    Scott Eric Catalano likes this.
  13. Scott Eric Catalano

    Scott Eric Catalano TrainBoard Member

    205
    57
    6
    isolated or separate piece of track
     
  14. ISCOLD

    ISCOLD TrainBoard Member

    36
    38
    3
    Scott,
    Yes, this could be stated to DCC novices, like me.
    Thanks.
     
    Scott Eric Catalano likes this.
  15. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    I'll include an example of this on the web site.

    On my layout I use one of the sidings as a programming track. The track is attached to the rest of the layout with plastic track connectors so it is electrically isolated. It therefore needs its own feeder wires for power. But instead of connecting these feeder wires to the programming track output of the Arduino, I connect them to the center contacts of a double-pole-double-throw switch. One set of inputs to that switch (one pole) are connected to the programming track output of the Arduino and the other set of inputs (the other pole) are connected to the main operations track output of the Arduino.

    I normally keep the switch set so that the siding is powered from the main operations feed. This allows it to be used as a normal siding. Then, when I want to program a locomotive or read its CVs, I send it to this special siding, and once I am sure all of its wheel are on the siding, I throw the feeder switch and the siding becomes a programming track.

    It's important that all of the wheels of the loco are on the siding when you throw the feeder switch. Anything that causes a connection between the siding and the rest of the tracks will cause a short if the siding is set to the programming track.

    When I'm done programming, I change the switch back to normal and throttle my loco back to the main tracks.

    Rather than operate the feeder switch manually, I use an Atlas snap switch/relay and drive it with one of the outputs from a DCC stationary decoder that I use to control turnouts. This enables me to switch the feeder to the siding from program track to main operations track by simply sending the appropriate <T> command to the Base Station. DCC++ Controller includes a button type that allows you to send specific <T> commands to control these types of "special" functions. You can see that button from within the Programming Track window of the Controller.
     
  16. PM_

    PM_ New Member

    2
    2
    1
    Thanks! Let me know if I can help. I do a lot of writing and graphic design in my day job.
     
    Scott Eric Catalano likes this.
  17. TwinDad

    TwinDad TrainBoard Member

    1,844
    551
    34
    I did this (the programming "siding") too, except I took it one step further... The first several inches of the spur are isolated from both the main and the "tail" of the spur.

    I used a 4 pole double throw switch... two poles control the programming section of the spur (the "tail"), and switch between main track power and programming track power. The other two poles are connected to the first section and switch between main power and completely dead.

    The isolation section makes "darned sure" that the loco being programmed can't accidentally touch the main-power track.
     
  18. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Hi Gregg.

    Excellent Arduino DCC++ Project with a Clear and Concise Discussion Forum!!.
    Exactly what I'm looking for. 1st first post.

    I have a Modular HO scale DC Layout that I've used Arduino Uno to set up stepper motors and Multiplexed LED lighting for Animation, Signal bridges and Building lighting. Now I'm looking to convert it to a DCC layout.

    Someone donated a Vintage 1995 MRC Command 2000 DCC station that works fine for a small DCC layout but I want to be able to use more Sound from the engines as well as a remote hand held throttle (smartphone) which the MRC station just can not do. (although it will run 1 DC along with 4 DCC engines at the same time.)

    So I plan dropping the MRC Command Station and using;
    a Arduino Mega2560 w/ a Arduino Motor Shield Driver RV3, (DCC++)
    a USB cord to a SurfacePro 3 Win10, (JMRI DecoderPro, PanelPro)
    a home Asus Wireless Router to a Samsung Galaxy S5 phone w/ JMRI Enginedriver .

    I have all the items except the motor shield which will be delivered next week.

    Question;
    I have HO scale with 1 DC engine and 4DCC engines and would like to use the MRC 18.5vac 65va Transformer that came with the Command station. https://www.nscalesupply.com/mrc/mrc-ad510.html

    Would this power pack be OK to use on the Arduino Motor Shield RV3??? (Brake disabled of course)

    Kevin
     
    Scott Eric Catalano likes this.
  19. Scott Eric Catalano

    Scott Eric Catalano TrainBoard Member

    205
    57
    6
    Hello Kevin,

    That power supply should work...I am using the Digitrax power supply that came with the Super Chief DCC set and it should be more than enough power....make sure to power the motor shield with it and not the Arduino itself as it will be too much power and fry the board. I am using a Pololu motor shield that can handle the volts 18-26.
     
  20. Gregg

    Gregg TrainBoard Member

    237
    311
    18
    Hi Kevin,

    Welcome to the discussion board and to DCC++! I also had an older MRC before developing DCC++, and it was some of the bugs in my MRC system (e.g. certain cab addresses would not work, certain routes numbers could not be programmed) that got me started tinkering with an Arduino in the first place.

    The equipment you list above sounds good with the one exception of the power supply. Though it would likely be sufficiently powerful and has the right voltage, the output appears to be AC rather than DC. DCC++ requires DC current for input into the motor shield since it needs to control the timing of the polarity switch that reverses the direction of the current (this is what encodes the DCC signal).

    Scott, the Digitrax power supply you are using outputs DC voltage, correct?

    -Gregg
     
    Scott Eric Catalano likes this.

Share This Page