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