4、Ziegler-Nichols整定法:经典方法在纳米尺度还管用吗?实测告诉你。

做运动控制的人,没人不知道Ziegler-Nichols法。

这套1942年提出的方法,堪称PID整定的“老黄历”。我入行时第一个项目就用它调伺服电机,效果还不错。但后来转到纳米定位平台,我心里也犯嘀咕——这老古董,在纳米尺度还能打吗?

今天咱们就用实测数据说话。不吹不黑,看看ZN法到底还行不行。

4.1 ZN法的核心逻辑:先让它振荡

ZN法的思路其实很粗暴。说白了,就是先把系统推到临界振荡状态,然后根据振荡参数反推PID参数。

具体分两步:

  1. 找临界增益Ku和临界周期Tu:只保留比例项,慢慢增大Kp,直到系统输出出现等幅振荡。记录此时的Kp为Ku,振荡周期为Tu。
  2. 查表算参数:根据Ku和Tu,按ZN法给出的经验公式计算P、PI、PID参数。

我习惯用下面这张表,贴出来供你参考:

控制器类型KpKiKd
P0.5 * Ku--
PI0.45 * Ku1.2 * Kp / Tu-
PID0.6 * Ku2 * Kp / TuKp * Tu / 8

嗯,这里要注意:这个表是针对模拟控制器的。数字控制器采样率不够时,算出来会偏。

4.2 纳米平台上的实测:结果有点意外

我在一台压电纳米定位台上做了测试。平台行程100μm,分辨率0.1nm,带电容传感器闭环。

先按ZN法走一遍流程:

  • 逐渐增大Kp,到15.2时出现等幅振荡。记录Ku=15.2,Tu=2.3ms。
  • 按PID公式算:Kp=9.12,Ki=7930,Kd=0.00262。
  • 上机跑一下,结果……

振荡了! 而且振幅远超预期。我当时的表情,你想想看,就跟吃了苍蝇一样。

为什么会这样?

我分析了一下,问题出在三个地方:

  1. 纳米平台的迟滞非线性:压电陶瓷的迟滞效应,让临界振荡点变得不稳定。今天测的Ku=15.2,明天可能变成14.8。
  2. 采样噪声干扰:纳米级位移信号信噪比低。临界振荡时,噪声会掩盖真实振荡周期。我测的Tu=2.3ms,实际可能只有1.8ms。
  3. 执行器饱和:压电驱动器输出有限。ZN法假设系统是线性的,但纳米平台在边界处会饱和,导致参数计算偏差。
避坑指南: 我曾经在另一个项目里,直接用ZN法算出的参数上机,结果平台啸叫了。后来发现是采样率不够,Tu算错了。记住,数字控制器的采样频率至少要是系统带宽的10倍以上,ZN法才勉强可用。

4.3 实测数据对比:ZN法 vs 手动整定

为了给你一个直观感受,我做了三组对比测试。测试条件完全一样:阶跃响应100nm,采样率20kHz。

整定方法上升时间超调量稳态误差调节时间
ZN法(原始)0.8ms42%±3.2nm12ms
ZN法(修正后)1.2ms18%±1.1nm5ms
手动整定1.5ms5%±0.3nm3ms

看到没?原始ZN法超调42%,这在纳米定位里是灾难级的。我修正后的ZN法(把Kp降到0.3Ku,Ki减半)好一些,但跟手动整定比,还是差一截。

不过话说回来,ZN法作为初始值,还是有价值的。我现在的习惯是:先用ZN法算一组参数,然后手动微调。这样比从零开始盲调快得多。

4.4 纳米尺度下的ZN法改良建议

如果你非要用ZN法,我建议做三点改良:

  1. 加低通滤波:在测量临界振荡时,对位移信号做50Hz低通滤波。滤掉高频噪声,Tu才能测准。
  2. 降比例系数:纳米平台用ZN法时,Kp建议取0.3~0.4倍的Ku,而不是0.6。我试过多次,这样超调能压到20%以内。
  3. 积分项限幅:纳米平台的积分饱和问题很严重。我给Ki加了个限幅器,最大输出不超过驱动器满量程的10%。
小技巧: 如果你用的是压电平台,可以在ZN法整定前,先做一次前馈补偿。把迟滞曲线预补偿掉,系统线性度好了,ZN法算出来的参数才靠谱。我一般用Prandtl-Ishlinskii模型做前馈,效果不错。

4.5 知识体系:ZN法在纳米定位中的定位

下面这张图,是我对ZN法在纳米定位中应用的理解。你看完就明白它该放在哪个位置了。

ZN法在纳米定位PID整定中的定位 Ziegler-Nichols整定法 优点 • 快速获得初始参数 • 无需系统模型 • 操作简单直观 缺点 • 超调大(>40%) • 受非线性影响大 • 噪声干扰严重 纳米尺度改良方向 ① 加低通滤波 → ② 降比例系数 → ③ 积分限幅

说白了,ZN法在纳米尺度下不能直接用。但它作为整定的“第一枪”,还是有价值的。我个人建议把它当作参数初始化的工具,而不是最终方案。

最后说一句:如果你追求纳米级的定位精度,别指望任何公式能一步到位。实测、迭代、微调,这才是王道。ZN法给你一个起点,剩下的路,得自己走。


公众号:蓝海资料掘金营,微信deep3321