Having problems with PID Control...
조회 수: 6 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Sam Chak
2023년 11월 1일
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
Sam Chak
2023년 11월 3일
이동: Sam Chak
2023년 11월 3일
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
2023년 11월 4일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 PID Controller Tuning에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!