4. 速度环参数整定基础:手动整定步骤、临界比例度法(Ziegler-Nichols)、衰减曲线法

说到速度环整定,很多新手上来就调PI参数,调了半天系统还在震荡。我刚开始做电机驱动时也犯过这个错——总觉得参数越大越好,结果电机嗡嗡响,电流波形跟心电图似的。

其实速度环整定有套路可循。今天咱们就聊三种最实用的方法:手动整定、临界比例度法(Ziegler-Nichols)、衰减曲线法。这三种方法我这些年反复在用,各有各的适用场景。

4.1 手动整定步骤——最笨但最可靠

手动整定听起来土,但说实话,我到现在调试新平台时,第一件事还是用手动法摸一遍底。为什么?因为你对系统还不了解,直接上公式法容易翻车。

我的习惯步骤是这样的:

  1. 先把积分系数K_i设为0,只保留比例系数K_p。这样系统就是个纯比例控制器,不会出现积分饱和的干扰。
  2. 从小到大慢慢加K_p。给一个小的速度指令(比如额定转速的10%),观察响应。一开始K_p很小,电机响应慢,稳态误差大——这正常。
  3. 继续增大K_p,直到出现等幅振荡。你会听到电机发出均匀的嗡嗡声,速度波形开始持续震荡,振幅不衰减也不发散。这时候的K_p就是临界增益K_u。
  4. 记录振荡周期T_u。用示波器或者调试软件看速度反馈波形,测量两个波峰之间的时间。
  5. 退回到70%~80%的临界增益,然后慢慢加积分。积分系数从K_i = K_p / (T_u * 2) 开始试,观察稳态误差是否消除。
我的小技巧: 手动整定时,我习惯用阶跃响应来看效果。给一个10%的转速阶跃,看超调量和调节时间。如果超调超过20%,说明K_p偏大,往回退一点。如果调节时间超过1秒,说明响应太慢,可以适当加K_p。

4.2 临界比例度法(Ziegler-Nichols)——经典中的经典

Ziegler-Nichols法,说白了就是把手动整定中测到的K_u和T_u代入公式,直接算出PI参数。这个方法1942年就提出来了,到现在还在用,说明它确实管用。

公式很简单:

控制器类型 K_p K_i
P控制器 0.5 × K_u
PI控制器 0.45 × K_u K_p / (0.83 × T_u)
PID控制器 0.6 × K_u K_p / (0.5 × T_u)

举个例子:我调试一个200W伺服电机时,测到K_u = 12.5,T_u = 0.08秒。按PI控制器算:

K_p = 0.45 × 12.5 = 5.625
K_i = 5.625 / (0.83 × 0.08) ≈ 84.7

嗯,这里要注意:Ziegler-Nichols法给出的参数通常偏激进。什么意思?就是系统响应快,但超调可能偏大。我一般会在算出来的基础上打个八折,先试试看。

我曾经踩过的坑: 有一次在调试大惯量负载时,直接用Ziegler-Nichols公式算出来的参数,结果电机一启动就过流报警。后来发现是因为负载惯量太大,临界增益测得不准确。所以记住:临界比例度法适用于中等惯量系统,大惯量或小惯量系统要谨慎

4.3 衰减曲线法——更温和的整定方式

衰减曲线法是我个人比较喜欢的方法。它不像Ziegler-Nichols那样追求等幅振荡,而是让系统出现4:1的衰减振荡。说白了,就是第二个波峰的高度是第一个波峰的1/4。

为什么是4:1?你想想看,如果衰减太快(比如10:1),说明系统太保守,响应慢;如果衰减太慢(比如2:1),说明系统接近临界振荡,鲁棒性差。4:1是个不错的折中。

操作步骤:

  1. 同样先设K_i=0,只调K_p。
  2. 给一个阶跃指令,观察速度响应波形。
  3. 调整K_p直到出现4:1衰减。具体来说,第一个波峰高度为A1,第二个波峰高度为A2,让A2/A1 ≈ 0.25。
  4. 记录此时的K_p'和振荡周期T_p
  5. 代入衰减曲线法公式
控制器类型 K_p K_i
P控制器 K_p'
PI控制器 1.2 × K_p' K_p / (0.5 × T_p)
PID控制器 1.6 × K_p' K_p / (0.5 × T_p)

我在项目中遇到过一种情况:用Ziegler-Nichols法调出来的参数,电机在低速时有明显的抖动。换成衰减曲线法后,抖动消失了,虽然响应稍微慢了一点,但系统更稳定。所以我的建议是:对稳定性要求高的场合,优先用衰减曲线法

4.4 三种方法的对比与选择

说了这么多,到底该用哪种?我总结一下:

  • 手动整定:适合新手入门,也适合对系统完全不了解的情况。虽然慢,但安全。
  • 临界比例度法:适合中等惯量、对响应速度要求高的场合。注意,它会让系统接近临界稳定,所以参数要留余量。
  • 衰减曲线法:适合对稳定性要求高的场合,比如精密定位、恒速控制。我个人在工业项目中用得最多。
核心要点: 不管用哪种方法,整定完成后一定要做鲁棒性测试。我会给电机加一个突加负载(比如用手捏住轴),看速度波动能不能快速恢复。如果恢复时间超过2秒,说明参数还需要微调。

最后说一句:这些方法只是起点,不是终点。实际项目中,负载惯量会变、摩擦力会变、温度也会变。所以调好参数后,我一般会留一个参数自适应或者增益调度的接口,让系统在不同工况下都能稳定运行。嗯,这部分内容咱们后面章节再细聊。