PID参数分析

参考文档

参考来源

讨论PID时首先确定是基于哪个公式的讨论

  • 理想PID公式:

\[u(t) = K_p \left[ e(t) + \frac{1}{T_i} \int_0^t e(t)\,dt + T_d \frac{de(t)}{dt} \right] \]

  • e(t)=Psetpoint - Pv: 差值,和误差定义不一样,差值比较合适。
  • Psetpoint:设定值
  • Pv:过程值
  • Kp:比例增益
  • Ti:积分时间
  • Td:微分时间

离散控制中的PID算法

  • 理想公式所有分量都要绑定Kp,不利于对单个分量的理解和分析;现在计算机/PLC使用的是增量PID离散控制算法,实际上的公式为:

\[u(t) = K_p e(t) + \frac{1}{T_i} \int_0^t e(t)\,dt + T_d \frac{de(t)}{dt} \]

  • 调整 $(T_i) $及 $(T_d) $ 时,免除了 $ (K_p)$系数的影响。
  • 离散 PID 算法是由连续时间 PID 控制律通过数值离散化得到的。在采样周期$ (T_s) $下,连续积分项可用离散求和近似,即 $ (\int e(t),dt \approx T_s \sum e(k)) $ ,连续微分项可用差分近似,即 $ (\frac{de(t)}{dt} \approx \frac{e(k)-e(k-1)}{T_s}) $。因此,连续 PID 可转化为离散位置式 PID。进一步对相邻采样时刻的位置式输出作差,可得到增量式 PID,其表达式中比例项对应误差一阶差分,积分项对应当前误差,微分项对应误差二阶差分。该方法是数字控制系统中 PID 算法实现的基础。

基于ZN整定法,得到Kp,Ti,Td

ZN整定是经典整定方法,相对教材化;但实际操作种临界条件意味系统处于失衡边缘,工程上不太好接受

s

  • 先测:

    • $ (K_u) $:临界增益
    • $ (T_u) $:临界振荡周期
  • 测试经验,如何得到 $ (K_u) $ 和 $ (T_u) $:

      1. 令积分和微分为 0,只保留比例控制
      1. 给系统一个小阶跃输入
      1. 逐步增大 $ (K_p) $
      1. 当输出刚好出现持续等幅振荡时,记该增益为 $ (K_u) $
      1. 测量该振荡波形的周期,记为 $ (T_u) $
  • 在真实设备上调试:

    • 切成手动/调试模式
    • 仅开比例
    • 逐步增益调整
    • 用趋势图或示波记录输出
    • 或者用自整定工具评估
    • 注意:有些对象不能随便调到临界振荡,比如高温炉,高压系统,大惯量机械,化工过程;因为“临界振荡”本身就意味着系统已在失稳边缘。
  • 理想型 PID 参数:

控制器 $ (K_p) $ $ (T_i) $ $ (T_d) $
P $ (0.5K_u) $ - -
PI $ (0.4K_u) $ 或 $ (0.45K_u) $ $ (0.8T_u) $ 或 $ (0.83T_u) $ -
PID $ (0.6K_u) $ $ (0.5T_u) $ $ (0.125T_u) $
  • 换算关系:
    • 先通过ZN得到Kp(比例增益)、Ti(积分时间)、Td(微分时间)
    • 再换成Ki、Kd
    • 积分系数:$ (K_i = \dfrac{K_p}{T_i}) $
    • 微分系数:$ (K_d = K_p T_d) $
    • 再结合Ts代入离散算法

\[u(k) = K_p e(k) + K_i T_s \sum e(k) + K_d \frac{e(k)-e(k-1)}{T_s} \]

PID参数解读

  • P参数:如Psetpoint:=0.8,Kp=1.29,P=Kp * e,当设定值为0.8(80%),过程变量Pv(深红色曲线)变化时,其与设定值Psetpoint(蓝色直线)的差值为e(绿色曲线),P分量(紫色曲线)=e * Kp:

    • 过程变量Pv:深红色曲线
    • Psetpoint:=0.8:蓝色曲线
    • Pv和Psetpoint的差值e:绿色曲线
    • P分量=Kp*e:紫色曲线
  • I参数:如Psetpoint:=0.8,Ti=14s,当设定值为0.8(80%),过程变量Pv(深红色曲线)变化时,其与设定值Psetpoint(蓝色直线)的差值为e(绿色曲线),I分量(紫色曲线)为:

