Decoder BEMF Motor Control.

I offer the following for those who are mystified on how a decoder controls the motor speed using BEMF. 

You must understand how PWM motor control works BEFORE you can understand this section. 

To read how decoder PWM motor drive works, go here:PWM Motor Drive

1) Decoder BEMF Control.
2) Decoder BEMF VS Variable Track Voltage.

1) Decoder BEMF Control. (DCC)

Simplistically, BEMF is active motor speed control.   In its pure form, it will force the motor to operate at a constant speed independent of the load losses both internally to the motor and on the shaft (train).   It does this by measuring the BEMF voltage being generated by the motor and maintaining its value at a constant. BEMF creates a feedback loop to regulate motor speed.   Measure BEMF, determine speed error, adjust PWM as required. Decoder BEMF will increase the PWM duty cycle (longer On-pulse) as required to maintain the desired motor speed to compensate for the increased motor slip.  Increasing slip means the motor draws more current and hence draws more power.  BEMF will indirectly increase the power (current) as much as needed to maintain the motor speed.

Stated another way, BEMF will dynamically increase the effective DC motor voltage to maintain a constant speed to account for the motors increased slip.  This is not unlike one turning up the DC throttle to keep the train going at the same speed up the hill. In this case, you the operator is acting just like the BEMF feature of a decoder!!!

In practice there are different motors and the decoder will need to learn the usable BEMF voltage range.  Some of this is done with the user fine tuning the BEMF values and some it done by the decoder itself depending on how well it is designed.  A perfect BEMF decoder will control any type of motor at any speed without any adjustments inputs.

When we say dynamically increase the effective DC motor voltage, we are again speaking of Duty Cycle.  BEMF dynamically adjusted the Duty Cycle with NO fixed value.  All BEMF knows is your DESIRED speed as indicated by the throttle speed step value.  The duty cycle value id calculated "on the fly" and adjusted as needed to maintain the BEMF voltage from the motor at a constant value independent of track voltage and load on the motor.   When you raise the track voltage, the Duty Cycle will go down assuming there is no load change on the motor shaft.  Hence there is no fixed relationship between the speed step value and the duty cycle you get.  The speed at which these "on the fly" adjustments are made is really fast.   At the slowest engine speeds, the calculation can potentially be adjusted a 50 or more times per rotation.  (How fast is up to the Decoder designer) The point is you get smooth motor rotation regardless of any variation of loading on a per turn basis.   

Key Point with Decoder BEMF enabled: Decoder relates Speed Step Value to a BEMF voltage value. Not Duty Cycle which is what happens when BEMF is off.

This is why the analogy to a car's cruise control is often sighted.  The car will go the same speed up the hill as it will on a flat road.   But when you go up the hill, you hear the engine shift gears and the gas consumption go up.  The load has increased because we are lifting the car up the hill.  Cruise control will do anything it can to maintain the MPH speed of the car.  Does not matter what the quality of the road your on nor the density of the air, nor air temperature nor the condition of the tires.

BEMF Example:

If you have the same train operating on flat track, at the same speed step value, same track voltage, the Duty Cycle value with BEMF on will be the same as with BEMF being off.  ----BUT----  If you have that same train now hit a grade, then the Duty Cycle value with BEMF on will be higher than it will be with BEMF off.  Why?  BEMF on will have accounted for the increased motor slip due to the increased load and the train speed will remain unchanged going up the grade.  That is what motor speed feedback does...Speed Error detection and correction.   However, wIth BEMF off, the Duty Cycle value has remained at its pre-fixed value as before and not account for the increased load and motor slip allowing the train to slow down.  There is no motor feedback to tell the decoder the speed has slowed down.

2) Decoder BEMF VS Variable Track Voltage. (DCC)

All of the above discussion, we have assume the track voltage is constant. Let now talk about what happens when the track voltage varies.

With respect to Detlef's comment that the current will go up when the track voltage goes down UNDER Decoder BEMF control, he is CORRECT.

The conditional part of above statement being true must include the fact that the maximum Duty Cycle has not been reached under BEMF control at the lower track voltage.  If BEMF was turned off, then the current will not go up at all.   In fact it will go down and the train will slow down as most people expect would happen if the track voltage went down.

This gets a lot more technical but the easiest way to look at it is from an energy conservation point of view.   Under Decoder BEMF control, the engine is still pulling the same train at the same speed on the same grade as it was before the track voltage was lowered since BEMF is regulating the motor speed independent of track voltage.  Stated another way, the amount of watts needed to pull the train has not changed.

Motor Watts = Track Voltage x Motor Amps.


Motor Amps = Motor Watts / Track Voltage.

If the watts needed to pull the train is not allowed to change and the track/motor voltage is dropped, then the current MUST go UP proportionally to keep the watt value unchanged. 


Motor Watts = 6 Watts
Track Voltage = 12V

Motor Current = 6 Watts / 12V = 0.5 Amps.

Lets drop the track voltage by 2V.

Motor Current = 6 Watts / (12V - 2V) = 6W / 10V = 0.6 Amps

A drop in track voltage of 2 volts forced a increase in motor current of 0.1 Amps.

The reverse is true, if one raises the track voltage by 2V, the current will go down the other way relative to the 0.5A

What many people may not know is that pure BEMF will account for layout wiring voltage losses and any booster output voltage value up to a point.  So when you set a given speed step on a throttle with BEMF on, the engine speed will be the same regardless of the layout you run on as long as one does not hit the maximum Duty Cycle.  Once the maximum Duty Cycle has been reached, BEMF has lost speed control of the motor (no regulation reserve) and the motor speed will now directly follow track track voltage.  Further drops in track voltage will result in current going down resulting in less available watts to pull the train resulting in the train slowing down.  The point is there is a upper limit in terms of what Decoder BEMF can do.

Hope this helps people understand what is going on.

Last Update: 5/21/15