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 滞回防抖动;隔离用光耦省钱,磁耦省心;锁存电路必须加,复位策略要结合软件设计。
这些细节,每一个我都踩过坑。希望你能一次走对。