\[I = \frac{1}{T_i}\int_0^t e(t)\,dt \]

  • 过程变量Pv:深红色曲线

  • Psetpoint:=0.8:蓝色曲线

  • Pv和Psetpoint的差值e:绿色曲线

  • I分量:紫色曲线

  • D参数:如:Psetpoint:=0.8,Td=2s,当设定值为0.8(80%),过程变量Pv(深红色曲线)变化时,其与设定值Psetpoint(蓝色直线)的差值为e(绿色曲线),D分量=Td*de/dt(紫色曲线):

    • 过程变量Pv:深红色曲线
    • Psetpoint:=0.8:蓝色曲线
    • Pv和Psetpoint的差值e:绿色曲线
    • D分量:紫色曲线
  • D分量的解释:

    • D 分量反映的是误差变化率,而不是误差本身的大小。其表达式为 $ (D=T_d \frac{de(t)}{dt}) $ 。当设定值保持不变时,由于 $ (e(t)=SP-PV(t)) $ ,因此 $ (D=-T_d \frac{dPV(t)}{dt}) $ 。这说明 D 分量主要取决于过程变量 $ (PV) $ 的变化斜率。当 $ (PV) $ 保持不变时,变化率为零,因此 D 分量接近零;当 $ (PV) $ 快速上升时,$ (\frac{dPV}{dt}>0) $ ,则 D 分量为负,用于抑制上升趋势;当 $ (PV) $ 快速下降时, $ (\frac{dPV}{dt}<0) $ ,则 D 分量为正,用于抵消下降趋势。因此,D 分量曲线通常在过程量发生快速变化时出现正负尖峰,而在过程量变化平缓或稳定时逐渐回到零附近。该特性体现了微分环节对系统变化趋势的提前预测和阻尼作用,有助于减小超调并改善动态性能。
  • PI响应和PID响应:

    • 图中绿色曲线表示 PI 控制输出,紫色曲线表示 PID 控制输出。两者整体变化趋势基本一致,这是因为 PID 包含了与 PI 相同的比例和积分作用,因此在大多数阶段都随误差变化而同步变化。然而,紫色曲线在过程值快速变化或发生拐点时比绿色曲线表现出更明显的峰谷和更快的响应,这是由于 PID 比 PI 多了微分环节。微分项与误差变化率成正比,能够对过程值的快速变化趋势提前作出反应,从而在过程值迅速逼近设定值时起到减缓趋势、抑制超调的作用。因此,PID 的动态修正能力强于 PI,但同时也会使其对高频扰动和噪声更敏感,导致输出波动较大。总体来看,绿色曲线更平滑稳定,紫色曲线更灵敏快速,体现了 PI 与 PID 在动态响应特性上的差异。
  • P/I/D参数对比表

    • PID的关注对象都是差值:e(t) = SP(t) - PV(t),表现为Pv上升,e下降;Pv下降,e上升。曲线符合的是差值变化趋势
项目 P(比例) I(积分) D(微分)
数学表达 $ (u_P = K_p e(t)) $ $ (u_I = K_i \int e(t),dt) $ $ (u_D = K_d \frac{de(t)}{dt}) $
关注对象 当前误差 历史累计误差 误差变化率
核心作用 误差一出现立即调节 持续累积误差并消除静差 对误差变化趋势提前修正
响应速度 很快
是否容易滞后 较小 明显
对快速变化的敏感性 中等 较弱 很强
输出曲线特点 跟随误差变化直接 更平滑,但慢一些 峰谷更明显,反应更尖锐
优点 响应直接、提高速度 消除稳态误差 抑制超调、改善动态性能
缺点 单独使用常有静差 易引起超调和振荡,响应慢 对噪声和高频扰动敏感
从截图看出的现象 与误差变化同步性最好 曲线相对平滑 在突变位置反应最明显
适合理解 “看到偏差就立刻推” “偏差一直存在就持续补” “发现变化太快就提前刹车”

西门子1500/1200使用的改良后PID公式

  • 公式:

\[y = K_p \left[ (b w - x) + \frac{1}{T_I s}(w - x) + \frac{T_D s}{a T_D s + 1}(c w - x) \right] \]

