Is it possible to tune 2 PID controllers ?

90 次查看(过去 30 天)
I am trying to tune 2 PID controllers but I am not able to get a good results.
Firstly I tuned the first PID then second, If I tune the first one again I got completely different results.
Could anyone give me an idea ?

采纳的回答

Arkadiy Turevskiy
编辑:Arkadiy Turevskiy 2014-4-8
The traditional way to handle this problem is tune the inner loop first with the outer loop open, then tune the outer loop.
What that means practically is that you would delete the line from the Saturation 1 to second sum block, and tune Current Controller PID. Then connect the line back and tune Position Control PID.
The alternative method is to tune two controllers simultaneously.
Take a look at this recent blog post which describes how to do it for a very similar setup.

更多回答(3 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-4-4
Since your system you want to control is not linear, the behavior of your PID is unpredictable, what you need to do is
Step1: adjust the first controller, then vary the parameters for the second controller,
step2: adjust again the first controller, and do the same for the second controller
And so on until you find acceptable performances

Shery
Shery 2014-5-10
编辑:Shery 2014-5-10
Can u guys advise me on the position control of the BLDC motor , i have to tune 3 pid controllers , one for position , one for speed and one for PWM which will vary the duty cycle. I am using the simpower. Can I use PID auto tunning first for inner loop, than for outer and so on.

Raju Rambha
Raju Rambha 2018-11-15
编辑:Raju Rambha 2018-11-15
You can get the position control example from mathworks in R2018b. where there is a compleate simulink structure for BLDC motor. If yours a latest version (R2018b) try it in command window as "pe_bldc_position_control"

类别

Help CenterFile Exchange 中查找有关 PID Controller Tuning 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by