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

Gregg Aug 25, 2015

  1. TwinDad

    TwinDad TrainBoard Member

    1,844
    551
    34
    Has anyone compiled a list of motor driver boards that have been tested/used with DCC++?

    In particular, what about this Pololu 2507 driver?

    It might be nice to have a list of tested, known-working driver boards on the Wiki, with caveats (this one has current feedback, that one needs a heat sink, etc.) ...

    Just a thought...
     
    Scott Eric Catalano likes this.
  2. Atani

    Atani TrainBoard Member

    1,469
    1,756
    37
    from a quick read on the chips it might work. you would need to adjust the current sense code though, i believe it reports similar to the BTS7960.
     
    Scott Eric Catalano and TwinDad like this.
  3. TwinDad

    TwinDad TrainBoard Member

    1,844
    551
    34
    Another question I don't see covered explicitly in the Wiki or website... is there a limit to the number of locomotives or consists that the BaseStation can handle simultaneously? I note that in Config.h MAX_MAIN_REGISTERS is defined to 12. How does this compare/correspond to, say, the number of "Slots" a Digitrax command station can manage (e.g. 20 for the Zephyr Xtra, 100+ for the DCS1xx or 2xx series command stations)?

    Can the number of registers be increased safely?
     
    Scott Eric Catalano and sboyer2 like this.
  4. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Mark,

    I believe Harald (Haba) worked on this back on Sept 7th. see following post #1475.

    I tinkered a bit with the code. Made some parts which are not essential for me to only compile conditional (#define EESTORE #define NOSHOWCONFIG). Then I reduced the RAM footprint of the refresh register by 5 bytes per register. So now with more than 500 bytes free, I could set MAX_MAIN_REGISTERS to approx 40 on the UNO. That will give me the possibility to refresh functions as well in the future. The speedTable and regMap will probably be the next "big" data structures that will have to go in the slimming process. A snapshot is at

    http://www.stacken.kth.se/~haba/slamra/dcc/dcc++/BaseStation-20160907.tar.gz

    Forgive me that I'm not doing the GIT dance yet, but if this is of interest, I could convert this to separate pull requests and so on.

    Harald.
    haba, Sep 7, 2016 Report #1475

    Hope this helps.
    Regards,
    Kevin
     
    Last edited: Jan 19, 2017
    TwinDad likes this.
  5. Scott Eric Catalano

    Scott Eric Catalano TrainBoard Member

    205
    57
    6
    I have only used DCC++ for my christmas show demo layout and I only had like 3 locos running. Also the more you load up the system the hotter it becomes. I model HO Scale.
     
  6. Scott Eric Catalano

    Scott Eric Catalano TrainBoard Member

    205
    57
    6
    I use the:
    Pololu Dual MC33926 Motor Driver Shield for Arduino
     
  7. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Hi Scott,

    I also had a large HO scale modular layout (55' X 25') Xmas show.

    I used DCC++ on a Uno w/ Arduino Motor Shield l298P (2amp), a Dell 16vdc 4amp notebook power supply, and JMRI DecoderPro with Withrottle on a Win10 Surface Pro.

    I had 3 Diesel consists, 2 Diesel consist all sound, 1 Steam sound and 1 Steam no sound Operating around the layout along with 3 Diesel and 1 steam all sound idling and moving in a 18ft staging area.

    The Max_Main_Register set to 12 and the Current_Sample_Max set to 600.

    The system shut down when the JMRI Track Current Meter passed 56%. Pulled one diesel off the 3 consists making it also a 2 Consists, and placed a dead 9vdc battery on top of the L298P as a heat sink.

    Ran all the 6 engines with two Samsung smart phones and two Samsung Tab E Tablets with JMRI Engine Driver 2.11 along with the 4 sound engines in staging area jockeying for position. By the way there were also 5 Passenger cars with12vlt incandescent lighting being pulled by the Steam sound engine. Might have been able to keep the 3 engine consist if I had swapped out the 5 lighted passenger cars instead.

    Gregg, Mark and All have a Great product started In DCC++ Basestation & JMRI interface.

    Note: I received my ESP8266 wifi Shield and I'm looking forward to trying UK Steve's wireless DCC++/JMRI interface configuration.
    (when he's done and places a production version in the "Links for DCC++" thread)

    Regards,
    Kevin
     
    Scott Eric Catalano likes this.
  8. Lindley Ruddick

    Lindley Ruddick TrainBoard Member

    134
    3
    19
    I am having difficulty when I attempt to “verify” the DCCpp_Controller sketch.
    The last line of the info below

    import java.util.*;

    appears to be the issue.
    Here is the error posting

    'import' does not name a type

    This is occurring on both my PC and Apple platforms.
    Could you please help me make any corrections to allow the sketch to verify?
    Thank you.
    Lindley Ruddick


    import processing.serial.*;
    import processing.net.*;
    import java.util.regex.Pattern;
    import java.util.regex.Matcher;
    import java.util.*;
     
    Scott Eric Catalano likes this.
  9. UK Steve

    UK Steve TrainBoard Member

    453
    683
    12
    It sounds like you are trying to 'verify' in the Arduino IDE

    DCC++ Controller is a java application that you run in the Processing IDE.

    https://processing.org/
     
    Scott Eric Catalano likes this.
  10. Lindley Ruddick

    Lindley Ruddick TrainBoard Member

    134
    3
    19
    Thanks UK Steve
    Now I know why the "processing" link is on the DCC++ page.
    The "controller" now runs. Not sure how to "connect" that to the Arduino DCC++ base station.
    Too late here in "the colonies" to do much tonight. Tomorrow is another day.
     
    Scott Eric Catalano likes this.
  11. esfeld

    esfeld TrainBoard Member

    442
    382
    17
    Not sure how many people are still using the WangTongze modules but I'll post this here in case a search brings you here. I have found several of these boards that work in direct opposition to what we have been using heretofore .... ie: they work with 1&2 up to load a sketch and 3&4 up when used in a BS stack ..... exactly the opposite of the first boards I have used. Hope this leads to less frustration in configuring WangTongze.
    Steve F
     
    Scott Eric Catalano and KC Smith like this.
  12. UK Steve

    UK Steve TrainBoard Member

    453
    683
    12
    Hi Steve,

    Just PM'd you check your inbox.

    Those are interesting findings, so I think we can conclude the board has had some design changes.
    We could do with a definitive log somewhere to keep everyone in the loop.
     
  13. esfeld

    esfeld TrainBoard Member

    442
    382
    17
    I'm not so sure that they are design changes as much as poor manufacturing standards by the clone manufacturers. I'll get some pics later to show you what I mean.
     
    Scott Eric Catalano likes this.
  14. Atani

    Atani TrainBoard Member

    1,469
    1,756
    37
    Are there any visible differences between the boards that behave differently? If so, it may be beneficial for everyone to have pictures associated with the different behaviors.
     
    Scott Eric Catalano likes this.
  15. UK Steve

    UK Steve TrainBoard Member

    453
    683
    12
    It a shame they ever deviated from the original spec.
    Having recommended them to various members, it often turned into a frustrating mess of try this, try that, to no avail.
    Mine worked first time out of the box - once I'd figured programming - and still works properly today.
    I do know, and as Steve F will probably clarify, that the onboard LED's are different colours on some suspect boards.
     
    Scott Eric Catalano likes this.
  16. esfeld

    esfeld TrainBoard Member

    442
    382
    17

    OK, here are the pics, as promised.

    The two on top are good .. the toggle switches are in the operating position: the top board 1&2 up 3&4 down the middle board 1&2 down 3&4 up (they would be reversed for flashing) the bottom board is non configurable and is no good (the pins are flimsy and the soldering is poor). Hopefully the differences in the red toggle labeling will help you in identifying which board you may have and how to proceed. The top board exhibits a red power LED .. the middle board a green power LED but I have found that it is of no consequence. A quick note, if you look closely you can see that I have bent the Vin pin out on the underlying motor shields rather than cutting the trace .. making it reversible if necessary.

    Steve F
     

    Attached Files:

  17. Dr Dan

    Dr Dan New Member

    2
    2
    1
    @Papajohn88, I tried setting my Raspberry Pi up to talk to Arduino Uno, but the IDE keeps complaining about EEPROM.h not having the "put" method. It appears that the IDE version available for Pi is older and doesn't have it. How did you set it up? Thanks
     
    Scott Eric Catalano likes this.
  18. rniefert

    rniefert TrainBoard Member

    15
    14
    3
    i ran into the same issue. I used a laptop with the latest IDE, loaded the sketch on my arduino then used the pi for JMRI.
     
    Scott Eric Catalano likes this.
  19. Dr Dan

    Dr Dan New Member

    2
    2
    1
    Thanks, @rniefert, that worked. Next question (to the board): I have an old(er) SainSmart L293D Motor Drive Shield For Arduino Duemilanove Mega UNO R3 AVR ATMEL. It (obviously) works with a DC loco but refuses to talk to JMRI (DCC). I cannot even get it to put out any PWM in any form using the DCCpp_Uno sketch. Is this shield usable at all or I need to plunk down $5-$10 on another one?

    Thanks.
     
    Scott Eric Catalano likes this.
  20. Texas Cosmos

    Texas Cosmos New Member

    4
    1
    1
    I agree.... I spent many hours trying to find a cheaper Motor shield, even driving twice to a my local electronics place & trying different motor shield. I ended up paying $26 + shipping from Mouser Electronics... Getting the Org Arduino Motor Shield R3.
     
    Scott Eric Catalano likes this.

Share This Page