符号 描述
(y) PID 算法的输出值
(K_p) 比例增益
(s) 拉普拉斯算符
(b) 比例作用权重
(w) 设定值
(x) 过程值
(T_I) 积分时间
(a) 微分延迟系数
(T_D) 微分作用时间
(c) 微分作用权重
  • 与经典 PID 公式相比,该改进公式在比例和微分环节中引入了设定值权重参数 (b) 和 (c),并在微分环节中加入了一阶滤波项 $ (aT_D s + 1) $ 。其中,比例权重 (b) 可用于减弱设定值突变对比例输出的直接冲击,从而降低系统超调;微分权重 (c) 可用于抑制设定值突变引起的微分冲击,改善控制输出的平滑性;微分滤波项则能够抑制高频噪声对微分环节的放大作用,提高系统的抗干扰能力和工程可实现性。因此,该改进 PID 公式在设定值跟踪、扰动抑制和抗噪性能之间具有更好的折中效果,特别适用于温度控制这类具有惯性大、滞后明显特点的对象。

工程上的优化,有限阶跃响应整定法得到Kp,Ti,Td

有限阶跃响应整定法可视为经典 Ziegler–Nichols 阶跃响应整定思想在工程中的改进应用,其在保留反应曲线法基本思想的同时,提高了工程可操作性和安全性。
  • 有限阶跃输出:

    • 给控制器或执行器一个有限大小、可控幅值的阶跃变化量,然后观察过程量 PV的响应曲线:
     比如原来加热器输出是 20%,
     把它一下改到 60%,并保持不变。
     这个“从 20% 到 60% 的突然变化”就是一个阶跃输入,而且这个阶跃是有限的、工程上可接受的,所以叫有限阶跃输出。
     不同于0-100%的理想输出,工程上更关注幅值不要太大,不然可能有危险;幅值不要太小,不然响应不明显;能让系统曲线看清楚动态特性即可。
    
  • 从操作的角度理解有限阶跃输出:

    • step1: 让系统稳定下来,比如在温控系统中:设定温度暂时固定,加热输出稳定,PV基本不再明显波动。
    • step2: 给一个受控的,合适的且工程可接受的阶跃量,比如在温控系统中:阶跃足够大,可以让Pv明显变化;阶跃要避免超温,饱和,危险状态;阶跃尽量在线性区内。
    • step3: 记录Pv响应曲线,比如在温控中:记录温度随时间变化的曲线。
    • step4: 分析曲线,确定曲线特征点,如下:

      • Psetpoint:红色直线
      • Pv过程变量:蓝色曲线
      • 误差e:橙色曲线
      • D分量曲线:灰色曲线
      • 1:找到D分量的拐点,为5s的位置,放置一条直线,与过程变量相交,交点处即为Pv上升率变化点
      • 2:交点位置放置切线,切线与Y轴的0点及100相交
      • 3:在两个交点处放置直线,与X轴相交
      • 4:此两个交点在X轴上对应的数值即为系统的两个重要参数τ(延迟时间), Tg(恢复时间或者理解为完成主要变化的时间)
    • Step5: 套入经验公式,得到PID初值:

    \[K_p = 0.53 \cdot \frac{T_g}{\tau} \]

    \[T_i = 4\tau \]

    \[T_d = 0.8\tau \]

  • 重要提示:

    • 阶跃响应测试曲线仅仅是得到一些基本PID参数,不应该直接用于参数设计。
    • PID参数还需要根据工况继续优化:比如继续上机测试和细调
    • PID控制需要和其他的辅助方法和策略配合:比如系统有明显滞后,扰动可确定,超调要求严格,响应速度要求高,那么就还需要其他的方法,如前馈补偿,如微分滤波,如加权,如串级控制,如smith预估等等。
    • 关于自整定:现在设备的自整定除了可以在人工给定初值,再优化上做出贡献,还能够从头到尾自动完成,不依赖人工给一组经验参数

