I'm trying to gain a better understanding on the pros and cons using closed-loop or open-loop motor control. Also trying to better learn when it's more sensible to apply each one

  • 1
    \$\begingroup\$ Open loop would work well for applications where the load on the motor is fairly constant and you can simply adjust your control of the motor to get it running at the desired speed. You would apply closed loop control by monitoring the actual speed of the motor and then adjusting the drive to the motor to force it toward the speed you desire. This way the motor will come to the speed you want even if there are changes on the load of the motor. Obviously increased load on the motor will tend to drag it down in speed and the closed loop mode can compensate for this. \$\endgroup\$ Jun 17 '13 at 11:42

If you understood what those terms meant you wouldn't be asking this, so I'll explain open loop and closed loop.

Open loop means you pick the set point of a system and whatever comes out comes out. No system is perfectly "stiff", so the output will vary somewhat, sometimes quite a lot, depending on load.

Closed loop is when something is actively watching the output and adjusting the set point to whatever it takes to get the desired output.

Think of the gas pedal in your car. From gas pedal to car speed is a open loop system. You can push the pedal down to a fixed spot, and the car will go faster or slower depending on whether it's going up a hill or not and what else it has recently done. Now consider cruise control. That's puts feedback around the open loop gas pedal to car speed system to regulate the speed. It watches the speed and effectively steps harder on the gas when it notices the car slowing down, and lets up on the gas when it goes faster than desired.

The advantage of a closed loop system should now be obvious. You get to control the parameter you really want to control (the car speed in this example), and it automatically gives the system the right input (the gas pedal setting) to achieve the desired result. Of course this comes at the cost of extra stuff and complexity.

Closed loop control systems also need to be designed carefully so that they are stable. For example, if the cruise control always slammed the gas pedal to the max whenever the car was a little below the set speed, and completely let up when a little above, you'd have a very jerky ride and it would put a lot of stress on various parts of the car. Usually there are some tradeoffs the designer can make between the maximum error, the speed of response to changing conditions, and stability.

  • 2
    \$\begingroup\$ Another issue with closed-loop systems is their behavior if feedback measurements are not entirely (or not at all) accurate. If motor speed is sensed using a rotary encoder, and the encoder drops pulses at higher speeds, it's possible that dropped pulses may cause a controller to underestimate the motor's actual speed and thus request it to speed up more than it should. This may in turn cause more pulses to be missed. If the motor starts going so fast that no more pulses arrive, the controller may detect that as a problem and shut down, but... \$\endgroup\$
    – supercat
    Jun 17 '13 at 15:54
  • 3
    \$\begingroup\$ ...it may also be possible for the system to end up in a state where it e.g. catches a third of the pulses and runs three times as fast as it should. Open-loop systems won't control speed as well as closed-loop systems, but they don't have as many failure modes that could cause "wacky" behavior [the only likely failure mode would be getting stick "full on", and guarding against that particular scenario is often not too hard]. \$\endgroup\$
    – supercat
    Jun 17 '13 at 15:58

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