Maker Pro
Maker Pro

PI closed loop Bandwidth

M

Mook Johnson

Jan 1, 1970
0
I'm closing a current PI loop with a DSP and need a test method to determine
the loop bandwidth. This will be the current loop in a motor driver that is
sampled at 100uS so according to nyquest the max frequency is 5Khz and a
realistic cuttoff should be 1-2KHz.

With a digital control process how do I measure the system response? Sine
sweep the input and look at the output for DB cross? Is this done open loop
and calculate the closed loop based on the open loop and PID gains? Step
response?

What I have so far is that a step input (0 to max) makes the output rise
(10% to 90%) in 1.5mS 15 samples (~650 Hz). Open loop plant gain
(Vref/Iout) is about 10. When I close the PI loop around this I can get the
ramp to lower values to rise much faster (the point of the PI control
correct) how do i know that my loop bandwidth is below 1/4 to 1/5 the
nyquist frequency?
 
T

Tim Wescott

Jan 1, 1970
0
I'm closing a current PI loop with a DSP and need a test method to determine
the loop bandwidth. This will be the current loop in a motor driver that is
sampled at 100uS so according to nyquest the max frequency is 5Khz and a
realistic cuttoff should be 1-2KHz.

With a digital control process how do I measure the system response? Sine
sweep the input and look at the output for DB cross? Is this done open loop
and calculate the closed loop based on the open loop and PID gains? Step
response?

What I have so far is that a step input (0 to max) makes the output rise
(10% to 90%) in 1.5mS 15 samples (~650 Hz). Open loop plant gain
(Vref/Iout) is about 10. When I close the PI loop around this I can get the
ramp to lower values to rise much faster (the point of the PI control
correct) how do i know that my loop bandwidth is below 1/4 to 1/5 the
nyquist frequency?

Nyquist means a lot less in a sampled-time control system than in signal
processing -- you don't care about fidelity, just getting things to stay
stable and well behaved. Notes here:
http://www.wescottdesign.com/articles/Sampling/sampling.html.

I find that doing swept-sine analysis is a solid, practical method for
many systems. Here's an article:
http://www.wescottdesign.com/articles/FreqMeas/freq_meas.html. If you're
sampling at 10kHz you'll want to move the data reduction from the host
side to the client side and just post amplitudes & phases unless you have
a _fast_ data link. You'll find that your closed-loop 3dB point is at a
much higher frequency than your 0dB gain crossing point in open-loop,
unless your tuning is really lame.

--
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
 
Top