3. 电流采样与调理:霍尔电流传感器原理、采样电阻选型、运放调理电路、ADC采样时序
电流采样是电机控制的“眼睛”。眼睛看不清,后面算法再牛也白搭。弱磁控制尤其依赖电流环的带宽和精度,采样环节出问题,轻则过流保护误触发,重则炸管子。
这一章咱们把电流采样链路从头到尾捋一遍。从传感器原理到PCB布局,每个环节我都会结合项目里踩过的坑来讲。
3.1 霍尔电流传感器原理
霍尔传感器,说白了就是利用霍尔效应测磁场。电流流过导体,周围产生磁场,霍尔元件感应磁场强度,输出一个与电流成正比的电压。
我习惯把霍尔传感器分成两类:
- 开环霍尔:结构简单,成本低,但精度一般,温漂大。适合对成本敏感、精度要求不高的场合。
- 闭环霍尔(磁平衡式):内部有补偿绕组,精度高,响应快,温漂小。我做过一个伺服项目,电流环带宽要求2kHz,只能用闭环霍尔。
关键参数对比
| 参数 | 开环霍尔 | 闭环霍尔 |
|---|---|---|
| 精度 | ±1%~±5% | ±0.5%~±1% |
| 响应时间 | 3~10μs | <1μs |
| 温漂 | 较大 | 较小 |
| 成本 | 低 | 高 |
选型时有个坑:霍尔传感器的带宽。有些便宜的开环霍尔,带宽只有几十kHz,用在高速弱磁控制里,电流波形会严重滞后。我遇到过一例,电机转速一上去,电流环就震荡,查了三天才发现是传感器带宽不够。
3.2 采样电阻选型
采样电阻,也叫分流器。原理就是欧姆定律,电流流过电阻产生压降,测这个压降就知道电流了。
选型时几个要点:
- 阻值:不能太大,否则发热严重;也不能太小,否则信噪比差。我一般按满量程压降50~100mV来算。比如额定电流100A,选0.5mΩ的电阻,满量程压降50mV。
- 功率:按I²R算,留2~3倍余量。100A电流流过0.5mΩ电阻,发热功率5W,选15W以上的电阻比较稳妥。
- 温漂:铜电阻温漂大,锰铜或康铜的温漂小。精密采样必须用锰铜电阻,温漂能做到±50ppm/℃以内。
- 寄生电感:高频电流采样时,电阻的寄生电感会引入误差。我建议用四端开尔文接法的电阻,能有效减小寄生电感的影响。
我的经验:采样电阻的PCB布局非常关键。走线要短而粗,开尔文接法的采样线要从电阻焊盘内侧引出,不要从外侧绕。否则测到的压降包含了走线的压降,误差很大。
3.3 运放调理电路
采样电阻上的压降通常只有几十毫伏,ADC直接采不了,需要运放放大。运放调理电路的设计,我总结了几条原则:
- 差分放大:必须用差分放大器,抑制共模干扰。单端放大在电机驱动这种强干扰环境里根本没法用。
- 偏置电压:电流有正有负,需要把信号偏置到ADC的中间电平。比如ADC参考电压3.3V,偏置到1.65V,这样正负电流都能采。
- 滤波:在运放输入端加RC低通滤波,截止频率根据PWM开关频率来定。我一般取开关频率的1/10~1/5。
- 钳位保护:运放输出端加钳位二极管,防止过压损坏ADC。这个很多人会忽略,但很重要。
注意:运放的选型要关注压摆率和增益带宽积。弱磁控制电流环带宽高,运放响应慢了会引入相位滞后。我建议用压摆率不低于10V/μs、增益带宽积不低于10MHz的运放。
下面是一个典型的单电流采样调理电路原理图:
// 差分放大 + 偏置 + 滤波
// 假设采样电阻压降 Vsense = I * Rsense
// 运放增益 G = Rf / Rin
// 偏置电压 Vbias = Vref / 2
Rin = 1kΩ
Rf = 10kΩ // 增益10倍
R1 = R2 = 10kΩ // 偏置分压
C1 = 10nF // 滤波电容,截止频率约1.6kHz
Vout = (Vsense * Rf / Rin) + Vbias
= Vsense * 10 + 1.65V
3.4 ADC采样时序
ADC采样时序是电流环性能的关键。采早了,采到的是开关噪声;采晚了,电流已经变了。
我常用的策略是:在PWM载波波峰或波谷处触发ADC采样。这时候开关管处于导通或关断的稳定状态,噪声最小。
具体来说:
- 单电阻采样:在PWM周期的中间点采样一次,得到一相电流。需要结合开关状态重构三相电流。
- 双电阻采样:在PWM周期的两个不同时刻采样,得到两相电流。第三相电流通过计算得到。
- 三电阻采样:在PWM周期的同一时刻采样三相电流,精度最高,但需要三个ADC通道或一个多路复用器。
时序要求
| 参数 | 典型值 | 说明 |
|---|---|---|
| 采样保持时间 | ≥100ns | ADC内部采样电容充电时间 |
| 转换时间 | 1~5μs | 取决于ADC分辨率和工作频率 |
| 采样窗口 | PWM周期中间±1μs | 避开开关噪声 |
我曾经在一个项目里,ADC采样时序没调好,电流波形上全是毛刺。后来用示波器抓了PWM波形和ADC触发信号,发现采样点正好落在开关管导通的瞬间。把采样点往后移了500ns,毛刺就消失了。嗯,这种问题光看代码是看不出来的,必须上示波器。
3.5 电流采样链路整体架构
把上面几个环节串起来,就是完整的电流采样链路。我画了一张图,方便你理解:
从图里可以看到,电流信号从电机相电流出发,经过传感器或采样电阻转换成电压,再经过运放放大和偏置,最后进入ADC采样,送到电流环。每个环节都会引入误差和延迟,设计时要把整个链路的误差预算算清楚。
3.6 常见故障与排查
电流采样出问题,表现千奇百怪。我整理了几个常见故障和排查思路:
- 电流采样值偏大或偏小:先检查运放增益对不对,再查采样电阻阻值是否准确。我遇到过采样电阻虚焊,阻值变大的情况。
- 电流波形有毛刺:大概率是采样时序问题,或者滤波不够。用示波器抓PWM波形和ADC触发信号,看看采样点落在哪里。
- 电流零点漂移:运放偏置电压不准,或者温漂太大。检查偏置电路,必要时用软件做零点校准。
- 过流保护误触发:可能是采样噪声导致瞬时值超标。我建议在软件里做数字滤波,或者用硬件比较器做硬件过流保护。
避坑指南:我曾经在一个项目里,电流采样值总是偏大,查了三天没找到原因。后来发现是采样电阻的PCB走线太长,引入了额外的压降。把走线改短后问题解决。所以PCB布局一定要重视,采样电阻到运放的走线越短越好。