3. PWM调制与门极驱动信号生成

在电力电子控制算法中,控制器算出的占空比只是一个数值,真正驱动开关管的是具有确定频率、幅值和死区的门极脉冲。本节围绕“占空比如何变成可靠的互补PWM信号”展开,重点讲清载波比较法的实现、死区时间的设置与补偿、Simulink中PWM模块的使用,以及Buck电路占空比到输出电压的传递特性仿真。

一、载波比较法PWM生成原理

载波比较法是最基础也最通用的PWM生成方式。其核心思想是:将调制波(通常是控制器的占空比指令)与一个高频周期性载波进行比较,比较结果决定开关管的通断状态。在Simulink中,载波通常选择三角波或锯齿波,频率即开关频率 fsw。

以三角载波为例,设载波幅值为1,调制波为占空比指令 d(0~1),则比较逻辑为:当 d > carrier 时输出高电平,否则输出低电平。这样得到的脉冲占空比等于 d,且每个开关周期内脉冲位置由载波相位决定。若采用锯齿波,则脉冲总是从周期起点开始,适合边沿对齐调制;三角波则产生中心对齐PWM,谐波特性更好,在电机控制和DC-DC中更常用。

在Simulink中,可以用 Repeating Sequence 模块生成三角波,再用 Relational Operator 与 d 比较,最后通过 Data Type Conversion 输出 double 或 boolean 信号。但更推荐直接使用 PWM Generator (2-Level) 模块,它内部已集成载波和比较逻辑,只需设置开关频率和调制方式即可。

二、死区时间设置与补偿

互补PWM驱动半桥时,上下管不能同时导通,否则直流母线会通过两个开关管短路,即“直通”。因此必须在上下管切换之间插入一段两者都关断的时间,称为死区时间 t_dead。典型IGBT死区为1~3 μs,SiC MOSFET可小至100~500 ns。

死区会导致实际输出电压偏离理想值:在死区期间,负载电流由续流二极管续流,输出电压由电流方向决定,产生一个与电流方向相关的误差电压。设开关频率为 fsw,死区占空比误差为 Δd = t_dead · fsw。若 t_dead = 2 μs,fsw = 20 kHz,则 Δd = 0.04,即4%的占空比损失,对低压输出影响显著。

死区补偿的基本思路是:根据负载电流方向,在占空比指令上叠加一个修正量。当电流为正(流出桥臂)时,实际占空比偏小,应补偿 +Δd;电流为负时补偿 -Δd。在Simulink中,可以用 Sign 模块检测电流方向,乘以 Δd 后加到占空比指令上。注意补偿量不宜过大,否则会引起过零畸变,通常取 0.8·Δd 左右。

三、Simulink中PWM发生器模块使用

Simulink的 PWM Generator (2-Level) 模块位于 Simscape/Electrical/Specialized Power Systems 库中。关键参数包括:

  • Generator type:可选择 Complementary (2 pulses) 输出互补PWM,或 Single pulse 输出单路PWM。
  • Mode:Unipolar 单极性、Bipolar 双极性,或 Phase-shift 移相。
  • Carrier frequency:开关频率,如 20e3 Hz。
  • Sample time:建议设为 1/(100*fsw) 以保证载波分辨率。
  • Dead time:可直接填入死区时间,模块会自动在互补脉冲间插入死区。

若需要更灵活的控制,也可用 Compare to Zero 配合 Transport Delay 手动搭建死区逻辑。但模块化方式更不易出错,适合课程仿真。

四、互补PWM与单极性/双极性调制

互补PWM指同一桥臂上下管驱动信号严格反相,并插入死区。单极性调制中,两个桥臂分别用独立调制波比较,输出电平在 +Vdc、0、-Vdc 之间切换,谐波集中在2倍开关频率附近,EMI较小。双极性调制中,两个桥臂使用同一调制波的反相信号,输出在 +Vdc 和 -Vdc 之间切换,谐波在开关频率附近,但控制简单。

对于Buck电路,由于是单开关管加续流二极管,不存在互补问题,但若用同步Buck,则上下管互补,必须设置死区。此时占空比 d 直接决定输出电压 Vout = d · Vin(连续导通模式)。

五、Buck电路占空比到输出电压传递特性仿真

在Simulink中搭建Buck电路:直流源 Vin = 24 V,开关管用 MOSFET,二极管用 Diode,电感 L = 100 μH,电容 C = 470 μF,负载 R = 5 Ω,开关频率 fsw = 20 kHz。PWM发生器输出占空比 d 从0.1到0.9扫描,记录稳态输出电压。

仿真结果应接近 Vout = d · Vin。例如 d = 0.5 时 Vout ≈ 12 V;d = 0.8 时 Vout ≈ 19.2 V。若考虑二极管压降 Vf = 0.7 V,则 Vout = d · (Vin - Vf) - (1-d)·Vf,在低压时偏差更明显。通过 To Workspace 记录 Vout 和 d,再用 plot 绘制传递曲线,可直观看到线性区与非线性区。

建议在仿真中先关闭死区,观察理想传递特性;再开启死区,对比输出电压下降量,验证死区补偿效果。
互补PWM生成与死区插入信号链 占空比指令 d 0 ~ 1 三角载波 fsw = 20 kHz 比较 死区插入 t_dead = 2 μs 上管 PWM_H 高有效 下管 PWM_L 互补 + 死区 死区补偿 ±Δd = ±0.04 负载电流方向 Sign(iL) Buck主电路 Vout = d·Vin Vout vs d 0 d Vout d=0.5

通过上述仿真,可以定量看到:理想情况下 Vout 与 d 呈线性关系;加入死区后,实际输出在相同 d 下略低,且低占空比时偏差比例更大。补偿后曲线重新靠近理想线,验证了死区补偿的必要性。这一过程完整展示了从PWM生成、死区处理到功率级传递特性的闭环验证思路,为后续闭环控制器设计打下基础。