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();
// 此时采到的电流值最稳定
}
采样时序的三个坑:
- 采样保持时间不够:ADC内部有采样电容,需要时间充电。如果采样保持时间太短,电压没稳定,结果就偏了。我一般设采样保持时间 ≥ 1μs。
- 采样点与开关噪声重叠:PWM开关瞬间会产生很大的di/dt噪声。如果ADC刚好在那时采样,结果全是毛刺。解决办法——用硬件触发延迟,避开开关沿。
- 多通道采样串扰:如果你用同一个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时序是后端,两者必须配合好。
嗯,这张图你看懂了吗?采样电阻和霍尔是“怎么采”,ADC时序是“什么时候采”。两者缺一不可。我见过太多人只关注采样元件精度,却忽略了采样时刻——结果过流保护还是误动作。
总结一下我的经验:
- 低成本场景:采样电阻 + 硬件触发ADC,精度够用,成本最低。
- 需要隔离场景:闭环霍尔 + 中心对齐采样,精度和安全性兼顾。
- 高频开关场景:采样电阻 + 四端接法 + 采样保持时间≥1μs,避开开关噪声。