基于MATLAB对AC/DC/AC电源的死区效应的谐波分析及仿真
2 对于AC/DC/AC电源以及死区特性的MATLAB建模
MATLAB是高级的数学分析与运算软件,可用作动态系统的建模与仿真,MATLAB语言在其仿真研究中被成功方便地应用在电动驱动系统的研制过程中,它有以下特点:(a)用户使用方便,编程效率高,语言简单,内涵丰富,易学易用;(b)高效方便的矩阵和数组运算;(c)极其方便的绘图功能;(d)带有SIMULINK动态仿真工具及Toolbox等其它功能;(e)扩充能力强。
2.1 仿真实例
图2即是此AC/DC/AC电源仿真。
图2 电源仿真模块图
如图所示,首先由50 Hz工频电源引出,经过一个Y/Δ变换的变压器,变为整流器可接受的低压。再经整流和滤波后,送入IGBT逆变器,逆变器的触发信号由带死区的PWM信号送入。然后再经三相滤波后,送入负载。
2.1 死区的实现
在simulink中虽然有很多现成的模块,但是Toolbox中只有理想化的PWM发生器,对于本文所要研究的死区效应,必须进行扩充和重新封装,建立一个带死区的PWM发生器模块。
在理想化的PWM模块中,桥臂上下两开关管的触发脉冲pulse1和pulse2俩个信号是互补的,但是在实际的逆变器中,由于开关元件都有一个关断的时间,所以触发的信号如果理想互补的化,必然发生上下桥臂直通,进而引发短路,会直接毁坏整个电源。因此,对于pulse1和pulse2俩个信号,在其俩个触发信号之间必须有一定的间隔,也就是所谓的死区。
首先在simulink的continous目录中找出transport delay模块,此一模块可以将一个函数延迟,在时轴上相当于将此一函数整体地向右平移。则设脉冲1即pulse1,延迟后的信号为脉冲1’即 pulse1’,则由逻辑关系,逻辑乘得到整定后的脉冲信号为脉冲1”即pulse1”:
pulse1*pulse1’=pulse1”
则由图可知,pulse1”相比于pulse1,触发信号上升沿向右平移,而下降沿不变。
同理,对于pulse2,也采用此一方法,使得上升沿右移下降沿不变,而pulse2的上升沿时间上接着pulse1的下降沿。如图3示。
图3 死区脉冲示意图
因此,用此方法就实现了两个触发信号之间的间隔,也就是死区。图4就是用此一算法实现的模块。
图4 死区模块仿真图
3 仿真结果
对输出的电源信号进行仿真。当载波频率为3 000 Hz,死区时间为0 ,调制深度为0.8时,谐波分析图为图5。
图5 无死区时谐波成分图
当载波频率为3 000 Hz,死区时间为5×10-5 s,调制深度为0.8时谐波分析图为图6。
图6死区时间50 μs谐波成分图
当载波频率为3 000 Hz,死区时间为10-4 s,调制深度为0.8时,谐波分析图为图7。
图7死区时间100μs时谐波成分图
由图可知,死区的存在给电压波形带来极大的影响,不但大大降低了基波的幅值,而且增加了谐波的含量。对于电机而言危害极大,不但降低机器效率,而且谐波产生杂散转矩,危害电机运行安全。
4 结论
本文对于SPWM逆变所产生的固有谐波和死区产生的附加谐波进行了数学分析,建立了可进行定量分析的数学模型。对于AC/DC/AC电源进行了基于MATLAB的仿真,并且实现了对带死区时间触发模型的MATLAB编程,且基于以上的工作对于带死区的SPWM电压波形进行了Fourier变换,对死区对于电压波形的影响做了初步的研究。
评论