第四节 阶跃响应法:Ziegler-Nichols第二法

聊完了临界比例度法,咱们来看看另一种经典方法——阶跃响应法,也就是Ziegler-Nichols第二法。

说实话,我个人更喜欢这个方法。为什么?因为它不需要让系统先震荡起来。你想想看,有些工业现场,让系统震荡?那简直是灾难。蒸汽管道压力震荡一下,搞不好阀门都要跳掉。

这个方法的核心思路很简单:给系统一个开环阶跃信号,看它怎么响应,然后从响应曲线上读出几个关键参数,直接算出PID参数。

4.1 什么时候用第二法?

我遇到过不少现场工程师,上来就问:「老师,我该用第一法还是第二法?」

我的建议是:

  • 系统允许闭环震荡 → 用第一法(临界比例度法)
  • 系统不允许震荡,或者震荡很危险 → 用第二法(阶跃响应法)
  • 系统本身是开环稳定的 → 第二法特别合适

说白了,第二法就是给系统做个「体检」——给它一个刺激,看它怎么反应。

4.2 操作步骤:三步走

嗯,这里要注意,操作步骤其实就三步,但每一步都有坑。

第一步:做开环阶跃实验

把控制器切到手动模式,让系统处于开环状态。然后给执行器一个阶跃信号——比如阀门开度突然从30%跳到50%。

记录下被控变量的变化曲线。这就是开环阶跃响应曲线。

⚠️ 我曾经踩过的坑:阶跃幅度不能太大,也不能太小。太大可能让系统进入非线性区,太小又看不出明显响应。一般建议阶跃幅度为满量程的5%~15%。

第二步:从曲线上读参数

拿到响应曲线后,我们需要读出三个关键参数:

  • K —— 稳态增益(最终变化量 ÷ 阶跃幅度)
  • T —— 时间常数(从开始到达到63.2%稳态值的时间)
  • τ —— 纯滞后时间(从阶跃开始到系统开始响应的时间)

这里我画了一张图,帮你理解这三个参数在曲线上怎么找:

阶跃信号 响应曲线 τ(纯滞后) T(时间常数) K 63.2% 时间 t PV

第三步:查表计算PID参数

Ziegler和Nichols当年通过大量实验,总结出了下面这张表:

控制器类型 Kp Ti Td
P T / (K · τ) — —
PI 0.9 · T / (K · τ) 3.3 · τ —
PID 1.2 · T / (K · τ) 2.0 · τ 0.5 · τ

💡 举个例子:

假设你从曲线上读出:K=2, T=10秒, τ=2秒

那么PID参数就是:

  • Kp = 1.2 × 10 / (2 × 2) = 3.0
  • Ti = 2.0 × 2 = 4.0 秒
  • Td = 0.5 × 2 = 1.0 秒

4.3 实际应用中的坑

我在现场调试时,发现很多新手容易犯这几个错误:

  1. 曲线没读准——尤其是τ(纯滞后时间),很多人把系统惯性响应的时间也算进去了。记住:τ是系统「完全没反应」的那段时间。
  2. 阶跃幅度不合适——太小了信噪比低,太大了可能触发保护。
  3. 忽略了噪声——如果现场噪声大,响应曲线毛刺多,建议先做滤波处理。

🔧 我的小技巧:

如果现场条件允许,可以多做几次阶跃实验,取平均值。这样算出来的参数更可靠。

另外,算出来的参数只是「初值」,投入闭环后还需要微调。别指望一次就能整定到完美。

4.4 第二法的局限性

说实话,第二法也不是万能的。它有几个前提条件:

  • 系统必须是自衡的(开环稳定)
  • 响应曲线必须是S形(一阶惯性+纯滞后)
  • 不能有太大的非线性

如果系统不满足这些条件,算出来的参数可能不太靠谱。这时候,我建议你结合其他方法一起用,或者直接用试凑法慢慢调。

好了,阶跃响应法就讲到这里。这个方法虽然经典,但用好了确实能省不少事。下次你在现场遇到一个开环稳定的系统,不妨试试看。


可可精品资料库