2. 电流环PI参数整定:电流环带宽设计、PI参数计算、调试步骤与波形分析

电流环,说白了就是FOC控制中最内层的那个环。它响应最快,也是整个系统性能的基石。我见过不少工程师,位置环调了半天效果不好,最后发现是电流环带宽压根没上去。嗯,这步要是没做好,外面两层再怎么调也是白搭。

2.1 电流环带宽设计——先定个小目标

带宽这个词,听起来挺玄乎。其实你可以这么理解:带宽决定了电流环能多快地响应指令。比如你给一个阶跃电流指令,带宽高的环,电流嗖一下就上去了;带宽低的,慢慢悠悠才爬上去。

我个人习惯,电流环带宽一般取开关频率的1/10到1/20。举个例子:

  • 开关频率 10kHz → 带宽 500Hz ~ 1kHz
  • 开关频率 20kHz → 带宽 1kHz ~ 2kHz

核心原则:带宽不是越高越好。太高了,噪声会被放大,系统可能抖起来。太低了,外环(速度环、位置环)的响应会被限制住。

我在项目中遇到过一件事:有个客户非要把带宽设到3kHz,结果电机一跑就嗡嗡响,电流波形全是毛刺。后来降到1.5kHz,稳得很。你想想看,硬件采样延迟、PWM更新延迟都在那里摆着,带宽不可能无限高。

2.2 PI参数计算——公式其实不复杂

电流环的PI参数,说白了就是两个数:比例增益 Kp 和积分增益 Ki。它们跟电机参数直接相关。

先看电机模型。对于表贴式永磁同步电机(SPMSM),d轴和q轴的电感基本相等,记作 L。定子电阻记作 R。那么电流环的传递函数可以简化成:

G(s) = 1 / (L·s + R)

加上PI控制器后,我们希望闭环系统的带宽是 ω_bw(单位:rad/s)。那么PI参数可以这样算:

Kp = ω_bw × L
Ki = ω_bw × R

等等,是不是太简单了?嗯,确实。这是基于零极点对消的思路。把PI控制器的零点跟电机模型的极点对消掉,剩下的就是一阶低通滤波器的特性。

我的小技巧:实际调试时,我会先按这个公式算出一组初始值。然后接上电机,给一个小的阶跃指令,看电流响应。如果超调太大,就适当降低Kp;如果稳态误差消得慢,就增大Ki。

举个例子,假设电机参数如下:

参数
定子电阻 R 0.5 Ω
d/q轴电感 L 1.2 mH
目标带宽 f_bw 1 kHz

那么 ω_bw = 2π × 1000 ≈ 6283 rad/s。代入公式:

Kp = 6283 × 0.0012 ≈ 7.54
Ki = 6283 × 0.5 ≈ 3141.5

注意,Ki 的单位是 rad/s,实际代码中要乘以控制周期 Ts。比如 Ts = 0.0001s(10kHz),那么代码里的积分系数就是 Ki × Ts ≈ 0.314。

曾经踩过的坑:我刚开始做FOC时,直接把Ki写成了3141,结果积分项疯狂饱和,电机直接啸叫。后来才意识到,离散化的时候要乘以采样周期。这个细节,书里很少讲,但实际调试中太重要了。

2.3 调试步骤——从开环到闭环,一步步来

调试电流环,我建议按这个顺序走:

  1. 确认硬件正常:先给电机一个开环电压,看它能不能转起来。如果转不动,检查相线、母线电压、电流采样偏置。
  2. 电流采样校准:让电机静止,采集三相电流的零偏。正常情况下,三相电流之和应该为0。如果不为0,软件里要减去这个偏置。
  3. 给一个小的 Iq 指令:比如 0.1A,看实际电流能不能跟上。这时候PI参数先用计算值。
  4. 观察阶跃响应:给一个方波指令,看电流的上升时间、超调量、稳态误差。
  5. 微调参数:如果超调大,降Kp;如果响应慢,升Kp;如果稳态误差消不掉,升Ki。
  6. 验证带宽:给不同频率的正弦波指令,看实际电流的幅值和相位。幅值衰减到-3dB的频率,就是实际带宽。

一个实用的判断标准:阶跃响应超调量控制在5%以内,上升时间约为 0.35 / f_bw。比如目标带宽1kHz,上升时间大约0.35ms。如果差太多,说明参数没调对。

2.4 波形分析——用示波器说话

调参数不能靠猜,得看波形。我一般会抓这几组波形:

  • Iq 阶跃响应:看上升时间、超调、稳态纹波
  • Id 阶跃响应:Id 应该基本为0,如果波动大,说明解耦没做好
  • 电流正弦跟踪:给一个高频正弦指令,看实际电流的相位滞后和幅值衰减

下面这张图,是我自己总结的电流环调试逻辑,你可以参考一下:

电流环PI参数整定流程 开始调试 1. 确认硬件正常(开环测试) 2. 电流采样校准(零偏补偿) 3. 给Iq指令,观察阶跃响应 响应满意? 微调Kp/Ki 调试完成

看波形的时候,我特别关注电流纹波。如果纹波太大,可能是PWM死区时间设置不对,或者电流采样有噪声。我曾经在一个项目里,发现电流波形上有个周期性的尖峰,查了两天才找到原因——原来是ADC采样时刻跟PWM开关时刻没对齐。

一个快速判断方法:用手摸电机外壳,如果温度正常、没有高频啸叫,电流环基本就调好了。如果电机发热严重,或者有刺耳的尖叫声,说明参数有问题,赶紧停下来检查。

2.5 常见问题与对策

现象 可能原因 对策
电流阶跃响应超调大 Kp 太大 降低 Kp,或增加低通滤波
电流稳态误差大 Ki 太小 增大 Ki,注意积分限幅
电流波形有高频振荡 带宽太高或采样噪声 降低带宽,检查采样电路
电机低速抖动 电流环带宽不够 适当提高带宽,或增加d轴电流

嗯,电流环的整定大概就是这些。说白了,核心就是先算后调、看波形说话。别一上来就乱改参数,先按公式算一组初始值,然后根据实际响应微调。我见过太多人,调了一整天还在原地打转,就是因为没有章法。

最后提醒一句:电流环调好了,速度环和位置环才有意义。别急着跳过去,这一步值得你花时间。

专注资料整理