用MATLAB 仿真一个单相全桥逆变器,采用单极性SPWM 调制、双极性SPWM 调制或者单极倍频SPWM 调制的任意一种即可,请注明仿真参数,并给出相应的调制波波形,载波波形,驱动信号波形、输出电压(滤波前)波形。
本文选用双极性SPWM 调制。
1双极性单相SPWM 原理
SPWM 采用的调制波的频率为s f 的正弦波t U U s sm S ωsin =,s s f πω2=;载波c u 是幅值为cm U ,频率为c f 的三角波。
载波信号的频率与调制波信号的频率之比称为载波比,正弦调制信号与三角波调制信号的幅值之比称为深度m 。
通常采用调制信号与载波信号相比较的方法生成SPWM 信号.当Us>Uc 时,输出电压Uo 等于Ud,当Us<Uc 时,输出信号Uo 等于-Ud.随着开关以载波频率fc 轮番导通,逆变器输出电压不断在正负Ud 之间来回切换。
2 建立仿真模型
主电路模型
第一步设置电压源:在Electrical Sources 库中选用DC Voltage Source ,设置Ud =300V 。
第二步搭建全桥电路:使用Universal Bridge 模块,选择桥臂数为2,开关器件选带反并联二极管的IGBT/Diodes ,构成单项全桥电路。
第三步使用Series RLC Branch 设置阻感负载为1Ω,2mH ,并在Measurement 选项中选择Branch Voltage and current,利用multimeter 模块观察逆变器的输出电压和电流。
电路如图所示。
图 单相全桥逆变逆变器电路图
双极性SPWM 信号发生器
在Simulink 的Source 库中选择Clock 模块,提供仿真时间t,乘以f π2后通过一个sin 模块即t ωsin ,乘以调整深度m 可获得所需的正弦调整信号。
选择
Source库中的Repeating Sequence模块产生三角载波,设置Time Values 为[0 1/fc/4 3/fc/4 1/fc],设置Output Values 为[0 -1 1 0],生成频率为fc的三角载波。
调制波和载波通过Simulink的Logic and Bit Operations 库中的Relational Operator 模块进行比较后得到4个开关信号。
在图中Boolean 和Double由Data Type Conversion 模块进行设置后得到,NOT则使用Logic and Bit Operations库中的Logical operator模块。
为使仿真界面简单,参数易调修改,可对如图所示部分进行封装。
选择Mask Subsystem 将信号发生器进行封装,设置m、f、fc三个参数,双击该模块可以更改参数值。
电路如图所示。
图双极性SPWM信号发生器电路图
3仿真结果及分析
将调制深度m设为,输出基波频率为50Hz,载波频率为750Hz,将仿真时间设为,在powergui中设置为离散仿真模式,采样时间为10-5s,运行后得仿真结果,调制波波形和载波波形如图所示,驱动信号波形如图所示,输出电压和电流波形如图所示。
图调制波和载波波形
图驱动信号波形
图输出电流及电压波形
频谱图如图所示。
图 FFT分析频谱图。