<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一款基于DSP的三相SPWM變頻電源電路的設(shè)計(jì)

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

          作者: 時(shí)間:2014-10-21 來(lái)源:網(wǎng)絡(luò) 收藏

            A/D采樣子程序

          本文引用地址:http://www.ex-cimer.com/article/264227.htm

            主要完成線(xiàn)電流采樣和線(xiàn)電壓采樣。為確保電壓與電流信號(hào)間沒(méi)有相對(duì)相移,本部分利用TMS320F28335片上ADC的同步采樣方式。為提高采樣精度,在A(yíng)/D中斷子程序中采用均值濾波的方法。

            對(duì)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)

            { //對(duì)結(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;//清中斷標(biāo)志位

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

            }

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

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

            SVPWM算法

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

            

           

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

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

            由圖7得:

            

           

            當(dāng)k為偶數(shù)時(shí)代表頂點(diǎn)采樣,k為奇數(shù)時(shí)代表底點(diǎn)采樣。

            SVPWM算法實(shí)現(xiàn)過(guò)程:

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

            SVPWM算法的部分代碼如下:

            void InitEv(void)

            {

            EALLOW;

            GpioMuxRegs.GPAMUX.all=0x00FF;

            EDIS;

            EvaRegs.EVAIFRA.all = 0xFFFF;//清除中斷標(biāo)志

            EvaRegs.T1PR= 2500;//定時(shí)器1周期值;定時(shí)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ū)定時(shí)器1,分頻80M/32=2.5M,死區(qū)時(shí)

            //間5*0.4us=2us

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

            EvaRegs.EVAIMRA.all = 0x0080;

            }

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

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

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

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

            本文通過(guò)對(duì)A/D轉(zhuǎn)換采集來(lái)的電壓或電流信號(hào)進(jìn)行處理,并對(duì)輸出的SPWM波進(jìn)行脈沖寬度的調(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; //當(dāng)前微分

            pp->PrevError = pp->LastError;

            pp->LastError = Error;

            return

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

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

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

            }

            頻率檢測(cè)算法

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

            實(shí)驗(yàn)結(jié)果

            測(cè)量波形

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

            

           

            圖8輸出線(xiàn)電壓波形

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

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

            

           

            表1不同輸出頻率及不同線(xiàn)電壓情況下實(shí)驗(yàn)結(jié)果

            結(jié)果分析

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

            結(jié)束語(yǔ)

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

          pid控制相關(guān)文章:pid控制原理


          dc相關(guān)文章:dc是什么


          手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)


          pid控制器相關(guān)文章:pid控制器原理


          電源濾波器相關(guān)文章:電源濾波器原理


          衰減器相關(guān)文章:衰減器原理

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: DSP SPWM PID

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();