2014-04-07 53 views
1

我试图计算PID控制器的增益(Kp,Ki,Kd)。我必须改善工厂的反应。我已经拥有工厂的传递功能。工厂传递函数的PID增益

我想知道matlab是否有一些命令来计算控制器增益(kp ki和kd),并根据某些参数计算出增益(小于5%的操作系统,没有稳态误差和最小上升时间

PS - 我高度赞赏其它解决方案相比的Simulink

编辑:

TF = 1.546 /秒+ 0.497

+1

一些示例数据或传输函数会很好。 – thewaywewalk

+0

您可以使用[**'pidtool' **](http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction§ion=ControlPID) - 我手头没有,但也许你会找到一种方法来以编程方式控制它,或者可以有一个按钮来生成代码,稍后你可以修改它。 – thewaywewalk

+0

@thewaywewalk见编辑 – sukhvir

回答

3

是的matlab具有自动PID调整功能。

PID调整是查找PID控制器的比例增益,积分增益和微分增益值以获得所需性能并满足设计要求的过程。

您可以检查这两个链接:link1link2

这个example特别涉及传递函数和PID控制器的设计。

一般:

要调整过冲,你可以使用相位裕度。通常,较高的相位裕度可改善稳定性和过冲,但会限制带宽和响应速度。

例如,你可以这样做:

sys = tf(1,[1 3 3 1]); 
opts = pidtuneOptions('PhaseMargin',45); 
[C,info] = pidtune(sys,'pid',opts); 

请记住,更高的带宽(开环0 dB的交叉)会产生更快的上升时间和更高的相位裕度减小了超调并提高了系统的稳定性。所以,你可以这样做:

opts = pidtuneOptions('CrossoverFrequency',32,'PhaseMargin',90); 
[C, info] = pidtune(sys, 'pid', opts) 

在另一方面,比例控制器的Kp将有减少的上升时间的影响,并会减少,但从未消除稳态误差。积分控制Ki将具有消除恒定或阶跃输入的稳态误差的效果,但它可能会使瞬态响应变慢。