BLDC motor using a PI control problem

Hello,

I have a legacy code which uses the similar code to the Microchip application note

formatting link
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

Reply to
paul.sw.lee
Loading thread data ...

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

Reply to
pnachtwey

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)

Reply to
Tim Wescott

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

formatting link
Purists will blanch, but often it'll do just fine.

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

Reply to
Tim Wescott

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.