3、电流环设计(上):电流环的作用与重要性、电流采样与滤波、电流环PI控制器设计、电流环带宽与响应速度

3.1 电流环——三环控制的心脏

做电机控制这些年,我越来越觉得电流环就是整个系统的「心脏」。你想想看,位置环和速度环说到底都是给电流环下指令的。电流环响应得快、跟得准,上面的环才能谈性能。

电流环到底在干什么?说白了就两件事:

  • 让实际电流快速跟上给定电流——这是跟踪能力
  • 抵抗反电动势和母线电压波动——这是抗扰能力

我在做伺服驱动器项目时遇到过一个问题:速度环调得再好,一加载就抖。查了两天才发现是电流环带宽不够,反电动势一上来电流就掉下去了。嗯,从那以后我调系统都是先锁死电流环。

核心观点:电流环是电机控制的最内环,它的带宽决定了整个系统的响应上限。电流环调不好,外面两个环再努力也白搭。

3.2 电流采样——数据源头的质量决定一切

电流环的输入是电流采样值。采样不准,PI算得再好也没用。我见过太多工程师花大把时间调参数,结果问题出在采样电路上。

3.2.1 常用采样方式

采样方式 原理 优点 缺点
采样电阻(Shunt) 串联在相线或直流母线上 成本低、精度高 有损耗、需隔离
霍尔电流传感器 利用霍尔效应测量磁场 隔离性好、带宽高 成本高、温漂大
磁通门传感器 磁通门原理 精度极高、零漂小 体积大、价格贵

我个人习惯在中小功率驱动器上用采样电阻加隔离运放。成本可控,精度也够。大功率场合才上霍尔。

3.2.2 采样时刻与同步

这里有个坑——采样时刻必须在PWM开关周期的特定位置。为什么?因为电流在开关管导通和关断时有很大的纹波。你如果在开关动作瞬间采样,采到的全是噪声。

我一般把采样点放在PWM载波的波峰或波谷处。这时候开关状态稳定,电流纹波也最小。用STM32的HRTIM或者TI的ePWM都能轻松配置。

经验之谈:采样窗口至少要留出200ns的稳定时间。ADC的采样保持时间也要算进去。我曾经因为采样窗口太窄,采到的值忽大忽小,折腾了三天才发现是保持电容没充满。

3.3 电流滤波——别让噪声毁了你的环路

采样回来的电流信号,多少都带着噪声。直接送给PI控制器,控制器会把这些噪声放大,输出抖得厉害。

3.3.1 硬件滤波 vs 软件滤波

  • 硬件滤波:在ADC输入端加RC低通滤波器。截止频率一般设在开关频率的1/10左右。比如20kHz的开关频率,RC截止频率设在2kHz。
  • 软件滤波:在ADC采样后做数字滤波。常用一阶低通滤波或滑动平均滤波。

我建议两者都用。硬件滤掉高频共模噪声,软件滤掉采样过程中的随机噪声。但要注意——滤波会引入相位延迟。延迟大了,电流环的带宽就上不去。

3.3.2 一阶低通滤波器的实现

代码很简单,但参数要算准:

// 一阶低通滤波
// cutoff = 1 / (2 * PI * T * alpha)
// alpha = T / (T + RC)

float current_filter(float raw, float prev) {
    float alpha = 0.1f;  // 滤波系数,越小滤波越强
    return alpha * raw + (1.0f - alpha) * prev;
}

alpha取0.1时,滤波深度大但延迟也大。我一般先设alpha=0.3,然后根据实际波形微调。

注意:滤波器的截止频率不能低于电流环带宽的5倍。否则滤波器的相位滞后会吃掉电流环的相位裕度,系统容易振荡。我曾经吃过这个亏,调好的电流环一上负载就啸叫,最后发现是滤波器截止频率设得太低了。

3.4 电流环PI控制器设计

电流环最常用的控制器就是PI。为什么不用PID?因为电流环的响应速度很快,微分项容易放大噪声,弊大于利。

3.4.1 PI控制器的传递函数

连续域下:

Gc(s) = Kp + Ki / s

离散化后(用后向差分法):

u(k) = u(k-1) + Kp * [e(k) - e(k-1)] + Ki * Ts * e(k)

这里Ts是电流环的控制周期。我一般用PWM周期的一半作为电流环周期,比如20kHz的PWM,电流环跑40kHz。

3.4.2 参数整定方法

我常用的方法有两种:

  1. 工程整定法:先给一个很小的Kp,逐渐增大直到电流出现振荡,然后取临界值的0.6倍。Ki从零开始加,直到稳态误差消除。
  2. 模型法:根据电机电感和电阻计算。对于表贴式永磁同步电机:
Kp = L * bandwidth
Ki = R * bandwidth

其中L是电感,R是电阻,bandwidth是你想要的电流环带宽(弧度/秒)。

实战建议:先用模型法算出一组初始值,再用工程法微调。我一般把电流环带宽设在1000~2000 rad/s(约160~320Hz)。再高就要考虑PWM延迟和采样延迟了。

3.5 电流环带宽与响应速度

带宽是电流环最重要的指标。它决定了电流环能跟踪多快的指令变化。

3.5.1 带宽的限制因素

限制因素 影响 典型值
PWM开关频率 决定了控制周期的上限 10~20kHz
采样延迟 ADC转换时间+滤波延迟 1~5μs
计算延迟 PI运算+坐标变换时间 2~10μs
电机电气时间常数 L/R决定了电流变化的物理极限 1~10ms

你想想看,PWM周期是50μs(20kHz),控制周期25μs,一个周期内要完成采样、滤波、坐标变换、PI计算、PWM更新。留给CPU的时间其实很紧。

3.5.2 带宽与响应速度的关系

带宽越高,响应越快。但带宽不是越高越好:

  • 带宽过高,系统对噪声敏感,容易振荡
  • 带宽过高,对采样和计算延迟要求苛刻
  • 带宽过高,电流纹波会增大

我一般把电流环带宽控制在PWM频率的1/10到1/20之间。20kHz的PWM,带宽设1~2kHz(约6280~12560 rad/s)。再高就危险了。

小技巧:用阶跃响应测试电流环的带宽。给一个电流阶跃指令,看实际电流的上升时间。带宽 ≈ 0.35 / 上升时间。比如上升时间0.5ms,带宽约700Hz。这个方法比扫频简单多了。

3.6 本章知识体系

下面这张图把电流环设计的核心逻辑串起来了:

电流环设计知识体系 电流环设计知识体系 电流环 电流采样 电流滤波 PI控制器 带宽与响应 采样电阻/霍尔 采样时刻同步 硬件RC滤波 软件一阶滤波 Kp/Ki整定 模型法/工程法 限制因素分析 阶跃响应测试 采样是基础,滤波保质量 PI定性能,带宽定上限

这张图把电流环设计的四个核心模块串起来了。从采样到滤波,从PI整定到带宽分析,每一步都环环相扣。你调电流环的时候,如果发现响应慢或者有振荡,就按这个图逐个排查——大概率能定位到问题。