在Matlab中是否有一种方法来获取传递函数,定义H
(闭环系统)并扫描所有允许系统稳定的Kp
和Kd
值?
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稳定性测试来找到满足稳定性的Kp
和Kd
值的范围,但是在没有Routh Hurwitz表的情况下,是否可以在Matlab中做到这一点?我并不是要为一个特定的功能调整这个系统-还没有。
1条答案
按热度按时间kxe2p93d1#
据我所知没有最好的办法是使用
pidTuner
来调整PID增益:或