用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 建立仿真模型
2.1主电路模型
第一步设置电压源:在Electrical Sources 库中选用DC Voltage Source ,设置Ud =300V 。
第二步搭建全桥电路:使用Universal Bridge 模块,选择桥臂数为2,开关器件选带反并联二极管的IGBT/Diodes ,构成单项全桥电路。
第三步使用Series RLC Branch 设置阻感负载为1Ω,2mH ,并在Measurement 选项中选择Branch Voltage and current,利用multimeter 模块观察逆变器的输出电压和电流。
电路如图2.1所示。
图2.1 单相全桥逆变逆变器电路图
2.2双极性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三个参数,双击该模块可以更改参数值。
电路如图2.2所示。
图2.2 双极性SPWM信号发生器电路图
3仿真结果及分析
将调制深度m设为0.5,输出基波频率为50Hz,载波频率为750Hz,将仿真时间设为0.06s,在powergui中设置为离散仿真模式,采样时间为10-5s,运行后得仿真结果,调制波波形和载波波形如图3.1所示,驱动信号波形如图3.2所示,输出电压和电流波形如图3.3所示。
图3.1 调制波和载波波形
图3.2 驱动信号波形
图3.3 输出电流及电压波形频谱图如图3.4所示。
图3.4 FFT分析频谱图。