DCC 101 - An Introduction to Digital Command & Control
In the coming months, we'll be featuring a series of tutorials and "how-to" articles on Digital Command & Control (DCC). But what is DCC and why should you care? Most of us currently use analog power supplies to drive our model railroads. While many of the newer power packs feature nice capabilities like momentum control, braking and the like, these are still analog power packs.
Simply put, an analog system is nothing more than altering the voltage on your track to achieve different speeds from your locomotives. The higher the voltage, the faster the engine. The ultimate proof of analog power is placing two or more engines on the same track. They'll all accelerate or decelerate as you increase or decrease power.
With the advent of inexpensive microprocessors, many of the manufacturers have incorporated some nice features in their power packs. With momentum control, for instance, you can snap the throttle to maximum, but the power pack will gradually increase power to the rails until it reaches the maximum you set. Likewise, abruptly setting the throttle to zero with the momentum option enabled will cause the power pack to gradually reduce power to the rails until it reaches zero, simulating the realistic momentum of full-scale engines. Using the braking switch causes a faster drop in power, but not instantaneous as with the older analog power supplies.
This was an interesting innovation to give engines better low-speed performance. Instead of a steady voltage being applied to the rails as used by normal analog systems, the power was broken into on/off pulses of higher power to jolt the motor into moving, and as the power was increased, the pulses would last longer enabling the engine to accelerate. Once the engine was up to a speed desired by the engineer, he or she could switch the power pack back to normal power to get to higher speeds, sort of like shifting gears. Pulse power was a nice workaround to the poor low speed performance of many engines, but it played havoc with those engines with advanced electronic filters, such as those made in Europe. I've smoked a few of these engines myself.
The only way you could discretely control multiple engines on your layout was to divide your track into isolated power sections, or blocks. Using switches on your control panel, you could route power from one throttle to a section of track while another throttle controlled a different area. This allowed for multiple operators to work independently on the same layout, as long as their assigned engine(s) didn't stray into the power block assigned to another engineer. This scheme worked, but it forced scale engineers to manage track space as well as their engines.
This technology has been around for many years. I saw some of the first DCC systems in Europe in the early 1980s. In the last few years, many of the advances in computer miniaturization and capabilities have finally found their way into the model railroad industry. Despite the rapid advances in capabilities, the cost to convert and use DCC has dropped significantly.
So how does it work? The track is kept at a constant voltage, usually around 12 volts. By definition, all of your locomotives, passenger cars, etc., have constant lighting without special electronics. DCC is like having a radio controlled airplane or car on your rails. Instead of transmitting commands over the air like you would for your airplane or car, commands are transmitted over the power on the rails. Commands input by you through your controller are interpreted by a computer and converted to a set of digital commands and transmitted over rail power. A small computer in your engine, the DCC module, hears and executes that command.
These DCC modules have a number of programmable functions. The primary function, of course, is to provide power to the motor. As you advance the throttle on your controller, the DCC module converts the 12 volts on the rail into small pulses to get the engine moving. The higher the throttle setting, the larger the pulses. In other words, these DCC modules have moved the pulse power generator from the transformer to the engine.
In addition, these DCC modules have multiple channels for control, just like an RC aircraft or car. You can program these channels to turn on or off the locomotive's headlights, activate ditch lights, sound a horn (if you have a sound module installed), and even active/deactivate a smoke generator in your steam locomotives. And that isn't all, your headlights can be programmed to simulate Mars lights and/or blink when the horn is sounded. The possibilities are enormous and grow with each new generation released.
But what about multiple engines and engineers? Part of the command sent over the rails contains a discreet address that only a pre-programmed engine will recognize. When you set up your DCC system, for each module you install in an engine, you'll assign it a unique address number, usually the engine number painted on the side of the shell. When you want to move that engine, you select that engine in your controller (entering the engine number on the keypad), and any speed, lighting, horn or other commands are then only addressed to that engine. All other engines on the layout ignore the commands until you specifically address them.
This enables you to control multiple engines from one controller and allows other operators to work on the layout by plugging in additional controllers. This allows for much simpler wiring to your track and eliminates the need to switch power between different power transformers. You are finally able to drive your locomotives in scale just as they are in real life.
There are a number of systems out there to get you started. We'll be looking at a number of the control systems from different manufacturers in the coming months. We'll also be converting different types of locomotives to DCC and looking at some of the current capabilities there as well. If you've looked at some of the programming tables for the DCC modules, you might have been intimidated at first. Since these DCC modules are programmed via simple binary registers, we'll have a tutorial on how to convert this process from computer science to the simplicity that it really is.