I have simulated a flux vector drive, but am having a hard time tunning the PI controllers. Is there a trick to doing it, or do you just have to tune it until it is acceptable? thanks
The current loops are allright I think, I am just using the stator transient time. the Velocity loop is the one that is giving me all my problems I think. The torque and speed both flucuate around the desired level, but I either have huge oscillations, or very slow response, depending on my time constants. My system is in per-unit, so I am just using values between 0.1-1.0 for the gains of all the PI controllers. Thanks alot
1. Set I to zero, tune P until you have quarter wave damping. Graphically, this looks like one big overshoot with two or three more diminishing bounces before significant leveling. It may level off to a value away from the setpoint, so....
2. If the proportional error is too much add I until the offset just disappears.
You CANNOT tune the I without having the P properly tuned.
When doing this, helps to recursively bracket your settings by taking one high and one low value, and taking new values half way between the previous two "good" values. The initial values depend on your controller, but I usually go with the extremes and zero in. This is effectively like a sorting algorithm where you have a continuum of possible values.
For a details, try my favorite book "Instrumentation for Process Measurement and Control" by Anderson, ISBN 0-8019-6766-x. It has a chapter on control loop adjustment.
I agree that you should set I to zero and adjust the P first, but I would set the P for a minimal overshoot. This is because as you increase I, you also decrease the phase margin. This means the overshoot will get worse as you crank I in. I would continue to crank in I until the overshoot is about 25% of the small step input. This is about 45 degrees of phase margin. Beyond that, the system is going to get real touchy. This will also result in about as much I as the system can tolerate meaning the following error will be minimized.
Tom Thomas B. Bullock, President Bull's Eye Marketing, Inc. Industrial Controls Consulting Div. E-mail: [email protected] Phone 920: 929-6544
You would have 3 cascaded controllers. That is, the control output of one is the process variable of another. You would have to stabilize the first loop in order to give a stable process variable to the next loop.
A loop cannot be tuned with an unstable PV because you could never settle in to the set point.
Tom, We are both right, but for different scenarios.
If you minimize the overshoot, you're missing the benefit of quarter wave damping. The area between the initial ramp-up and the set point should be about equal to the are between the first overshoot and the set point. IE the overshoot compensates for what's missed during ramp-up. The remaining oscillations above and below the set point also tend to average out to a level value. But for controlling mechanical machines, this may cause problems. So....
For pumping fluids, etc., my method (critical damping) is better.
For speed control on a press or crane, etc, your method (over damping) is better.
As for under damping, I don't know of a scenario where that's good.
If you are talking about 3 cascaded controllers where the first feeds the second and the second feeds the third, then start with the first one. If you are talking about three closed loops where the first is inside the second and the second is inside the third, then you start with the innermost loop. Also, in this configuration, a loop inside a loop must have at least 4 times the bandwidth of the outer loop. This is equivalent to saying that the P (proportional) gain of the inner loop must be at least 4 times the P of the outer loop.
Thomas B. Bullock, President Bull's Eye Marketing, Inc. Industrial Controls Consulting Div. E-mail: [email protected] Phone 920: 929-6544
The normal way to tune cascaded controllers is from inside out, you might however have to do it more than one time because you can't run the innermost without using the external SP without other troubles, but the "final" tinung always have to be done inside out. The reason is that the tuning of the innermost PID is part of the "process" as the next one sees it and so on.
you wrote: "This is equivalent to saying that the P (proportional) gain of the inner loop must be at least 4 times the P of the outer loop." This statement is not actually true, the inner loop have to be 4-5 times faster than the outer. Increasing the gain means increasing the speed, but the actual value depends on the controlled process and that makes the statement wrong. It might turn up to be something close to that, but it isn't a rule.
/Johan Bengtsson
---------------------------------------- P&L, the Academy of Automation Box 252, S-281 23 H{ssleholm SWEDEN Tel: +46 451 49 460, Fax: +46 451 89 833 E-mail: [email protected] Internet: http://www.pol.se/ ----------------------------------------