摘 要:針對SPWM波調制在逆變變頻電源中的廣泛應用,介紹了采用高性能數字信號處理器(DSP)TMS320F2812的片內外設事件管理器的功能生成三相SPWM波的方法,給出了整個程序流程圖,主要功能程序源碼和實驗結果。該方法采用不對稱規則采樣算法,程序實現主要采用查表法。實驗結果表明,該方法簡既能滿足一定控制精度要求,又能滿足實時性要求,可以很好地控制115 V/400 Hz逆變電源的輸出。
關鍵詞:DSP;TMS320F2812;SPWM;采樣法;逆變電源
中圖分類號:TN914 文獻標識碼:B
文章編號:1004373X(2008)0313103
Realization of Three—phase Voltage Source SPWM on TMS320F2812
YUAN Li1,LI Bin1,JIANG Zaifang2
(1.Faculty ofElectricalEngineeringandInformationTechnology,Hebei University of Science and Technology,Shijiazhuang,050054,China)
2.Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming,650224,China)
Abstract:The paper aims at the application of SPWM in the inverter power supply and introduces the method for generating SPWM waveform by using TMS320F2812 event manager.The flow chart,sound code and experimental results are provided.The dissymmetrical sampling algorithm and looking—up table are used.Experiment shows that the method can meet the control precision and the real—time.It can control the output voltage of the 115V/400 Hz inverter power supply.
Keywords:DSP;TMS320F2812;SPWM;sampling algorithm;inverter power supply
1 引 言
SPWM技術目前已經在實際中得到非常普遍的應用,尤其在逆變電路中的應用最為廣泛,經過長期的發展,大致可分成電壓SPWM、電流SPWM和電壓空間矢量SPWM。其中電壓和電流SPWM是從電源角度出發的SPWM,而電壓空間矢量SPWM是從電動機角度出發的SPWM。
本文以400 Hz三相逆變電源的研發為依托,介紹利用TMS320F2812生成電壓SPWM的技術。產生電壓SPWM波的方法可分為硬件法和軟件法兩類,硬件法最實用的是采用專用集成電路,如SA4828,HEF4752,SLE4520等,軟件法是使電路成本最低的方法,他通過實時計算來生成SPWM波,實時計算對控制器的運算速度要求非常高,高性能的DSP(數字信號處理器)無疑是能滿足這一要求的性價比最理想的選擇。
2 SPWM基本原理
PWM(Pulse Width Modulation)控制就是對脈沖的寬度進行調制的技術,即通過對一系列脈沖的寬度進行調制,來等效地獲得所需要波形。SPWM波形(Sinusoidal PWM)就是脈沖的寬度按正弦規律變化而和正弦波等效的PWM波形。
產生SPWM波的原理是:用一組等腰三角波與一個正弦波進行比較,其相交的時刻(即交點)作為開關管“開”或“關”的時刻,這組等腰三角形波稱為載波,而正弦波稱為調制波,如圖1所示。正弦波的頻率和幅值是可控制的,改變正弦波的頻率,就可以改變電源輸出電壓的頻率,改變正弦波的幅值,也就改變了正弦波與載波的交點,使輸出脈沖系列的寬度發生變化,從而改變電源輸出電壓的大小。
圖1 SPWM波生成方法
3 軟件設計
3.1 TMS320F2812的事件管理器模塊
TMS320F2812是TI公司推出的高速數字信號處理芯片,器件上集成了多種先進的外設,為電機及其他運動控制領域應用的實現提供了良好的平臺,控制生成SPWM主要利用的是片上的事件管理器模塊(EVA和EVB),該模塊具有以下主要功能:
(1) 5個獨立的PWM輸出,其中3個由比較單元產生,2個由通用定時器產生。另外還有3個由比較單元產生的PWM互補輸出;
(2) 由比較單元產生的PWM死區可編程;
(3) 能夠產生可編程的非對稱、對稱和空間矢量PWM波形;
(4) 比較寄存器和周期寄存器可自動裝載,減少CPU的開銷。
3.2 SPWM波的生成
3.2.1 總體思路
本文利用的是EVA模塊,當定時器T1處于連續遞增/遞減計數模式時,計數寄存器(T1CNT)中的數值的變化軌跡就是等腰三角形,也就相當于產生了一系列的等腰三角形波,當比較寄存器(CMPRx,x=1,2,3)中的值與計數寄存器中的值相等時,對應的引腳(PWMx,x=1,2,3,4,5,6)上的電平就會發生跳變,從而輸出一系列的等高的方波信號,如圖2所示。至于輸出的方波的寬度,就和比較寄存器中的值一一對應,因此,只要使比較寄存器中的值按正弦規律變化,就可以得到SPWM波形。
圖2 在連續遞增/遞減模式下的PWM輸出
3.2.2 算法分析
通過實時計算生成電壓SPWM需要數學模型,建立數學模型的方法有多種,比如諧波消去法、等面積法、采樣型SPWM法以及他們派生出來的各種方法。本文介紹的生成SPWM波采用的是不對稱規則采樣法,不對稱規則采樣法是用階梯波去逼近正弦波,每個載波周期內采樣兩次,既在三角波的頂點對稱軸位置采樣,又在三角波的底點對稱軸位置采樣,由于這樣采樣所形成的階梯波與三角波的交點不對稱,故稱其為不對稱規則采樣法,如圖3所示。此法所形成的階梯波與正弦波的逼近程度大大提高,所以諧波分量的幅值更小,在實際中得到了較多的應用。
圖3中所示,Us是三角載波峰值,Tc是三角載波周期,t1和t2分別是兩次采樣時刻,他們決定了SPWM波上的“開”、“關”時間分別是ton1,toff1和ton2,toff2。根據三角形相似關系式推導可得:
式中M=UM/US,即正弦波峰值與三角波峰值之比,M稱為調制度。N=fc/f=1/(Tcf),即三角波頻率fc與正弦波頻率f之比,N稱為載波比。k為偶數時代表頂點采樣,k為奇數時代表底點采樣。以上是生成單相SPWM波的數學模型,要生成三相SPWM波,必須使用三條正弦波和同一條三角波求交點,三相正弦波依次相差120°,所以在頂點采樣時三相的脈寬分別是:
圖3 不對稱規則采樣法生成SPWM波
3.2.3 程序流程圖
程序有主程序和定時器下溢中斷子程序組成,主程序是一個無限循環結構,他的主要工作是系統的初始化,根據中斷子程序中給出的比較寄存器的值生成SPWM波。流程圖如圖4所示。中斷子程序的主要功能是計算比較寄存器的值,流程圖如圖5所示。
3.2.4 程序編寫
本例程的載波頻率為12 kHz,調制波頻率為400 Hz,DSP時鐘頻率為150 MHz,載波周期Tc=1/(12×150×109)=12 388個計數周期。
主程序:
void main(void)
{ //step1:初始化系統控制寄存器,PLL,看門狗,時鐘等
InitSysCtrl();
EALLOW;
GpioMuxRegs.GPAMUX.all=0x003F;//使能PWM輸出的引腳
EDIS;
DINT;
IER=0x0000;
IFR=0x0000;//禁止和清除所有CPU中斷
InitPieCtrl() ;//初始化Pie控制寄存器位默認狀態
InitPieVectTable();//初始化PIE中斷向量表vector table;
InitPeripherals();
//step2:設置EVA的各寄存器
EvaRegs.T1PR=(int)(TC/2);//6194個計數周期,即0X1832
EvaRegs.T1CNT=0X0000;
EvaRegs.CMPR1=(int)(TC/2);
EvaRegs.CMPR2=(int)(TC/2);
EvaRegs.CMPR3=(int)(TC/2);
EvaRegs.ACTRA.all=0x0666;//1,3,5高有效。2,4,6低有效
EvaRegs.DBTCONA.all=0X0FF8;//死區時間1.6微秒
EvaRegs.COMCONA.all=0XAA00;//使能比較,下溢重載
EvaRegs.T1CON.all=0X0842;//連續增減計數模式
//設置中斷:
EvaRegs.EVAIFRA.all=0XFFFF;
EvaRegs.EVAIFRB.all=0XFFFF;
EvaRegs.EVAIFRC.all=0XFFFF;//清EVA所有中斷標志位
EvaRegs.EVAIMRA.all=0X0200;
EvaRegs.EVAIMRB.all=0X0000;
EvaRegs.EVAIMRC.all=0X0000;
EALLOW;//更新中斷向量
PieVectTable.T1UFINT=T1UFINT_IS;
EDIS;
IER |= M_INT2;
PieCtrl.PIEIER2.bit.INTx6=1;//開2.6級定時器1下溢中斷
EINT;
ERTM;
for(;;);
}
中斷子程序主要是計算功能,按圖5所示的流程圖一步步編寫即可,程序不再列出。至于在計算中用到的正弦sin值,為了保證控制的實時性,最好把用到的sin值事先計算出來做成一個數組放在DSP的數據存儲器中,存放位置及長度需在.cmd文件中進行設置。
圖4 主程序流程圖
圖5 定時器下溢中斷子程序流程圖
4 實驗結果
按照以上思路編寫出的軟件經過調試編譯,運行良好,SPWM波形正常,如圖6(a)、圖6(b)所示。脫離仿真環境后和逆變電路連接在一起,驅動IGBT工作,逆變出的三相正弦波波形良好。
圖6 實驗結果
5 結 語
利用此方法由TMS320F2812生成的SPWM波已經在400 Hz/115 V的逆變電源中應用,電源運行正常,輸出的電壓頻率幅值都在允許范圍內。結果證明該方法的準確性高,完全可行,尤其在變頻變壓電源的控制中有很好的應用。
參考文獻
[1]王曉明,王玲.電動機的DSP控制—TI公司DSP應用[M].北京:北京航空航天大學出版社,2004.
[2]蘇奎峰,呂強,耿慶鋒,等.TMS320F2812原理與開發[M].北京:電子工業出版社,2005.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。