4. 硬件比较器保护:模拟比较器电路设计、迟滞设置、响应时间与传播延迟
硬件比较器保护,说白了就是给FOC系统装一个“肌肉反射”。
软件检测到过流再关管子,中间要经过ADC采样、计算、PWM更新,怎么也得几个微秒。但功率管烧起来,那是以纳秒为单位的。所以,我们必须用纯模拟电路搭一条“快车道”——电流一旦越线,直接硬拉栅极,谁的面子都不给。
我最早做伺服驱动时,就吃过软件保护的亏。一次调试中母线短路,软件还没来得及反应,MOS管先炸了。从那以后,我的板子上永远会留一个硬件比较器保护的位置。
4.1 模拟比较器电路设计
比较器的核心任务就一个:把采样电阻或电流传感器上的电压,跟一个预设的阈值电压做比较。超过阈值,输出翻转,直接触发硬件关断。
典型的电路结构如下:
电流采样信号 ——+—— [R1] ——+—— 比较器同相输入端
| |
+—— [C1] ——+—— GND
参考电压 Vref ——+—— [R2] ——+—— 比较器反相输入端
| |
+—— [R3] ——+—— GND
这里有几个关键点:
- 采样信号输入:必须加一个RC低通滤波(R1、C1),滤掉PWM开关带来的高频毛刺。截止频率我一般设在1-5MHz,具体看你的开关频率。
- 参考电压生成:用精密电阻分压,或者直接用TL431这类基准源。千万别从MCU的3.3V直接分压——负载一变,参考电压跟着飘,保护阈值就不准了。
- 比较器选型:响应时间要快,传播延迟要短。我习惯用LMV331或TLV3501,前者便宜够用,后者速度极快。
4.2 迟滞设置
没有迟滞的比较器,在阈值附近会反复跳变。你想想看,电流刚好在阈值附近抖动时,比较器输出会像继电器一样“哒哒哒”乱跳,轻则误触发保护,重则让MOS管工作在危险区。
迟滞的原理很简单:给比较器加一点正反馈,让翻转点有一个“回差”。
电路上,就是在输出端和同相输入端之间跨接一个电阻:
比较器输出 ——+—— [R_hyst] ——+—— 同相输入端
迟滞电压的计算公式:
V_hyst = V_out * (R1 / (R1 + R_hyst))
其中V_out是比较器输出的高电平(通常是VCC或VDD)。
举个例子:
- R1 = 1kΩ
- R_hyst = 100kΩ
- V_out = 3.3V
- V_hyst = 3.3 * (1000 / (1000 + 100000)) ≈ 32.7mV
也就是说,阈值上下各有约16mV的回差。这个值够不够?
我一般把迟滞设在20-50mV之间。太小了扛不住噪声,太大了保护阈值偏移太多。具体调的时候,用示波器看比较器输出,确保在最大负载电流下不会误触发就行。
4.3 响应时间与传播延迟
这两个概念容易搞混,我简单区分一下:
- 响应时间:从输入信号越过阈值,到输出端开始翻转的时间。
- 传播延迟:从输入信号越过阈值,到输出端翻转到50%点的时间。
对于过流保护,我们关心的是“从电流超标到栅极被拉低”的总时间。这个时间包括:
- 采样信号的传输延迟(PCB走线、滤波电容)
- 比较器的传播延迟
- 逻辑门电路的延迟(如果有)
- 驱动芯片的关断延迟
我实测过一组数据,供你参考:
| 环节 | 典型延迟 | 说明 |
|---|---|---|
| RC滤波(1kΩ + 100pF) | ~100ns | 取决于阶跃幅度 |
| LMV331传播延迟 | ~200ns | 数据手册典型值 |
| TLV3501传播延迟 | ~4.5ns | 高速比较器 |
| 逻辑门(如SN74LVC1G08) | ~3ns | 与门/或门 |
| 驱动芯片关断 | ~50-100ns | 如IR2101、FD6288 |
总延迟大概在350-500ns之间。对于大多数FOC应用,这个速度足够了。但如果你做的是超高速电机(比如几十万转的 spindle),那就要用TLV3501这种级别的比较器,并且尽量去掉滤波电容。
避坑指南:我曾经在一个项目里,为了追求极致速度,把滤波电容去掉了。结果PWM开关噪声直接让比较器误触发,电机一转就保护。后来加了一个10pF的小电容,问题解决。记住:速度要快,但抗噪也要稳。
4.4 整体保护链路架构
下面这张图展示了从电流采样到硬件关断的完整链路:
从图上你能看到,迟滞反馈是从比较器输出端引回同相输入端的。这个反馈路径和主信号路径是并行的,互不干扰。
实际布局时,我建议:
- 比较器尽量靠近采样电阻或电流传感器
- 迟滞电阻和滤波电容用0603或0402封装,减小寄生电感
- 参考电压走线要粗,远离PWM信号线
嗯,硬件比较器保护这块,核心就是“快”和“稳”的平衡。电路不复杂,但细节决定成败。下次调试时,记得用示波器同时抓电流波形和比较器输出,看看实际延迟是多少——你会发现,理论值和实测值之间,总有点差距。