專利名稱:基于dsp的三電平spwm波形的產(chǎn)生方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種形成三電平SPWM波形的方法,尤其涉及一種基于 DSP的三電平SPWM波形的生產(chǎn)方法,主要應(yīng)用于USP中。
背景技術(shù):
三電平中點(diǎn)箝位型逆變器是最常用的電路拓?fù)?,?qū)動(dòng)產(chǎn)生三相三電平 SPWM的波形的關(guān)鍵。傳統(tǒng)的SPWM波形產(chǎn)生方法將三角載波與正弦波經(jīng) 過比較器之后,得到一系列占空比可調(diào)的PWM。
隨著數(shù)字信號(hào)處理器件的不斷發(fā)展,TI公司專門針對(duì)電機(jī)控制的C2000 系列DSP芯片的出現(xiàn),芯片內(nèi)部集成的EVA, EVB組件使得軟件編寫PWM 驅(qū)動(dòng)信號(hào)很容易,那么驅(qū)動(dòng)波形的側(cè)重點(diǎn)就轉(zhuǎn)移到占空比可調(diào)的PWM技術(shù) 實(shí)現(xiàn)算法上。
現(xiàn)有技術(shù)一
利用DSP的事件管理器模塊的3個(gè)全比較單元,通過定時(shí)器,死區(qū)發(fā)生 單元及輸出邏輯,采用算法來(lái)生成三相12路三電平SPWM波形。不規(guī)則對(duì) 稱采樣法算法主要流程圖如圖l所示。算法思路與實(shí)現(xiàn)如下 A:SPWM信號(hào)產(chǎn)生的原理,以A相為例
根據(jù)流程圖,在計(jì)數(shù)下溢中斷程序內(nèi),計(jì)算第N個(gè)載波周期內(nèi)的開關(guān)時(shí) 間(不規(guī)則對(duì)稱采樣法在每個(gè)載波周期內(nèi),對(duì)三角形的波峰和波谷各采 樣一次,對(duì)取得的兩次Ton的值求平均就是占空比表達(dá)式),并將其裝入比 較寄存器CMPRX中。其中Ts表示采樣周期,通常程序里的開關(guān)周期與采樣 周期相等,Vo= (Am/Ac) Tc/2;在這里Am表示正弦的幅值,Ac表示三角
3載波的幅值。
A相占空比表達(dá)式(《/4.)H/2"(sin《+sin《)。 現(xiàn)有技術(shù)二
方法思路同上基本一樣,但在實(shí)現(xiàn)SPWM方法歩驟上不同,算法思路 現(xiàn)以載波頻率20K,正弦波頻率50HZ為準(zhǔn),其實(shí)現(xiàn)流程制作一周期400個(gè) 點(diǎn)的正弦表格,將這些值存儲(chǔ)在一數(shù)組中,直接?xùn)吮砼袛嗝總€(gè)取樣點(diǎn)值的 大小,并作出相應(yīng)的處理,A相波形出來(lái)之后,在此基礎(chǔ)上修改査表的指針
的初時(shí)位置,得到三相三電平SPWM,現(xiàn)以產(chǎn)生A相主要流程圖---如圖
2所示。
現(xiàn)有技術(shù)在算占空比子程序上很繁瑣,尤其是在每個(gè)過零點(diǎn)都要討論, A, B, C三相的分隔點(diǎn)也要討論。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是合理的利用DSP的溢出資源,比較合理、 簡(jiǎn)單地產(chǎn)生可靠的三電平SPWM信號(hào),不需要額外地對(duì)產(chǎn)生信號(hào)進(jìn)行多方 面的分析;提供一種只需要合理利用溢出中斷就能夠解決產(chǎn)生占空比可變 的SPWM信號(hào),而且產(chǎn)生波形的效果和現(xiàn)有的一樣;這樣,可在DSP中能 夠節(jié)省大量的存儲(chǔ)空間。
為解決上述技術(shù)問題,本發(fā)明提供一種基于DSP的三相三電平SPWM 波形的生產(chǎn)方法,采用如下技術(shù)方案
基于DSP的三電平SPWM波形的生產(chǎn)方法,其包含以下步驟
1) 建立依次交互通信連接的輸入模塊、運(yùn)算模塊和輸出模塊,以及與 所述運(yùn)算模塊交互通信連接的存儲(chǔ)模塊;
2) 通過運(yùn)算模塊按如下程序進(jìn)行
4i )記取數(shù)值N;
ii)同時(shí)分別查表計(jì)算bl=t*m*a [N]和b2 = t* { l+m*a [N]}, 其中N〈200時(shí)a [N] =a [n],當(dāng)N^200時(shí)a [N] =—a [n—200];并 將其值分別存儲(chǔ)到CMPR1和CMPR2中;
iii)利用占空比子程序計(jì)算并將al [N]賦值給EvaRegs.CMPRl得到 正弦的上半部分;將一al [N]賦值給EvaRegs.CMPRl得到正弦的下半部 分。
上述方法,其具體應(yīng)用于模塊化UPS中。
根據(jù)DSP的溢出規(guī)律當(dāng)輸出值大于計(jì)數(shù)器最大值時(shí)會(huì)以計(jì)數(shù)器最大 值輸出,當(dāng)輸出值小于零時(shí),輸出為零;可以充分利用這一點(diǎn),在此可以 不用去分情況考慮在三電平SPWM波中前后的關(guān)系。
具體實(shí)施方式
軟件部分占空比計(jì)算子程序如下制定半周期的正弦表 格,以產(chǎn)生50HZ正弦為例
從考慮所占資源,計(jì)算速度來(lái)看,制作半周期正弦表格,在占空比計(jì) 算子程序中,先確定A相的CMPR所要求賦給的值,考慮到正弦信號(hào)的對(duì) 稱性,在一周期360度中,在0-180度的時(shí)候查取正弦表格的值,然后對(duì)査 出的值做處理,180到360度時(shí)給予CMPR —個(gè)固定的占空比的值以實(shí)現(xiàn)A 相的SPWM信號(hào)的產(chǎn)生,在此基礎(chǔ)上,將A相查表指針后移2/3和4/3分 別得到B, C兩相。
A相產(chǎn)生主要流程圖如下
在上述流程圖中N<200時(shí)a[N]=a[n];當(dāng)N^200時(shí)a[N]=-a[n-200];
在EV中計(jì)數(shù)最大值為t,充分利用DSP的溢出,當(dāng)N〈200時(shí),bl的 值為正,且小于t,當(dāng)N^200時(shí),t〈0,但DSP中輸出全為高電平,故當(dāng)N^200 時(shí)輸出為0電平。CMPR1的值是滿足正弦規(guī)律變化的PWM。同理,當(dāng)N<200時(shí),b2^t,因記數(shù)最大值為t,溢出,此時(shí)CMPR2 的值為t,當(dāng)N〈200時(shí),b2的值為正,且小于t。 CMPR2的值是滿足正弦 規(guī)律變化的PWM。
在上述流程圖中N<200時(shí)a[N]=a[n];當(dāng)N^200時(shí)a[N]二a[n-200];
在EV中計(jì)數(shù)最大值為t,充分利用DSP的溢出,當(dāng)N<200時(shí),bl的 值為正,且小于t,當(dāng)NS200時(shí),t〈0,但DSP中輸出全為高電平,故當(dāng)N^200 時(shí)輸出為0電平。CMPR1的值是滿足正弦規(guī)律變化的PWM。
同理,當(dāng)N<200時(shí),b2^t,因記數(shù)最大值為t,溢出,此時(shí)CMPR2 的值為t,當(dāng)N〈200時(shí),b2的值為正,且小于t。 CMPR2的值是滿足正弦 規(guī)律變化的PWM。
本發(fā)明技術(shù)方案帶來(lái)如下有益效果
充分利用了DSP的下溢這個(gè)概念,使程序編譯起來(lái)簡(jiǎn)單,節(jié)省了DSP 處理的大量時(shí)間和內(nèi)部資源。由于優(yōu)化了算法,可以使程序員有大量的時(shí) 間用在控制算法上。
對(duì)于用模擬電路產(chǎn)生SPWM來(lái)說(shuō),此種方法能夠節(jié)約成本,而且便于 控制。對(duì)于已有的其他數(shù)字方法產(chǎn)生的SPWM來(lái)說(shuō),此種方法節(jié)約大量 DSP內(nèi)部資源。
圖1是現(xiàn)有技術(shù)一工作原理程序流程圖; 圖2是現(xiàn)有技術(shù)二工作原理程序流程圖; 圖3是A相三電平SPWM信號(hào)圖4是圖3三相濾波之后的波形圖5是本發(fā)明中斷程序流程圖;圖6是本發(fā)明工作原理框圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施方式
,對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
參照附圖5和圖6,基于DSP的三電平SPWM波形的生產(chǎn)方法,其包 含以下步驟
1) 建立依次交互通信連接的輸入模塊、運(yùn)算模塊和輸出模塊,以及與 所述運(yùn)算模塊交互通信連接的存儲(chǔ)模塊;
2) 通過運(yùn)算模塊按如下程序進(jìn)行 i )記取數(shù)值N;
ii)同時(shí)分別查表計(jì)算bl=t*m*a [N]和b2二" {l+m*a [N]}, 其中N〈200時(shí)a [N] 二a [n],當(dāng)N^200時(shí)a [N] =—a [n—200];并 將其值分別存儲(chǔ)到CMPR1和CMPR2中;
iii)利用占空比子程序計(jì)算并將al [N]賦值給EvaRegs.CMPRl得到 正弦的上半部分;將一al [N]賦值給EvaRegs.CMPRl得到正弦的下半部 分。
上述方法,其具體應(yīng)用于模塊化UPS中。
根據(jù)DSP的溢出規(guī)律當(dāng)輸出值大于計(jì)數(shù)器最大值時(shí)會(huì)以計(jì)數(shù)器最大 值輸出,當(dāng)輸出值小于零時(shí),輸出為零;可以充分利用這一點(diǎn),在此可以 不用去分情況考慮在三電平SPWM波中前后的關(guān)系。
具體實(shí)施方式
軟件部分占空比計(jì)算子程序如下制定半周期的正弦表 格,以產(chǎn)生50HZ正弦為例
從考慮所占資源,計(jì)算速度來(lái)看,制作半周期正弦表格,在占空比計(jì) 算子程序中,先確定A相的CMPR所要求賦給的值,考慮到正弦信號(hào)的對(duì) 稱性,在一周期360度中,在0-180度的時(shí)候查取正弦表格的值,然后對(duì)查出的值做處理,180到360度時(shí)給予CMPR —個(gè)固定的占空比的值以實(shí)現(xiàn)A 相的SPWM信號(hào)的產(chǎn)生,在此基礎(chǔ)上,將A相查表指針后移2/3和4/3分 別得到B, C兩相。
A相產(chǎn)生主要流程圖如下
在上述流程圖中N<200時(shí)a[N]=a[n];當(dāng)N^200時(shí)a[N]=-a[n-200];
在EV中計(jì)數(shù)最大值為t,充分利用DSP的溢出,當(dāng)N〈200時(shí),bl的 值為正,且小于t,當(dāng)N^200時(shí),t〈0,但DSP中輸出全為高電平,故當(dāng)N2200 時(shí)輸出為0電平。CMPR1的值是滿足正弦規(guī)律變化的PWM。
同理,當(dāng)N<200時(shí),b2^t,因記數(shù)最大值為t,溢出,此時(shí)CMPR2 的值為t,當(dāng)N〈200時(shí),b2的值為正,且小于t。 CMPR2的值是滿足正弦 規(guī)律變化的PWM。產(chǎn)生波形見附圖3。
在上述流程圖中N<200時(shí)a[N]=a[n];當(dāng)N^200時(shí)a[N]=-a[n-200];
在EV中計(jì)數(shù)最大值為t,充分利用DSP的溢出,當(dāng)N〈200時(shí),M的 值為正,且小于t,當(dāng)N&200時(shí),t<0,但DSP中輸出全為高電平,故當(dāng)N2200 時(shí)輸出為0電平。CMPR1的值是滿足正弦規(guī)律變化的PWM。
同理,當(dāng)N<200時(shí),b2^t,因記數(shù)最大值為t,溢出,此時(shí)CMPR2 的值為t,當(dāng)N〈200時(shí),b2的值為正,且小于t。 CMPR2的值是滿足正弦 規(guī)律變化的PWM。產(chǎn)生波形見附圖3。
附圖3所示三電平SPWM信號(hào)濾波之后產(chǎn)生附圖4所示波形信號(hào)圖。
權(quán)利要求
1、一種基于DSP的三電平SPWM波形的生產(chǎn)方法,其包含以下步驟1)建立依次交互通信連接的輸入模塊、運(yùn)算模塊和輸出模塊,以及與所述運(yùn)算模塊交互通信連接的存儲(chǔ)模塊;2)通過運(yùn)算模塊按如下程序進(jìn)行i)記取數(shù)值N;ii)同時(shí)分別查表計(jì)算b1=t*m*a[N]和b2=t*{1+m*a[N]},其中N<200時(shí)a[N]=a[n],當(dāng)N≥200時(shí)a[N]=—a[n—200];并將其值分別存儲(chǔ)到CMPR1和CMPR2中;iii)利用占空比子程序計(jì)算并將a1[N]賦值給EvaRegs.CMPR1得到正弦的上半部分;將—a1[N]賦值給EvaRegs.CMPR1得到正弦的下半部分。
2.根據(jù)權(quán)利要求1所述基于DSP的三電平SPWM波形的生產(chǎn)方法, 其具體應(yīng)用于模塊化UPS中。
全文摘要
本發(fā)明涉及一種形成三電平SPWM波形的方法,尤其涉及一種基于DSP的三電平SPWM波形的生產(chǎn)方法,主要應(yīng)用于USP中。本發(fā)明采用如下技術(shù)方案基于DSP的三電平SPWM波形的生產(chǎn)方法,其包含以下步驟1)建立依次交互通信連接的輸入模塊、運(yùn)算模塊和輸出模塊,以及與所述運(yùn)算模塊交互通信連接的存儲(chǔ)模塊;2)通過運(yùn)算模塊按如下程序進(jìn)行i)記取數(shù)值N;ii)同時(shí)分別查表計(jì)算b1=t*m*a[N]和b2=t*{1+m*a[N]},其中N<200時(shí)a[N]=a[n],當(dāng)N≥200時(shí)a[N]=-a[n-200];并將其值分別存儲(chǔ)到CMPR1和CMPR2中;iii)利用占空比子程序計(jì)算并將a1[N]賦值給EvaRegs.CMPR1得到正弦的上半部分;將-a1[N]賦值給EvaRegs.CMPR1得到正弦的下半部分。
文檔編號(hào)H02M7/42GK101478254SQ20091010489
公開日2009年7月8日 申請(qǐng)日期2009年1月12日 優(yōu)先權(quán)日2009年1月12日
發(fā)明者芬 謝 申請(qǐng)人:廣東易事特電源股份有限公司