新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 一款基于DSP的三相SPWM變頻電源電路的設(shè)計

一款基于DSP的三相SPWM變頻電源電路的設(shè)計

作者: 時間:2013-11-17 來源:網(wǎng)絡(luò) 收藏
7, 77); font-family: Arial, tahoma, Verdana; font-size: 14px; line-height: 24px; ">

圖5主程序流程圖

定時器周期中斷子程序

主要進行PI調(diào)節(jié),更新占空比,產(chǎn)生SPWM波。定時器周期中斷流程圖如圖6所示。

本文引用地址:http://2s4d.com/article/227966.htm



圖6定時器周期中斷流程圖

A/D采樣子程序

主要完成線電流采樣和線電壓采樣。為確保電壓與電流信號間沒有相對相移,本部分利用片上ADC的同步采樣方式。為提高采樣精度,在A/D中斷子程序中采用均值濾波的方法。

對A相電壓和電流A/D的同步采樣部分代碼如下:

interrupt void adc_isr(void)

{

if(counter==0)

{

receive_a0_data[i++] = AdcRegs.ADCRESULT0>>4;//右移四位

receive_b0_data[j++] = AdcRegs.ADCRESULT1>>4;//右移四位

}

if(counter>=1)

{ //對結(jié)果取平均,平滑濾波

receive_a0_data[i++] = (receive_a0_data[i0++]+(AdcRegs.ADCRESULT0>>4))/2;

receive_b0_data[j++] = (receive_b0_data[j0++]+(AdcRegs.ADCRESULT1>>4))/2;

}

if(i==512) {i=0;i0=0;}

if(j==512) {j=0;j0=0;counter++;}

AdcRegs.ADCTRL2.bit.RST_SEQ1 =1;//復(fù)位排序器

AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;//清中斷標志位

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;//開中斷應(yīng)答

}

數(shù)據(jù)處理算法

本系統(tǒng)主要用到以下算法:(1)SVPWM算法(2)PID調(diào)節(jié)算法(3)頻率檢測算法

SVPWM算法

變頻電源的核心就是SVPWM波的產(chǎn)生,SPWM波是以正弦波作為基準波(調(diào)制波),用一列等幅的三角波(載波)與基準正弦波相比較產(chǎn)生PWM波的控制方式。當基準正弦波高于三角波時,使相應(yīng)的開關(guān)器件導(dǎo)通;當基準正弦波低于三角波時,使相應(yīng)的開關(guān)器件截止。由此,逆變器的輸出電壓波形為脈沖列,其特點是:半個周期中各脈沖等距等幅不等寬,總是中間寬,兩邊窄,各脈沖面積與該區(qū)間正弦波下的面積成比例。這種脈沖波經(jīng)過低通濾波后可得到與調(diào)制波同頻率的正弦波,正弦波幅值和頻率由調(diào)制波的幅值和頻率決定。



圖7不規(guī)則采樣法生成SPWM波原理圖

本文采用不對稱規(guī)則采樣法,即在三角波的頂點位置與低點位置對正弦波進行采樣,它形成的階梯波更接近正弦波。不規(guī)則采樣法生成SPWM波原理如圖7所示。圖中,Tc是載波周期,M是調(diào)制度,N為載波比,Ton為導(dǎo)通時間。

由圖7得:



當k為偶數(shù)時代表頂點采樣,k為奇數(shù)時代表底點采樣。

SVPWM算法實現(xiàn)過程:

利用F28335內(nèi)部的事件管理器模塊的3個全比較單元、通用定時器1、死區(qū)發(fā)生單元及輸出邏輯可以很方便地生成三相六路SPWM波形。實際應(yīng)用時在程序的初始化部分建立一個正弦表,設(shè)置通用定時器的計數(shù)方式為連續(xù)增計數(shù)方式,在中斷程序中調(diào)用表中的值即可產(chǎn)生相應(yīng)的按正弦規(guī)律變化的SPWM波。SPWM波的頻率由定時時間與正弦表的點數(shù)決定。

SVPWM算法的部分代碼如下:

void InitEv(void)

