Having problems with PID Control...
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I'm designing an ideal robotic arm which is controlled by a PD. The functioning is very simple: The overshoot and stablishment time conditions are introduced and the dominant poles will be calculated. After that the Derivative control will act and control the system using the argument criterion, calculating the gain and where the Zero has to be introduced.
The problem comes that if I introduce certain conditions like 40% ovreshoot and 5 stab. time will not act as it is supposed to be even if the argument criterion can be satisfied.
If i increase the stablishment time the overshoot will be satisfied until 40% or even 50%, but not anymore... Anyone know why this can occur?
Thanks!
0 Kommentare
Antworten (1)
Sam Chak
am 1 Nov. 2023
Hi @JAVIER
Based on the provided information and without the mathematical model of the robotic arm and the PD controller gains, it's not clear what specific technical issue you are facing. However, one common reason for your difficulties in achieving the desired overshoot and settling time criteria is that the PD controller gains may not be appropriately tuned. ← (This could be the main reason).
6 Kommentare
Sam Chak
am 3 Nov. 2023
Verschoben: Sam Chak
am 3 Nov. 2023
I'm not very familiar with digital control design; hence, I converted the system to continuous time to see if it can be controlled to achieve your desired settling time of 4 seconds. If successful, then the designed controller can be discretized.
Perhaps you can edit your question to update the title (regarding the Discrete System) as well as to attach the relevant MATLAB files. This can attract experts in discrete-time systems.
K = 1;
c = 0.8;
num = K;
den = [1 c-1 -c];
G = tf(num, den, 0.1);
Gp = d2c(G, 'tustin')
% step(Gp)
% c2d(Gp, 0.1,'tustin') % check if it returns the original discrete model G
Sam Chak
am 4 Nov. 2023
Hi @JAVIER
Here is the update. I am unfamiliar with your dominant-pole-based design approach. Therefore, I used the tuning tool to attempt to design a PD controller that meets the desired settling time and overshoot requirements. If you can adjust the parameters in the dominant-pole technique to produce similar PD gain values, you should obtain similar performance as shown below.
% Discrete-time Plant
K = 1;
c = 0.8;
num = K;
den = [1 c-1 -c];
Gp = tf(num, den, 0.1)
% Discrete-time PD Controller
w = 1.25;
[Gc, info] = pidtune(Gp, 'pd', w)
% Discrete-time Closed-loop control system
Gcl = feedback(Gc*Gp, 1)
step(Gcl), grid on
S = stepinfo(Gcl);
S.SettlingTime
S.Overshoot
Siehe auch
Kategorien
Mehr zu PID Controller Tuning finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!