New to DCC++

Bruceg503 Mar 23, 2021

  1. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    Greeting all, I am new to the DCC++ enviroment. I have a Arduino Mega with an Arduino Motor shield. I have 4 HO bachmann DCC Locomotives.

    I am having some issues. my setup is Laptop serial connected to Arduino + shield (jumper pin 2 to 13), power is a Tech II to the shield and track to programming output, I can read the DC controller on the locomotive add it to my roster, but when i open a throttle to it I get no sign of life, I have tried two of the four locomotives and get the same result. I was thinking of getting a Meanwell S-100-15, power supply as I can get off CL for 15 dollars locally. any input would be helpful.

    also when I add the locomotive it detects the Bachmann EZ and gives me 2 choices (a 2 channel and a 4 channel) I have tried both, same result.

    Bruce
     
  2. Sumner

    Sumner TrainBoard Member

    2,798
    5,837
    63
    Couple questions:

    Have you installed the new DCC++ Classic or DCC++EX. Neither use the jumpers anymore and you will find that they program decoders better than the original DCC++ code that you might be running. Here is the link and I'd strongly suggest running one of these versions of DCC++...

    https://dcc-ex.com/

    Also if you only have a program track connected you can only program on it. You can only run a loco on the main (but with the newest version of DCC++EX I think there might now be more options). For now though I'd connect the main up and use it to run the loco. If you have a test track or a spur you can use a DPDT switch to switch it between a program track or a main track....



    Not sure why you are seeing the Bachmann EZ? You don't have that connected at the same time do you? You can only have one command station at a time on the same track.

    Also welcome to the board,

    Sumner
     
  3. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    I will look at installing DCC++EX on the Mega. I did switch the wires on the shield to the main side and still no joy.

    What is the difference between command station and base station?

    the Bachmann Decoder that JMRI found for the loco was listed as EZ.

    Bruce
     
  4. Sumner

    Sumner TrainBoard Member

    2,798
    5,837
    63
    So now you have the wires from 'main' outputs on the motor shield to the track and still can't run a loco with a JMRI throttle? If that is the case and you still can't run the loco I think I'd first put the new version on and then go from there if you still have a problem.

    From dcc-ex.com

    "After downloading the latest version of the installer from the release page for your operating system and installing the software, you will have the opportunity to select either CommandStation-EX or BaseStation-Classic. The installer will let you select options, such as your Arduino type and motor shield type, then automatically compile the firmware and upload it to your Arduino or compatible board."

    Command Station is a complete rewrite of DCC++ with a number of add-on's. BaseStation only rewrote parts of DCC++ to fix some known bugs. I'd go with EX as it will be the path to the future.

    Ok I didn't realize you were referencing what DecoderPro was finding as the decoder, my bad,

    Sumner
     
    Last edited: Mar 23, 2021
  5. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    Yes EX is what I will this evening and see what happens. The locos are used with less that 2 hours of run time on them.

    Thanks Sumner for the INFO.
     
  6. Ash

    Ash TrainBoard Member

    106
    66
    8
    One difference with DCC++EX, is that motor shield jumpers are not needed. So if you previously had a jumper from pin 2 to 13, remove it.

    Also, a new 7A power supply with prime delivery is about the same price... But a higher output power supply connected to a lower current motor board might not be recommended. I don't know; one of the reasons I use higher power motor boards.
     
  7. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    Picked up a meanwell 12v 2A power supply. I installed DCC++ex when o got home and was able to get the other 2 locos running. One runs forward when reverse is selected I changed the direction in programming but still the same. I will need to address the other 2 locos and see if I can get them going.
     
  8. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    FYI, I tested all 4 locomotives, 3 worked great the 4th one is giving errors reading some of the CV's :(. so I will have to look into it. I am going to be selling off the Loco's as they are HO and I am looking more at the N scale side of things.
     
  9. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12

    Bruce,

    If your running DCC++EX3.0, Before you give up on reading CV's on the 4th Loco try upgrading to the DCC++EX 3.0.7 Development release and try JMRI Decoder Pro again..
    If you still having difficulty come back and ask,

    How can I use the New <D ACK MAX ####> command to help Read stubborn decoders? The XXXX is a number >8500us.

    But first, Download the updated Development version DCC++EX 3.0.7 from the DCC-EX.com or from GitHub directly.

    DCC-EX.com
    Command Station Downloads
    CommandStation-EX GitHub repository
    https://github.com/DCC-EX/CommandStation-EX
    Click on Green Code button then Download.ZIP
    Extract the CommandStation-EX-master.zip file
    and make sure all the final files end up in a CommandStation-EX subfolder.

    Remember to copy these file from your current CommandStation-EX Folder Into the new CommandStation-EX Folder with the 3.0.7 version in it.

    config.h (mandatory}
    mySetup.h {if you have one}

    Then using the Arduino IDE editor Click on the New CommandStation-EX.ino file
    Compile & Upload to your Arduino Uno or Mega board.

    Happy Decoder CV Changing ...

    Let us know if the DCC++EX 3.0.7 helps.

    Regards,
    KCS
     
    Last edited: Mar 24, 2021
    Sumner likes this.
  10. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    All the locos are Bachmann and look to be in the same era that is why I think there is an issue.

    it reads some of the CVs and I think I saw error 308 or 303 when trying to read some of the CVs.
     
  11. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    I installed the update and was able to run the loco. It is not liking me using its 4 digit code when programming. Turns red in JMRI when it write the page.
     
  12. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Hi Bruce.

    OK, Actually this might be a Good thing.

    I'm assuming this is your correct configuration
    Mega2560
    L298P Motor Shield
    14.5v on the Programming Track
    DCC++EX 3.0.7 or version 3.0.8
    JMRI 4.22 or higher

    Please confirm what your current configuration is.

    Now, we can use the DCC++ Send Command and Traffic DCC++ Monitor screens to look at why the Decoder is not responding to JMRI Decoder Pro 4 Digit Address change requests.

    Click on the DCC++ Tab at the top of Decoder Pro Panel bar and Open Two Panels
    Open DCC++ Traffic Monitor
    Open Send DCC++ Command

    In the Send DCC++ Command field, type and send the both the brackets and the command inside "< >" Not the quotes
    enter and send <1> turns power On
    enter and send <D ACK ON> turns diagnostic On
    enter and send <R> Reads the address

    Copy and Past the information displayed in Traffic Monitors responses here to this thread so we can see it

    Now is the Time to Ask;
    How can I use some of the New <D ACK MAX ####> command to help Read stubborn decoders?

    The XXXX is a number >8500us or .85sec that we will change to Increase the time that DCC++ will Listen for a response from the decoder.

    Example:
    enter and send <D ACK MAX 13500> Increases the time to 13500us or 1.35 seconds.

    Then send <R> again to Read the Address and Traffic monitor should show the address of the engine

    If the commands above works you can now try and using Decoder Pro, Basic tab to change your Address to a Long 4 digit number.
    Type the xxxxx number in and press the Enter key so the field turns Orange "Before" pressing Write all changes on sheet button.

    If this still doesn't work, there are Other commands that we can use, but we need to see the Traffic Monitor Responses to know why the decoder is slow and not responding to your address change request.

    The power of DCC++EX has been increase five fold so take some time to learn some of the New commands.

    Regards,
    Kevin
     
    Last edited: Mar 26, 2021
    Sumner likes this.
  13. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6

    Kevin, I have not had time to look at the issue, I can say I am running an Arduino Mega and a Arduino Motor shield supplying 12v to the track.
     
  14. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Yes, I noticed it after I posted. Thx.
    Usually the DC voltage drops 1v to the track so I would expect a 12.5 vdc input to be abt 11.5vac on the Prog track.

    The 12vac is good for N and Z scale, and can work with HO but a sound decoder may not read well if the current is also low.
    A HO scale sound decoder reads better with14+vac when programming.

    Try the commands above as I described, it should work.

    Be sure to send us a copy of your Traffic DCC++ Monitor reply so we can see what range the decoder is signaling in.

    KCS
     
    Last edited: Mar 29, 2021
  15. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    Kevin I tried using the commands but it keeps saying unknown command. I am on dcc-ex build 85a2b92 v 3.0.8
     
  16. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12
    Ignore the 'unknown' response it is a glitch on the JMRI vocabulary that is being corrected in 3.0.10 available for download now.

    We're interested in the other information in theTraffic Monitor response, such as 'max= __mA and Pulse =____uS.

    Enter and send
    <1 >
    <D ACK ON>
    <D CMD 1>
    <R>
    <R 8 1 1>

    Then from the Traffic DCC++ Monitor,
    Please copy and post the entire report log here.

    Thanks
    KCS
     
  17. Ash

    Ash TrainBoard Member

    106
    66
    8
    I used your instructions, but in the Arduino serial monitor. Same results could be seen from JMRI DCC++ Traffic Monitor. I thought it might be useful to show some examples that might explain how the diagnostics can be used.

    The attached PDF shows
    Base case: shows how I have adjusted the ACK LIMIT about 20% higher than the highest low NO-ACK. (The reason I use a high ACK LIMIT is due to the coarse current sensor in this setup (current factor 26.4). For an external current sensor, I prefer Pololu ACS724 with 0-10A range and 400mv/A (current factor 12.2).

    Other examples were done using the standard 60mA current setting:
    Examples 2 & 3 show what would be reported as 308 errors.
    Example 4 shows how some reads will work, even with untuned ACK LIMIT
    Example 5 shows that some false positives can occur.

    Note: Getting these examples took many tries. The failure rate was less than 5% with the 60mA setting. But success rate is 100% when I tune the ACK settings for a problematic decoder and some current sensors. (No success using IBT_2 onboard current sensing for programming track).
     

    Attached Files:

  18. KC Smith

    KC Smith TrainBoard Member

    109
    111
    12

    Hi Ash,

    This is good information for us and for more experienced DCC++EX users.
    But this Thread is Labeled "New to DCC++" and I was trying to crawl slowly not walk through and be methodical so that we had a good clean thread for New users to drop in on and build their knowledge of DCC++EX. Once we get back his DCC++ Traffic Monitor results we can walk them through The Diagnostic commands ACK MIN__ & MAX__ Pulses and the LIMIT __ma changes to improve Decoder readings.

    Like you I Can't wait to get the DCC++EX 3.1 Command Station release out so we can Blow the User community's minds on the New power of DCC++EX. And once we give Bruce a little time to catch on with the HO testing, he'll be even a Bigger fan in his preferred N Scale layout.

    Thanks & good job on the monitor table!
    KCS
     
    Last edited: Mar 31, 2021
  19. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    after <R 8 1 1>
    Prog Read Cmd: CV: 8, Callback Num: 1, Callback Sub: 1
    Unrecognized reply: '* ACK baseline=0/0mA Threshold=20/59mA Duration between 2000us and 8500us *'
    Unrecognized reply: '* V0 cv=8 bit=7 *'
    Unrecognized reply: '* NO-ACK after 143mS max=0/0mA pulse=0uS *'
    Unrecognized reply: '* V1 cv=8 bit=7 *'
    Unrecognized reply: '* NO-ACK after 145mS max=0/0mA pulse=0uS *'
    Unrecognized reply: '* Callback(-1) *'
    Program Reply: Callback Num: 1, Callback Sub: 1, CV: 8, Value: -1
     
  20. Bruceg503

    Bruceg503 TrainBoard Member

    66
    31
    6
    After <R>
    Status:Station: DCC-EX, Build: 119662d, Version: 3.0.10
    Prog Read Cmd: CV: , Callback Num: , Callback Sub:
    Unrecognized reply: '* PARSING:R *'
    Unrecognized reply: '* ACK baseline=0/0mA Threshold=20/59mA Duration between 2000us and 8500us *'
    Unrecognized reply: '* V0 cv=1 bit=7 *'
    Unrecognized reply: '* NO-ACK after 137mS max=0/0mA pulse=0uS *'
    Unrecognized reply: '* Callback(-1) *'
    Program Reply: Callback Num: 0, Callback Sub: 0, CV: 0, Value: 0
    Read Track Current Cmd
     

Share This Page