王杏進,寧 宇,鄭 廣
(韶關學院 物理與機電工程學院, 廣東 韶關 512005)
?
基于FPGA的SVPWM算法的實現
王杏進,寧 宇,鄭 廣
(韶關學院 物理與機電工程學院, 廣東 韶關 512005)
摘要:現代電力電子技術的發(fā)展推動了交流傳動系統(tǒng)的發(fā)展,交流調速也將更廣泛地取代直流調速.基于FPGA實現交流調速系統(tǒng)的數字化控制,采用的SVPWM算法與直接正弦波脈寬調制算法比較,具有抑制諧波,降低脈動轉矩,提高逆變器電源利用率等優(yōu)點.基于FPGA的SVPWM算法實現采用模塊化的設計方法,通過Modelsim仿真,獲得了期望的脈寬調制波形,并能驅動交流電機實現調速控制,具有一定的實用價值.
關鍵詞:SVPWM;FPGA;空間矢量脈寬調制
隨著電力電子技術以及計算機控制和自動控制技術的發(fā)展,交流傳動系統(tǒng)發(fā)展迅猛,交流調速取代直流調速技術已經成為發(fā)展趨勢[1].脈寬調制技術(PWM)是采用電力電子變換裝置,獲得交流電的變壓和變頻,從而實現對交流電機的節(jié)能調速控制.
交流電機工作條件是輸入三相對稱正弦電流,在電機空間形成一個圓形旋轉磁場,產生恒定電磁轉矩,保證電機穩(wěn)定運行.電壓空間矢量脈寬調制技術(SVPWM)[2]的提出,就是將電機和逆變器作為一個整體,通過控制逆變器的輸出獲該三相對稱電壓,使電機獲得理想圓形磁鏈軌跡.與直接正弦波脈寬調制(SPWM)對比,SVPWM在輸出電壓或者電機輸出的電流時能更好抑制諧波,電機轉矩脈動降低,電壓源逆變器直流供電電源的利用率提高約15%,開關次數減少約30%,且更易于實現數字化,所以具有廣泛應用前景.
實現電壓空間矢量控制可以采用單片機,但是速度有限;也可以采用TI公司生產的DSP芯片,但它只能產生固定6路或者12路的PWM波,無法產生多路PWM.FPGA純硬件并行處理,速度快;能夠在幾個時鐘周期內完成設定的運算或功能,實時性能高;在大型系統(tǒng)中需要多個微處理器協同工作時,還能夠為其他微處理器節(jié)省CPU資源,可靠性高.所以基于FPGA實現SVPWM的算法是經濟有效的選擇.
圖1 參考電壓矢量旋轉圖
交流電機轉動的原理是在定子互差120°的三相繞組中,通入三相對稱交流電壓矢量Ua(t)、Ub(t)、Uc(t),如圖1所示,則任何時刻三相電壓合成空間矢量Uref(t)是一個旋轉的空間矢量,電壓合成矢量建立旋轉磁場,旋轉磁場磁鏈矢量Ψ在空間坐標系當中幅值恒定,以角頻率ω=2πf勻速旋轉,切割轉子線圈得到恒定的轉矩,帶動轉子旋轉[3-4].
SVPWM的原理就是基于電壓矢量合成的原則,獲得一個幅值恒定勻速旋轉的電壓矢量,從而形成一個旋轉磁場控制電機的旋轉,通過改變電壓大小和頻率而改變合成矢量的幅值和旋轉的速度.
圖2為基于FPGA的SVPWM的模塊結構圖.根據三相電機變頻變壓調節(jié)的特點計算恒壓頻比,經三相電壓矢量合成模塊合成電壓矢量,并在總功率不變的前提下,通過Clark變換,三相靜止坐標系變換到兩相靜止坐標系;計算導通時間,判別扇區(qū),生成脈沖信號.
圖2 基于FPGA的SVPWM模塊結構
2.1 恒壓頻比模塊
交流電機變頻調節(jié)時,為保證磁通量恒定,必須在調節(jié)頻率的同時調節(jié)電壓[5],其三相參考電壓峰值根據輸入頻率的大小而調節(jié).輸入頻率大于基頻50 Hz時輸出電壓的峰值Um為310 V,當頻率低于10 Hz時,電壓峰值Um為62 V,如果輸入10~50 Hz則按公式,單位V計算.
2.2 三相電壓矢量發(fā)生模塊
圖3 三相電壓矢量發(fā)生模塊
圖3為三相電壓矢量發(fā)生模塊,由三個部分組成:ROM_CTR、COS_ROM、Serial_Paralell.三相電壓矢量發(fā)生模塊輸入電壓頻率F和時鐘信號CLK,ROM_CTR模塊將輸入的頻率通過運算轉化為計數時鐘脈沖的次數進行計數,以此達到改變參考三相電壓矢量的旋轉角度的周期變化,并且輸出端口ADD周期輸出角度.COS_ROM模塊存儲余弦表,其中存儲的余弦值是以平移放大的值的方式存儲,當接收到上一個模塊輸出的角度和數值輸出控制信號EN,q端口輸出對應角度的正弦值.Serial_Paralell模塊將所接收到的余弦值通過運算將ROM中的數值轉化為放大10 000倍的余弦真實值并且通過COS_OUT端口并行輸出余弦值.
2.3 坐標變換模塊
在滿足總功率不變的條件[6-7]下,將三相靜止坐標系變換到兩相靜止坐標系,其公式如(1).圖4為坐標變換后的輸出波形,三相余弦值合成為兩相Ualfa、Ubeta,仍然是正弦波,幅值擴大了1.22倍.
圖4 坐標變換輸出Ualfa、Ubeta
2.4 開關導通時間計算模塊
將參考矢量投影到互為90°的兩相坐標軸上運算[8-9],可以得到公式(2)(3):
每個扇區(qū)中各個矢量的導通持續(xù)時間,也用同樣的方法求解,其持續(xù)導通時間都只與X、Y、Z有關,公式如(4)(5)(6).
2.5 參考矢量位置判斷模塊
參考電壓矢量的合成是根據設想的三相電壓矢量來合成,所以參考電壓矢量的旋轉方向也是由設想的三相電壓矢量決定,而設想的三相電壓矢量的旋轉使用了計數器計數來控制,故人為地將一個周期的計數值分成六等分即將矢量旋轉一周的時間分成了六等分,在空間坐標軸中分成了六個扇,根據這個原理來判斷參考電壓矢量所在扇區(qū)的位置.
扇區(qū)判斷模塊采用狀態(tài)機[10]的設計方法,主要程序:
2.6 PWM信號發(fā)生模塊
該模塊將每一個調制周期內計算出來的開關導通時間轉化為脈沖,SVPWM每一路脈沖通過搭建一個濾波電路進行濾波后,將會呈現出馬鞍波,通過對脈沖寬度即導通時間長短進行仿真,得到了PWM輸出的馬鞍波形如圖5.
圖5 PWM輸出波形
圖6 開關主回路圖
主回路如圖6,核心的元器件是6個IGBT作為主回路的開關[11],IGBT具有高輸入阻抗,低導通壓降等特點.
將程序下載到FPGA中,通過RC濾波電路,當輸入頻率分別為30 Hz和40 Hz時使用示波器觀察到的輸出波形,如圖7、圖8所示,波形與期望的波形相符,滿足旋轉電壓矢量的要求.
圖7 輸入頻率為30 Hz時輸出波形 圖8 輸入頻率為40 Hz時輸出波形
實驗中FPGA開發(fā)板驅動硬件電路,并使其驅動一臺三相交流電機,電機能夠旋轉;并且通過改變其頻率輸入,能夠控制其轉速的快慢.
將SVPWM的理論運算基于FPGA設計實現,用模塊化的理念設計,采用狀態(tài)機的設計方法簡明可靠并且通過Modelsim仿真驗證,搭建硬件濾波電路驅動一臺三相交流電機,能夠驅動交流電機運行,并能通過改變頻率的大小改變電機運行速度.說明整個設計的正確性,具有一定的工程實際應用價值.
參考文獻:
[1]陳伯時.電力拖動自動控制系統(tǒng)[M].北京:機械工業(yè)出版社,2003.
[2]易龍強,戴瑜興.SVPWM技術在單相逆變電源中的應用[J].電工技術學報,2007,22(9):112-117,123.
[3]葉文,李膺.基于FPGA的優(yōu)化SVPWM IP核[J].微待電機,2008(1):21-24,27.
[4]俞小露,徐抒巖,曹小濤,等.基于FPGA多軸控制的SVPWM信號實現設計[J].控制與應用技術,2012,39(7):45-49.
[5]王兆安,劉進軍.電力電子技術[M].北京:機械工業(yè)出版社,2009.
[6]姜學嶺,??玛?一種簡化SVPWM算法仿真及其FPGA實現[J].通信電源技術,2013(1):13-16.
[7]方斯琛,李丹,周波,等.新型無扇區(qū)空間矢量脈寬調制算法[J].中國電機工程學報,2008,28(30):35-40.
[8]唐釀,肖湘寧,陳征,等.矩陣變流器虛擬逆變側無扇區(qū)調制算法[J].中國電機工程學報,2012,32(9):79-85.
[9]葉立,張自強.FPGA平臺實現最小開關損耗的SVPWM算法[J].單片機與嵌入式系統(tǒng)應用,2011(6):5-8.
[10]潘松,黃繼業(yè),陳龍.EDA技術與Verilog HDL[M].北京:清華大學出版社,2010.
[11]康華光,鄒壽彬,秦臻.電子技術基礎 數字部分[M].北京:高等教育出版社,2006.
(責任編輯:李 婉)
中圖分類號:TP13
文獻標識碼:A
文章編號:1007-5348(2016)02-0018-05
[收稿日期]2016-01-26
[基金項目]2012年度韶關學院科研項目(韶關學院[2012]202號).
[作者簡介]王杏進(1972-),女,湖南湘潭人,韶關學院物理與機電工程學院講師,碩士;研究方向:電氣控制方面研究.
The Realization of SVPWM Algorithm based on FPGA
WANG Xing-Jin, NING Yu,ZHENG Guang
(Institute of Physics and Mechanical & Electrical Engineering,Shaoguan University,Shaoguan 512005,Guangdong, China)
Abstract:The development of the modern power electronics promotes the development of the AC drives, and the DC speed control system will more widely be replaced by the AC speed control system. This paper introduces a digital control method in AC drives based on FPGA. The method for speed control is SVPWM algorithm; comparing with the SVPWM algorithm, it can lower harmonics, reduce torque ripple, and increase the utilization of the invert power,so it has far-ranging prospect. The modular design method is used in this paper. An expected SVPWM waveform can be seen with the simulation by Modelsim software, and it also can drive a three-phase AC motor .The result is valuable.
Key words:SVPWM; FPGA; Space vector pulse width modulation