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