4. 手动调参流程:先调Kp,后调Ki

调速度环的PI参数,说白了就是找两个数:一个管响应快慢,一个管准不准。我见过不少新手上来就两个参数一起调,结果越调越乱。其实有个经典套路——先Kp,后Ki。今天我就把这个流程拆开揉碎了讲给你听。

4.1 为什么非得先调Kp?

Kp是比例增益,它决定了系统对误差的反应速度。你想想看,如果电机转速偏差了100rpm,Kp越大,输出的力矩就越大,电机往回拉的速度就越快。但Kp不是越大越好——它有个临界点。

我个人习惯把Ki先设成0,只调Kp。为什么?因为Ki引入的积分项会掩盖Kp的真实表现。Ki会把过去的误差累积起来,让你分不清到底是比例在起作用还是积分在起作用。先调Kp,就是先把系统的“骨架”立起来。

核心原则:Kp决定系统的响应带宽和稳定性边界。Ki只负责消除稳态误差,不参与动态响应的“骨架”构建。

4.2 从零开始,找到临界振荡点

好,现在我们把Ki设为0,Kp从0开始慢慢往上加。怎么加?我一般每次增加10%~20%,然后给一个阶跃指令(比如从0rpm跳到1000rpm),观察转速响应波形。

刚开始Kp很小的时候,你会发现电机响应很慢,像个没睡醒的人——指令给了半天才慢慢悠悠爬上去。继续加Kp,响应会越来越快,上升时间缩短。

继续加,直到出现一个现象:转速开始等幅振荡。这时候的Kp值,就是临界振荡增益,记作Kp_crit。

注意:等幅振荡不是发散振荡。如果振幅越来越大,说明已经过了临界点,赶紧把Kp降下来。我曾经有一次在实验室调参数,走神了没注意,结果电机直接啸叫起来,吓得我赶紧按了急停。嗯,从那以后我调参时眼睛再也不敢离开示波器。

怎么判断是不是等幅振荡?看波形:振幅稳定、频率固定、不衰减也不发散。这时候的Kp就是我们要找的临界值。

4.3 设置Kp = 0.45 × Kp_crit

找到Kp_crit之后,我们把Kp设到它的45%。为什么是45%?这是工程经验值,来自Ziegler-Nichols整定法。这个值能保证系统有足够的稳定裕度,同时响应速度也不至于太慢。

我个人的经验是:如果负载惯量变化不大,45%这个值基本靠谱。但如果你的电机带的是大惯量负载(比如机器人关节),我建议先设到30%~35%,再慢慢往上加,安全第一。

参数 取值 说明
Kp_crit 临界振荡时的Kp值 通过实验获得
Kp 0.45 × Kp_crit 保证稳定裕度
Ki 初始为0 后续再调

4.4 增加Ki,消除稳态误差

Kp设好之后,你会发现一个问题:电机转速跟目标值之间总差那么一点点。比如目标1000rpm,实际只有980rpm。这就是稳态误差,是纯比例控制的天生缺陷。

这时候就该Ki上场了。Ki的作用是把过去的误差累积起来,慢慢把输出往上推,直到误差消失。说白了,它就是个“纠偏器”。

怎么调Ki?我一般从0.01开始,每次翻倍往上加。观察阶跃响应:

  • 如果稳态误差慢慢消失,但响应没有明显超调——继续加
  • 如果出现超调,但能快速收敛——这个值差不多
  • 如果出现低频振荡(周期几秒的那种)——Ki太大了,降一半

小技巧:调Ki的时候,别忘了同时观察Kp。有时候Ki加多了,系统出现振荡,你以为是Ki的问题,其实是因为Kp设得太靠近临界值了。我遇到过这种情况:Ki加到0.5时系统开始抖,我以为是Ki太大,结果把Kp从0.45降到0.4,Ki反而能加到1.0都没问题。所以,Kp和Ki是互相影响的,调参时要有全局观。

4.5 完整调参流程总结

下面这张图把整个流程串起来了,你可以照着走一遍:

手动调参流程 步骤1:Ki=0,Kp从0开始增加 步骤2:观察阶跃响应,寻找等幅振荡 步骤3:记录临界增益 Kp_crit 步骤4:设置 Kp = 0.45 × Kp_crit 步骤5:增加Ki,消除稳态误差 关键观察点 • 响应速度 • 超调量 • 振荡频率 避坑提醒 • 不要跳过等幅振荡 • 注意负载变化 • 先调Kp再调Ki

4.6 实际调参中的常见问题

走完上面的流程,大部分系统都能调出不错的效果。但实际项目中总会遇到一些意外情况,我挑几个常见的说说:

  • 找不到等幅振荡:有些系统Kp加到很大也不振荡,或者一振荡就发散。这种情况通常是系统本身阻尼太大(比如机械摩擦大),或者采样频率太低。我建议先检查一下速度环的采样周期,确保在1ms以内。
  • 加了Ki反而更差:如果Ki加进去之后,系统出现低频振荡(周期几秒),说明Ki太大了。降一半试试。如果出现高频抖动,可能是Kp太大了,先降Kp再调Ki。
  • 负载变化时性能下降:空载调好的参数,带上负载就抖。这种情况我遇到过很多次。解决办法是:在典型负载下重新找Kp_crit,或者用自适应算法(这个后面章节会讲)。

记住:调参不是一次性的工作。电机换了个负载、换了个安装位置、甚至环境温度变了,参数都可能需要微调。我习惯在调参记录表里记下每次的Kp、Ki值和对应的负载条件,方便以后回溯。

好了,手动调参的流程就这些。说白了就是三步:找临界点、退回来、加积分。你照着做一遍,速度环的动态响应能力肯定能上一个台阶。