(北京航空航天大學(xué)可靠性與系統(tǒng)工程學(xué)院 北京 100000)
各種PWM控制策略,特別是正弦脈寬調(diào)制SPWM控制已在逆變技術(shù)中得到廣泛應(yīng)用。該技術(shù)是基于沖量等效原理,用一系列等幅而不等寬的窄脈沖序列代替同樣數(shù)量且彼此相連的正弦波脈沖,而這一序列的產(chǎn)生,是用正弦波與高頻三角波比較得到的。隨著數(shù)字信號處理技術(shù)的發(fā)展及高速DSP芯片的不斷推出,越來越多的設(shè)計圍繞DSP展開,這也使得SPWM波的產(chǎn)生無論從硬件還是軟件上都大為簡化,并且能獲得高穩(wěn)定性、高可靠性的控制效果。
本文就要介紹一種基于TI公司專門為工業(yè)應(yīng)用而設(shè)計的新一代DSP處理器TMS320F2812來實現(xiàn)SPWM信號產(chǎn)生的方法。TMS320F2812是美國德州儀器公司TI最新研制的一代32位定點數(shù)字信號處理器(DSP)芯片,有工作頻率達(dá)150MHz的32位DSP內(nèi)核處理器,TMS320F2812片內(nèi)擁有高達(dá)128K X 16位的FLASH程序存儲器,在大多數(shù)情況下,可以滿足序存儲的需要??刂粕蒘PWM主要利用的是片上的事件管理器模塊(EVA和EVB),此法產(chǎn)生的SPWM波,已經(jīng)廣泛使用于逆變電路等開關(guān)器件的通斷。
用軟件實現(xiàn)SPWM波,需要一定的數(shù)學(xué)模型。建立數(shù)學(xué)模型的方法有很多,常用的有諧波消去法、等面積法、采樣型SPWM法等,本文研究的是采樣型SPWM法。其中自然采樣法雖能真實反映脈沖產(chǎn)生與結(jié)束的時刻,卻不適于微機實時控制。相比較而言,對稱規(guī)則采樣法計算簡單,產(chǎn)生的SPWM波形,具有速度快、變頻方便等優(yōu)點。精度也往往能得到保證,因此在實際應(yīng)用當(dāng)中,用得最多的還是此種方法。
產(chǎn)生SPWM波的原理是:用一組等腰三角波與一個正弦波進(jìn)行比較,其相交的時刻(即交點)作為開關(guān)管“開”或“關(guān)”的時刻,這組等腰三角形波稱為載波,而正弦波稱為調(diào)制波,如圖1所示。正弦波的頻率和幅值是可控制的,改變正弦波的頻率,就可以改變電源輸出電壓的頻率,改變正弦波的幅值,也就改變了正弦波與載波的交點,使輸出脈沖系列的寬度發(fā)生變化,從而改變電源輸出電壓的大小。
圖1 SPWM的實現(xiàn)方法
由于DSP的定時器產(chǎn)生的三角波都是從0往上計數(shù)到周期,然后往下計數(shù)到0,中間沒有負(fù)半波,所以從簡化編程考慮,把坐標(biāo)原點定在三角波的波谷處。以便得到等效雙極性SPWM波。實際的模型如圖2所示,此時三角波的幅值變化范圍為0一Ur,而正弦波為:
圖2 采樣法
式中:M是調(diào)制比
對稱規(guī)則采樣法是從自然采樣法演變而來的,因為工程上的實際應(yīng)用要求計算方法簡單,誤差不是很大。
其基本思想是:在等腰三角載波的波谷時刻對正弦調(diào)制波進(jìn)行采樣而得一點,過此點作一水平直線和三角波分別交于兩點,在此兩點控制功率器件的通斷。也就是說,該法是用一段水平線段代替一段正弦曲線,從而將正弦波簡化為階梯波。
根據(jù)相似三角形關(guān)系,可得:
所以
B、c兩相的開通時刻計算公式與A相一致,只是比較寄存器采樣時刻不同,分別為:
TMS320F2812事件管理器A(EVA)的脈沖寬度調(diào)制電路共有3個全比較單元,每個單元都能輸出兩個帶有可編程死區(qū)和極性相反的PWM信號(如圖3),正好滿足三相逆變器的需要。在控制領(lǐng)域中,PWM電路極大地減小了產(chǎn)生PWM波形的CPU開銷,也簡化了用于產(chǎn)生同步脈寬調(diào)制波形的控制軟件和外部硬件。
圖3 EVA的PWM電路模塊圖
設(shè)置通用定時器I(GPTl)為連續(xù)增/減計數(shù)模式,以此作為時基來模擬前面所述的三角載波,載波周期為2*T1PR(定時器1周期寄存器值)個定標(biāo)輸入時鐘周期。在定時器1計數(shù)的過程中,其值不斷與比較寄存器CMPRx(x=1。2,3)的值進(jìn)行比較,當(dāng)計數(shù)值與比較寄存器的值相等時,則發(fā)生比較匹配,對應(yīng)的PWM輸出引腳發(fā)生電平翻轉(zhuǎn)。在連續(xù)增/減計數(shù)模式下,一個周期將發(fā)生兩次電平翻轉(zhuǎn),從而輸出一對稱PWM脈沖。比較寄存器的值代表脈沖寬度計數(shù)值,實時在線改變該值,就可以改變兩次電平翻轉(zhuǎn)的時刻,從而可以改變每個PWM脈沖的寬度。此外再通過配置死區(qū)發(fā)生單元和輸出邏輯,就可以很方便的從通用輸入/輸出(GPIO)多路復(fù)用端口輸出所需的SPWM波形。
TMS320F2812的波形發(fā)生器,屬于DSP芯片的外部事件管理模塊,占用CPU的時間很少,可以方便地產(chǎn)生三相六路帶有可編程死區(qū)和輸出極性的SPWM波形。
本文調(diào)制波頻率為50HZ,置N=255,則載波頻率就為12750HZ,以此產(chǎn)生與電網(wǎng)同頻率的正弦波。
void InitSysCtrl(void)
{
Uint16 i;
EALLOW;
// 禁止開門狗
SysCtrlRegs.WDCR=0x0068;
// 初始化 PLL模塊
SysCtrlRegs.PLLCR=0xA;///系統(tǒng)時鐘30*10/2=150M
//延時,使得PLL初始化成功
for(i=0;i< 5000;i++){}
SysCtrlRegs.HISPCP.all=0x0001;//HSPCLK=150M/2=75M
SysCtrlRegs.LOSPCP.all=0x0002;//LSPCLK=150M/4=37.5M
SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;//使能EVA的時鐘
EDIS;
}
在程序中設(shè)置
EvaRegs.T1CON.all=0x094e;
即T1CON寄存器的值為0000 1001 0100 1110
圖4 通用定時器控制寄存器功能框圖
對比框圖,第12、11位為01,即采用的是連續(xù)增/減模式 。10、9、8為001即輸入時鐘預(yù)定標(biāo)參數(shù)為x/2,也就是說,T1CNT每計數(shù)一次,所需要的時間是(1/37.5)us。由于T1現(xiàn)在是連續(xù)增/減模式, 那么1個PWM周期需要的是(2T1PR)個時鐘周期,因此有:
EvaRegs.COMCONA.all=0xa600;// 使能比較,下溢或周期中斷重載
EvaRegs.ACTR.all=0x0666;//1、3、5輸出高有效,2、4、6輸出低有效。
EvaRegs.DBTCONA.bit.DBT=6;//死區(qū)定時器周期為6
EvaRegs.DBTCONA.bit.EDBT1=1;//死區(qū)定時器1使能
EvaRegs.DBTCONA.bit.DBTPS=5;//死區(qū)定時器預(yù)定標(biāo)因子,死區(qū)時鐘為HSPCLK/32
DSP控制系統(tǒng)程序主要有主程序和中斷服務(wù)程序。中斷服務(wù)程序用來產(chǎn)生正弦脈寬SPWM信號。在主程序初始化完畢后,設(shè)置T1CON,啟動定時器1開始工作,并重新開啟中短。
主程序:
void main(void){
k0 = 0;
h1 = 0;
h2 = 0;
InitSysCtrl();
DINT; //禁止全局中斷
IER=0;
IFR=0;
EALLOW;
// Enable PWM pins
GpioMuxRegs.GPAMUX.all = 0x00FF; // EVA PWM 1-6 pins
EDIS;
InitPieCtrl();
InitPieVectTable();
EALLOW;
PieVectTable.T1UFINT=&eva_T1UFINT_ISR;
EDIS;
IER|=M_INT2;
PieCtrl.PIEIER2.bit.INTx6=1;
InitEv();
zkb();
EvaRegs.T1CON.all=EvaRegs.T1CON.all|0x0040; //啟動定時器1
EINT;
while(1)
{
asm("NOP");
}
}
按照以上思路編寫出的軟件經(jīng)過調(diào)試編譯,運行良好,SPWM波形正常,如圖5。脫離仿真環(huán)境后和逆變電路連接在一起,驅(qū)動IGBT工作,逆變出的三相正弦波波形良好。
圖5 實驗波形圖
(1)利用TMS320F2812自帶的EVA,極大的方便了PWM波形的生成,為后續(xù)實驗開發(fā)提供有利保障。
(2)用TMS320F2812芯片產(chǎn)生的PWM信號具有精度高,波形可靠等優(yōu)點,有很高的實際使用價值。