PID 控制中的积分和微分项

电器工程 pid控制器
2022-02-02 12:34:17
  1. 积分 项 我对积分项的理解是:自我们开始计数以来所有错误的总和。因此,即使我们已经达到了我们想要的最终目标位置,误差的积分也应该很高(不是吗?),因为我们从处于初始位置时开始添加所有误差。
    如果积分项在我们的目标位置很高,控制器仍会不断加速......?[我知道积分项的值此时将是一个常数,因为误差为 0。但是,它不会仍然是一个高值吗?]

  2. 导数 说,我们在时间实例 t1。我可以预测特定时间实例的变化率,比如 t20,然后将此参数应用于当前状态吗?导数项是这样工作的吗?

1个回答

简短的回答

您的 PID 控制器的常数以及误差信号可以是负数或正数,因为您的系统会根据您的 PID 控制信号进行调整,它会产生递减的误差并最终产生相反符号的误差,并且积分不会无限地继续增加。随着系统从负误差到正误差振荡,导数项也将相对于彼此改变符号。通常,导数和积分常数的符号相反,因此当信号最终开始移动时,控制信号会迅速减小以避免过冲。

完整的答案

积分项决定了 PID 控制器“加速”其对错误的响应的强度。这个想法是,如果您正在输出控制信号并且误差保持在高位,您希望继续将该控制信号增加到比例水平以上。

微分项决定了 PID 控制器“支持”误差反转的强度,并在系统响应 PID 输出时补偿积分项。这里的常数项通常与积分项的符号相反,随着系统开始降低误差,您开始在相反方向增加控制信号以最小化过冲并减少稳定时间。

从概念上讲,您正在使用积分和微分项来设置适当的阻尼来稳定您的系统。对于大多数系统来说,稍微欠阻尼的回路是理想的,系统可以快速稳定并且没有过冲。根据您的应用,您必须确定哪种过冲对您来说是合理的。

其余的部分

我认为在混乱是一个总是找到机会攻击的敌人的情况下,最好参考定义来集中讨论

使用当前时间的误差信号我们产生一个信号,定义为 e(t)tu(t)u(t)=APe(t)+AI0te(t)dt+ADde(t)dt

该定义对与每个术语相关的常数没有限制。或者任何关于 u(t) 对被控制系统的影响的假设。此外,可以使用的核心定义有许多变体。您可以将输入窗口化(仅选择最后 30 秒)或使用卷积加权输入(最简单的情况:重新定义常量以也取决于 t)

考虑 3 个案例

输出信号对您的系统有直接影响

系统没有共振或惯性,并且您的输出会立即将您的系统从比例项中移至 0 误差,您将导数常数设置为接近 0,并且积分项永远没有机会增长。这是一个理想的系统,可能根本不需要 PID 来控制

输出信号对系统的影响最小(误差信号保持不变)。

无论是多少,系统都拒绝让步,积分项会变得越来越大并发散到无穷大。无论您使用什么物理设备来产生影响,都可能会烧毁。考虑一个 PID 控制器驱动一个试图移动地球的活塞,无论它多么努力地推动地球都不会偏离它的轨道。作为一个理论概念,没有什么可以阻止任意增长u(t)u(t)

输出信号对系统具有比例影响(适当调整的 PID)

产生的驱动系统并减少误差,积分项减缓其稳定累积,微分项随着系统开始移动而增加。在某个时刻,系统将跨越一个阈值,并且误差信号 $e(t)$ 将改变符号,这导致积分项开始减少,并且在某些时刻它也会改变符号。.u(t)

如果您正确选择常数,您可以将您的系统调整到一个适当阻尼的回路中,该回路使您的输出信号在您控制的系统的动态特性(机械、电气或其他)允许的最短时间内将您的系统驱动到 0 误差