BLDC motor using a PI control problem

Translate This Thread From English to

Threaded View


Hello,

I have a legacy code which uses the similar code to the Microchip
application note (http://techtrain.microchip.com/webseminars/documents/
BLDC_MotorControl.pdf),

Currently the BLDC motor works fine with a 19:1 gearbox using the
current PI loop but when I change the gear box ratio from 19:1 to a
7:1, the motor speed does not run smoothly.

I was wondering what I should change in the PI loop to get the motor
working correctly? Currently Ki is set to 10 and Kp is set to 50.

Regards
Paul


Re: BLDC motor using a PI control problem



On Mar 5, 3:39 am, paul.sw....@gmail.com wrote:

I couldn't access the link

The intertia the BLDC sees is much higher now.  Did you increase the
gains when you changed the gear box form 19:1 to 7:1?

Is the encoder mounted on the load or on the motor?  I bet the encoder
is mounted on the motor.  I would bet that gains were increased but
the effective resolution of the encoder has been reduced.  The
combination of the increased gains and coarser resolution will cause
the  motor control to be rougher.   Compare the analog signals using
the 7:1 gearbox and the 19:1 gear box.   I bet the 19:1 gear box
analog signals are much smoother.

My initial opinion is that the ratio between the Ki gain and the Kp
gain is too low.
Assuming the system is a simple K/(s*(tau*s+1)) the Ki gain should be
higher relative to the Kp gain.

Worse yet,  you should probably be using a derivative gain unless the
friction of the system can provide most of the damping.  Is there a
velocity loop in your drive/amplifier?

I have made a lot of assumptions,  you need to correct those that are
wrong.

Peter Nachtwey

Re: BLDC motor using a PI control problem



On Wed, 05 Mar 2008 07:48:36 -0800, pnachtwey wrote:


You need to patch the last part back on.  Then you get a fairly high-
level 15-slide presentation -- without enough detail to answer the OP's
questions.

(snip)
--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com

Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html

Re: BLDC motor using a PI control problem



On Wed, 05 Mar 2008 03:39:20 -0800, paul.sw.lee wrote:


You haven't given much detail, and that Microchip presentation could be
titled "A Ho-Hum Guide to Generic Brushless DC Motor Applications".

Without knowing just how your controller defines Ki and Kp there's not
much I can tell you.

I can think of two reasons why changing the gearbox may change the system
behavior:  one, you've changed the inertia seen by the motor, and two,
you're measuring the output of the gearbox so you've effectively changed
the gain by almost 3:1.  If you're measuring the output of the gearbox,
try changing your gains by a factor of 7/19 and see what happens.

The reflected inertia of a load through a gear is the inertia divided by
the gear ratio _squared_.  Usually that means that it doesn't take long
before the motor rotor inertia is way bigger than the load's reflected
inertia, but sometimes it means that a 7:19 change in gear ratio causes a
49:361 change in the inertia that the motor sees.

For a guide to quick & dirty PID loop tuning method, see
http://www.wescottdesign.com/articles/Sampling/pidwophd.html .  Purists
will blanch, but often it'll do just fine.

And I agree with Peter -- why no derivative action?

--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com

Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html

Site Timeline