Find a PID Controller
    8 views (last 30 days)
  
       Show older comments
    
Hi
I want to find a PID Controller for the following process:
Hp(s) = 1 / (s^2 + 1)
or Hp = tf (1, [1 0 1] );
Performance requirements: overshoot < 5%, settling time < 3 sec, steady-state error = 0.
I tried to use pidtool(H) and none of the available pid types meet the performance requirements.
Do you have any suggestion on how to find the optimal controller using Matlab / Simulink ?
Thanks
0 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 24 Dec 2012
        
      Edited: Azzi Abdelmalek
      
      
 on 24 Dec 2012
  
      Hp=tf (1, [1 0 1] );
[kpid,info] = pidtune(Hp,'pid')
Then simulate your system using tune (in PID block) to find the desired values of kp ki and kd
you will find approximately
kp=83 
ki=19
kd=32
2 Comments
  Azzi Abdelmalek
      
      
 on 25 Dec 2012
				
      Edited: Azzi Abdelmalek
      
      
 on 25 Dec 2012
  
			You have to do it manualy, adjust the time (lower then expected) then decrease the kp to reduce the overshoot
More Answers (1)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!