一種基于C8051單片機(jī)的SPWM波形實現(xiàn)方案
應(yīng)該注意的一點(diǎn)是,CCFn位和CF位(計數(shù)器/定時器溢出標(biāo)志)由硬件置位,但不能由硬件自動清0,必須在中斷程序中用軟件清0。
4 最小脈沖問題分析
由于硬件原因,任何微控制器都不能輸出寬度無限小的脈沖,這就使得理想SPWM脈沖序列中小于一定寬度的窄脈沖不能正常輸出,即最小脈沖問題。
對于C8051單片機(jī),它的PCA所能輸出的最小脈沖取決于其中斷服務(wù)程序執(zhí)行的時間,所以其最小脈沖問題不容忽視。解決該問題的具體方法有:①采用匯編語言編寫中斷服務(wù)子程序并且應(yīng)用最精簡省時的指令,減小最小脈沖的寬度;②在計算SPWM波脈沖寬度時,對寬度小于PCA所能輸出最小寬度的脈沖進(jìn)行修正,使它們的寬度為最小脈沖的寬度;③限制調(diào)制比M,使SPWM脈沖序列中不會含有過多的小脈沖。
5 實驗結(jié)果
實驗主電路為單相全橋逆變電路,主開關(guān)管采用IGBT,輸出100V,50-400Hz頻率可調(diào)的交流電壓。由單片機(jī)輸出兩路互補(bǔ)(有一定死區(qū)時間)單極性SPWM波來控制該逆變電源。
實驗中,對輸出SPWM波的最小脈沖問題進(jìn)行了處理,采用匯編語言對中斷服務(wù)子程序進(jìn)行編程,使得SPWM波形中最小脈沖的寬度達(dá)到了3us,這個寬度(時間)基本達(dá)到實驗中所用IGBT的最小開關(guān)周期。圖4示出了兩路單極性SPWM波的實驗波形,圖5圖6分別示出了頻率為200Hz和300Hz時的輸出電壓實驗波形:
由實驗波形可以看出,由C8051產(chǎn)生SPWM波的控制效果較好,可以準(zhǔn)確、實時地調(diào)節(jié)輸出電壓的頻率。
6 結(jié)論
利用C8051單片機(jī)產(chǎn)生SPWM波形是一種簡單易行的方法,具有運(yùn)算精度高、實時調(diào)節(jié)性強(qiáng)的特點(diǎn)。同時,通過改變SPWM波脈寬計算的方法,可以方便地實現(xiàn)雙極性SPWM波形。因而,這種方法適合于對輸出SPWM波形的極性、路數(shù)和頻率有不同要求的場合。
參考文獻(xiàn)
[1]李自成等 . 基于87C196MC形成SPWM波的研究[J] .高電壓技術(shù),2004(12):10-12
[2]盧慧芬 . 基于DSP的SPWM控制波形生成的一種方法[J] . 機(jī)電工程,2002(5):30-34
[3]李剛,林凌. 與8051兼容的高性能、高速單片機(jī)——C8051Fxxx. 北京:北京航空航天大學(xué)出版社,2002
評論