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 调试步骤——从开环到闭环,一步步来
调试电流环,我建议按这个顺序走:
- 确认硬件正常:先给电机一个开环电压,看它能不能转起来。如果转不动,检查相线、母线电压、电流采样偏置。
- 电流采样校准:让电机静止,采集三相电流的零偏。正常情况下,三相电流之和应该为0。如果不为0,软件里要减去这个偏置。
- 给一个小的 Iq 指令:比如 0.1A,看实际电流能不能跟上。这时候PI参数先用计算值。
- 观察阶跃响应:给一个方波指令,看电流的上升时间、超调量、稳态误差。
- 微调参数:如果超调大,降Kp;如果响应慢,升Kp;如果稳态误差消不掉,升Ki。
- 验证带宽:给不同频率的正弦波指令,看实际电流的幅值和相位。幅值衰减到-3dB的频率,就是实际带宽。
一个实用的判断标准:阶跃响应超调量控制在5%以内,上升时间约为 0.35 / f_bw。比如目标带宽1kHz,上升时间大约0.35ms。如果差太多,说明参数没调对。
2.4 波形分析——用示波器说话
调参数不能靠猜,得看波形。我一般会抓这几组波形:
- Iq 阶跃响应:看上升时间、超调、稳态纹波
- Id 阶跃响应:Id 应该基本为0,如果波动大,说明解耦没做好
- 电流正弦跟踪:给一个高频正弦指令,看实际电流的相位滞后和幅值衰减
下面这张图,是我自己总结的电流环调试逻辑,你可以参考一下:
看波形的时候,我特别关注电流纹波。如果纹波太大,可能是PWM死区时间设置不对,或者电流采样有噪声。我曾经在一个项目里,发现电流波形上有个周期性的尖峰,查了两天才找到原因——原来是ADC采样时刻跟PWM开关时刻没对齐。
一个快速判断方法:用手摸电机外壳,如果温度正常、没有高频啸叫,电流环基本就调好了。如果电机发热严重,或者有刺耳的尖叫声,说明参数有问题,赶紧停下来检查。
2.5 常见问题与对策
| 现象 | 可能原因 | 对策 |
|---|---|---|
| 电流阶跃响应超调大 | Kp 太大 | 降低 Kp,或增加低通滤波 |
| 电流稳态误差大 | Ki 太小 | 增大 Ki,注意积分限幅 |
| 电流波形有高频振荡 | 带宽太高或采样噪声 | 降低带宽,检查采样电路 |
| 电机低速抖动 | 电流环带宽不够 | 适当提高带宽,或增加d轴电流 |
嗯,电流环的整定大概就是这些。说白了,核心就是先算后调、看波形说话。别一上来就乱改参数,先按公式算一组初始值,然后根据实际响应微调。我见过太多人,调了一整天还在原地打转,就是因为没有章法。
最后提醒一句:电流环调好了,速度环和位置环才有意义。别急着跳过去,这一步值得你花时间。