I have seen dc-motors controlled by current control and rpm control. As I understand it, one could use a PWM for example to control the mean current of a motor while measuring it and therefore keeping the current approx. constant. If the current rises, the on time of the PWM would fall and the mean current I (to keep it constant) and mean voltage U would drop.

What would happen if instead, one where to control the electrical power? Meaning, keeping P=UIt_on/(t_on+t_off) constant by changing only t_on/t_off.

Imho, if the torque rises and therefore I rises, t_on would drop to a different point. The mechanical power would change, but what else would happen? Or rather, why does seemingly nobody do this? Are there some serious drawbacks I haven't figured out? Would it simply not work?

I'd appreciate some literature as an answer/comment too.

  • \$\begingroup\$ If you keep electrical power constant, the mechanical power will be constant in the ideal case. In the non-ideal one the efficiency will change depending on the load/speed. What would be the point of such a control? The things we usually ask from a motor are speed/torque and sometimes position. And it is natural to control these. \$\endgroup\$
    – Eugene Sh.
    Jan 9 '18 at 14:54
  • \$\begingroup\$ @EugeneSh. What if I know the power consumption of a normal movement pattern (like closing my garage door) and don't want any sensors apart from V/I. Could I regulate the power to follow the previously measured power pattern? \$\endgroup\$
    – DonQuiKong
    Jan 9 '18 at 14:59
  • \$\begingroup\$ In a DC motor V is usually proportional to the speed and I is proportional to the torque. So by having these measures you can control/sense speed and/or torque. So you can have some type of speed profile for initial movement and use the torque (current) to sense the limits. Yet I would recommend some limit switches.... \$\endgroup\$
    – Eugene Sh.
    Jan 9 '18 at 15:04
  • \$\begingroup\$ It would work, sort of, but where would you want such a characteristic? I can't think of any. Voltage/Speed control makes sense, so your car doesn't slow to a crawl on a hill. Current control makes sense, so you stop closing a window if fingers get in the way. But what is power control good for? \$\endgroup\$ Jan 9 '18 at 15:12
  • 1
    \$\begingroup\$ Beware: Constant power mode, even more so than constant torque mode, could cause the motor to quickly accelerate to extreme speeds if there is insufficient load. (Don't ask me how I know (:-O) \$\endgroup\$ Jan 9 '18 at 15:18

Generally motors are controlled for the purpose of controlling the driven machine or process. The control mode is determined by the characteristics of the process and some desired performance. Controlling motor speed usually provides the desired performance. Controlling motor torque is sometimes desirable, but there is usually an outer process-variable control loop or even a speed loop when torque is controlled. When speed is controlled, there may also be an outer process-variable control loop. The key concept is that the motor and motor-control can not be viewed aa an independent system. It is only half of the equation.

The relationship between input power and the ultimate process performance rarely results in a need for controlling input power. Input power has been sometimes been controlled in mixing processes. If the objective is to thoroughly mix a batch of material that starts out quite viscous and thins out as the mixing progresses it may be desirable to let the impeller operate as fast as it can without heating up the material too much. In that case, an operating power is set and the mixer gradually increases speed as it thins out and gets easier to mix. When mixing starts, the torque is high and the speed is low. As the mix thins, torque decreases and speed increases, but the power remains constant.

There are other constant power operations such as winding material onto a spool that is on a driven axel and cutting material with a machine tool using tools of various diameters. In those cases, the motor experiences decreasing torque with increasing speed, but other process parameters are used to set the motor speed or torque.


It has to be said, no matter whether you adjust the voltage or the current of a motor you are in fact adjusting the amount of power you are applying. However, I do understand that is not what you are asking.

Given a constant terminal voltage, a DC motor, by it's very nature, will consume and deliver an amount of power that will balance the speed and torque ratio.

This happens because as the motor speed increases the back EMF the rotation of the motor generates reduces the effective voltage you have available. That reduction in voltage means the motor will take less current and therefore produce less torque.

As such a balance point is reached where just enough current is taken so the torque balances out the load on the shaft.

That of course is an open loop control system. Apply the power and let it run at whatever speed it settles at. Such methods are good for loads like fans where you really do not care exactly how fast it turns.

In a closed loop system you are really only controlling two things.

1.) Speed: you want the load to move at a specific speed for whatever reason the requirements demand.

2.) Acceleration: How fast the load needs to be accelerated to the desired speed.

Occasionally, you can also add

3.) Position, but you control that by using speed and acceleration.

Some will argue you also want to control torque, but in fact, for practical applications torque is covered, or included in the math, of both of the above. For a known load and a required acceleration, the torque required is simple math. Similarly, for a given speed the load can be determined. Or to put it another way, if you need to accelerate faster or hold a higher speed you need to apply the appropriate amount of additional torque.

So how do you control the motor in a closed loop system to supply the right amount of torque to meet your speed and acceleration requirements?

You basically have two choices, both of which require feedback of the current speed of the motor.

1.) Adjust the terminal voltage applied to the motor.

This uses the motors natural balancing characteristic to find the right speed where the load is balanced.

2.) Adjust the current, and hence the torque directly.

Note: In reality, to adjust the current you effectively apply higher or lower terminal voltage, the difference is really in what you are measuring, not what you are adjusting.

Note I said ADJUST. Except for simple loads where the load itself is linear and well understood, the control variable needs to be continuously adjusted to maintain a stable state despite what the load is doing. Failure to do so can cause run-away conditions or oscillations and often catastrophic failure.

As such, applying a constant amount of power to say a garage door opener would be folly since the load changes markedly between the down and up position of the motor. Similarly, applying constant torque to a load that suddenly reduces, will cause extreme acceleration (assuming the current supply has the voltage headroom.)

This answer kind of got a tad lengthy...

But in brief, you do not control the voltage, current or power of a motor, you control the motion of the motor. You adjust whichever variable makes most sense to keep the motor in a stable state at the required controlled motor movement.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.