2. 采样原理:电流采样电阻选型、霍尔传感器原理、ADC采样时序

采样是过流保护的“眼睛”。眼睛看不清,后面算法再牛也白搭。这一节我带你过一遍三种核心采样手段:电阻、霍尔、ADC时序。每个我都踩过坑,咱们一个一个说。

2.1 电流采样电阻选型

采样电阻,说白了就是一颗精密电阻。电流流过它,产生压降,ADC去读这个电压。原理简单,但选型门道不少。

关键参数就四个:

  • 阻值:不能太大,否则发热严重;不能太小,否则信噪比不够。我一般按满载时压降50~100mV来算。比如满载10A,选5mΩ,压降就是50mV。
  • 功率:P = I²R。10A × 10A × 0.005Ω = 0.5W。留1.5~2倍余量,选1W或2W的。
  • 温漂(TCR):这个最容易被忽略。普通电阻TCR ±100ppm/°C,温度升50°C,阻值漂0.5%。过流保护精度直接掉0.5%。我建议至少选±50ppm/°C,最好±25ppm/°C。
  • 寄生电感:高频开关场景下,电阻的寄生电感会产生额外压降,导致采样失真。选锰铜或康铜材料的低感电阻,或者用四端开尔文接法。

避坑指南:我曾经在一个电机驱动项目里用了普通2512贴片电阻做采样,结果高频时波形全是毛刺。后来换成四端开尔文接法的锰铜电阻,波形干净多了。记住——采样电阻的PCB走线要“电流路径和电压检测路径分开”,别走在一起。

参数 推荐范围 我的经验值
阻值 1mΩ ~ 10mΩ 5mΩ(10A级)
功率 ≥ 2×实际功耗 1W ~ 3W
TCR ≤ ±50ppm/°C ±25ppm/°C
寄生电感 ≤ 5nH 锰铜电阻 < 2nH

2.2 霍尔传感器原理

霍尔传感器是非接触式采样。它利用霍尔效应——电流流过导体,产生磁场,霍尔元件感应磁场强度,输出对应电压。

霍尔传感器分两类:

  • 开环霍尔:结构简单,成本低,但精度一般(±1%~±5%)。适合对精度要求不高的场合,比如家电过流保护。
  • 闭环霍尔(磁平衡式):内部有补偿线圈,精度高(±0.5%~±1%),带宽也宽。我做过一个伺服驱动器项目,电流环需要高精度,用的就是闭环霍尔。

霍尔传感器的好处是隔离——输入和输出没有电气连接。坏处是温漂大,而且容易受外部磁场干扰。你想想看,电机旁边放个霍尔,电机本身的磁场就会串扰进去。

我的习惯:霍尔传感器选型时,重点关注两个参数——响应时间和线性度。响应时间决定了你能检测多快的过流;线性度决定了全量程精度。我一般选响应时间 < 1μs,线性度 < 0.5% 的型号。

2.3 ADC采样时序

ADC采样时序,是采样同步的核心。你采样点没选对,采到的电流值就是错的。

关键概念:采样窗口 vs 开关周期

在开关电源或电机驱动中,电流是脉动的。PWM开关管导通时电流上升,关断时电流下降。ADC采样必须选在电流相对稳定的时刻——通常是PWM周期的中间点或结束点。

我习惯用中心对齐采样:在PWM载波的波峰或波谷触发ADC。这样采到的电流值接近平均值,而且噪声最小。

// 伪代码:PWM中心对齐ADC触发
// 假设PWM周期为10kHz,载波周期100μs
// 在载波波谷触发ADC采样

void PWM_ISR(void) {
    if (PWM_CNT == PWM_PERIOD/2) {
        // 载波波谷,触发ADC
        ADC_StartConversion();
    }
}

void ADC_Complete_ISR(void) {
    current_value = ADC_GetResult();
    // 此时采到的电流值最稳定
}

采样时序的三个坑:

  1. 采样保持时间不够:ADC内部有采样电容,需要时间充电。如果采样保持时间太短,电压没稳定,结果就偏了。我一般设采样保持时间 ≥ 1μs。
  2. 采样点与开关噪声重叠:PWM开关瞬间会产生很大的di/dt噪声。如果ADC刚好在那时采样,结果全是毛刺。解决办法——用硬件触发延迟,避开开关沿。
  3. 多通道采样串扰:如果你用同一个ADC轮流采多路电流,通道切换时会有残留电荷。我建议在通道切换后加一个 dummy 采样,扔掉第一次结果。

注意:ADC采样时序的抖动(jitter)会直接转化为电流测量噪声。如果你用软件触发ADC,中断响应时间不确定,采样点就会漂。我强烈建议用硬件触发——PWM模块直接触发ADC,延时固定,精度最高。

2.4 三种采样方式对比

特性 采样电阻 开环霍尔 闭环霍尔
精度 高(±0.1%~±1%) 中(±1%~±5%) 高(±0.5%~±1%)
隔离 无 有 有
带宽 高(DC~MHz) 中(DC~100kHz) 高(DC~500kHz)
成本 低 中 高
温漂 低(选TCR好的) 高 中
适用场景 低电压、低成本 中低压、需隔离 高精度、伺服驱动

2.5 采样同步知识体系

下面这张图把三种采样方式和ADC时序的关系串起来了。你看一眼就明白——采样电阻和霍尔是前端,ADC时序是后端,两者必须配合好。

采样同步知识体系 采样同步知识体系 采样电阻 开环霍尔 闭环霍尔 阻值 / 功率 / TCR 寄生电感 / 四端接法 响应时间 / 线性度 温漂 / 外部磁场 响应时间 / 线性度 补偿线圈 / 高带宽 ADC采样时序 采样窗口 / 中心对齐 / 硬件触发 / 采样保持时间 过流保护精度 三种采样 + ADC时序 = 精度

嗯,这张图你看懂了吗?采样电阻和霍尔是“怎么采”,ADC时序是“什么时候采”。两者缺一不可。我见过太多人只关注采样元件精度,却忽略了采样时刻——结果过流保护还是误动作。

总结一下我的经验:

  • 低成本场景:采样电阻 + 硬件触发ADC,精度够用,成本最低。
  • 需要隔离场景:闭环霍尔 + 中心对齐采样,精度和安全性兼顾。
  • 高频开关场景:采样电阻 + 四端接法 + 采样保持时间≥1μs,避开开关噪声。