MATLAB Answers

0

Is it possible to tune 2 PID controllers ?

Asked by Nuh Metehan on 4 Apr 2014
Latest activity Edited by Raju Rambha on 15 Nov 2018
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 ?

  0 Comments

Sign in to comment.

4 Answers

Answer by Arkadiy Turevskiy on 8 Apr 2014
Edited by Arkadiy Turevskiy on 8 Apr 2014
 Accepted Answer

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.

  0 Comments

Sign in to comment.


Answer by Azzi Abdelmalek
on 4 Apr 2014

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

  0 Comments

Sign in to comment.


Answer by Arbab
on 10 May 2014
Edited by Arbab
on 10 May 2014

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.

  0 Comments

Sign in to comment.


Answer by Raju Rambha on 15 Nov 2018
Edited by Raju Rambha on 15 Nov 2018

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"

  0 Comments

Sign in to comment.