3. 电流环设计基础:电流环的作用、电流采样与滤波、PI控制器原理

好,咱们进入电流环的设计。说实话,电流环是整个双闭环系统的基石。你想想看,如果电流都控不好,转速环和转矩环就是空中楼阁。我在项目里见过太多人一上来就调转速环,结果电流震荡得一塌糊涂,最后还得回头补电流环的课。

3.1 电流环到底在干什么?

电流环的核心任务就一个:让实际电流快速、准确地跟随给定电流。说白了,就是你要多少电流,我就给你多少电流,而且要快,要稳。

具体来说,电流环有三个作用:

  • 快速响应:电机启动、负载突变时,电流环要能迅速跟上。我习惯把电流环的带宽设计在转速环的5-10倍,这样转速环看电流环就像看一个理想放大器。
  • 限流保护:这是硬道理。电机启动瞬间电流可能冲到额定值的10倍,没有电流环限流,IGBT或者MOS管直接炸掉。我曾经有一次调试,忘记设电流限幅,结果上电瞬间管子冒烟了...嗯,从那以后我每次都会检查电流限幅值。
  • 解耦控制:在dq坐标系下,电流环还要处理d轴和q轴之间的交叉耦合。这个后面会细讲。

重要概念:电流环的响应速度决定了整个系统的动态性能。一般来说,电流环的截止频率设计在1/10~1/5的开关频率。比如你PWM开关频率是10kHz,那电流环带宽大概在1-2kHz比较合理。

3.2 电流采样——数据源头不能马虎

电流环再牛,也得有准确的电流数据。采样环节出问题,后面全是白搭。

常用的电流采样方式有三种:

采样方式 优点 缺点 适用场景
采样电阻(Shunt) 成本低、精度高 有损耗、不隔离 小功率、低成本方案
霍尔电流传感器 隔离、宽频带 成本高、温漂大 中功率、工业驱动
电流互感器(CT) 隔离、无损耗 低频响应差、体积大 大功率、变频器

我个人习惯在中小功率(几百瓦到几千瓦)的伺服驱动里用霍尔传感器。虽然贵一点,但省心。采样电阻在低成本方案里用得很多,但要注意电阻的功率和温漂问题。

3.3 电流滤波——别让噪声骗了你的控制器

采样回来的电流信号,里面全是高频噪声。PWM开关噪声、电机反电动势尖峰、采样电路本身的噪声...如果不处理,PI控制器会把这些噪声当成真实信号去调节,结果就是电流纹波大、发热严重。

常用的滤波方法:

  • 硬件RC低通滤波:在ADC采样前加一级RC滤波,截止频率一般设在开关频率的1/10。比如10kHz开关频率,RC截止频率设在1kHz左右。注意R和C的取值要平衡响应速度和滤波效果。
  • 软件均值滤波:在ADC采样后,连续采几次取平均。我一般采4-8次,再多就会引入延迟。
  • 软件一阶低通滤波:就是那个经典的公式 y[n] = α * x[n] + (1-α) * y[n-1]。α取值越小,滤波越强,但延迟也越大。

我的经验:滤波不是越强越好。滤波太强,电流环的响应速度会变慢,甚至出现相位滞后导致震荡。我一般把滤波器的截止频率设在电流环带宽的3-5倍以上,这样既滤掉了高频噪声,又不影响电流环的动态响应。

3.4 PI控制器原理——电流环的核心算法

电流环最常用的就是PI控制器。为什么不用PID?因为微分项对噪声太敏感,电流信号本身噪声就大,加上D项反而容易出问题。我很少在电流环里用D项。

PI控制器的公式很简单:

u(t) = Kp * e(t) + Ki * ∫e(t)dt

其中:

  • e(t) = 电流给定值 - 电流反馈值(误差)
  • Kp:比例系数,决定响应速度
  • Ki:积分系数,消除稳态误差
  • u(t):输出给PWM调制器的电压指令

在数字控制器里,我们用的是离散形式:

// 位置式PI
error = ref - feedback;
integral += error * dt;
output = Kp * error + Ki * integral;

// 限幅
if(output > max) output = max;
if(output < -max) output = -max;

这里有个坑——积分饱和。当输出达到限幅值时,积分项还在继续累加,等误差反向时,积分项需要很长时间才能退回来,导致系统响应变慢甚至震荡。

避坑指南:我曾经在一个项目里没做积分限幅,结果电机启动时电流超调了30%,差点把电机烧了。从那以后,我每次都会加积分分离或者抗饱和处理。最简单的做法是:输出限幅时,停止积分累加。

改进后的代码:

// 带抗饱和的PI
error = ref - feedback;

if(output < max && output > -max) {
    integral += error * dt;  // 只在未饱和时积分
}

output = Kp * error + Ki * integral;

// 输出限幅
if(output > max) output = max;
if(output < -max) output = -max;

3.5 电流环的整体结构

把上面这些串起来,电流环的完整流程就是:

  1. ADC采样三相电流(或两相)
  2. 软件滤波(均值或一阶低通)
  3. Clark变换 + Park变换(得到dq轴电流)
  4. d轴和q轴分别做PI调节
  5. 输出限幅(电压限制)
  6. 反Park变换 + SVPWM调制

下面这张图可以帮你理清思路:

电流环信号流图 电流给定 i* PI控制器 限幅 SVPWM 电机 电流采样+滤波 Clark/Park变换 给定值 反馈值

嗯,这张图把电流环的闭环结构画得很清楚了。你注意看,从电流采样到坐标变换再到PI调节,最后回到PWM调制,这是一个完整的负反馈回路。

3.6 参数整定的一点心得

PI参数怎么调?我个人的习惯是:

  1. 先调Kp:把Ki设成0,慢慢增大Kp,直到电流响应出现轻微震荡。然后取Kp的60%-70%作为最终值。
  2. 再加Ki:从0开始慢慢增大Ki,直到稳态误差消失。注意Ki太大会导致超调和震荡。
  3. 检查带宽:用示波器看电流的阶跃响应,上升时间应该在1-2ms左右(取决于你的系统)。

小技巧:如果你有仿真工具,先在仿真里调好参数再上硬件。我每次都会先在Simulink或者PLECS里跑一遍,确认参数合理再烧录到控制器里。这样能省很多烧管子的钱。

好了,电流环的基础就这些。记住一句话:电流环是双闭环的根基,根基不牢,地动山摇。把电流环调好了,后面的转速环和转矩环就轻松多了。


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