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