pid tunnig with non unity feedback

10 views (last 30 days)
Hello, I would like to know what the code would be to obtain the PID values for the sys below,
with G , H are two tranfers functions and C is the pid controller
i used the following code but it didn't work!!!
C=pidtune(feedback(G,H),'pid',1.0)
sys=feedback(C*G,H)
step(sys)
Thank you.
A greeting.

Accepted Answer

Birdman
Birdman on 1 Apr 2020
Try the following approach:
s=tf('s'); %needed to define transfer function in s domain
G=1/3*s+4;H=1/(0.1*s+1); %if feedback is not unity, then it has to be considered in open loop, as G*H
C=pidtune(G*H,'PID',1)
sys=(C*G)/(1+C*G*H)
step(sys)

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!