0
\$\begingroup\$

I've been reading the answers to the question:

How to realize constant acceleration control for BLDC motor?

However, it is not specified what are the advantages of adding a current control loop to drive the motor. Why not just drive the motor PWM from the output of the velocity loop PI controller?

\$\endgroup\$
3
  • \$\begingroup\$ Current control provides torque control. \$\endgroup\$
    – user16324
    Mar 19, 2017 at 15:12
  • \$\begingroup\$ Sure, this is understood, but why do I need an additional loop? Why do I need to control the torque directly? I'm currently producing a PWM command to the motor from the velocity loop. Is it more energy efficient or might cause less audible noise? \$\endgroup\$
    – sas
    Mar 19, 2017 at 16:04
  • \$\begingroup\$ The first question is, DO you need to control torque? That depends on the application - the linked question was about constant acceleration, where you probably do. If you do, that implies a current control loop. \$\endgroup\$
    – user16324
    Mar 19, 2017 at 20:06

3 Answers 3

2
\$\begingroup\$

Yes, you can just drive BLDC motor only with velocity loop. But please note that without current loop you can overload current of stator coils when torque and power at the shaft will be higher than rated. Secondly, if you control current - it's possible to control torque directly. When the load on the shaft is being increased - it's faster to detect increasing current than decrease of velocity of motor so response time of regulation control is faster.

\$\endgroup\$
4
  • \$\begingroup\$ Correct, the cascade loop increases performance/speed. You can feedforward the amount of current to accelerate the mass inertia "a priori" without waiting the sped error. \$\endgroup\$ Mar 19, 2017 at 16:23
  • \$\begingroup\$ Yes but this is only helpful when the motor is unloaded or the load is known, right? \$\endgroup\$
    – sas
    Mar 19, 2017 at 16:51
  • \$\begingroup\$ @sas The main system moment of the inertia is the rotor itself, then the transmission system. The inertia would be increased (slightly, that can be omitted) by adding a workpiece, but not due to applying load/force. \$\endgroup\$ Mar 19, 2017 at 18:33
  • \$\begingroup\$ How come? My motor is a part of a differential drive robot, and the moment of inertia is proportional to the mass of the robot. Thus, placing a load on the robot will change the moment of inertia \$\endgroup\$
    – sas
    Mar 20, 2017 at 7:24
0
\$\begingroup\$

Do you need a current loop to control an electrical machine? no

However... there is a specific point in the question you linked: ACCELERATION, more to the point controlled acceleration

Acceleration is proportional to torque and the constant of proportionality is Inertial

\$T = J \dot{\omega} \$

Torque is proportional to current ( \$T = K_t I\$ ) Thus, if you want to control acceleration you MUST control the current.

Equally for complete system stability bounding hte current loop to a known bandwidth & ensuring a decade difference between the other loop bandwidth is good practice

\$\endgroup\$
2
  • \$\begingroup\$ It's only partly true. \$\endgroup\$
    – Fasset
    Mar 22, 2017 at 6:07
  • \$\begingroup\$ To control acceleration this way you need to have data about load on shaft. Acceleration is proportional to accidental torque, not genertated torque. \$\endgroup\$
    – Fasset
    Mar 22, 2017 at 6:21
0
\$\begingroup\$

Actually, though the other answers here are correct, in fact YOU DO NOT HAVE TO modulate the current to control the acceleration.

The torque produced is a factor of current and the offset angle between the coil and the magnets.

You can in fact use a constant current driver, or open loop current driver and adjust the phase angle instead. Like a car engine, you can adjust the acceleration by advancing or retarding the switching time.

Which method is better/easier is debateable.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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