3. 硬件保护电路设计:比较器阈值设定、RC滤波参数计算、锁存与自恢复机制
硬件保护,说白了就是给电机驱动装一个「肌肉记忆」。软件再快,也得等ADC采样、CPU判断、再输出。但硬件不一样——电流一超,比较器翻转,直接拉掉PWM,微秒级响应。我做过一个项目,软件保护响应时间大概在10微秒左右,硬件保护能做到1微秒以内。这就是为什么我们一定要讲硬件保护电路。
这一节,我们重点拆解三个核心模块:比较器阈值怎么设、RC滤波参数怎么算、锁存和自恢复怎么选。嗯,一个一个来。
3.1 比较器阈值设定
比较器的任务很简单——把采样电压和参考电压比一下。高了就报警,低了就安静。但阈值设多少,这里面有讲究。
3.1.1 阈值计算公式
假设我们用的是低边采样,采样电阻为Rshunt,过流保护点为Iocp,那么比较器同相端的电压就是:
V_sense = I_ocp × R_shunt
反相端接参考电压Vref。当Vsense > Vref时,比较器输出高电平,触发保护。
举个例子:
- 电机额定电流10A,过流保护点设为15A
- 采样电阻0.5mΩ(注意是毫欧,不是欧姆)
- Vsense = 15A × 0.0005Ω = 7.5mV
所以Vref应该设为7.5mV。但实际电路中,这个电压太小了,容易被噪声淹没。我建议用运放放大后再进比较器,或者直接用带可调阈值的比较器芯片。
3.1.2 迟滞比较器
为什么需要迟滞?因为电流信号不是干净的直流,它上面有开关噪声。没有迟滞,比较器会在阈值附近来回跳变,输出一堆毛刺。
迟滞比较器的电路很简单——在比较器输出和同相端之间加一个正反馈电阻Rhyst。迟滞宽度ΔVhyst由Rhyst和输入电阻Rin决定:
ΔV_hyst = V_cc × (R_in / (R_in + R_hyst))
一般迟滞宽度设为阈值的10%~20%。比如阈值7.5mV,迟滞宽度取1mV~1.5mV就够了。
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 迟滞宽度 | 阈值×10%~20% | 太小抗噪差,太大响应慢 |
| Rhyst | 100kΩ~1MΩ | 根据Vcc和Rin计算 |
| Rin | 10kΩ~100kΩ | 与采样网络匹配 |
3.2 RC滤波参数计算
比较器前面,一定要加RC低通滤波。为什么?因为PWM开关会产生尖峰电流,这些尖峰持续时间很短(几十到几百纳秒),但幅度可能很大。如果不滤波,比较器会把这些尖峰误判为过流。
3.2.1 截止频率怎么选
RC滤波的截止频率fc = 1 / (2πRC)。
选型原则:
- 要滤掉PWM开关频率及其谐波
- 但不能滤掉真正的过流信号
举个例子:PWM频率20kHz,开关尖峰宽度100ns。真正的过流信号持续时间一般在几微秒到几十微秒。
我一般把截止频率设在PWM频率的1/10~1/5。20kHz的PWM,截止频率取2kHz~4kHz。
取f_c = 3kHz
R = 1kΩ
C = 1 / (2π × 1kΩ × 3kHz) ≈ 53nF
取标称值47nF
3.2.2 实战参数推荐
| PWM频率 | 推荐R | 推荐C | 截止频率 | 延迟时间(5τ) |
|---|---|---|---|---|
| 10kHz | 1kΩ | 100nF | 1.6kHz | 0.5ms |
| 20kHz | 1kΩ | 47nF | 3.4kHz | 0.24ms |
| 40kHz | 1kΩ | 22nF | 7.2kHz | 0.11ms |
| 100kHz | 510Ω | 10nF | 31kHz | 0.026ms |
你想想看,延迟时间必须远小于过流保护允许的响应时间。如果电机允许过流100μs,那RC延迟就不能超过10μs。这时候就要权衡——要么提高截止频率,要么用更快的比较器。
3.3 锁存与自恢复机制
比较器输出之后,怎么处理?两种思路:锁存和自恢复。各有各的适用场景。
3.3.1 锁存模式
锁存模式就是——过流触发后,保护状态一直保持,直到人为复位(比如重新上电或给一个复位信号)。
优点:安全,不会反复尝试导致器件损坏。
缺点:需要人工干预,不适合无人值守场景。
实现方式:在比较器后面加一个RS触发器,或者用带锁存功能的比较器芯片(比如LM393加正反馈)。
3.3.2 自恢复模式
自恢复模式就是——过流触发后,保护一段时间,然后自动尝试恢复。
优点:适合无人值守,短暂过流后能自动恢复运行。
缺点:如果故障持续存在,会反复触发,可能损坏器件。
实现方式:在比较器输出和复位端之间加一个RC延时电路。触发后,电容充电,达到阈值后自动复位。
自恢复时间 T_recovery ≈ R_recovery × C_recovery × ln(V_cc / V_threshold)
举个例子:Rrecovery = 100kΩ,Crecovery = 10μF,Vcc = 5V,阈值Vth = 2.5V:
T_recovery ≈ 100kΩ × 10μF × ln(5V / 2.5V) ≈ 0.69秒
也就是说,过流触发后,大约0.7秒后自动尝试恢复。
3.3.3 锁存 vs 自恢复对比
| 特性 | 锁存模式 | 自恢复模式 |
|---|---|---|
| 安全性 | 高,不会反复触发 | 中,可能振荡 |
| 适用场景 | 调试、关键设备 | 无人值守、短暂过流 |
| 恢复方式 | 手动复位 | 自动恢复 |
| 电路复杂度 | 低 | 中(需RC延时) |
| 故障记录 | 容易(状态保持) | 困难(恢复后状态丢失) |
3.4 完整硬件保护链路
把上面三个模块串起来,就是一条完整的硬件保护链路。我画了一张图,你看一眼就明白了。
从采样电阻到PWM封锁,整个链路走下来,时间在微秒级。这就是硬件保护的价值——在软件还没反应过来的时候,它已经把问题掐死在摇篮里了。
好了,硬件保护电路的核心就这些。阈值设定、RC滤波、锁存与自恢复,三个模块环环相扣。设计时记住一句话:既要快,又要准,还要稳。快——响应时间要短;准——阈值不能漂;稳——不能误触发。做到这三点,你的硬件保护就合格了。