matlab PID控制器,SISO工具给出一个分母为s^2的“pid”

qxsslcnc  于 2023-05-29  发布在  Matlab
关注(0)|答案(2)|浏览(153)

当我尝试在matlab中使用SISOtool时,它给了我这个PID控制器的方程

0.056301 * (1+1000s)
           s(1+4.2s)

这意味着方程的分母中有一个S^2。这不是PID的等式。
我不知道该怎么办。这是否意味着该系统不存在PID?

neekobn8

neekobn81#

这是否意味着该系统不存在PID?
不,不是的。
教科书使用以下表达式介绍PID控制器的传递函数
C(s) = Kp + Ki/s + Kd*s
为了简单和强调概念方面。然而,纯分化很少是有用的术语。你可以在时域和频域中看到这一点。随着s的增加,上面的最后一项无限制地增加。在时域中,最后一项将不仅区分有用的信号,而且区分PID控制器的输入中的任何噪声。现在回想一下当你区分sincos时会发生什么:前面的频率是一个系数。不管怎么说,这是同一现象的两个方面。因此,开始设计更实用的PID的下一步是将项Kd*s替换为以下形式的滤波器
Kd*A*s/(s+A)
如果将C(s)中的项求和,并将此过滤器替换为Kd*s,则分母中将得到s^2
MatLab中的控制工具箱相当发达(至少对于线性系统)。我不会很快就否定它所带来的结果。另一方面,仔细检查它们是很好的。

k2arahey

k2arahey2#

通过将设计的控制器导出到MATLAB,然后执行pid(controller),可以看到PID控制器的表达式

相关问题