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)-