How can I AUTOMATICALLY tune PID controller to get a certain overshoot and settling time?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Sam Chak
il 24 Dic 2022
Modificato: Sam Chak
il 24 Dic 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
and settling time
, 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
.
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.
Risposte (1)
Sulaymon Eshkabilov
il 23 Dic 2022
Modificato: Sulaymon Eshkabilov
il 23 Dic 2022
Try: pidtuner()
0 Commenti
Vedere anche
Categorie
Scopri di più su PID Controller Tuning in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!