本文引用地址: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對應的輸出頻譜