4. 电流环PI参数整定:带宽法、极点配置法在弱磁区的局限性
电流环是FOC三环控制中最内层的一环,也是整个系统响应速度的瓶颈。说白了,电流环调不好,速度环和位置环就是空中楼阁。我见过不少工程师,速度环调得挺顺,一进弱磁区电机就开始抖,根源往往就是电流环参数在弱磁区失效了。
今天咱们就聊聊电流环PI参数整定的两种经典方法——带宽法和极点配置法,以及它们为什么在弱磁区会“水土不服”。
4.1 带宽法:简单粗暴,但有前提
带宽法是我个人最常用的整定方法,因为它直观。你想想看,电流环本质上就是个一阶或二阶系统,我们想要它响应多快,直接设个带宽就行了。
对于表贴式永磁同步电机(SPMSM),d轴和q轴电感相等,电流环可以简化为:
G(s) = 1 / (L·s + R)
用PI控制器补偿后,开环传递函数为:
G_open(s) = (Kp·s + Ki) / (s) · 1 / (L·s + R)
令零点抵消极点,即 Ki/Kp = R/L,闭环传递函数变成:
G_close(s) = 1 / (1 + (L/Kp)·s)
此时带宽 ω_bw = Kp / L。所以:
- Kp = L · ω_bw
- Ki = R · ω_bw
简单吧?设个带宽,参数就出来了。我刚开始做FOC时,觉得这方法太完美了。
4.2 极点配置法:更精确,也更麻烦
极点配置法比带宽法更“学术”一些。它的思路是:我们想要闭环系统的极点落在某个期望位置,然后反推PI参数。
对于内置式永磁同步电机(IPMSM),d/q轴电感不相等,电流环模型是耦合的。极点配置法可以同时处理这种耦合:
期望闭环极点:s = -α ± jβ
特征多项式:s² + 2α·s + (α² + β²) = 0
解出:
Kp_d = Ld · 2α
Ki_d = R · (α² + β²) / α
Kp_q = Lq · 2α
Ki_q = R · (α² + β²) / α
这个方法的好处是你可以精确控制阻尼比和自然频率。我在做高速主轴项目时用过一次,效果确实比带宽法细腻。
4.3 弱磁区的“变脸”:参数全变了
好,问题来了。上面两种方法都假设电机参数是常数。但进入弱磁区后,情况完全不一样了。
为什么会这样?因为弱磁区里,d轴电流是负的,而且很大。这会导致:
- 电感饱和:Ld和Lq随电流增大而减小,可能下降30%~50%
- 电阻变化:大电流导致温升,R可能增加20%~40%
- 交叉耦合:高速下反电动势和耦合项的影响变得显著
我用一个实际案例来说明。某款3000rpm的伺服电机,额定点Ld=8mH,弱磁到6000rpm时,Ld降到了4.5mH。按带宽法算:
| 参数 | 额定区(3000rpm) | 弱磁区(6000rpm) | 变化率 |
|---|---|---|---|
| Ld | 8.0 mH | 4.5 mH | -43.75% |
| Kp(带宽500Hz) | 25.13 | 14.14 | -43.75% |
| 实际闭环带宽 | 500 Hz | 281 Hz | -43.75% |
你看,Kp没变,但电感变了,实际带宽从500Hz掉到了281Hz。电流环响应变慢,速度环就会开始振荡。
4.4 两种方法的局限性对比
我整理了一个对比表,方便你快速理解:
| 对比项 | 带宽法 | 极点配置法 |
|---|---|---|
| 参数依赖 | L、R | Ld、Lq、R |
| 弱磁区失效原因 | L变化导致实际带宽偏移 | Ld/Lq变化导致极点位置偏移 |
| 耦合处理 | 不处理(假设SPMSM) | 可处理(需解耦矩阵) |
| 鲁棒性 | 低 | 中(依赖参数精度) |
| 工程实用性 | 高(简单快速) | 中(计算复杂) |
| 弱磁区推荐 | 不推荐单独使用 | 需配合参数在线辨识 |
4.5 我的避坑经验
我曾经在一个高速风机项目上吃过亏。当时用带宽法整定电流环,额定点跑得好好的,一进弱磁区电机就开始“嗡嗡”响。我查了三天,最后发现是d轴电感从12mH掉到了6mH,电流环带宽直接腰斩。
后来我总结了几条经验:
- 别迷信额定点参数:弱磁区的电感可能只有额定点的一半,按额定点算Kp肯定不行
- 留足裕量:如果必须用固定参数,把带宽设低一些,比如300Hz而不是500Hz,给参数变化留空间
- 考虑增益调度:根据电流或转速查表切换Kp/Ki,这是工程上最实用的方案
- 实在不行就上自适应:用RLS或MRAS在线辨识电感,实时更新PI参数
4.6 知识体系总览
下面这张图总结了电流环PI整定在弱磁区的核心逻辑:
嗯,总结一下。带宽法和极点配置法在额定区很好用,但进了弱磁区,它们赖以生存的“参数恒定”假设就不成立了。你想想看,电感都变了,基于额定电感算出来的Kp怎么可能还合适?
我个人建议,如果你只是做低速应用,用带宽法就够了。但如果你要做高速弱磁,要么做增益调度,要么上在线参数辨识。别指望一套参数跑遍全速域,那是不现实的。