1. 电流采样基础:为什么需要电流采样?

大家好,我是你们的硬件工程师老张。做电机控制这些年,我见过太多人一上来就调PID、搞FOC,结果电机一转就炸管子。为什么?说白了,你连电流多大都不知道,怎么敢让电机跑起来?

电流采样,就是电机控制的「眼睛」。没有它,你就是在摸黑开车。

1.1 电流采样在电机控制中的作用

咱们先聊聊,电流采样到底管什么用。我把它总结成三个核心作用:

  • FOC(磁场定向控制)的基石:FOC算法需要知道电机三相电流的瞬时值,才能算出转子位置和转矩。没有准确的电流反馈,FOC就是空中楼阁。
  • 转矩控制的命脉:电机转矩和电流成正比(对永磁同步电机来说,转矩 ≈ Kt × Iq)。你想让电机出多大力,就得精确控制电流。
  • 过流保护的底线:这个我最有发言权。我曾经有个项目,MOS管烧了一整排,就是因为电流采样没做好,保护电路没及时触发。从那以后,我设计任何电路都把过流保护放在第一位。

核心观点:电流采样不是「要不要」的问题,而是「怎么采得准、采得快」的问题。

1.2 采样电阻选型原则

采样电阻,也叫分流电阻、检流电阻。别看它就是个电阻,选错了整个系统都白搭。我踩过的坑,今天一次性说清楚。

1.2.1 阻值怎么选?

阻值选大了,发热严重,压降大,影响电机效率。选小了,信号太弱,ADC都采不到。

我个人习惯这样算:

Rshunt = Vshunt_max / Imax

其中:
Vshunt_max = ADC满量程 × 0.8(留20%余量)
Imax = 电机峰值电流 × 1.5(安全系数)

举个例子:ADC是3.3V,电机峰值电流10A。那Vshunt_max取2.64V,Rshunt = 2.64 / 15 ≈ 0.176Ω。实际选0.1Ω或0.15Ω都行。

我的经验:阻值宁小勿大。小了可以加运放放大,大了发热你根本扛不住。

1.2.2 功率怎么算?

功率计算很简单:P = I² × R。但要注意,这里的I是有效值,不是峰值。

我见过有人用峰值电流算功率,结果电阻选得巨大无比,板子都放不下。正确做法:

  • 连续工作电流:用有效值算
  • 短时过流:用峰值算,但留2倍余量

举个例子:连续电流5A,电阻0.1Ω。P = 5² × 0.1 = 2.5W。我一般选5W的电阻,留一倍余量。

注意:功率余量不够,电阻会变成加热器。我曾经见过一个0.5W的电阻在3W下工作,10分钟后直接冒烟。嗯,那是我刚入行时干的事。

1.2.3 温漂——最容易忽略的参数

温漂,就是温度变化时电阻值的变化。单位是ppm/°C。100ppm/°C的电阻,温度升高100°C,阻值变化1%。

你想想看,如果采样电阻阻值变了,你测出来的电流还准吗?

我建议:

  • 普通应用:选50ppm/°C的金属膜电阻
  • 高精度应用:选10ppm/°C甚至5ppm/°C的锰铜电阻
  • 汽车级应用:必须用低TCR(温度系数)的合金电阻

避坑指南:我曾经在一个项目中用了普通贴片电阻做电流采样,结果电机跑热了以后,电流读数漂了5%。查了两天才发现是温漂的问题。从那以后,我所有电流采样电路都强制用低TCR电阻。

1.2.4 封装——别小看它

封装决定了散热能力和寄生参数。常见的封装有:

封装 功率能力 寄生电感 适用场景
0805/1206 0.125W~0.25W 小电流、信号采样
2512 1W~2W 中等电流、通用
4527/5930 3W~5W 大电流、功率级
TO-220/TO-247 10W~50W 低(四端开尔文) 超大电流、高精度

这里有个关键点:寄生电感。大封装电阻的寄生电感也大,高频电流采样时会产生振铃。我建议在采样电阻两端并联一个小电容(10pF~100pF),可以有效抑制高频噪声。

我的习惯:大电流采样(10A以上)我必用四端开尔文连接的电阻。虽然贵一点,但精度和稳定性完全不是一个级别。

1.3 总结一下

电流采样这件事,说难不难,说简单也不简单。核心就三点:

  1. 阻值:根据ADC范围和电流峰值算,宁小勿大
  2. 功率:按有效值算,留2倍余量
  3. 温漂和封装:高精度应用必须重视,别省那几毛钱

下一章,我会讲电流采样的具体电路拓扑——单电阻、双电阻、三电阻采样,各有啥优缺点,怎么选。咱们到时候接着聊。

一句话记住:采样电阻选得好,电机控制没烦恼。选得不好,炸管烧板少不了。