IMC-Based PID Controller Design for Second Order Process - Homework Solution

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 2K views
gfd43tg
Gold Member
Messages
949
Reaction score
48

Homework Statement


upload_2015-11-3_14-44-10.png


Homework Equations

The Attempt at a Solution


Hello,
I know for a second order process, the tuning parameters are given as ##k_{c} = \frac {\tau_{1}+\tau_{2}}{k_{p} \lambda}##, ##\tau_{I} = \tau_{1} + \tau_{2}##, and ##\tau_{D} = \frac {\tau_{1}+\tau_{2}}{\tau_{1} \tau_{2}}##
Code:
syms s
lambda = 1;
kp = -0.2735;
gp = kp/(s^2+6.035*s+4.146);
[num,den] = numden(gp);
factors = eval(solve(den,s));
tau1 = factors(1); tau2 = factors(2);
kc = (tau1+tau2)/(kp*lambda)
tauI = tau1+tau2
tauD = (tau1+tau2)/(tau1*tau2)

These are my process time constants
Code:
tau1 =

  -0.7906

tau2 =

  -5.2444
This gives my controller parameters
Code:
kc =

  22.0658tauI =

  -6.0350tauD =

  -1.4556

I go into simulink, and here is my model
upload_2015-11-3_14-51-0.png

And here are my PID controller inputs
upload_2015-11-3_14-51-28.png

But I haven't figured out why my controller is not working, here is the output
upload_2015-11-3_14-58-26.png
 

Attachments

  • upload_2015-11-3_14-52-0.png
    upload_2015-11-3_14-52-0.png
    1.4 KB · Views: 494
on Phys.org
I realized that ##\tau_{D} = \frac {\tau_{1} \tau_{2}}{\tau_{1} + \tau_{2}}##, but still my output is not correct even after changing my ##\tau_{D}## term

upload_2015-11-3_17-43-48.png
 
I figured it out. My time constants were not correct or in the right form