1、死区时间概述:什么是死区时间、为什么需要死区时间、死区时间对系统的影响
1.1 什么是死区时间?
死区时间,说白了就是一段“故意留出来的空白”。
在电机控制里,我们经常用PWM波去驱动IGBT或MOSFET。上下两个管子交替导通,一个开,另一个就得关。但问题是——管子不是瞬间完成的。关断需要时间,开通也需要时间。
如果上管还没完全关断,下管就急着开通,会发生什么?
直通。也就是上下桥臂直接短路。电流瞬间飙升,管子直接烧掉。
所以,我们会在上下管切换时,故意插入一段“两个管子都关断”的时间。这段谁也不导通的时间,就叫死区时间。
死区时间定义:在PWM互补信号切换过程中,为防止上下桥臂直通而插入的一段“两个开关管均关断”的延迟时间。
我习惯用纳秒或微秒来度量它。比如1μs、2μs,具体看管子参数。
1.2 为什么需要死区时间?
你想想看,功率管不是理想开关。关断有延迟,开通也有延迟。而且不同温度下,延迟还不一样。
我在项目中遇到过这样的事:有一次调试一个48V的BLDC驱动板,室温下跑得好好的。结果放到高温箱里一测,管子直接冒烟了。查了半天,原来是高温下关断延迟变长,死区时间不够用了。
从那以后,我对死区时间的设计就格外小心。
总结一下,死区时间的必要性有几点:
- 防止直通短路:这是最根本的原因。直通意味着电源正负极直接导通,电流不受控。
- 容忍器件差异:同一批管子,开通关断时间也有离散性。死区时间给了余量。
- 应对温度变化:高温下开关速度变慢,死区时间能兜底。
- 吸收寄生参数影响:PCB走线电感、栅极电阻等都会影响开关速度,死区时间能覆盖这些不确定因素。
我的经验:死区时间不是越大越好,也不是越小越好。我一般先按器件手册的典型值取1.5倍,然后实测波形微调。安全第一,性能第二。
1.3 死区时间对系统的影响
死区时间是一把双刃剑。它保护了硬件,但也会带来副作用。
1.3.1 电压损失
死区时间内,两个管子都关断。电流只能通过体二极管续流。二极管有压降,而且方向是固定的。
这就导致了一个问题:实际输出电压和理想PWM指令电压之间,出现了偏差。说白了,你让电机跑1000转,它可能只跑到980转。
这个偏差和电流方向有关。电流流出的那一相,电压被拉低;电流流入的那一相,电压被抬升。结果就是输出电压波形失真了。
1.3.2 电流波形畸变
电压失真直接导致电流波形变差。尤其是在过零点附近,电流会出现“平顶”现象。
我记得有一次做伺服驱动器,客户反馈低速运行时电机有“咔咔”的异响。我抓了电流波形一看,过零点附近有明显的台阶。这就是死区时间造成的电流畸变。
为什么会这样?
因为死区时间的存在,让实际占空比和理想占空比之间产生了非线性误差。这个误差在电流过零点附近最明显,因为此时电压很小,死区效应相对占比更大。
1.3.3 转矩脉动
电流畸变直接导致转矩脉动。电机转起来就不那么“顺滑”了。
低速时尤其明显。你想想看,低速时反电动势小,死区效应占比大,转矩脉动就更突出。这就是为什么很多驱动器在低速时会有“嗡嗡”声或“抖动”感。
1.3.4 谐波增加
死区时间引入的电压误差,本质上是非线性失真。它会带来大量的低次谐波,尤其是3次、5次、7次谐波。
这些谐波会带来额外损耗,让电机发热更严重。效率也会下降。
注意:死区时间越长,这些负面影响越严重。但死区时间太短,又可能烧管子。所以这是一个权衡。我一般建议:在保证安全的前提下,死区时间尽量短。
1.4 死区时间的典型取值
不同功率等级、不同器件类型,死区时间差别很大。我整理了一个参考表:
| 器件类型 | 电压等级 | 典型死区时间 | 备注 |
|---|---|---|---|
| 低压MOSFET | 12V - 48V | 100ns - 500ns | 开关速度快,死区可短 |
| 中压MOSFET | 60V - 200V | 200ns - 1μs | 需考虑米勒平台 |
| IGBT | 300V - 600V | 1μs - 3μs | 关断拖尾电流长 |
| 高压IGBT | 1200V+ | 2μs - 5μs | 安全余量要大 |
避坑指南:我曾经在项目里直接用了芯片手册推荐的死区时间,结果批量生产时发现部分板子高温下会直通。后来我养成了一个习惯:实测波形,看栅极电压和漏极电压的交叠情况。死区时间至少要保证在最高温、最恶劣条件下,上下管导通波形没有重叠。
1.5 小结
死区时间,是电机控制里绕不开的一个话题。它保护了功率管,但也带来了电压损失、电流畸变、转矩脉动等问题。
理解死区时间的本质,是后续做死区补偿和优化的基础。下一章,我会详细讲死区补偿的几种方法。到时候你会看到,怎么把这些负面影响降到最低。
嗯,先消化这些吧。有问题随时交流。