电流采样基础:采样电阻与霍尔效应原理,单电阻、双电阻、三电阻采样拓扑对比

各位好,咱们今天聊电流采样。说实话,搞电机控制这么多年,我最大的体会就是——电流采不好,算法写得再漂亮也是白搭。你想想看,SVPWM 调得再花哨,反馈回来的电流是错的,那整个系统就是在瞎跑。

这一节,咱们把电流采样的底子打扎实。从物理原理到工程拓扑,我都会结合自己踩过的坑来讲。

采样电阻:最朴素也最可靠的方法

采样电阻的原理,说白了就是欧姆定律。电流流过电阻,产生压降,ADC 一量就知道电流多大。简单吧?但工程里没这么简单。

我遇到过一个问题:电阻选大了,发热严重,效率掉得厉害;选小了,信号太弱,ADC 根本分辨不出来。所以选型是个平衡活。

关键参数速查:

  • 阻值:通常在 1mΩ ~ 100mΩ 之间。功率越大,阻值越小。
  • 功率:P = I²R,要留 2 倍余量。别问我怎么知道的——我烧过。
  • 温漂:最好选 ±50ppm/°C 以下的。温漂大了,电流采样会跟着温度飘。
  • 寄生电感:高频开关下,寄生电感会产生尖峰电压。选低感型电阻,或者用四端开尔文接法。

我的习惯: 做低压小功率(比如 24V/5A 以下),我常用 10mΩ 的电阻,配合 12 位 ADC,分辨率能做到 2.5mA 左右,够用。

霍尔效应:非接触采样的另一种思路

霍尔电流传感器,利用的是霍尔效应。电流流过导体,产生磁场,霍尔元件感应磁场强度,输出对应电压。好处是隔离、无插入损耗,适合大电流或高压场合。

但说实话,霍尔传感器有它的毛病:温漂大、带宽有限、价格贵。我一般只在需要隔离或者电流特别大(比如 100A 以上)的时候才用。

对比项 采样电阻 霍尔传感器
精度 高(0.1%~1%) 中等(1%~5%)
带宽 高(MHz 级) 低(几十 kHz)
隔离 需要额外隔离 自带隔离
成本 低 高
适用场景 低压、中小功率 高压、大电流、需要隔离

嗯,这里要注意:霍尔传感器有零漂问题。上电后先做一次零位校准,不然误差会累积。

三种采样拓扑:单电阻、双电阻、三电阻

接下来是重头戏。这三种拓扑,我全都在项目里用过。各有各的脾气,咱们一个一个说。

单电阻采样

单电阻采样,只在直流母线上放一个采样电阻。通过测量母线电流,结合开关状态,重构出三相电流。

优点很明显:成本最低,只需要一个电阻、一个运放、一个 ADC 通道。但缺点也致命——在 SVPWM 的某些扇区,你根本采不到两相电流,必须靠算法补。

我曾经踩过的坑: 做低速大扭矩项目时,单电阻采样在过零点附近完全失效,电流重构出来的波形像锯齿。后来加了电流重构补偿算法才搞定。如果你对低速性能要求高,慎用单电阻。

双电阻采样

双电阻采样,在下桥臂的两个相上各放一个电阻。这样能直接采到两相电流,第三相通过 KCL 算出来。

这是目前工业界最常用的方案。成本适中,精度够用,而且没有单电阻那种扇区盲区问题。

我个人的习惯是:只要不是成本敏感到极致的产品,优先用双电阻。调试起来省心很多。

三电阻采样

三电阻采样,三相下桥臂各放一个电阻。三相电流直接测量,精度最高,但成本也最高。

一般在伺服驱动器、高端变频器里才会用。如果你做的是高精度位置控制,比如机器人关节,那三电阻是首选。

拓扑 电阻数量 成本 精度 盲区 典型应用
单电阻 1 低 中 有(低速区) 低成本风机、水泵
双电阻 2 中 高 无 通用变频器、电动工具
三电阻 3 高 最高 无 伺服驱动器、机器人

三种拓扑的采样时序对比

这里我画了一张图,帮你理清三种拓扑在 SVPWM 一个开关周期内的采样时机。

三种采样拓扑时序对比(一个 PWM 周期内) 单电阻 母线电流采样窗口(仅部分扇区有效) 盲区 双电阻 A 相采样 B 相采样 三电阻 A 相 B 相 C 相 t 0 Tpwm 说明: 单电阻只在特定扇区有采样窗口,双电阻和三电阻可在每个周期内稳定采样。

从图上你能看出来,单电阻的采样窗口是断断续续的。双电阻和三电阻则稳定得多。这也是为什么我建议新手先从双电阻入手——调试门槛低,不容易被采样时序搞晕。

采样时序与 ADC 触发

不管你用哪种拓扑,采样时机都很关键。一般在下桥臂导通的中点附近采样,避开开关噪声。

我常用的做法是:用 PWM 定时器的计数器匹配事件来触发 ADC。这样采样点精确可控,不受软件延迟影响。

// 以 STM32 为例,配置 PWM 触发 ADC
// 在 PWM 中心对齐模式下的下桥臂导通中点触发
TIM_OC1Init(TIM1, &TIM_OCInitStructure);  // 配置比较通道
ADC_ExternalTrigConvCmd(ADC1, ENABLE);    // 使能外部触发
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_7Cycles5);

我的经验: 采样点不要紧贴开关沿。至少留 1~2μs 的死区时间,等振铃衰减后再采。不然你采到的不是电流,是噪声。

小结

这一节咱们把电流采样的底子过了一遍。采样电阻和霍尔传感器各有适用场景,三种拓扑各有取舍。选型时别只看成本,要把精度、盲区、调试难度都考虑进去。

我个人最推荐双电阻方案——性价比高,工程实现也成熟。当然,如果你做的是高端伺服,三电阻是绕不开的。