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

Click For Summary
SUMMARY

The discussion focuses on the design of an IMC-based PID controller for a second-order process, utilizing specific tuning parameters derived from the process time constants. The key equations used include the tuning parameters: \( 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} \). The user calculated the controller parameters as \( k_c = 22.0658 \), \( \tau_I = -6.0350 \), and \( \tau_D = -1.4556 \). Issues arose with the controller's output due to incorrect time constants, highlighting the importance of accurate parameter identification in control system design.

PREREQUISITES
  • Understanding of PID controller design principles
  • Familiarity with second-order process dynamics
  • Proficiency in MATLAB and Simulink for simulation
  • Knowledge of transfer function representation and manipulation
NEXT STEPS
  • Review the derivation of IMC-based PID controller tuning rules
  • Explore MATLAB's Control System Toolbox for advanced PID tuning
  • Investigate the impact of time constant accuracy on control performance
  • Learn about alternative methods for PID controller design, such as Ziegler-Nichols tuning
USEFUL FOR

Control engineers, students studying control systems, and practitioners involved in PID controller design and tuning for second-order processes.

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: 484
Physics news 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
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K
Replies
26
Views
4K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
15
Views
3K
  • · Replies 2 ·
Replies
2
Views
6K
  • · Replies 4 ·
Replies
4
Views
16K
  • · Replies 3 ·
Replies
3
Views
6K