I scale DCC++

Hottshot65 Jan 3, 2019

  1. Hottshot65

    Hottshot65 New Member

    3
    0
    1
    My apologies if this has already been answered, but I’m looking at DCC++ for my small O scale (2 rail) layout. There’d be no more than three trains running at a time, with 2 trains being the norm. What components should I go with to ensure I don’t bump up against the limits?

    Thanks!
    Gerry
     
  2. Pieter

    Pieter TrainBoard Member

    152
    46
    10
    The Pololu has the highest amps of the pre-fered motor shields. Or you could go the DCC++ESP32 Base Station, the setup diagram is around page 13 of the post. Should be about 5th thread below yours.
     
  3. chrisat

    chrisat New Member

    3
    0
    3
    Hi Gerry, your initial best bet is to look into Dave Bodnar's work with DCC++ using high power motor shields to drive O-scale systems. Either an Arduino Uno or Arduino Mega board works as the signal generator using the Arduino's built in timers. (I prefer the Arduino Mega2560 as the base-board as it provides future adaptation with sensors and more robust communications options.) The signal then needs to be transmitted to the track using a specific kind of motor-shield that allows the digital signal to be converted into a bipolar power signal using input direction pins. Dave Bodnar's efforts with a high amperage H-bridge motor shield allows multiple O or even a couple of G-scale locomotives to be used at the same time from a DCC++ system, without overheating. Dave's excellent demonstration and details can be found here:

    http://trainelectronics.com/DCC_Arduino/DCC++/

    NOTE: A very critical aspect for DCC++ using IBT_2 type motor boards is it must do current-sensing with the driver chips, and these signals must be brought to pinouts. You'll find many boards out there that look the same, but lack the current-sensing being sent to pinouts. Dave provides complete details, and a link re: the desired motor board. You can find the boards on Amazon as well as E-Bay. (search for BTS7960b) They aren't that expensive. DCC++ uses current-sensing for two major purposes: during normal operation it can determine when there is a short condition on the tracks (very common in DCC), and the second purpose is for decoder programming feedback from the decoders. (Yes, the decoder undergoing programming will "jolt" the motor, changing the current and the difference is read by the base-station at pins A0 and A1)

    Communications boards and throttle usage is another longer discussion.

    Chris
     
  4. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    Hi Gerry, Welcome to the DCC++ community!

    The IBT_2 (BTS7960B) motor drivers would be the best option for you as both will be capable of supplying the necessary amps for multiple larger scale locomotives. The Pololu motor drivers/shields will work but would limit you to a peak of 2.5 amps (this may be suitable, but doesn't leave much capacity for additional DCC decoders (mobile or stationary).

    I'd also suggest looking at the ESP32 as your base station unless you already have an Arduino. There are a couple reasons for this. Unfortunately it would appear that the Arduino DCC++ base station is no longer actively maintained, I also have stopped active maintenance on my fork of the base station where I added WiFi access.

    On the ESP32 side, right now I'm only aware of my DCC++ESP32 project as providing an open source ESP32 based solution for generating an NMRA DCC signal through various motor drivers/shields. The current code supports Arduino shields (2A max), Pololu (2.5A max), BTS7960B (5A and 10A max are available out-of-box but can easily be scaled higher if needed). I'm also working on a couple major enhancements to DCC++ESP32 at this time that I anticipate will yield some major interest (LocoNet, S88, NMRA LCC, just to name a few of the enhancements coming sometime in the nearish future).

    Mike
     
    RCMan likes this.
  5. Hottshot65

    Hottshot65 New Member

    3
    0
    1
    Hi Mike,

    Thanks for your response. I’m starting with a clean sheet so I’m willing to go with anything as long as there’s a possibility of holding the load. If I went the IB2 + ESP32 route, is the set up the same as outlined with the Arduinos?

    Also as info, I do not have an electronics/programming background, but the challenge of learning something new is appealing!

    Thanks!
    Gerry
     
  6. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    Mostly yes. Take a look at this thread and feel free to reach out for help. I'll be adding some additional code to the base station to make integration with IBT_2/BTS7960B motor drivers in the very near future to eliminate the need for a couple extra components to split the DCC signal from one pin to two pins.

    That is the right attitude when it comes to DIY in the model trains world :)
     
  7. Hottshot65

    Hottshot65 New Member

    3
    0
    1
    Thanks for the info! I’d love to know when your code is in. Anything to simplify the hardware would be great!

    Thanks,
    Gerry
     
  8. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    You can try the latest code from here: https://github.com/atanisoft/DCCppESP32/tree/development
    Note that to compile this you will need to download two additional libraries as described here: https://github.com/atanisoft/DCCppESP32/tree/development/lib

    I'm looking at streamlining the configuration and usage of the code so this may change before the next release.
     
  9. RCMan

    RCMan TrainBoard Member

    271
    132
    12
    In all the good information about DCC++ designs and products, I would like to see a list of ESP's and shields, etc. that has been tested, also a list of what does not work or has problems and why.
    This would greatly answer a lot of questions that come up on the forums.
    This could be in a table format.
     
  10. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    I have part of that here. I've not yet added pictures or the solution for the motor drivers that do not have current sense yet as I haven't had a chance to take pictures and modify the boards. But almost all motor drivers will work with the ESP, even the ones without current sense there are a few options to add current sense to the system.

    Yes, there are a lot of common questions on "will this work?" and having a central repository that shows what has been tested and what has not would be very beneficial.
     

Share This Page