Arduino (DCC++) Connectivity-Errors Reading CVs

TexasRailroader Mar 18, 2017

  1. TexasRailroader

    TexasRailroader TrainBoard Member

    90
    26
    7
    System
    Dell with Windows 10
    Base Station: Arduino with Motor Shield (Not a Clone)
    Version 1.8.1
    Connected to Command Station with USB using com3
    Command Station connected to Programming Track
    JMRI Version: 4.6-RB1496dc

    Attempting to read CVs on a Bachmann GP40 with a Soundtraxx Sound Value decoder.
    Keep getting error 306, timeout talking to Command Station.

    Also got this same error attempting to read the CVs of the TCS WOW101-KA Diesel.

    When the Command Station is connected to the Operations track and I try to read CVs I get the following error message: Program Error: Requested operation not implemented in command station (303)

    Wondering if I have the right configuration.

    Otherwise, the Bachmann seems to run and respond fine on the Operations Track. Not responsive on the Programming Track other than the engine idling with no other functionality.
     
  2. TwinDad

    TwinDad TrainBoard Member

    1,844
    551
    34
    You're going to want to update to JMRI 4.7.1 or newer. There are bugs in 4.6 that I think you are running into.

    DCC does not support reading CVs in Ops mode.
     
  3. RCMan

    RCMan TrainBoard Member

    271
    132
    12
    You can only read CV's on the Programming track. Been that way from day one with DCC.
     
  4. TexasRailroader

    TexasRailroader TrainBoard Member

    90
    26
    7
    I have been attempting reads from the programming track. I believe I read somewhere that the Soundtraxx Sound Value in Bachmann's don't talk back to a read attempt.

    I've already sent the TCS WOW101 back to the manufacturer. I also updated to JMRI 4.7.2-R741b21f and get a new error when attempting to read CVs on the Bachmann:
    Programmer error: No acknowledge from locomotive (308).
     
  5. TwinDad

    TwinDad TrainBoard Member

    1,844
    551
    34
    Exactly which motor shield are you using?

    Some of them don't provide current feedback... which could cause the failure to acknowledge.

    Also could be the loco isn't drawing enough current... a common solution is a 1K or so resistor laid across the rails of the program track...
     
  6. TexasRailroader

    TexasRailroader TrainBoard Member

    90
    26
    7
    Using the actual Arduino motor shield.
     
  7. TexasRailroader

    TexasRailroader TrainBoard Member

    90
    26
    7
    Are there motor shields that do provide current feedback?
     
  8. TwinDad

    TwinDad TrainBoard Member

    1,844
    551
    34
    Ok the official Arduino shield should have current sensing. I'm using the Pololu dual MC33926, which also has current sensing.
     
  9. Spagglerock

    Spagglerock TrainBoard Member

    13
    1
    2
    Good evening,
    I have the Arduinomega and the Derek robot motor shield. Link from 13 to 2
    I have converted a Farish Dcc ready with a Zimo 600r.
    I have a programming track on the b+ & b- connections.
    I select the Zimo 600r from the decoder menu, try to read it, the loco twitches.
    I have put a 2k load resistor across the output, no difference.
    On the current sense window it doesn’t change, even when I put a 48ohm resistor on the rails.
    I have 12v output, the voltage switches off and on with the JMRI.

    Any ideas?
     
  10. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    please share a picture of the actual boards, there are a few motor boards that use the L298 that do not offer current sense on A0/A1.
     
  11. Spagglerock

    Spagglerock TrainBoard Member

    13
    1
    2
    Thanks for the quick response
    Picture below?
    Hoping this helps

    upload_2019-5-24_18-1-37.jpeg
     
  12. Spagglerock

    Spagglerock TrainBoard Member

    13
    1
    2
    Evening all,
    Please can anyone advise if this shield is any good for dcc++
    I would appreciate it if someone can feedback before I buy another unit..
    Cheers
     
  13. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    That board should work. I've used one like it successfully for a few years now.

    Sent from my ONEPLUS A5010 using Tapatalk
     
  14. Spagglerock

    Spagglerock TrainBoard Member

    13
    1
    2
    THanks for the feedback,
    Any ideas why the one I have will not program a Zimo?
    I have a Farish chip raring in the next days..
     
  15. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    What is your track power supply? Are you running the stock DCC++? It is entirely possible there is a bug in the CS code which is causing it to miss reading the CV values, I remember a few fixes being required for certain decoder types.

    How old is the decoder you are trying to work with? Is it sound equipped?

    Sent from my ONEPLUS A5010 using Tapatalk
     
  16. Spagglerock

    Spagglerock TrainBoard Member

    13
    1
    2
    I have a 12v 1.5 amp supply,
    The Zimo is only a few months old (I think) mx600R
    Does the current sensing work on your board, even with a load resistor it remains at 0% but I am drawing 250 mA with a 48 ohm resistor..
    The engine twitches as I try to read,
     
  17. Atani

    Atani TrainBoard Member

    1,466
    1,736
    37
    1.5A is a bit low for the supply but that probably isn't a big problem. The L298 can supply up to 4A between prog and ops outputs but DCC++ limits it to ~890mA each.

    Current sense does work on the boards that I have. Do you have a way to check both A0 and A1 to see if they show any voltage with a load applied (or reading a CV)? These are the two pins used by DCC++ to read the current sense by default.

    If you put that load on either the A or B outputs directly (disconnect from the track) you should see some level of usage. Note that jmri will show usage for the ops track only.

    Sent from my ONEPLUS A5010 using Tapatalk
     
  18. Quax

    Quax TrainBoard Member

    27
    5
    8
    Hi!
    Just to exclude issues with JMRI, you could try to read a CV value directly from the Arduino IDE‘s serial monitor.
    Make sure that the Baud rate is set to 115200 and send a CV read command.
    As far as I remember you can read the decoder‘s manufacturer ID by sending
    <R 8 0 0>
    (Please correct me if I‘m wrong.)
     
  19. Sumner

    Sumner TrainBoard Member

    2,835
    5,969
    63
    I've been having some of the same problems with a couple engines (others program fine) and found an old thread ...

    http://cs.trains.com/mrr/f/744/p/263822/2976756.aspx

    ..... where the person was using a 12 volt supply like you and I are using and he changed to a 18 volt supply and the problems went away. I ordered a 14 volt one yesterday...

    https://www.amazon.com/gp/product/B013FKSHB0/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

    .... and should have it in a few days. After more reading I worried a little about going over 15 volts so decided to try 14 volts first. I'll report back if that did the trick or not.

    If one moves up to a p.s. over 12 volts be sure and cut that trace on the motor shield so you don't fry the Arduino,

    Sumner
     
  20. Spagglerock

    Spagglerock TrainBoard Member

    13
    1
    2
    Ok, great feedback guys,
    I will check with a 13v supply and feed back, have one of these from days gone by..
     

Share This Page