Zimo Decoder Setup
by Nigel Cliffe
( This article is a followup to the one written many years ago on tuning CT decoders. )
Zimo are a well established maker of DCC decoders, with a good reputation for control of small motors. Since the products of CT (Tran) became hard to find, it leaves Zimo as one of the better options for small decoders, particularly the tiny MX616. All of the medium-small Zimo decoders (ie. anything for any HO/OO loco or smaller) use the same CV settings. And they're all capable of having their firmware updated - both a good thing in that new features can be added, but it does mean 3rd party documentation (like this!) can be missing a new feature. Fortunately Zimo don't usually change established features, so the existing stuff continues to work.
Manuals for Zimo decoders can be found on their website - www.zimo.at . The English version is usually a bit behind the German, though for most purposes the English is adequate. Online translation tools can do a reasonable job with the German should it be necessary for a particular feature.
The decoder can modify how it controls an electric motor by monitoring the back-EMF from the motor at a high frequency. The motor is controlled using Pulse Width Modulation (PWM), which happens at a high frequency of 20kHz or 40kHz. With the information gathered during the sensing of the back-EMF, the decoder can then alter the control of the motor.
Many of the CV's described here are unique to Zimo. Though other makers may have similar properties, their CV's will be different. If using JMRI (DecoderPro), then the software designers try to use the common wording for common properties, even when the CV numbers are different, so properties should be in similar places on the screens for different decoders.
Often a decoder works really well "straight from the box". If that's the case, you can fiddle further, but be ready to reset back to the original settings. If a decoder does need changes, I find it can take several iterations. Whilst one locomotive, or choice of motor, might give clues to another apparently similar loco, I find that the small mechanical differences between locomotives does alter the values which work best.
To reset a Zimo decoder, CV8=8 or CV8=0. There are some other CV8 reset values which can be relevant with higher-pin count decoders (particularly MTC-21 socket types which can flip between the two different versions of the socket), but those decoders are generally too large for 2mm use.
When using the programming track (service mode programming), there are several methods for reading/writing data to a DCC decoder. Zimo decoders are best programmed with "direct bit" or "direct byte" mode. Consult your the manual for your DCC system for how to change the programming mode.
Track Voltage Reference
The Track Voltage Reference (CV57, "1" in JMRI screen shot below) is supposed to reflect the track voltage from the DCC system, which in turn is used by the chip to set the motor speed. But, it can be used to alter the running speed of a locomotive, for example some commercial rewheeled locos might run too quickly. Adjust this value to give an acceptable range of speeds when using the entire throttle speed range, higher numbers will make the locomotive run slower.
Once the loco is running with a top speed which is acceptable, or a fraction fast, further adjustments can be made with the speed curve settings; either the simple three position (CV2, CV5, CV6) or the 28 step speed curve.
Zimo's motor control CV's are a bit complicated to break down, because they've bundled multiple controls into single CVs. There are three CVs of primary interest, CV9, CV56 and CV112.
CV9 ("2" in JMRI screen shots below) controls the BEMF sampling rate and sampling time. It uses two digits for this; the tens digit for the "rate" and the units for the "time". To further complicate things, there are some other values from 176 to 255 for low frequency sampling rates, but those are not of use for the small motors used in 2mm scale. So, CV9 takes a value from 01 to 99, and a default value of 55. Its a trial and error setting. Start with the tens digit, and try lower (eg. 35, 25, etc..), this will make things less noisy, but it may judder. Higher values in the tens digit will reduce the juddering. The sample time is adjusted similarly, in general a lower value is better for small coreless motors.
CV112 ("3" in JMRI screen shots below) has one bit allocated to switching between 20kHz and 40kHz sampling. Sometimes (but not every time) with small motors, going to 40kHz is advantageous. The value of bit 5 is set to 1 for 40kHz - thus a decimal value of 32. Though CV112 controls other features, most are unlikely to be relevant to a 2mm model, so that bit of the manuals can be skipped ! For 2mm use, CV112=0 (20Khz) or CV112=32 (40kHz) are the main choices. ( Those using JMRI/DecoderPro have the details of which bit neatly managed by the software, and the values in the other bits will be preserved when a change is made).
CV56 ("4 in JMRI screen shots below) controls the P and I parameters in the BEMF sampling algorthm - i.e. how much attention is given to the BEMF measurements made when adjusting the output to the motor. This has two ranges: 1-99 and 101-199. The hundred's number is used to swap from a "normal" to a "coreless" motor. Sometimes I find the coreless setting (101-199) is useful, sometimes it isn't, so more experimenting on an individual locomotive. The tens digit is the "proportional (P)" value, the ones digit the "integral (I)" value. I find that its necessary to just work through different values in a fairly systematic way - ie. narrow in on a value for the ones column, then the tens, then try a few variations on the value in the ones column, etc.. The following is a quote from the Zimo manual for an approach to setting CV56:
"Start with an initial setting of CV56 = 11; set the engine at low speed while holding it back with one hand. The motor regulation should compensate for the higher load within half a second. If it takes longer than that, increase the ones digit gradually: CV56 = 12, 13, 14...
With the locomotive still running at a low speed, increase the tens digit in CV56. For example: (if the test above resulted in CV56 = 13) start increasing the tens digit CV56 = 23, 33 ,43 as soon as juddering is detected, revert back to the previous digit. This would be the final setting. "
I find its necessary to go round CV9, CV112 and CV56 several times, noting the values chosen, and seeing if a new iteration gets a better result.
Finally, there are three more parameters, CV58, CV10 and CV113, which can achieve a BEMF "intensity curve" by defining how much BEMF is applied at different speeds. I've never needed to play with those three, but refer to the manual if you think they may be needed.
Acceleration, Decelleration, Brake Keys, and Speed Curves
Once the motor parameters are working to your satisfaction, it is time to consider the way the locomotive responds to the throttle instructions; its acceleration and decelleration and the speed curves. These are all very personal things - what is wonderful for one person on their throttle is awful for the next person: both the design of the throttle and individual preference are factors.
Acceleration and Decelleration
There a the standard acceleration/deceleration pair of CV3 and CV4 ("5" in JMRI screen shots below). In addition, there are ways of biasing those with "exponential acceleration" which stretches them out around the lowest speed. That can give an impression of greater mass in a train when changing between stopped and moving, without needing very slow acceleration/deceleration throughout the speed range CV121 for exponential acceleration and CV122 for exponential deceleration ("6" in JMRI screen shots below). I often use values of 11, 12, or 21 for both exponential settings.
The use of a "Brake Key" (often the Fn2 key) has become common in sound decoders. The idea is with a high value in CV4, the loco will coast for a long way if the throttle is put to zero. To slow the loco rather than it coast for ages, the brake key is pressed (or dabbed briefly) to apply braking. Some people love the feature, and rave about its "real braking feel" and others can't stand it, pointing out that brakes on a loco are not an on/off button. Fortunately it can be turned on/off to suit preferenced operation.
The brake key feature is controlled by two parameters in the decoder, and
Zimo have this on the non-sound as well as sound decoders if the user wishes
to add them. CV309 defines which function key is the brake key, taking values
from 1 to 29. A value of zero disables the "brake key" feature.
CV349 defines the decelleration when the brake key is operated (and to be
useful, it needs to be a low-ish value, plus CV4 must be a high value).
In common with most decoders, can use either the simple 3-point speed curve, or the full 28-point curve. The choice of which is used is set in CV29, bit 4 (see my article on CV29). I rarely find it necessary to adjust things, I just use the default 3-point curve, setting the start speed (CV2) to 1 or 2, the mid-point (CV6) to around 128, and the max speed (CV5) to 255.
Note that the use of Voltage Reference (above) is much more effective at taming top-speed than the max-speed (CV5) setting.
The 28 point curve can be set; I'd suggest that doing this by hand is the way to insanity; JMRI has a nice "slider" interface to do it.
There are more settings in a Zimo decoder than one could imagine - automatic braking and speed regulation from trackside circuits, parameters to operate servo motors (pantograph up/down or working brakes or valve gear), dozens of lighting options, and that's before the features to control sounds in sound decoders. I'm not covering all those here, time to read the manual if you want to use them !
Screen Shots from JMRI to support the above