How can I AUTOMATICALLY tune PID controller to get a certain overshoot and settling time?
    4 views (last 30 days)
  
       Show older comments
    
I'm trying to tune the PID to get a certain percentage overshoot and settling time however manual tuning is very tough can I do that automatically by simply specifying the parameters? I am using simulink.
4 Comments
  Sam Chak
      
      
 on 24 Dec 2022
				
      Edited: Sam Chak
      
      
 on 24 Dec 2022
  
			Hi @Muhammad
Can you post a new question with the uncompenstated plant transfer function/state-space model?
It is difficult for some people because the formulas for the desired PID gains  ,
,  ,
,  expressed as functions of percent overshoot
 expressed as functions of percent overshoot  and settling time
 and settling time  , are not explicitly stated in the textbooks, for some unknown reasons.
, are not explicitly stated in the textbooks, for some unknown reasons.
 ,
,  ,
,  expressed as functions of percent overshoot
 expressed as functions of percent overshoot  and settling time
 and settling time  , are not explicitly stated in the textbooks, for some unknown reasons.
, are not explicitly stated in the textbooks, for some unknown reasons.If you follow the conventional way of design, then the Root Locus approach is the most convenient way for both experts and non-experts designers. First, you need to view the root locus of the uncompenstated system by entering the command 
controlSystemDesigner('rlocus', sys)
In the Control System Designer app, you can specify the design requirement such as the percent overshoot  . The requirement will show an exclusion region, which is a yellow shaded area. Do the same for the settling time
. The requirement will show an exclusion region, which is a yellow shaded area. Do the same for the settling time  .
.
 . The requirement will show an exclusion region, which is a yellow shaded area. Do the same for the settling time
. The requirement will show an exclusion region, which is a yellow shaded area. Do the same for the settling time  .
.To satisfy the requirements, your design task is to add/place the compensator poles and zeros "somewhere", and then adjust the Loop gain by clicking on one of the "magenta dot markers" and dragging it along the root locus until a response plot stay outside of the associated exclusion regions.
Answers (1)
  Sulaymon Eshkabilov
      
 on 23 Dec 2022
        
      Edited: Sulaymon Eshkabilov
      
 on 23 Dec 2022
  
      Try: pidtuner()
0 Comments
See Also
Categories
				Find more on PID Controller Tuning in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



