Only Address 1 Turnout works for Dcc++

Farhan Dec 21, 2018

Tags:
  1. Farhan

    Farhan New Member

    7
    1
    1
    Hello Guys,

    Has anyone configured accessory decoder and used with DCC++ Command controller?


    I have configured one Accessory decoder and connected 4 servos to 4 different addresses(means 4 different pins(3,4,5,6) but only the servo connected to Address 1 Works means whatever is connected to address1 works rest of the 3 addresses don’t. If all 4 servos are assigned to Address 1 they work too simultaneously Please advise what Am I doing wrong here.

    I have used <T 1 1 0> to register and <T 1 1> to Throw <T 1 0 > to unthrow which seems to work but only for one address.




    Thanks in advance
     
  2. Jimbo20

    Jimbo20 TrainBoard Member

    274
    178
    11
    Hi,
    I fell foul of this issue too last year!

    DCC++ accessory decoder addressing is not as simple as it seems.(!)

    The explanation on this web page clarifies it - though you have to be pretty good at maths to understand it!

    Scroll down to the first comment on this linked page:

    https://model-railroad-hobbyist.com/node/27318?page=11

    So if you have your decoder set to addresses 1,2,3 & 4 I think you will need to register them on DCC++ as;

    1 = 1 0 (eg <T 1 1 0>)
    2 = 1 1 (eg <T 2 1 1>)
    3 = 1 2 (eg <T 3 1 2>)
    4 = 1 3 (eg <T 4 1 3>)

    Jim
     
    Last edited: Dec 21, 2018
  3. Farhan

    Farhan New Member

    7
    1
    1
    Thanks Jim you advice worked I can run 3 Servos same time

    Can you also guide me on how use this formula for Turn our address 10, 11, 25, 30

     
  4. Jimbo20

    Jimbo20 TrainBoard Member

    274
    178
    11
    Glad it worked!

    I haven't double checked the following, but I think its right!

    for address 10 we have;
    sw1 = (10+3)/4 = 13/4 = 3 (rounded down to whole number)
    sw2 = (10 -(3x4))+3 = 10 - 12 +3 = 1

    so the command would be <T 10 3 1>


    for address 11
    sw1 = (11+3)/4 = 14/4 = 3 (rounded down to whole number)
    sw2 = (11 -(3x4))+3 = 11 - 12 +3 = 2

    so the command would be <T 11 3 2>


    for address 25
    sw1 = (25+3)/4 = 28/4 = 7
    sw2 = (25 -(7x4))+3 = 25-28+3 = 0

    so the command would be <T 25 7 0>


    for address 30
    sw1 = (30+3)/4 = 33/4 = 8 (rounded down to whole number)
    sw2 = (30-(8X4)+3 = 30-32 +3 = 1

    so the command would be <T 30 8 1>

    You may know that the first parameter after the 'T' in the command is the turnout's ID and is arbitrary and used for referencing the turnout when later sending it commands. I like to use the same ID as the turnout address to avoid confusion!
     
    Atani likes this.

Share This Page