本文引用地址:http://www.eepw.com.cn/article/179556.htm
1概述
传统的SPWM采用频率数倍于正弦波的三角波调制正弦波,可得到近似于正弦波的输出。三角波的频率越高,即载波比越高,谐波的频率就越高,输出端滤波器就更容易去除谐波。在输出频率固定的场合,如正弦波逆变电源,其输出频率固定在50Hz左右,这种场合采用软件设计可降低系统的成本,一般将数据存入存储器,通过CPU的定时器中断调用可完成SPWM控制。在变频场合,如三相交流异步电机的驱动,由于需要输出三相变频的SPWM信号,一般采用8254可编程定时器,以减少CPU的工作量。
SPWM设计采用传统方法得到的正弦波较理想,由于三角波是超越方程,正弦信号用单片机产生也较困难,因此,传统方法较难实现。现在有许多新方法产生,这些方法实现简单但对生成的正弦波影响不大,如对称规则采样法,双缘调制法等。
MATLAB是一个高级的数学分析与运算软件,具有强大的计算功能。SPWM控制通过MATLAB进行分析和设计,可取得事半功倍的效果。
以下的分析若无特殊说明,均基于双极型调制,基频为50Hz的SPWM控制。
2SPWM数据的计算
采用MATLAB可方便地得到正弦波与三角波的交点。在判断交点时,可通过交点的数学定义来判断。所谓交点,就是在交点附近时刻两函数之差值的绝对值趋于0,而在交点附近的极小区域,离交点越远,差值的绝对值逐渐增大。以下子程序为计算交点的MATLAB程序。x为基波数据,y为载波数据,m为交点时刻数据。
fori=2:n
if(abs(x(i)-y(i))=abs(x(i+1)-y(i+1)))&(abs(x(i)-y(i))=abs(x(i-1)-y(i-1)))
m(j)=i;
j=j+1
end;
end;
3各种SPWM算法的分析
(1)传统的SPWM法
将50Hz的正弦波与10kHz的三角波相交,将采样的数据存为n。
计算功率频谱程序
l=fft(n,1024);
p=l.*conj(1)/1024;
f=l:1024;
plot(f,p,`b');
由以上程序可得输出频谱图,如图1所示。
图1中横轴为数字频率,数字n对应的频率f=50n
将三角波频率提高4倍,输出频谱图如图2所示。
可见,随着三角波频率的提高,输出的电压中谐波频率也随之提高。
图1m=0.94,f=2.5kHz对应的输出频谱