如何判定当前系统是否可以使用PID调节

  • 判断系统是否合适被PID控制时,通常采用:λ=τ/Tg
    • τ(延迟时间)
    • Tg(恢复时间或者理解为完成主要变化的时间)
  • 参数 λ 表示系统纯延迟在整体动态过程中的占比,也可以理解为系统对 PID 控制的“友好程度”指标。一般来说,λ 越小,系统越容易使用 PID 控制;λ 越大,PID 整定越困难,控制效果也越差。
  • λ判定:
    • 当0<λ≪1时:此时系统滞后性非常小,控制器施加作用后,系统能够较快给出反馈。PID 控制比较容易实现,参数可调整范围较大,即使参数选择不够精确,通常也能获得较好的控制效果。
    • 当0<λ<1时:此时系统已经具有一定滞后性,但滞后尚未占主导地位。PID 仍然可以使用,不过整定时需要更加谨慎。由于滞后会降低系统稳定裕度,因此 PID 参数可调整范围变小,往往需要结合现场实际进行细致调试。
    • 当λ>1时:说明系统延迟时间已经大于恢复时间,属于大滞后系统。控制器的调节作用难以及时反映在输出中,容易引起超调和振荡,因此 PID 参数整定较为困难。此时单纯依靠常规 PID 往往难以获得理想效果,通常需要考虑引入前馈补偿、Smith 预估、串级控制等改进方法。
    • 当λ≫1时:此时系统属于超大滞后系统,反馈信息严重滞后,控制器很难根据当前误差做出有效调节。常规 PID 通常不再适合作为主要控制方法,否则容易出现响应缓慢、振荡明显、控制品质差等问题。工程中往往需要采用更适合大滞后对象的控制策略。

建立系统的pid模型画像

  • 在保证工艺生产安全的情况下,工程师应该通过一些尝试,构建出清晰的系统PID模型的画像:
    • 输入值是线性的吗?
    • 输出值是线性的吗?
    • 过程值为系统允许最大值时,输出值是多少?
    • 输出值给定5%,过程值的数值是多少?
    • 输出值给定25%,过程值的数值是多少?
    • 输出值是否允许给出最大值100%?
    • 输出值为最大值多长时间,过程值会达到最大值?
  • 通过这些尝试,工程师在系统调试前,即可有一个完整的系统响应模型,在调试PID之前,要确保没有如下问题,否则不要尝试通过PID方法解决问题:
    • 输入值/输出严重非线性,无规律剧烈跳变(先确认是否为工艺,仪表,安装等问题);
    • 如果输出值以最小调节单位变动,过程值就有剧烈波动,甚至超调,则意味着出现大马拉小车情况,系统非常难以调节,需要修改工艺设计;
    • 类似上一条,如果输出仅为5%,过程值已经达到80%,也尽量考虑修改工艺设计 ;
    • 输出值为最大值,但过程值需要很长时间才会发生变化,λ>>1, 大滞后系统,不适合使用PID控制方法;
    • 固定的输出值,得不到确定对应的过程值,系统为非线性系统,不适合使用PID控制方法;

温度PID调节中的温度反馈滞后问题

  • 在温度pid控制中,如何去解决温度反馈滞后的问题:
    • 在温度 PID 控制中,反馈滞后通常由传感器响应延迟、安装位置不合理、被控对象热惯性以及测量滤波造成。针对该问题,不能仅依赖增大 PID 参数来补偿,而应从测量链路与控制策略两方面优化。首先,应尽量缩短温度测量延迟,如优化传感器安装位置、选用响应更快的探头并减少过度滤波。其次,在参数整定上,应适当减弱积分作用,避免因滞后导致积分累积过多而产生过冲;同时合理引入微分环节,利用温度变化率提前修正控制输出,从而减小超调并改善动态性能。此外,可通过设定值斜坡、抗积分饱和和前馈补偿等方法进一步降低反馈滞后带来的不利影响。对于存在明显热惯性的温控对象,这类方法通常比单纯提高比例或积分增益更有效。
  • 什么是前馈校正,如何辅助降低误差:
    • 前馈校正对于滞后系统的控制具有明确的理论依据。其基本思想是在设定值变化或可测扰动发生时,不等待反馈误差形成,而是依据已知信息提前施加补偿控制量,从而减轻由反馈滞后导致的响应迟缓和超调问题。需要注意的是,前馈校正并不能从物理上消除被控对象固有的时滞、热惯性或传感器延迟,而只能在模型较准确、扰动可测的条件下,对这些滞后效应进行补偿和弱化。因此,“前馈可以改善滞后系统性能”是有依据的,而“前馈可以完全消除滞后”则是不够严谨的表述。
posted @ 2026-07-21 18:53  你要去码头整点薯条吗  阅读(43)  评论(0)    收藏  举报