matlab Simulink:PID控制器-反算和反饱和箝位之间的差异?

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

我需要为我的PID控制器实现抗饱和(输出限制)。Simulink提供两种选择:back calculationclampingdocumentation)似乎提供相同的结果。我知道反算在数学上是怎么做的。需要定义反算增益Kb。该增益取决于控制器饱和的时间,因此它实际上是一个动态值(因为饱和时间可能变化很大)。你有办法控制这个值吗?(在这种情况下,可能需要构建自己的PID控制器,如上面的文档或下面的图片所示。

这就引出了一个问题,clamping到底在做什么?还有什么其他的区别?哪一个速度更快,哪一个在坚硬的斜坡上更坚固?有没有人用过这两种方法?

llmtgqce

llmtgqce1#

不确定这是否完全回答了这个问题,但PID控制器文档页面解释了更多关于箝位的信息:
clamping
当块分量之和超过输出限制且积分器输出和块输入具有相同符号时,停止积分。当块分量之和超过输出限制且积分器输出和块输入符号相反时,恢复积分。块的积分器部分是:

箝位电路实现确定积分是否继续所需的逻辑。
如果选择箝位选项并查看遮罩下方,则可能会看到箝位电路的详细信息。

fwzugrvs

fwzugrvs2#

除了am304's answer之外,还有更多的事情需要考虑。

夹紧

***箝位始终有效。***它检测积分器溢出的时间,并使用简单的开关将PID控制器的积分路径设置为零,以避免饱和。

箝位是一种常用的抗饱和方法,特别是在数字控制系统中。然而,在严重的应用中,还涉及正向箝位-也评估控制器输入。此机制必须手动实现。

回算

反算高度依赖于反算系数Kb*。如果你不知道如何实际计算Kb *,不要使用反算 。该方法计算实际控制器输出与饱和输出之间的差值,并从I增益路径中减去该差值,再放大Kb。在大多数情况下,默认值Kb = 1将导致比箝位更差的结果,甚至可能根本没有效果。Kb应根据采样时间计算,如果涉及D增益,则应根据D增益和I增益计算。计算该系数时应参考相关文献。 通过正确设置的系数进行反向计算,可实现比箝位更好的动态性能!

相关问题