第3章:电流环PID整定

电流环整定,是FOC控制里最基础也最关键的一环。我见过不少工程师,一上来就调速度环、位置环,结果电机嗡嗡响、跑不起来。其实说白了,电流环没调好,上层控制就是空中楼阁。

这一章,我们就把电流环的底子打扎实。从带宽设计到PI参数计算,再到调试步骤和常见坑,我都会结合自己的项目经验来讲。

3.1 电流环带宽设计

带宽这个词,听起来挺玄乎。我换个说法:电流环能响应多快的指令。带宽越高,电流跟踪越快,电机动态响应越好。

但带宽不是越高越好。为什么?

第一,受限于PWM频率。理论上,电流环带宽不能超过PWM频率的1/10。比如你PWM是20kHz,那带宽最多设到2kHz。我见过有人硬要设到5kHz,结果电流波形全是毛刺,根本没法看。

第二,受限于采样延迟。电流采样、AD转换、计算,这些都有延迟。带宽太高,系统容易振荡。

经验值参考:

  • 通用伺服:带宽 500Hz ~ 2kHz
  • 高速主轴:带宽 2kHz ~ 5kHz
  • 机器人关节:带宽 200Hz ~ 1kHz(力矩控制为主)

我个人习惯,先按PWM频率的1/20来设。比如20kHz PWM,先设1kHz带宽。跑起来看看波形,再慢慢往上加。稳扎稳打,比一步到位靠谱。

3.2 PI参数计算(基于电机参数)

有了目标带宽,接下来就是算PI参数。这里要用到电机的电气参数:定子电阻R电感L

电流环的传递函数,简化后是这样的:

G(s) = 1 / (R + sL)

我们用的PI控制器:

C(s) = Kp + Ki/s

整定目标:让开环传递函数的穿越频率等于目标带宽ωc。

常用的整定方法有两种:

方法一:零极点对消法(推荐)

让PI的零点抵消电机的极点:

Ki / Kp = R / L

然后根据带宽确定Kp:

Kp = ωc * L
Ki = ωc * R

这个方法简单直接。我在项目里90%的情况都用它。

方法二:对称最优法

适用于电感比较小、或者有延迟的情况:

Kp = ωc * L / 2
Ki = ωc² * L / 4

这个方法带宽响应更平滑,但计算稍复杂。

小技巧:电机参数R和L会随温度变化。R变化尤其明显,铜线温度每升高10度,电阻增加约4%。我建议用常温参数算一组PI,再准备一组高温参数。实际运行时根据温度切换。

3.3 电流环调试步骤与波形分析

参数算好了,怎么调?我一般按这个步骤来:

  1. 空载测试:电机不转,只给一个固定的Id或Iq指令。看电流跟踪是否准确。
  2. 阶跃响应测试:给一个阶跃电流指令,看上升时间和超调量。
  3. 正弦跟踪测试:给一个正弦电流指令,看幅值和相位误差。
  4. 带载测试:电机带负载,重复以上步骤。

波形怎么看?我重点看三个指标:

指标 理想值 说明
上升时间 0.3 ~ 0.5 / ωc 太快容易超调,太慢带宽不够
超调量 < 10% 超过20%说明阻尼不够
稳态误差 < 1% 积分项能消除静差

我记得有一次调试,阶跃响应上升时间很快,但超调到了30%。我一看波形,振荡了好几个周期才稳定下来。这就是典型的带宽太高、阻尼不够。我把Kp降了20%,Ki稍微加了一点,超调就降到了8%。

调试口诀:

  • 超调大 → 降Kp
  • 响应慢 → 升Kp
  • 稳态误差大 → 升Ki
  • 振荡不收敛 → 降Ki

3.4 电流环常见问题与对策

调电流环,总会遇到各种问题。我挑几个最常见的说说。

问题1:电流噪声大

现象:电流波形毛刺多,像锯齿一样。

原因:采样噪声、PWM开关噪声、或者接地不好。

对策:

  • 加硬件滤波电容(100nF ~ 1μF)
  • 软件做均值滤波或低通滤波
  • 检查采样时序,避开PWM开关瞬间

我曾经在一个项目里,电流波形全是毛刺,查了两天才发现是采样触发时间没对准PWM中心。调整后波形立马干净了。

问题2:电流环振荡

现象:电流指令不变,但实际电流来回摆动。

原因:带宽太高、或者PI参数不合适。

对策:

  • 降低带宽目标值
  • 检查电机参数是否准确
  • 增加阻尼项(比如加个微分项)

注意:振荡不一定是PI的问题。有时候是机械共振,通过电流环反馈回来了。这时候要先排除机械问题,别光调参数。

问题3:电流跟踪滞后

现象:指令变了,电流要过一会儿才跟上。

原因:带宽不够、或者延迟太大。

对策:

  • 提高PWM频率
  • 优化代码执行时间
  • 适当提高Kp

问题4:Id和Iq耦合

现象:调Iq的时候,Id也跟着变。

原因:电感参数不准、或者解耦算法没做好。

对策:

  • 重新测量电机电感
  • 检查解耦项计算是否正确
  • 考虑用前馈补偿

嗯,这里要注意一点:很多初学者觉得电流环调好了,波形看着不错,就万事大吉了。其实不是。电流环的鲁棒性很重要。你换个电机、换个温度,参数可能就不适用了。我建议在调试阶段,至少做三组不同温度下的测试,确保参数在全温度范围内都稳定。

最后说一句:电流环整定没有捷径。多动手、多看波形、多总结。调得多了,你自然就有感觉了。