硬件保护方案:采样电阻选型、运放电路设计、比较器阈值设定、硬件快速关断逻辑
各位工程师朋友,这一章咱们来啃硬件保护方案这块硬骨头。说实话,过流保护是 BLDC 驱动的底线,软件再快也快不过硬件。我见过太多项目,软件保护写得天衣无缝,结果一个短路直接炸管子——原因就是硬件响应慢了。
硬件保护的核心就四个字:快、准、稳。快,要在微秒级关断;准,阈值不能漂;稳,抗干扰要强。下面我从采样电阻开始,一步步拆解。
硬件保护链路总览
电流 → 采样电阻(电流→电压)→ 运放(放大)→ 比较器(阈值判断)→ 硬件关断逻辑(直接封锁 PWM)
这条链路从电流过冲到 PWM 关断,总延迟应控制在 1-5μs 以内。
1. 采样电阻选型:精度与功耗的博弈
采样电阻是过流检测的第一道关口。说白了,就是把大电流变成小电压,让运放和比较器能处理。
选型核心参数:
- 阻值:通常 1-10mΩ。阻值越大,信号越强,但功耗也大。我习惯先算一下:最大电流下,电阻上的压降控制在 50-100mV 比较合适。比如 50A 峰值电流,用 2mΩ 电阻,压降 100mV,功耗 5W——嗯,这个量级还能接受。
- 功率:要留余量。额定功率至少是实际功耗的 2 倍。我曾经在一个 48V/30A 项目里用了 1mΩ/3W 的电阻,结果满载时电阻烫得能煎鸡蛋——后来换了 5W 的才稳住。
- 温漂:铜箔电阻温漂大(几百 ppm/℃),锰铜或康铜合金好一些(几十 ppm/℃)。如果你做的是车规级或工业级产品,建议用合金电阻,温漂控制在 50ppm/℃ 以内。
- 寄生电感:高频电流下,寄生电感会产生额外压降,导致误触发。四端开尔文连接的电阻能有效降低寄生效应。
| 参数 | 推荐范围 | 我的经验值 |
|---|---|---|
| 阻值 | 1-10mΩ | 2mΩ(50A 级) |
| 额定功率 | ≥ 2× 实际功耗 | 5W(连续 30A) |
| 温漂 | ≤ 50ppm/℃ | 合金电阻,25ppm/℃ |
| 连接方式 | 四端开尔文 | 必须用,否则精度打折 |
避坑指南:我曾经在一个项目里用了普通贴片电阻做采样,结果 PCB 走线铜箔的电阻都比采样电阻大,测出来的电流完全不准。后来换了四端开尔文连接的合金电阻,信号才干净。记住:采样电阻的 PCB 走线要宽、要短,直接从电阻两端引出差分信号到运放。
2. 运放电路设计:差分放大与共模抑制
采样电阻上的信号通常只有几十毫伏,必须放大到比较器能处理的电平(比如 1-3V)。运放电路的设计直接决定了保护精度。
我常用的拓扑:差分放大器
说白了,就是用运放做减法——只放大采样电阻两端的差分电压,抑制共模噪声。电机驱动里 PWM 开关噪声很大,共模抑制比(CMRR)至少要 80dB 以上。
// 典型差分放大电路参数(以 50A/2mΩ 为例)
// 采样电阻压降:V_sense = 50A × 0.002Ω = 100mV
// 目标放大后电压:V_out = 2.5V(对应过流阈值)
// 增益:G = V_out / V_sense = 2.5 / 0.1 = 25
// 反馈电阻:Rf = 25kΩ,输入电阻:Ri = 1kΩ(G = Rf/Ri)
// 注意:四个电阻必须精密匹配,否则 CMRR 会下降
运放选型要点:
- 带宽:至少 10MHz。PWM 频率通常 20-50kHz,但开关边沿的谐波频率很高,带宽不够会丢失过流信号的细节。
- 压摆率:≥ 10V/μs。快速过流时,信号上升沿很陡,压摆率不够运放会“跟不上”。
- 轨到轨输出:最好有。这样输出能接近电源轨,给比较器留足动态范围。
- 偏置电压:≤ 1mV。偏置电压会直接叠加到信号上,导致阈值偏移。
注意:运放的供电要干净。我习惯在运放电源引脚加 RC 滤波(10Ω + 0.1μF),并在 PCB 布局上让运放尽量靠近采样电阻。信号走线要短,避开大电流回路和 PWM 走线。
3. 比较器阈值设定:精准与抗干扰的平衡
比较器是硬件保护的“判决官”。阈值设高了,保护不动作;设低了,频繁误触发。怎么设?
阈值计算方法:
- 确定最大正常工作电流 I_max。比如电机堵转电流 40A。
- 留出安全余量。我一般取 1.2-1.5 倍,即 I_th = 40A × 1.3 = 52A。
- 换算成电压:V_th = I_th × R_sense × G = 52A × 0.002Ω × 25 = 2.6V。
- 用电阻分压器从基准电压(比如 3.3V)得到 2.6V 阈值。
抗干扰设计:
- 迟滞比较器:在比较器正反馈端加一个几十 kΩ 的电阻,引入 10-50mV 的迟滞。这样信号在阈值附近抖动时,比较器不会反复翻转。我习惯用 1% 精度的电阻,迟滞量设为 30mV。
- 滤波电容:在比较器输入端对地加一个 100pF-1nF 的电容,滤除高频噪声。但注意电容不能太大,否则会延迟响应。
- 基准电压源:不要直接用 MCU 的 VDD 做基准,噪声太大。用 TL431 或 REF3033 这类精密基准源,温漂控制在 50ppm/℃ 以内。
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 过流阈值(电流) | 1.2-1.5 × I_max | I_max 为最大正常工作电流 |
| 迟滞量 | 10-50mV | 防止噪声误触发 |
| 基准电压源 | TL431 / REF3033 | 温漂 ≤ 50ppm/℃ |
| 输入滤波电容 | 100pF - 1nF | 滤除高频噪声,不显著增加延迟 |
我的经验:阈值设定不是一劳永逸的。不同工况下(比如低温、高温),采样电阻和运放的参数会漂。我一般在样机阶段用可调电阻临时设定阈值,实测过流点后再换成固定电阻。另外,比较器的输出要加上拉电阻,并拉到 MCU 的 IO 口,方便软件读取保护状态。
4. 硬件快速关断逻辑:微秒级响应
这是硬件保护的最后一环,也是决定生死的一环。比较器输出过流信号后,必须立刻、直接、不可逆地封锁 PWM 驱动信号。
关断逻辑的核心要求:
- 直接性:不经过 MCU 中断,不经过软件判断。比较器输出直接连到 PWM 驱动芯片的使能脚或关断脚。
- 锁存性:过流发生后,保护状态要锁存,直到 MCU 确认故障并手动复位。防止反复重启导致 MOS 管热积累损坏。
- 快速性:从比较器输出到 PWM 关断,延迟不超过 0.5μs。用高速逻辑门(如 74LVC1G08)或直接驱动芯片的 SD(Shutdown)引脚。
我常用的关断电路:
// 硬件关断逻辑示意(以 IR2101 驱动芯片为例)
// 比较器输出(OC_FLAG)→ 非门 → 与门 → 驱动芯片 SD 引脚
// 正常时:OC_FLAG = 低 → 非门输出高 → 与门输出 = PWM_IN → 正常驱动
// 过流时:OC_FLAG = 高 → 非门输出低 → 与门输出 = 低 → SD 拉低 → 驱动关断
// 锁存:用 RS 触发器锁存 OC_FLAG,MCU 通过 RESET 信号清除
关键设计细节:
- 去抖时间:比较器输出后,加一个 RC 延时(比如 100ns-1μs),防止瞬时尖峰误关断。但延时不能太长,否则保护来不及。
- 故障指示灯:锁存信号同时驱动一个 LED,方便调试时肉眼观察保护是否触发。
- MCU 联动:锁存信号也送到 MCU 的 GPIO,MCU 检测到后记录故障码,并执行软关断(比如降速、停机)。
警告:千万不要把比较器输出直接连到 MCU 中断,等 MCU 响应再关 PWM——那至少几十微秒,MOS 管早烧了。硬件关断必须独立于软件,这是底线。我见过一个团队为了省成本,用 MCU 的模拟比较器做保护,结果一次短路就炸了三个 MOS 管——省下的钱不够买一个管子。
5. 整体调试与验证
电路设计完了,怎么验证?我一般按以下步骤来:
- 静态测试:不上电,用万用表测采样电阻阻值、运放偏置电压、比较器阈值电压。确认都在设计范围内。
- 小电流测试:用电子负载或电阻箱模拟小电流,观察运放输出和比较器翻转点是否准确。
- 动态测试:用信号发生器给运放输入模拟过流信号(方波或脉冲),用示波器抓取从信号输入到 PWM 关断的延迟时间。
- 短路测试:在电机输出端直接短路(注意安全!),验证硬件保护是否能在 5μs 内关断。我习惯用高速示波器同时抓电流波形和 PWM 波形,确认关断时刻。
避坑指南:我曾经在短路测试时发现保护偶尔不动作,查了两天才找到原因——PCB 布局上,比较器的地线回路和功率地混在一起,导致地弹噪声把阈值电压抬高了。后来把模拟地和功率地单点连接,问题解决。记住:地线设计是硬件保护的生命线。