2. 谐波来源分析:死区效应、管压降、采样误差、PWM死区时间对波形的影响

做SVPWM的人,迟早要跟谐波打交道。我刚开始接触这个领域时,总觉得算法算得准,输出波形就应该漂亮。结果一上示波器,电流波形上全是毛刺,FFT一看,5次、7次谐波高得吓人。后来才明白——谐波不是算法算出来的,是硬件和实现细节“造”出来的。

这一章,咱们就把谐波的几个主要来源掰开揉碎讲清楚。死区效应、管压降、采样误差、PWM死区时间,这四个东西是谐波的“四大金刚”。你搞懂了它们,谐波抑制就成功了一半。

核心观点: SVPWM的理想输出是正弦波,但实际逆变器的非理想特性会在输出中引入大量低次谐波。这些谐波主要来自死区时间、功率管压降、采样误差和PWM实现中的非线性因素。
SVPWM谐波来源分析框架 谐波来源 死区效应 管压降 采样误差 PWM死区时间 电压畸变 电流毛刺 相位偏移 低次谐波 电机转矩脉动 + 噪声 + 发热 四个来源相互叠加,最终在电机端表现为转矩脉动、噪声和额外发热

2.1 死区效应——谐波的“头号元凶”

死区时间,说白了就是防止上下桥臂直通而插入的一段“等待时间”。我见过不少新手,觉得死区时间才几微秒,能有多大影响?

咱们算笔账:假设开关频率10kHz,死区时间3μs。每个开关周期损失的时间占比是3μs / 100μs = 3%。看起来不大对吧?但问题是,这个损失不是均匀分布的——它在电流过零点附近造成的畸变最严重。

注意: 死区效应引入的谐波主要是5次、7次、11次、13次等低次谐波。这些谐波频率低,电机阻抗小,产生的电流谐波幅值反而更大。我曾在某伺服驱动器项目中,就因为死区补偿没做好,电机在低速运行时噪声大得像拖拉机。

死区效应的本质是什么?是输出电压的“丢失”和“多出”。

  • 电流为正时: 死区时间内,下管续流二极管导通,输出电压被拉低,相当于丢失了一部分正电压。
  • 电流为负时: 死区时间内,上管续流二极管导通,输出电压被抬高,相当于多出了一部分负电压。

你想想看,这种“丢失”和“多出”正好在电流过零点附近切换极性,结果就是输出电压波形出现了一个个“缺口”。FFT一看,全是奇次谐波。

2.2 管压降——被忽略的“隐形杀手”

管压降,就是功率管导通时集电极-发射极之间的电压降。IGBT和MOSFET都有,只是大小不同。

我记得有一次调试一个75kW的变频器,空载时电流波形挺漂亮,一带负载就出现明显的正负半周不对称。查了半天,最后发现是IGBT的管压降和续流二极管的管压降不一样造成的。

器件类型 典型管压降 对波形的影响
IGBT 1.5V ~ 2.5V 正半周幅值降低
MOSFET 0.3V ~ 1.0V (Rds_on × Id) 影响相对较小
续流二极管 1.0V ~ 1.8V 负半周幅值降低

管压降带来的问题有两个:

  1. 幅值不对称: 上下管的管压降不同,导致正负半周幅值不一致,产生偶次谐波。
  2. 随电流变化: 管压降不是常数,电流越大压降越大。这相当于在输出回路中串入了一个非线性电阻,波形自然就畸变了。
我的经验: 管压降补偿不能只补偿一个固定值。我习惯的做法是:先测出不同电流下的管压降曲线,然后做分段线性补偿。虽然麻烦,但效果立竿见影。

2.3 采样误差——数字控制的“先天缺陷”

数字控制离不开采样。但采样这件事,本身就充满了误差。

常见的采样误差来源:

  • ADC量化误差: 12位ADC的理论分辨率是1/4096,看起来不错。但实际有效位数往往只有10~11位。
  • 采样时刻偏差: PWM载波顶点采样是最理想的,但实际中由于中断响应延迟、滤波电路相移,采样点总会偏离理想位置。
  • 电流传感器偏置: 霍尔传感器的温漂和零漂,会让采样值带上一个直流偏置。这个偏置在SVPWM中会被放大,产生2次谐波。

为什么会这样?我解释一下:SVPWM的电压重构依赖于直流母线电压和占空比信息。如果电流采样有误差,电流环的输出就不准,最终反映在占空比上就是畸变的电压波形。

关键点: 采样误差引入的谐波以2次谐波为主。这是因为直流偏置在同步旋转坐标系下会变成2次分量。我在一个风电变流器项目中就遇到过这个问题,最后靠软件陷波器才压下去。

2.4 PWM死区时间——不只是“等待”那么简单

前面讲了死区效应,这里专门说说死区时间本身。很多人把死区时间和死区效应混为一谈,其实它们是因果关系。

死区时间对波形的影响,可以从三个维度来看:

维度 影响机制 后果
时间维度 死区时间内开关管关断,输出电压由续流二极管决定 输出电压与理想值偏差,偏差量 = 死区时间 × 母线电压 × 开关频率
极性维度 电流极性不同,偏差方向不同 过零点附近出现“台阶”或“毛刺”
频率维度 死区时间固定,但影响随调制比变化 低调制比时谐波含量更高

我个人的习惯是,死区时间不是越小越好。太小了容易直通炸管子,太大了谐波又压不住。一般取1μs~5μs之间,具体要看功率管的开关特性和驱动电路的设计。

避坑指南: 我曾经在一个项目中,为了追求低谐波,把死区时间从3μs减到1.5μs。结果高温老化时连续炸了3个IGBT模块。后来查出来是驱动电路的回滞时间太长,死区时间虽然设了1.5μs,但实际有效死区只有0.8μs。所以,死区时间要以实际波形测量为准,不能光看软件配置。

2.5 四种谐波来源的对比与总结

四种来源不是孤立的,它们会相互叠加。我整理了一个对比表,方便大家快速把握:

来源 主要谐波次数 与电流的关系 补偿难度
死区效应 5、7、11、13次 过零点附近最严重 中等(需要电流极性检测)
管压降 2、4次(偶次) 随电流增大而增大 较低(查表补偿即可)
采样误差 2次为主 与电流幅值无关 较高(需要校准和滤波)
PWM死区时间 5、7、11、13次 低调制比时更严重 中等(需要死区补偿算法)

做谐波抑制,第一步不是想着怎么补偿,而是先搞清楚你的系统里哪个来源占主导。我一般会先看电流波形:如果过零点有明显畸变,死区效应是主因;如果正负半周不对称,管压降嫌疑最大;如果有直流偏置或2次谐波,采样环节要重点排查。

嗯,这一章的内容就到这里。四种谐波来源的物理机制和影响规律,是后续所有谐波抑制技术的基础。搞懂了它们,后面讲死区补偿、管压降补偿、采样校正的时候,你就能理解为什么那些算法要那么设计了。