2、电流环硬件基础:电流采样方式与ADC配置要点

做FOC电流环,第一关就是怎么把电机里的电流准确读出来。说白了,你控制得再好,采样不准全是白搭。我见过不少工程师,算法调得漂漂亮亮,一上电机就抖,最后发现是采样电阻的布局出了问题。

今天咱们就把电流采样的几种方式、运放怎么选、ADC怎么配,一次性说清楚。

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

先看一张总览图,帮你快速建立整体认知。

电流采样方式对比框架 单电阻采样 1个采样电阻 成本最低 需重构三相电流 低速区精度差 双电阻采样 2个采样电阻 成本适中 直接测两相电流 需电流重构 三电阻采样 3个采样电阻 成本最高 直接测三相电流 精度最高 适用场景 低成本风扇、泵类 对噪声不敏感 适用场景 工业伺服、机器人 性价比首选 适用场景 高端伺服、精密控制 要求最高精度 核心原则:精度与成本的平衡 双电阻是工业应用最广泛的选择,三电阻用于高端场合

2.2 单电阻采样

单电阻采样,就是在直流母线上串一个采样电阻。你想想看,一个电阻搞定,成本确实低。但问题来了——你只能测到母线电流,而我们需要的是三相电流。

怎么解决?靠PWM状态重构。在特定的开关状态下,母线电流等于某一相的电流。通过在不同时刻采样,就能拼出三相电流。

单电阻采样的关键限制:

  • PWM占空比接近50%时,采样窗口太短,容易采不到
  • 低速区(占空比小)重构误差大
  • 需要ADC在PWM周期内多次触发,对MCU时序要求高

我曾经踩过的坑: 有个项目用单电阻做风机驱动,低速启动时电机咔咔响。查了两天,发现是占空比在50%附近时,采样窗口只有不到1μs,ADC根本来不及稳定。后来加了移相PWM才解决。

2.3 双电阻采样

双电阻采样,在下桥臂的任意两相各放一个采样电阻。这是工业界最常用的方案,我个人也最喜欢用。

为什么?因为你可以直接测到两相电流,第三相通过基尔霍夫定律算出来:

I_c = -(I_a + I_b)

双电阻采样的时序要求比单电阻宽松很多。只要在下桥臂导通时采样就行,采样窗口通常有3-5μs,ADC有充足的时间。

参数 单电阻 双电阻 三电阻
采样电阻数量 1个 2个 3个
直接测量相数 0(需重构) 2 3
低速性能 差 好 最好
成本 低 中 高
PCB布局难度 简单 中等 较复杂

我的建议: 如果你做通用伺服或机器人关节,直接上双电阻。成本增加不多,但调试省心太多。单电阻省的那几毛钱,可能让你多调两周程序。

2.4 三电阻采样

三电阻采样,三相下桥臂各放一个采样电阻。这是精度最高的方案,也是高端伺服的首选。

好处很明显:三相电流独立测量,没有重构误差,也不受PWM占空比限制。你可以在任意时刻读取任意一相的电流。

但代价也不小:

  • 三个采样电阻,三个运放,成本翻倍
  • PCB面积增大,走线更复杂
  • 三个通道的增益一致性需要校准

2.5 运放选型与配置要点

采样电阻出来的信号是mV级的,必须经过运放放大后才能进ADC。这里我分享几个实战经验。

2.5.1 运放选型关键参数

参数 推荐值 为什么重要
失调电压 < 1mV 失调大了,小电流根本测不准
增益带宽积 > 5MHz PWM开关频率通常20kHz,运放要能跟上
压摆率 > 5V/μs 采样瞬间信号跳变,压摆率不够会失真
共模抑制比 > 80dB 抑制PWM开关带来的共模噪声

2.5.2 放大倍数怎么定

这个要结合ADC的参考电压来算。举个例子:

采样电阻:10mΩ
最大电流:10A
采样电压:10mΩ × 10A = 100mV
ADC参考电压:3.3V
放大倍数:3.3V / 100mV = 33倍

实际选型:取33倍,用33kΩ和1kΩ电阻配置

注意: 别把放大倍数算得太满。我习惯留20%的余量,防止电流尖峰把ADC打饱和。比如上面算出来33倍,我实际用27倍左右。

2.6 ADC配置要点

ADC配置得好不好,直接决定电流环的性能。我见过太多人在这上面翻车。

2.6.1 采样时序

电流采样必须在PWM周期的特定时刻触发。以双电阻为例:

  1. PWM定时器到达下桥臂导通中点
  2. 触发ADC开始采样
  3. 等待采样电容充电完成(采样时间)
  4. 启动转换
  5. 读取结果

采样时间怎么算?

采样时间 > (采样电容 + 寄生电容) × (采样电阻 + 信号源内阻) × 9

经验值:一般设置 500ns - 1μs 就够用了

2.6.2 分辨率与采样率

应用场景 推荐ADC分辨率 采样率要求
低速风机 10-12位 50kSPS
工业伺服 12-14位 200kSPS
高端机器人 14-16位 500kSPS

一个小技巧: 如果MCU内置ADC的采样率不够,可以用PWM触发ADC的注入组(Injected Group)。这样可以在PWM周期内插入额外的采样点,不影响主程序的运行。

2.7 硬件布局避坑指南

最后聊几个我实际项目中踩过的坑:

  • 采样电阻要用四端开尔文接法——两端的焊盘走大电流,中间两个焊盘走采样信号。直接焊在功率走线上,你会采到一堆噪声。
  • 运放要靠近采样电阻——模拟信号线越短越好,长了就是天线。
  • ADC参考电压要单独滤波——别跟数字电源共用,否则采样值跳来跳去。
  • 采样电阻的功率要留余量——我一般按实际功耗的2倍选型,防止过热导致阻值漂移。