电流采样与调理:霍尔电流传感器原理、采样电阻选型、信号调理电路设计、ADC采样时序

各位好,咱们进入第二章。这一章聊的是过流保护的“眼睛”——电流采样与调理。你想想看,保护参数整定得再漂亮,如果电流信号进来就是错的,那后面全是白搭。我见过太多工程师在算法上死磕,结果问题出在采样链路上,白白浪费几周时间。

说白了,电流采样就是要把电机绕组里流过的大电流,变成ADC能吃的低压信号。这个过程中,精度、带宽、延迟、噪声,每一个指标都会直接影响过流保护的响应速度和准确性。咱们一个一个拆开讲。

霍尔电流传感器原理

霍尔传感器,我习惯叫它“非接触式电流探头”。它利用霍尔效应:当电流流过导体,周围会产生磁场,霍尔元件放在磁场中,输出一个与磁场强度成正比的电压。

实际产品里,霍尔传感器通常有两种形式:

  • 开环霍尔:结构简单,成本低,但精度一般,温漂大。适合对成本敏感、精度要求不高的场合。
  • 闭环霍尔(磁平衡式):内部有个补偿线圈,通过反馈电流抵消原边磁场,精度高、线性度好、带宽宽。我做过一个伺服驱动器项目,电流环带宽要求5kHz,只能用闭环霍尔。

关键参数:

  • 原边额定电流(IPN):比如50A、100A
  • 副边额定输出电压:通常2.5V ± 0.625V(对应0~50A)
  • 带宽:闭环霍尔一般能做到200kHz以上,开环只有几十kHz
  • 响应时间:一般小于1μs
  • 隔离电压:通常3kV~5kV

嗯,这里要注意:霍尔传感器的输出是以2.5V为中心的差分信号。什么意思?就是当电流为零时,输出2.5V;正向电流时,输出升高;反向电流时,输出降低。这个偏置电压后面调理电路要处理好。

采样电阻选型

采样电阻,也叫分流器。它比霍尔传感器便宜得多,但有个致命缺点——不隔离。所以一般用在低压系统或者母线电流采样上。

选型时我主要看四个参数:

参数 要求 我的经验
阻值 几毫欧到几十毫欧 阻值越大,信号越强,但功耗也大。我一般选1mΩ~5mΩ
功率 P = I²R,留2倍余量 50A电流用1mΩ电阻,功耗2.5W,选5W的稳妥
温漂 最好≤50ppm/°C 温漂大了,低温时保护阈值会漂移。我踩过这个坑
寄生电感 越低越好 高频电流下寄生电感会产生尖峰电压,容易误触发保护

我曾经犯过的错: 选了一款便宜的四端子采样电阻,没注意它的寄生电感参数。结果在PWM开关边沿,ADC采样到巨大的尖峰,过流保护频繁误动作。后来换成低电感型号,问题解决。所以,采样电阻的寄生电感一定要看datasheet,别只看阻值和功率。

信号调理电路设计

霍尔传感器出来的信号,不能直接进ADC。为什么?因为ADC的输入范围通常是0~3.3V或0~5V,而霍尔输出是2.5V±0.625V。直接接进去,负半周信号就丢了。

所以需要调理电路,做三件事:

  1. 偏置调整:把2.5V中心偏置去掉,或者调整到ADC的中间点
  2. 放大/衰减:让信号幅度匹配ADC满量程
  3. 滤波:滤除高频噪声,防止混叠

我常用的电路结构是这样的:

霍尔输出 → 差分转单端 → 二阶低通滤波(截止频率约500kHz)→ 电压跟随器 → ADC输入

差分转单端可以用运放搭,也可以用集成差分放大器。我个人习惯用TI的INA系列或者ADI的AD82xx,省事,性能也稳。

一个小技巧: 滤波器的截止频率不要设得太低。我见过有人为了滤除噪声,把截止频率设在10kHz,结果电流环带宽直接被砍到1kHz以下。一般建议截止频率是PWM开关频率的1/5~1/10,比如10kHz PWM就用500kHz~1MHz的滤波器。

ADC采样时序

这是最容易出问题的地方。PMSM驱动里,电流采样通常和PWM同步。为什么?因为电流在PWM开关周期内是波动的,如果采样点选在开关边沿,正好是电流纹波的尖峰或谷底,采样值不能代表平均电流。

正确的做法是:在PWM载波的波峰或波谷处采样。这时候开关管处于导通或关断的稳态,电流纹波最小,采样值最接近真实值。

我画了一张时序图,帮你理解:

PWM与ADC采样时序关系 PWM载波 波峰 波峰 波峰 波峰 波谷 波谷 波谷 ADC触发 采样点 采样点 采样点 采样点 相电流 在PWM载波波峰处触发ADC采样,此时电流纹波最小,采样值最接近平均电流

你看,ADC触发信号和PWM载波的波峰对齐。这样采样到的电流值,就是每个PWM周期内最稳定的那个点。

具体实现时,我一般用MCU的PWM模块产生触发信号,直接连到ADC的硬件触发引脚。这样延迟最小,不需要软件干预。代码大概长这样:

// 以STM32为例,配置PWM触发ADC
// TIM1的TRGO事件在更新事件时触发
TIM1->CR2 |= TIM_CR2_MMS_1;  // 选择更新事件作为TRGO
ADC1->CR2 |= ADC_CR2_EXTTRIG;  // 使能外部触发
ADC1->CR2 |= ADC_CR2_EXTSEL_0 | ADC_CR2_EXTSEL_1;  // 选择TIM1 TRGO

注意: 采样时刻和PWM边沿之间要留出足够的死区时间。为什么?因为开关管导通和关断瞬间,电流会有振铃。如果采样点离边沿太近,振铃会耦合到采样信号里。我一般留至少1μs的间隔。

另外,ADC采样窗口本身也有时间。比如ADC的采样保持时间,如果设得太短,采样电容充不满,精度会下降。我习惯把采样时间设在500ns以上,具体看ADC的datasheet。

总结一下

电流采样与调理,看似基础,但细节决定成败。霍尔传感器选型要看带宽和响应时间;采样电阻要注意寄生电感和温漂;调理电路要处理好偏置和滤波;ADC时序必须和PWM同步。

这些点,每一个我都踩过坑。希望你能一次走对,少走弯路。