3. 速度环PI参数整定:速度环带宽设计、PI参数计算、积分限幅与抗饱和

速度环调参,说白了就是让电机听话。你让它转多快,它就转多快,不能抖,不能慢,更不能飞车。我刚开始做FOC那会儿,觉得调个PI参数嘛,不就是调个P和I嘛,结果一上电,电机嗡嗡响,跟要散架似的。后来才明白,速度环的整定,背后是有一套严谨的工程逻辑的。

3.1 速度环带宽设计:你到底想要多快?

带宽,是速度环的灵魂。它决定了系统能响应多快的速度指令。我个人习惯把带宽理解成“电机的反应速度”。

  • 带宽越高:电机响应越快,抗扰动能力越强。但噪声也更容易传进来,系统容易抖。
  • 带宽越低:系统越稳定,越平滑。但反应慢,像个“慢性子”。

那怎么选?我给大家一个经验法则:

应用场景 推荐带宽 (Hz) 我的备注
工业伺服(高精度) 50 - 100 我做过一个印刷机项目,带宽设到80Hz,效果很好
机器人关节 20 - 50 注意机械谐振,我曾经被这个坑过
风机、泵类 5 - 20 对动态响应要求不高,稳就行
大惯量负载 10 - 30 惯量越大,带宽要越低,否则必抖
⚠️ 注意: 速度环带宽不能超过电流环带宽的1/5到1/10。电流环是速度环的“内环”,内环慢了,外环再快也没用。我见过有人把速度环带宽设到200Hz,电流环才500Hz,结果一跑就啸叫。

3.2 PI参数计算:从带宽到Kp和Ki

有了目标带宽,我们就可以算PI参数了。这里我推荐用“对称最优法”,简单实用。

先看公式:

Kp = 2 * π * BW * J / Kt
Ki = Kp * ωc / (2 * π * BW)

其中:

  • BW:你设定的带宽 (Hz)
  • J:系统总惯量 (kg·m²)
  • Kt:电机转矩常数 (N·m/A)
  • ωc:电流环的截止频率 (rad/s)

嗯,这里要注意,JKt 必须准确。我习惯先做一次惯量辨识,或者用电机手册上的数据。如果数据不准,算出来的参数就是空中楼阁。

举个例子:

假设:
BW = 50 Hz
J = 0.001 kg·m²
Kt = 0.1 N·m/A
ωc = 1000 rad/s

计算:
Kp = 2 * 3.14 * 50 * 0.001 / 0.1 = 3.14
Ki = 3.14 * 1000 / (2 * 3.14 * 50) = 10.0

算出来Kp≈3.14,Ki≈10.0。这只是一个起点,实际调试时我会在这个值附近微调。

💡 我的小技巧: 如果算出来的Kp太大导致系统抖动,可以适当降低带宽。如果Ki太小导致稳态误差大,可以适当增大Ki。但记住,Ki不要超过Kp的5倍,否则积分饱和会让你头疼。

3.3 积分限幅:别让积分“飞”起来

积分项是好东西,它能消除静差。但积分项也是“双刃剑”,如果限幅没做好,积分会一直累加,直到饱和。这时候,电机就会出现“超调大”、“响应慢”甚至“失控”的现象。

积分限幅怎么设?我一般这样:

  • 限幅值 = 最大允许转矩 / Kt
  • 或者直接设为额定电流的1.2倍

举个例子,如果电机额定电流是5A,最大允许转矩对应的电流是6A,那积分限幅就设在6A左右。

⚠️ 我曾经踩过的坑: 有一次我把积分限幅设得太大,结果电机在启动时积分疯狂累加,直接冲过了目标速度,然后反向调节,来回震荡了好几次才稳定下来。后来我把限幅从10A降到了5A,问题立刻解决了。

3.4 抗饱和:让积分“知进退”

抗饱和,英文叫Anti-Windup。说白了,就是当积分已经饱和了,我们要让它“退”回来,而不是继续傻傻地累加。

常用的方法有两种:

  1. 条件积分法:当输出达到限幅值时,停止积分累加。
  2. 反馈积分法:将实际输出与理想输出的差值,反馈回积分器,让它“泄放”掉多余的积分。

我个人更推荐反馈积分法,因为它更平滑。代码实现也很简单:

// 伪代码示例
float integral = 0;
float output = Kp * error + Ki * integral;

// 限幅
if (output > max_output) {
    output = max_output;
} else if (output < -max_output) {
    output = -max_output;
}

// 抗饱和:反馈积分法
float saturation_error = output - (Kp * error + Ki * integral);
integral += (error - K_aw * saturation_error) * dt;

这里的 K_aw 是抗饱和系数,一般取1到10之间。我习惯取2,效果比较温和。

📌 核心要点: 抗饱和不是可选项,是必选项。没有抗饱和的速度环,就像没有刹车的汽车,迟早要出事。

3.5 知识体系总览

为了让大家更直观地理解速度环整定的全貌,我画了一张图:

速度环PI参数整定知识体系 速度环PI整定 带宽设计 PI参数计算 积分限幅 抗饱和 (Anti-Windup) 实际调试与验证 响应速度 vs 稳定性 电流环带宽限制 对称最优法 Kp = 2π·BW·J/Kt 限幅值 = 最大转矩/Kt 防止积分饱和 条件积分法 反馈积分法 阶跃响应测试 抗扰动测试 核心:带宽决定响应,PI参数决定精度,限幅和抗饱和决定稳定性

这张图把速度环整定的四个核心环节串起来了。你想想看,从带宽设计开始,到PI参数计算,再到积分限幅和抗饱和,每一步都环环相扣。少了任何一个,系统都跑不稳。

🔧 实战建议: 调参时,我习惯先调Kp,让系统不抖;再加Ki,消除静差;最后调积分限幅和抗饱和。顺序别搞反了,否则你会被各种奇怪的现象折磨到怀疑人生。

好了,速度环的整定就讲到这里。记住,理论是基础,但最终还是要靠示波器看波形、靠手感去微调。多试几次,你就能找到感觉了。


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