4. 硬件电路设计:电流采样与保护链路

这一章,我们聊聊硬件电路里最核心的几个环节。电流采样、运放、滤波、比较器、隔离、锁存——这些名字你可能都听过,但把它们串起来,做成一个可靠、不误动的堵转保护电路,里面有不少门道。

我刚开始做电机驱动那会儿,总觉得采样电路嘛,一个电阻加个运放就完事了。结果呢?堵转没保护住,倒是正常启动时误触发了好几次。后来才明白,每个环节都得精心设计。

本章核心链路:电流采样 → 运放放大 → 低通滤波 → 比较器判决 → 隔离输出 → 锁存保持

任何一个环节出问题,保护就可能失效或误动。

堵转检测硬件链路 电流采样 运放放大 低通滤波 比较器 隔离输出 锁存电路 关键设计点:采样方式选择 | 增益计算 | 滤波截止频率 | 滞回电压 | 隔离耐压 | 锁存复位 每个环节的失误,都可能导致保护失效或误触发

4.1 电流采样:低端 vs 高端

电流采样,说白了就是怎么把流过电机的电流变成电压信号,让电路能读懂。两种主流方案:低端采样和高端采样。各有各的脾气。

对比项 低端采样 高端采样
采样位置 MOSFET 源极与 GND 之间 电源正极与负载之间
共模电压 接近 0V,运放好选 接近母线电压,需要高压运放
对地干扰 采样电阻引入 GND 电位偏移 不影响 GND 参考
成本 低,普通运放即可 高,需要差分或隔离运放
适用场景 低成本、非隔离系统 高精度、需要检测负载短路

我个人习惯,在 48V 以下的低压电机驱动里,优先用低端采样。原因很简单——共模电压低,运放随便选,成本压得住。但有个坑:采样电阻上的压降会抬高 MOS 管的源极电位,影响驱动电压。我曾经在一个 12V 的项目里,采样电阻用了 0.05Ω,结果 MOS 管导通电阻变大,发热严重。后来把电阻改到 0.02Ω,问题才解决。

注意:低端采样无法检测负载对电源短路的情况。如果系统需要这种保护能力,必须用高端采样或霍尔传感器。

高端采样呢?我一般在 220V 或更高电压的工业驱动器上用。需要差分运放或者隔离运放,比如 INA149、AMC1300 这些。成本高,但精度好,而且不干扰地平面。

4.2 运放选型与增益设计

采样电阻上的电压通常只有几十毫伏,必须放大到 ADC 能读的范围,或者直接送到比较器。运放选型,我主要看三个参数:失调电压、共模抑制比、带宽。

  • 失调电压:堵转电流大,信号强,5mV 以内的失调可以接受。但如果你要检测 1A 以下的微小电流,最好选 1mV 以内的。
  • 共模抑制比:低端采样不敏感,60dB 够用。高端采样至少 80dB,不然电源纹波会淹掉信号。
  • 带宽:堵转检测不需要高速,1MHz 以下的运放完全够。带宽太高反而容易引入噪声。

增益怎么算?举个例子:采样电阻 0.02Ω,堵转电流 30A,采样电压 = 0.02 × 30 = 0.6V。如果比较器阈值设 2.5V,那增益就是 2.5 / 0.6 ≈ 4.17。取整,用 4.2 倍。反馈电阻 Rf = 4.2 × Rin,Rin 取 10kΩ,Rf 就是 42kΩ——用 39kΩ + 3kΩ 串联凑一下。

小技巧:运放供电最好用 5V 或 3.3V,输出范围要留余量。别让运放输出饱和,否则比较器会误判。我习惯让最大采样电压对应运放输出的 80% 左右。

4.3 低通滤波器截止频率选择

为什么要加低通滤波?电机电流里全是 PWM 开关噪声,不滤掉,比较器会乱跳。但滤得太狠,堵转信号也会被延迟,保护就慢了。

截止频率怎么选?我有个经验公式:f_c = 1 / (2π × R × C)。对于堵转检测,我一般取 100Hz 到 500Hz 之间。

  • 100Hz:滤波干净,但响应慢,大约 3-5ms 才能反映真实电流。适合大惯量负载。
  • 500Hz:响应快,约 0.6-1ms,但纹波残留多一些。适合小电机或快速保护需求。

