For a project I am doing, I am trying to understand mapping 28 speed steps to 128 speed steps. I understand 128 speed steps actually offers 126 values of speeds the loco can travel when rolling. So each step at 28 must correspond to 4.5 steps at 128.So when a modern decoder receives a command to travel at speed step 1 using the 28-step packet method, does it travel at speed step 4 or 5?Is this something that each decoder manufacturer decides for themselves? or is there a convention?I understand these are so close together most people wouldn't care. This is just something I want to understand for a document I am working on. Thanks.
The DCC systems is where you choose which format (28 steps or 128 steps) to use. You tell the system whether to send 28 step info to the decoder, or 128. On decoders CV29 is used to set whether the decoder will use 14 steps (which was how the earliest decoders worked) or "28/128" speed steps. The decoder then reacts to the info provided by the system, whether it's getting 28 steps or 128 steps from the DCC system.
But anyway, yes basically you're correct about the difference in train control. I pretty much always use 128 speed steps, and set my decoders up so at speed step 128 the engine is going a (scale) 64 mph. That means each speed step up or down changes the speed by 1/2 mph. I can change a setting on my walkaround controller to change to 28 steps, then each speed step would represent a change of about 4.5 mph.
Note that a decoder's speed tables only use 28 steps - you can see it visually if you use DecoderPro, or see it listed in a full CV list for a decoder.
https://www.jmri.org/help/en/package/jmri/jmrit/symbolicprog/tabbedframe/SpeedTab.png
Thanks very much. May I ask another question? I understand CV29 bit4 enables/disables the 3 pt vs speed table, and that CV25 can either be 0 (no speed table) or something else.
That radio box in the JMRI interface you linked to ("use table in CVs66-95")... I'm guessing it changes the value of CV29 bit4. Do you think it also changes the value of CV25?
I was wondering if CV25 is handled uniformly across different manufacturers, or if JMRI only adjusts CV29 bit4 to manage that change (to use the speed table). Thanks so much.
Many newer decoders do calculations internally, and can use many more steps than 128.
For 28 steps, each is about a 4% increase. For 128, each step represents ~0.8%. So in 128 step mode it will require about 4.5 steps to equal one step in 28 step mode. The decoder may use more steps in an internal calculation using other CV settings to determine the change per step.
Many decoders allow the min and max speeds to be set, just to make the calculation interesting.
Speed Steps
gigasaurus Thanks very much. May I ask another question? I understand CV29 bit4 enables/disables the 3 pt vs speed table, and that CV25 can either be 0 (no speed table) or something else. That radio box in the JMRI interface you linked to ("use table in CVs66-95")... I'm guessing it changes the value of CV29 bit4. Do you think it also changes the value of CV25? I was wondering if CV25 is handled uniformly across different manufacturers, or if JMRI only adjusts CV29 bit4 to manage that change (to use the speed table). Thanks so much.
CV25 is manufacturer dependant. It is optional in NMRA standards and may be interpeted differently various manufacturers
Peter
Not only is CV25 an optional CV, but VStart (CV3) and CV3 and 4 (acceleration/deceleration) are "recommended" CVs. These play together to adjust throttle response. Other CVs which are optional are VHigh and VMid, while VStart is mandatory. VStart works with optional CV65, KickStart.
For speed tables, their CVs are again optional, as are the forward and reverse trim. So your decoder may or may not have some or all of these features.
Just to keep it interesting, decoders for the EU market* have a different acceleration rate than the NMRA specified. Plus external factors such as the motor and geartrain will have a small influence.
* This is the primary difference between an ESU LokSound 5 and LokSound 5 DCC. The DCC version omits multiprotocol capability.
gigasaurusSo each step at 28 must correspond to 4.5 steps at 128.
wouldn't it be better to think in terms of track voltage (neglecting drops across diodes and transistors)?
with 28 speed steps, the decoder applies Vtrack * spd / 28 to the motor.
with 128 speed steps, Vtrack * spd / 128
greg - Philadelphia & Reading / Reading
gigasaurusThat radio box in the JMRI interface you linked to ("use table in CVs66-95")... I'm guessing it changes the value of CV29 bit4. Do you think it also changes the value of CV25?
Basically yes. The page where you would put in CVs 2,5 and 6 have a similar button to indicate you want to use them rather than speed curves. Clicking that button turns off the speed curves.
BTW generally you don't directly program individual bits (although at least with some DCC systems you can). The decoder instructions will have a chart so it will say like "28/128 speed steps - DC allowed - normal direction - no speed curves = 52". So you put 52 into CV29. (Some older decoders had you add them up, so it gave you a separate number for each choice (like 14 steps = 1, 28/128 steps = 6) and then you add them all up to get the amount for CV29.
If CV29 doesn't 'authorize' speed curves, CV25 (speed curve choice) is ignored, so no matter what is in CV25 it wouldn't matter until you change CV29 to a number that allows speed curves.
Note that in DecoderPro you normally aren't working with CVs per se. You indicate what you want to do, like set the lights a certain way, and when you save it to the decoder, DecoderPro changes the appropriate CVs automagically.