Kp, Ki, Kd values to an PID controller

18 views (last 30 days)
Poli
Poli on 18 Jun 2019
Answered: Raj on 19 Jun 2019
Hello, I would like to know what the code would be to obtain the PID values, with the following steps:
Take the location of the poles in the complex plane, discretize this plane, and each of the poles, calculate the response and find the maximum and minimum values, and the use of graphics on the complex plane, creating a map of an outline a direct visual indication of the values of the poles are obtained from one type or another, and so the contour maps can be navigated to choose the ideal location of the poles, being able to choose the gains of the controller in a more justified way.
Thank you.
A greeting.

Accepted Answer

Raj
Raj on 19 Jun 2019
Your question is quite vague.
1) You have not mentioned anything about your system. I am assuming its a MIMO system. What is the order? Do you have a state space model?
2) Which state vector do want to control with the PID controller and to which input do you want to give the feedback?
In general this would be the steps to follow:
Take the location of the poles in the complex plane:
System=ss(A,B,C,D)
pzmap(System)
discretize this plane: What is the sampling time?
calculate the response: which response? Step, impulse?
find the maximum and minimum values: use 'max' and 'min' in the real part of eigen values.
use of graphics on the complex plane, creating a map of an outline a direct visual indication of the values of the poles are obtained from one type or another, and so the contour maps can be navigated to choose the ideal location of the poles, being able to choose the gains of the controller in a more justified way: You will have to do a root locus here. Since 'rlocus' works for SISO systems only you will have to create a 'for' loop with varying feedback gains to get a locus of the poles.
Good luck!!

More Answers (0)

Community Treasure Hunt

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

Start Hunting!