matlab PD控制器,扫描满足系统稳定性的所有Kd和Kp值

5n0oy7gb  于 2023-05-29  发布在  Matlab
关注(0)|答案(1)|浏览(209)

在Matlab中是否有一种方法来获取传递函数,定义H(闭环系统)并扫描所有允许系统稳定的KpKd值?

clear all
clc
close all
s = tf('s');
Gs = tf(0.001667,([1 12.04 20.52 0.8342]));
H = -1;
subplot(3,1,1)
step(feedback(Gs,H))
hold on
grid on
title('Step serponse without a PD controler')
Kp = 1;  %-147700.5<Kp<2500
Kd = 0;
subplot(3,1,2)
C = pid(Kp,0,Kd);
T = feedback(C*Gs,H);
t = 0:0.01:140;
step(T,t)
grid on
title('Step response with a PD controler')
subplot(3,1,3)
rlocus(T)
title('Root locus to check for stability')
grid on
stability = isstable(T)

我知道我可以使用Routh Hurwitz稳定性测试来找到满足稳定性的KpKd值的范围,但是在没有Routh Hurwitz表的情况下,是否可以在Matlab中做到这一点?我并不是要为一个特定的功能调整这个系统-还没有。

kxe2p93d

kxe2p93d1#

据我所知没有最好的办法是使用pidTuner来调整PID增益:

pidtuner(Gs,'pd') % open PID tuner for plant Gs with PD controller

pidtuner(Gs,'pdf') % open PID tuner for plant Gs with PD controller & approximate derivative

相关问题