{

EALLOW;

GpioMuxRegs.GPAMUX.all=0x00FF;

EDIS;

EvaRegs.EVAIFRA.all = 0xFFFF;//清除中斷標志

EvaRegs.T1PR= 2500;//定時器1周期值;定時0.4us*2500=1ms

EvaRegs.T1CMPR = XPWM;//比較值初始化

EvaRegs.T1CNT = 0;EvaRegs.T1CON.all = 0xF54E;//增模式;TPS系數(shù)80M/32=2.5M;T1使能;

EvaRegs.ACTR.all = 0x0006; //PWM1,2低有效

EvaRegs.DBTCONA.all = 0x0534; //使能死區(qū)定時器1,分頻80M/32=2.5M,死區(qū)時

//間5*0.4us=2us

EvaRegs.COMCONA.all = 0xA600; //比較控制寄存器

EvaRegs.EVAIMRA.all = 0x0080;

}

PID調(diào)節(jié)算法

在實際控制中很多不穩(wěn)定因素易造成增量較大,進而造成輸出波形的不穩(wěn)定性,因此必須采用增量式PID算法對系統(tǒng)進行優(yōu)化。PID算法數(shù)學(xué)表達式為

Upresat(t)= Up(t)+ Ui(t)+ Ud(t)

其中,Up(t)是比例調(diào)節(jié)部分,Ui(t)是積分調(diào)節(jié)部分,Ud(t)是微分調(diào)節(jié)部分。

本文通過對A/D轉(zhuǎn)換采集來的電壓或電流信號進行處理,并對輸出的SPWM波進行脈沖寬度的調(diào)整,使系統(tǒng)輸出的電壓保持穩(wěn)定。

PID調(diào)節(jié)算法的部分代碼如下:

float PIDCalc( PID *pp, int NextPoint )

{

int dError,Error;

Error=pp->SetPoint*10-NextPoint; //偏差

pp->SumError+= Error; //積分

dError=pp->LastError-pp->PrevError; //當前微分

pp->PrevError = pp->LastError;

pp->LastError = Error;

return

((pp->Proportion) * Error //比例項

+ (pp->Integral) * (pp->SumError) //積分項

+ (pp->Derivative) * dError); //微分項

}

頻率檢測算法

頻率檢測算法用來檢測系統(tǒng)輸出電壓的頻率。用片上事件管理器模塊的捕獲單元捕捉被測信號的有效電平跳變沿,并通過內(nèi)部的計數(shù)器記錄一個周波內(nèi)標頻脈沖個數(shù),最終進行相應(yīng)的運算后得到被測信號頻率。

實驗結(jié)果

測量波形

在完成上述硬件設(shè)計的基礎(chǔ)上,本文采用特定的PWM控制策略,使逆變器拖動感應(yīng)電機運行,并進行了短路、電機堵轉(zhuǎn)等實驗,證明采用逆變器性能穩(wěn)定,能可靠地實現(xiàn)過流和短路保護。圖8是電機在空載條件下,用數(shù)字示波器記錄的穩(wěn)態(tài)電壓波形。幅度為35V,頻率為60Hz.



圖8輸出線電壓波形

測試數(shù)據(jù)

在不同頻率及不同線電壓情況下的測試數(shù)據(jù)如表1所示。



表1不同輸出頻率及不同線電壓情況下實驗結(jié)果

結(jié)果分析

由示波器觀察到的線電壓波形可以看出,波形接近正弦波,基本無失真;由表中數(shù)據(jù)可以看出,不同頻率下,輸出線電壓最大的絕對誤差只有0.6V,相對誤差為1.7%.

結(jié)束語

本文設(shè)計的三相正弦波變頻電源,由于采用了不對稱規(guī)則采樣算法和PID算法使輸出的線電壓波形基本為正弦波,其絕對誤差小于1.7%;同時具有故障保護功能,可以自動切斷輸入交流電源。因此本系統(tǒng)具有電路簡單、抗干擾性能好、控制效果佳等優(yōu)點,便于工程應(yīng)用,具有較大的實際應(yīng)用價值。


上一頁 1 2 下一頁

關(guān)鍵詞: TMS320F28335 LC濾波 IR2130

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