3、电流采样与调理:相电流采样方式

做FOC控制,说白了就是跟电流打交道。你算法写得再漂亮,电流采不准,一切都是白搭。我刚开始做电机驱动那会儿,就吃过这个亏——明明PI参数调得挺好,电机一跑起来就是抖,查了三天才发现是采样电阻的布局出了问题。

今天咱们就把电流采样这事儿彻底聊透。从采样方式到运放设计,再到时序和噪声处理,一条龙讲清楚。

3.1 三种采样方式:单电阻、双电阻、三电阻

先说说最基础的问题:怎么把相电流测出来?目前主流的有三种方案。

3.1.1 三电阻采样

这是最直观的方式。三相各放一个采样电阻,直接测每一相的电流。好处是什么?简单、直接、精度高。每一相独立采样,互不干扰。

我在做伺服驱动器时,用的就是三电阻方案。当时要求电流环带宽做到2kHz,三电阻的精度和实时性完全能满足。

适用场景:高性能伺服、机器人关节、精密数控机床

缺点:成本高、PCB面积大、需要三个运放通道

3.1.2 双电阻采样

双电阻是工业界最常用的方案。只采样两相电流,第三相通过基尔霍夫电流定律算出来(Ia + Ib + Ic = 0)。

嗯,这里要注意:这个计算成立的前提是电机中性点没有引出。如果中性点接了别的东西,这个公式就不准了。

我的经验:双电阻采样时,采样电阻最好放在下桥臂的源极和GND之间。这样在PWM开关瞬间,电流信号比较干净。

3.1.3 单电阻采样

单电阻方案最省钱,但也是最折腾人的。只用一个电阻放在直流母线上,通过在不同PWM状态下采样,重构出三相电流。

为什么会这么麻烦?因为母线电流在不同开关状态下,反映的是不同的相电流组合。你需要在一个PWM周期内,在特定的时间窗口里采样两次,才能算出两相电流。

避坑指南:我曾经在单电阻方案上栽过跟头。当电机运行在低速轻载时,PWM占空比很小,采样窗口窄得可怜,根本采不到有效值。后来加了脉冲注入技术才解决。

三种方式怎么选?我一般这样判断:

方案 成本 精度 复杂度 推荐场景
三电阻 ★★★★★ 高性能伺服
双电阻 ★★★★ 工业通用
单电阻 ★★★ 低成本、小功率

3.2 采样电阻选型

采样电阻选不好,后面运放设计得再好也没用。我总结了几条硬指标:

  • 阻值:一般在1mΩ~50mΩ之间。阻值大了功耗高,阻值小了信号弱。我习惯先算一下:最大电流下,电阻上的压降不要超过100mV。比如最大电流10A,那电阻就选10mΩ,压降刚好100mV。
  • 功率:按I²R算,再留2倍余量。10A电流、10mΩ电阻,功耗是1W,选2W的电阻比较稳妥。
  • 温漂:这个容易被忽略。普通电阻温漂50ppm/°C,温度从25°C升到85°C,阻值漂了0.3%。对于高精度应用,我建议用锰铜电阻或合金电阻,温漂能做到5ppm/°C以下。
  • 寄生电感:高频电流采样时,寄生电感会引起振铃。选贴片电阻时,尽量选低ESL的型号。

小技巧:采样电阻的焊盘散热要均匀。我见过一个案例,电阻一端焊盘大、一端焊盘小,导致两端温度不均,阻值偏移了1%以上。

3.3 运放电路设计

采样电阻上的信号只有几十毫伏,必须放大后才能进ADC。运放电路设计得好不好,直接决定了采样精度。

我常用的电路是差分放大加偏置:

// 典型运放电路参数
// 采样电阻:10mΩ
// 最大电流:±10A
// 采样电压:±100mV
// ADC参考电压:3.3V
// 目标放大倍数:16.5倍(100mV → 1.65V)

// 运放选型建议:
// 1. 低失调电压:< 100μV
// 2. 低温漂:< 1μV/°C
// 3. 高共模抑制比:> 80dB
// 4. 带宽:> 1MHz(考虑PWM开关频率)

// 推荐型号:AD8418、INA240、TI INA181

嗯,这里有个关键点:运放的共模输入范围。如果采样电阻放在高端(靠近母线正极),共模电压可能高达几十伏,普通运放根本扛不住。这时候要用差分运放或者隔离运放。

我的习惯:低端采样(电阻在GND侧)用单电源运放,高端采样用差分运放。别为了省几块钱选错运放,否则调试时哭都来不及。

3.4 ADC采样时序

采样时序是FOC里最容易出问题的地方。你想想看,PWM开关瞬间,电流波形上全是毛刺,这时候采样等于白采。

正确的做法是:在PWM的中间时刻采样。为什么?因为此时上下桥臂都处于稳定导通状态,电流纹波最小。

我一般这样安排时序:

  • PWM周期:50μs(20kHz)
  • 采样窗口:PWM中心点前后各2μs
  • ADC转换时间:1μs(12位ADC,1MHz采样率)
  • 采样保持时间:500ns

避坑指南:我曾经遇到过一个问题——PWM死区时间设置得太长,导致采样窗口和死区重叠了。结果采到的电流全是零,电机直接飞车。后来我把采样窗口往后挪了2μs,问题就解决了。

3.5 采样噪声处理

电流采样噪声是FOC的天敌。噪声大了,电流环会抖,电机声音会变尖,严重时还会引起振荡。

我处理噪声的思路是三步走:

  1. 硬件滤波:在运放输出端加RC低通滤波,截止频率设为PWM频率的1/10左右。比如20kHz的PWM,截止频率设在2kHz。
  2. 软件滤波:ADC采样后做均值滤波或中值滤波。我习惯采3次取平均,既滤掉了噪声,又不会引入太大延迟。
  3. 布局优化:采样电阻到运放的走线要短、要粗,远离功率走线和电感。模拟地和功率地要单点连接。

小技巧:如果噪声实在压不下去,可以试试在ADC采样完成后,做一个简单的滑动平均滤波。窗口大小设4~8个点,效果立竿见影。

最后,我画了一张电流采样的整体流程图,方便你理解各个环节的关系:

电流采样与调理全流程 PMSM电机 采样电阻 1mΩ~50mΩ 运放调理 差分放大+偏置 ADC采样 12位/16位 PWM中心时刻采样 避开开关噪声 噪声处理 硬件RC滤波 + 软件均值滤波 布局优化(模拟/功率地分离) FOC电流环 Clark/Park变换 采样方式选择 • 单电阻:低成本,复杂度高 • 双电阻:工业主流,性价比高 • 三电阻:高性能,成本高 运放设计要点 • 低失调:<100μV • 高CMRR:>80dB • 带宽:>1MHz

这张图把整个流程串起来了。从电机出来的相电流,经过采样电阻、运放调理、ADC采样,再到时序控制和噪声处理,最后进入FOC电流环。每一步都环环相扣,哪一步出了问题,最终都会反映在电机的运行品质上。

好了,电流采样这部分就聊到这儿。记住一句话:采样是FOC的地基,地基不牢,房子盖得再高也得塌。


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