我曾经在一个风扇项目里,用了 50Hz 的截止频率。结果堵转发生后,保护信号延迟了将近 10ms,MOS 管都冒烟了才反应过来。后来改成 200Hz,平衡了速度和噪声。

推荐值:对于大多数直流无刷电机堵转检测,截止频率 200Hz 是个不错的起点。R 取 10kΩ,C 取 0.1μF,算出来 f_c ≈ 159Hz,够用。

4.4 比较器电路与滞回设计

比较器的作用很简单:采样电压超过阈值,输出翻转。但现实没那么理想——噪声会让比较器在阈值附近来回跳,产生所谓的「抖动」。解决办法就是加滞回。

滞回,说白了就是让比较器的上升阈值和下降阈值不一样。比如上升阈值设 2.5V,下降阈值设 2.3V,中间 0.2V 的差值就是滞回宽度。这样噪声只要不超过 0.2V,输出就不会乱跳。

滞回怎么算?用 LM393 这类开集电极比较器,加一个正反馈电阻 R3 从输出到同相输入端。公式:

V_hysteresis = Vcc × (R2 / (R2 + R3))

其中 R1 是输入电阻,R2 是分压电阻,R3 是反馈电阻。
举个例子:Vcc = 5V,R2 = 10kΩ,R3 = 220kΩ
V_hysteresis = 5 × (10 / (10 + 220)) ≈ 0.217V

注意:滞回宽度不能太大,否则保护阈值偏移过多,堵转电流会超标。我一般控制在 0.1V 到 0.3V 之间,具体看噪声幅度。

4.5 隔离电路:光耦 vs 磁耦

隔离的目的有两个:一是保护 MCU 不被高压击穿,二是切断地环路噪声。堵转保护信号从功率侧传到控制侧,必须隔离。

对比项 光耦 磁耦
原理 LED + 光敏三极管 变压器耦合
传输速率 低速,通常 1Mbps 以下 高速,可达 100Mbps
功耗 较高,LED 需要几 mA 低,几 μA 即可
寿命 LED 老化,长期可靠性一般 无磨损,寿命长
成本 低,几毛钱 高,几块钱

我个人习惯,在成本敏感的产品里用光耦,比如 PC817、TLP185。堵转信号是低频的,光耦的响应速度完全够。但要注意:光耦的电流传输比(CTR)会随温度变化,低温下可能变慢。我在一个户外设备里吃过亏,冬天零下 20°C,光耦输出延迟从 2μs 变成了 10μs,差点没保护住。

磁耦呢?我一般在需要高速隔离或者高可靠性的场合用,比如 ISO7221、ADuM1200。不发热、不老化,但贵。值不值?看产品定位。

4.6 保护信号锁存与复位电路

堵转发生后,保护信号不能跟着电流消失就复位。否则电机一恢复转动,保护就撤了,但故障原因还没排除,可能再次堵转。所以需要锁存。

最简单的锁存电路:用 RS 触发器。比较器输出接 S 端,复位信号接 R 端。一旦堵转,S 被拉高,Q 输出高电平并保持,直到外部复位信号到来。

// 用分立元件搭的锁存电路示例
// S 端:比较器输出(高有效)
// R 端:MCU 复位信号(低有效)
// Q 端:送到 MCU 或直接关断驱动

// 真值表
// S=1, R=1 → Q=1 (锁存)
// S=0, R=0 → Q=0 (复位)
// S=0, R=1 → Q 保持

设计建议:复位信号最好由 MCU 控制,并且加上延时。比如堵转后,先锁存保护,等 1 秒后再允许 MCU 尝试复位。这样可以防止频繁重启损坏硬件。

复位方式有两种:手动复位和自动复位。手动复位需要用户按按钮或断电重启,安全但体验差。自动复位由 MCU 在检测到故障排除后自动拉低 R 端,方便但需要软件配合。

我做过一个产品,用的是自动复位 + 三次重试机制。第一次堵转,锁存 2 秒后自动复位;如果连续三次都在 10 秒内再次堵转,就永久锁死,直到断电。这样既避免了误触发,又保护了硬件。

总结一下:电流采样选低端还是高端,看电压和成本;运放增益算清楚,留余量;滤波截止频率 200Hz 左右比较稳妥;比较器加 0.2V 滞回防抖动;隔离用光耦省钱,磁耦省心;锁存电路必须加,复位策略要结合软件设计。

这些细节,每一个我都踩过坑。希望你能一次走对。