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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于Verilog HDL的SVPWM算法的設(shè)計與仿真

          基于Verilog HDL的SVPWM算法的設(shè)計與仿真

          作者: 時間:2016-10-16 來源:網(wǎng)絡(luò) 收藏

          摘要:空間矢量脈寬調(diào)制算法是控制方面的研究熱點(diǎn),廣泛應(yīng)用于三相電力系統(tǒng)中?;谟布腇PGA/CPLD芯片能滿足該算法對處理速度、實(shí)時性、可靠性較高的要求,本文利用Verilog HDL實(shí)現(xiàn)空間矢量脈寬調(diào)制算法,設(shè)計24矢量7段式的實(shí)現(xiàn)方法,對轉(zhuǎn)速調(diào)節(jié)和轉(zhuǎn)矩調(diào)節(jié)進(jìn)行仿真,驗(yàn)證了設(shè)計的實(shí)現(xiàn)結(jié)果與預(yù)期相符。

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

          關(guān)鍵詞:空間矢量脈寬調(diào)制;交流永磁;;

          在大容量、高電壓場合已得到了廣泛應(yīng)用,逆變器控制策略種類繁多,其中空間矢量脈寬調(diào)制(SVPWM)算法具有凋制比較大、能夠優(yōu)化輸出電壓波形、易于數(shù)字實(shí)現(xiàn)、母線電壓利用率高等優(yōu)點(diǎn),是此方面研究的熱點(diǎn)。隨著新型電力電子器件及芯片的迅速普及,逆變器SVPWM算法將廣泛應(yīng)用于三相電力系統(tǒng)中,尤其是交流永磁(PMSM)的調(diào)速控制。目前常用的SVPWM算法實(shí)現(xiàn)工具是單片機(jī)或者DSP芯片,但SVPWM算法對處理速度、實(shí)時性、可靠性方面要求較高,基于硬件的FPGA/CPLD芯片恰能更好地滿足這些要求,據(jù)此本文利用硬件描述語言Verilog HDL實(shí)現(xiàn)SVPWM算法,根據(jù)三相兩級PMSM的物理模型以及兩電平電壓型逆變器的原理,設(shè)計24矢量7段式實(shí)現(xiàn)方法,并仿真轉(zhuǎn)速調(diào)節(jié)和轉(zhuǎn)矩調(diào)節(jié)時的 SVPWM波形。

          1 PMSM的物理模型及逆變器原理

          SVPWM算法實(shí)現(xiàn)時,將永磁同步電機(jī)和逆變器視為一體,產(chǎn)生的三相波形控制逆變器各橋臂主管的開關(guān)狀態(tài),從而驅(qū)動電機(jī)工作。

          1.1 PMSM的物理模型及定子坐標(biāo)系

          理想情況下,忽略定子鐵芯和轉(zhuǎn)子鐵芯的損耗以及電動機(jī)參數(shù)的變化,三相兩級PMSM的物理模型如圖1所示。

          a.jpg

          其中,定子的三相繞組UX、VY、WZ在圓空間呈對稱分布,U、V、W為各繞組的首端,X、Y、Z為尾端。相電流的正方向?yàn)槭锥肆鞒鲭娏?、尾端流入電流,根?jù)安培定則,各繞組產(chǎn)生的磁場方向?yàn)槔@組軸線的正方向,即UX繞組軸線正方向?yàn)锳,如圖1所示,其他兩相同理,正方向分別為B、C。

          A、B、C三個方向構(gòu)成一個三相靜止坐標(biāo)系——ABC坐標(biāo)系(即定子坐標(biāo)系,3個方向之間夾角均為120°)。SVPWM算法正是基于該三相坐標(biāo)系的。

          1.2 兩電平電壓型逆變器原理

          兩電平電壓型逆變器是一種較為常用的逆變器,主要電路由三個橋臂組成,每個橋臂有兩個三極管和兩個二極管。

          電壓型逆變器一般采用180°導(dǎo)通控制方法,任何時刻都有不同的乏支主管導(dǎo)通,同一相的上下兩個橋臂的主管交替導(dǎo)通,各自導(dǎo)通半個周期。

          2 SVPWM原理

          逆變器根據(jù)控制信號控制各橋臂主管的導(dǎo)通與截止,輸出A、B、C三相到電機(jī),驅(qū)動電機(jī)工作。通過對逆變器控制信號進(jìn)行處理,可以對電機(jī)工作狀態(tài)實(shí)時控制。

          空間矢量脈寬調(diào)制宜于數(shù)字控制器實(shí)現(xiàn),具有輸出電流波形良好、直流環(huán)節(jié)電壓的利用率較高等優(yōu)點(diǎn),應(yīng)用廣泛。

          用SA、SB、SC表示兩電平電壓型逆變器V1、V3、V5的開關(guān)狀態(tài)(1表示導(dǎo)通),V2、V4、V6分別與之相反。逆變器輸出的基本電壓空間矢量如圖2所示,其中Ux(1,2,…,6)后面括號內(nèi)數(shù)字分別對應(yīng)SA、SB、SC。

          b.jpg

          八個電壓矢量中:U0與U7為零電壓矢量;其余為非零電壓矢量,幅值均為|Us|=2Ud/3。當(dāng)一個電壓空間矢量ug位于兩個基本空間矢量之間時,依據(jù)平行四邊形定則合成,圖中以處于U4與U6之間的電壓空間矢量為例,兩個基本電壓空間矢量作用的時間分別為t1和t2,則:

          c.jpg

          由于t1+t2≤tg,多余的時間就平均分配給兩個零電壓矢量U0與U7,兩者的作用不影響逆變器輸出電壓矢量的積分。

          采用七段式SVPWM,輸出的三相電壓波形對稱性好,諧波比較少。扇區(qū)1中各電壓矢量時間分配圖如圖3所示,其他扇區(qū)同理。

          d.jpg

          3 SVPWM的實(shí)現(xiàn)方法

          SVPWM廣泛應(yīng)用于三相電力系統(tǒng)中,通過對轉(zhuǎn)速和轉(zhuǎn)矩的控制,實(shí)現(xiàn)對電機(jī)狀態(tài)的實(shí)時控制。利用Verilog HDL仿真實(shí)現(xiàn)時,主要涉及轉(zhuǎn)速控制、轉(zhuǎn)矩控制和SVPWM波形產(chǎn)生,據(jù)此設(shè)計模塊如圖4所示。

          e.jpg

          3.1 轉(zhuǎn)速模塊

          轉(zhuǎn)速模塊依據(jù)給定的轉(zhuǎn)速輸入信號(分頻數(shù)),通過對系統(tǒng)時鐘進(jìn)行分頻,得到控制時鐘。利用100 MHz系統(tǒng)時鐘的上升沿和下降沿對控制時鐘進(jìn)行翻轉(zhuǎn),得到對應(yīng)轉(zhuǎn)速的控制時鐘,不同頻率的控制時鐘對應(yīng)電機(jī)的轉(zhuǎn)速如表1所示。

          f.jpg

          3.2 轉(zhuǎn)矩模塊

          轉(zhuǎn)矩模塊根據(jù)控制時鐘和給定轉(zhuǎn)矩,計算出4種θ對應(yīng)的t1、t2、t0的值,從而得到各矢量的各開關(guān)狀態(tài)下的持續(xù)時間(即圖4中的時間參數(shù))。由第2節(jié)可知,式(2)中θ為ug與所在扇區(qū)中的基本電壓空間矢量U4、U2或U1之間的夾角。Verilog HDL實(shí)現(xiàn)時,采用了24個電壓矢量,即每扇區(qū)4個矢量,則分別為7.5°、22.5°、37.5°、52.5°。

          由于不同轉(zhuǎn)矩時計算t1、t2的值,不能使用常規(guī)乘除法,只能通過左移、右移分別進(jìn)行乘以2、除以2的運(yùn)算,且當(dāng)t1+t2=tg時,ug的最小值為:

          g.jpg

          所以設(shè)計ug=1Ud/2和ug=1Ud/3兩組基本時間參數(shù),跟據(jù)式(2)分別得到t1、t2的值如表2所示。轉(zhuǎn)矩輸入信號的MSB選擇基本時間參數(shù),其他比特位數(shù)值表示基本時間參數(shù)右移位數(shù)(即基本時間參數(shù)除以該數(shù)值)。

          h.jpg

          圖3中T0、T7均等于t0/2=(tg-t1-t2)/2,根據(jù)轉(zhuǎn)矩輸入信號選擇基本時間參數(shù),并進(jìn)行向右移位操作,計算出不同θ對應(yīng)的7個開關(guān)狀態(tài)的持續(xù)時間。

          3.3 狀態(tài)機(jī)模塊

          狀態(tài)機(jī)模塊利用控制時鐘進(jìn)行狀態(tài)轉(zhuǎn)換,矢量狀態(tài)有24個,開關(guān)狀態(tài)有7個,24個矢量狀態(tài)從前到后循環(huán)轉(zhuǎn)換,每個矢量狀態(tài)下的7個開關(guān)狀態(tài)依先后順序轉(zhuǎn)換一遍,開關(guān)順序如表3所示,各自持續(xù)時間通過計數(shù)器計數(shù)值與對應(yīng)時間參數(shù)比較而得到。如圖3所示,設(shè)兩個非零電壓矢量中,與零矢量U0相鄰的是ua另一個是ub,可知ua必須是U4、U2、U1中的一個,ub必須是U6、U3、U5中的一個,具體如表3所示。

          i.jpg

          3.4 波形產(chǎn)生模塊

          波形產(chǎn)生模塊根據(jù)矢量狀態(tài)和開關(guān)狀態(tài),決定三相的輸出電壓矢量(U0,U1,…,U7)。24個矢量狀態(tài)分別位于6個扇區(qū)中,依據(jù)矢量對應(yīng)的開關(guān)狀態(tài)選擇輸出電壓矢量,各扇區(qū)中矢量的開關(guān)順序如表3所示。

          4 仿真驗(yàn)證

          使用Active-HDL軟件進(jìn)行仿真驗(yàn)證,建立仿真模塊,提供系統(tǒng)時鐘和復(fù)位信號,設(shè)定不同轉(zhuǎn)速輸入信號及轉(zhuǎn)矩輸入信號進(jìn)行仿真,下面以部分仿真截圖對設(shè)計進(jìn)行驗(yàn)證。

          4.1 轉(zhuǎn)速調(diào)節(jié)仿真

          轉(zhuǎn)速調(diào)節(jié)仿真時,設(shè)定相同轉(zhuǎn)矩ug=1Ud/3,對比兩種不同轉(zhuǎn)速仿真如下。

          由表1可知,系統(tǒng)時鐘分頻數(shù)設(shè)定為1時,對應(yīng)轉(zhuǎn)速為100 r/s,即周期為10 ms,如圖5所示,最下面是24個矢量狀態(tài)的十六進(jìn)制數(shù),仿真顯示一個周期約10 ms,由于計數(shù)器值為整數(shù),計算時對小數(shù)進(jìn)行了四舍五人,并且仿真開始存在一定時間對變量進(jìn)行初始化,所以存在很小的誤差,結(jié)果符合預(yù)期。系統(tǒng)時鐘分頻數(shù)設(shè)定為4時,對應(yīng)轉(zhuǎn)速為25 r/s,即周期為40ms,如圖6所示,仿真結(jié)果符合預(yù)期。

          j.jpg

          k.jpg

          4.2 轉(zhuǎn)矩調(diào)節(jié)仿真

          轉(zhuǎn)矩調(diào)節(jié)仿真時,設(shè)定相同轉(zhuǎn)速100 r/s,對比3種不同轉(zhuǎn)矩仿真結(jié)果。

          圖5(見4.1小節(jié))、圖7、圖8分別是ug=1Ud/3、ug=1Ud/4、ug=1Ud/8時的仿真結(jié)果。由三相電機(jī)PWM調(diào)制原理得知,三種轉(zhuǎn)矩情況下,波形的基波分量的絕對值依次降低,仿真波形符合預(yù)期。

          l.jpg

          5 結(jié)束語

          文中針對24矢量7段式SVPWM算法設(shè)計實(shí)現(xiàn)方法,基于Verilog HDL進(jìn)行軟件仿真,主要仿真不同轉(zhuǎn)速、轉(zhuǎn)矩時的SVPWM波形、驗(yàn)證了設(shè)計達(dá)到了預(yù)期的效果。

          在SVPWM實(shí)際應(yīng)用中,通常都會插入死區(qū)時間,防止逆變器橋臂發(fā)生瞬間短路,本文的設(shè)計實(shí)現(xiàn)沒有對此進(jìn)行設(shè)計,后期可以改進(jìn)這一點(diǎn),同時,可以利用相關(guān)FPGA/CPLD綜合軟件下載到硬件,進(jìn)行硬件實(shí)現(xiàn)。



          評論


          相關(guān)推薦

          技術(shù)專區(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); })();