在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稳定性测试来找到满足稳定性的Kp和Kd值的范围,但是在Matlab中可以在没有Routh表的情况下做到这一点吗?我现在还不打算针对某个特定的功能调优这个系统。
发布于 2015-05-06 15:49:56
就我所知没有。最好的办法是使用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 derivativehttps://stackoverflow.com/questions/30066777
复制相似问题