陳 兮,周鳳星,張 坤
(武漢科技大學 冶金自動化與檢測技術教育部工程研究中心,武漢 430081)
Matlab 中的系統仿真環境Simulink 為系統建模與仿真提供了一個很好的平臺。它使得SVPWM (Space Vector Pulsewidth Modulation)算法理論建模與仿真驗證更容易得以實現。同時Simulink 中連接工程實現的橋梁—HDL-Coder,可直接將Simulink 中模型轉化為硬件描述語言源代碼,進而為FPGA 硬件實現提供了有效的參考,大大提高了數字化控制系統開發的效率。
目前,國內大多數PWM 逆變器的控制系統采用TI 的TMS320F2 系列DSP 來實現[1],其功能是依靠程序指令的順序執行實現,導致控制的實時性受軟件處理時間的影響,所以在運算速度上不如純硬線邏輯實現功能的FPGA,其并行處理結構,具有更好的實時性和更小的控制系統延時,可以保證逆變器三相橋臂開關的同時動作[2]。而且FPGA 編程方便、能在線配置,且能生成IP 核,可移植性好[3-4]。此外,可將算法固化在專用的FPGA 芯片上,算法硬件化,使其專用性更強、體積更小、功耗更低[5],具有很好的應用價值。
本文借助Simulink 仿真平臺,補充和完善文獻[6-7]理論仿真模型,同時糾正了文獻[7-10]給出的切換點波形;FPGA 實現SVPWM 控制算法時,著重分析了硬件描述語言實現算法所存在的主要難點,以及針對問題給出了較為詳實簡便的解決方法。
SVPWM 本質上是優化的開關函數[11],是針對交流電機變頻驅動提出的。它以三相波形整體生成效果為前提,以逼近電機氣隙的理想圓形旋轉磁場軌跡為目的,一次生成三相調制波形,以內切多邊形逼近圓的方式進行控制。
三相半橋電路簡化拓撲結構如圖1 所示。逆變電路中共有六個開關管,其中每相橋臂兩種開關模式,即上側橋臂導通或下側橋臂導通;因此共有23=8 種開關模式,可以利用單極性二值邏輯開關函數si(i = a,b,c)來描述[12],即

由分析可得逆變器輸出三相相電壓的表達式:


圖1 三相逆變電路拓撲結構
開關函數si存在八組取值,分別代入上式,可得出與之相對應的八個空間電壓矢量,也即是圖2 所示的U0~U7,其中U1~U6模為2Udc/3,U0和U7模值為0。

圖2 空間電壓矢量分布與七段式合成
SVPWM 具體實現是在控制周期內,目標空間電壓矢量ν*由其所在扇區兩邊的空間電壓矢量來合成,使空間電壓矢量與目標空間矢量伏秒平衡[13]。數學式描述,以圖2 中ν*為例。

式中,T4、T6—分別為矢量U4、U6在開關周期T內的持續時間;T—PWM 的周期;T = T0+ T4+ T6+ T7。
如圖3 所示,SVPWM 信號生成算法框圖。實際電路中目標空間電壓矢量ν*是由三相電壓信號經過αβ坐標變換得到的,其中(να,νβ)為ν*在αβ 坐標系中的坐標。具體建模操作分以下幾步。

圖3 SVPWM 生成算法框圖
空間矢量逆時針旋轉時,αβ 變換矩陣如式(2),該變換為等量坐標變換,所以矩陣系數為2/3。

目標空間電壓矢量ν*所在扇區的判斷,可以利用如下方法實現。

再用p=4sign(B2)+2sign(B1)+sign(B0)計算扇區,其中sign(x)為符號函數。圖4 即為扇區判定的Simulink 模型。

圖4 扇區判斷的Simulink 模型
該部分包含兩方面內容:空間電壓矢量的作用順序;以及在特定作用順序下空間電壓矢量的作用時間。
空間電壓矢量作用順序按照如下分配原則:在每次開關轉換時,只改變其中一相的開關狀態,并且零矢量在時間上進行平均分配,以使產生的SVPWM 對稱,從而有效降低SVPWM 的諧波分量。
以七段式為例,其空間電壓矢量作用順序如表1所示。

表1 空間電壓矢量的作用順序
空間電壓矢量作用時間計算,以ν*在扇區I 為例說明其推導過程。由式(1)可知,

又已知,

代入式(3)可得,U2和U6作用時間如式(4)。

同理可得其他扇區內,空間電壓矢量作用時間,如表2 所示。表中Tk和Tk+1不僅包含扇區信息,且Tk所對應空間電壓矢量作用在前。

表2 各扇區內空間矢量的作用時間

表3 各扇區內空間矢量的作用時間

圖5 空間電壓矢量作用時間計算模型
以七段式為例進行分析,其導通時刻計算方法如(5)式。

按照表1 七段式空間電壓矢量的作用順序,以扇區I 為例說明如何計算三相橋臂中1、3、5 號開關管(分別對應圖6 中的sa,sb,sc)的導通時刻。由圖6 可知,3 號最先導通,5 號最后。那么扇區I 中導通時刻安排為:
sa對應T2on,sb對應T1on,sc對應T3on。

圖6 扇區I 中開關管開關狀態變換
同理可得其他扇區導通時刻。1、3、5 號管導通時刻記錄于表4。

表4 上橋臂1,3,5 號管子導通時刻表
三相半橋中為了防止橋臂短路,同一橋臂上下開關管狀態切換時必須有一定的死區時間,故不能將1號管子的開關信號直接取反作為4 號管子的開關信號。模型如圖7 中SIX_CMP 同時產生六路信號并對1,3,5 路信號進行合理的處理,再與三角波進行比較,直接生成六路PWM 信號,即圖7 所示。

圖7 導通時刻與PWM 波形生成模塊

圖8 仿真結果
如圖8 所示,圖8b 為糾正后正確的切換點曲線,應該是非連續曲線,并非參考文獻[7-10]中給出連續波形圖8a 示。只需在圖8 中SIX_CMP 輸入端加入鎖存器[14],并加以控制即可。圖8c 為1 號管的SVPWM開關信號。
按照圖1 拓撲結構,建立三相半橋逆變的仿真電路,三相負載P=1000W,QL =500var,調制深度為1,直流電壓為530V。設定開關頻率為1500Hz,基波為50Hz 輸出,線電壓及其FFT 分析如圖9 所示。
直流電壓利用率為99.58%,THD 為52.48%;且諧波分布在開關頻率整數倍附近。

圖9 線電壓及其頻譜分析
相關參考文獻[1,6,8-11]在FPGA 硬件實現SVPWM 控制算法時,偏重于理論描述;針對于此,就SVPWM 控制算法FPGA 具體實現過程中存在的難點進行分析梳理,并逐一給出合理且較為簡單的實現方法;同時考慮到糾正的切換點波形的實現。最終FPGA 硬件正確、簡單的實現SVPWM 控制算法。
SVPWM 算法的實現,涉及到浮點數的運算。FPGA 是不能直接支持浮點數的操作,必須找到方法繞開浮點數運算。
算法中所有涉及到浮點數運算的:
(1)扇區計算;
(2)輔助時間變量X、Y、Z,空間電壓矢量作用時間;
(3)PWM 生成。
扇區判定時,只需關注的是B0,B1和B2的符號,而非具體數值,所以乘10n將浮點數運算變換為整數運算。
實現X、Y、Z計算做如下處理:

電壓矢量作用時間:

由于在計算X、Y、Z時,都乘以了常數C(C=;所以上述公式必須進行合理的修改:

PWM 生成是通過合理的處理三角波實現的,使其斜率為1,量化為K個正整數值。這樣可以直接作為三角波發生的比較值,省去了浮點數乘法運算。
三角波用波形存儲方式實現。當生成PWM 時,在上橋臂管關斷后,延時若干時鐘,再打開下橋臂管,實現死區控制。Verilog HDL 代碼如下。其中N 代表延時若干生成三角波時鐘,它可根據需要設定為確定的整數值,控制死區時間的大小。

代碼中Sw_a_d 表示下側橋臂的開關信號;Sw_a_u 表示上側橋臂的開關信號。Sw_a_u 滯后于Sw_a_d變化,也就形成了死區,如圖10 所示。圖11 為最終生成的含死區一個周期內的SVPWM 波形。

圖10 死區控制波形

圖11 單個周期內的SVPWM 信號
SVPWM 控制信號的生成,是基于對其原理正確理解,通過建立合理模型來實現并加以驗證。本文較詳細分析SVPWM 原理,利用Simulik 輔助建模,由仿真結果可知SVPWM 變頻技術具有較高的電壓利用率,輸出電壓諧波含量較低。SVPWM 控制算法FGPA 硬件實現時,采用合理的方式繞開FPGA 直接處理浮點數的運算;同時利用FPGA 存儲式波形發生的特點,簡單的實現了死區時間控制,并給出相應的波形;最后給出了由FPGA 實現SVPWM 控制算法的一個周期完整波形。對于FPGA 優良的性能學習和推廣應用,將使得FPGA 在變頻調速控制系統中有良好的應用前景。
[1]冒建亮,葉樺,張舒哲.基于FPGA 的變頻控制系統的實現[J].東南大學學報(自然科學版),2012(9):25 -29.
[2]吳晨光.SVPWM 信號發生器的VHDL 實現[D].四川:西南交通大學,2006.
[3]張國斌,田耘,蘇同麒,等. FPGA 開發全攻略—工程師創新設計寶典[Z].2009.
[4]夏宇聞.Verilog 數字系統設計教程[M]. 北京:北京航空航天大學出版社,2008.
[5]左健民,朱興華,汪木蘭,等.基于FPGA 的數控系統位置控制模塊實現技術[J]. 組合機床與自動化加工術,2011(9):55 -57.
[6]金永順.三電平逆變器SVPWM 方法的分析與研究[D].湖南:湖南大學,2007.
[7]李翠萍,王新生,張華強.基于MATLAB 的空間矢量PWM仿真研究[J].機床與液壓,2007,35 (7):21 -24.
[8]祁超,王慶章,趙耀,等.基于FPGA 的三相SVPWM 調制算法的實現[J]. 南開大學學報(自然科學版),2011,44(4):26 -29.
[9]賴聯有,趙不賄,梅從立. 三相空間矢量PWM 仿真及其基于FPGA 的硬件實現[J].電子與封裝,2005,5 (1):27-30.
[10]姜潔.基于FPGA 的SVPWM 系統的研究與設計[D].沈陽:東北大學,2009.
[11]孫文煥,程善美,秦憶. 基于FPGA 的空間矢量PWM 的實現[J].電氣傳動,2000 (6):21 -24.
[12]張興,張崇巍.PWM 整流器及其控制[M].北京:機械工業出版社,2012.
[13]潘海鴻,封華,陳琳,等.采用TMS320F28335 DSP 實現六相SVPWM[J].組合機床與自動化加工技術,2011(9):53 -56.
[14]林飛,杜欣.電力電子應用的MATLAB 仿真[M]. 北京:中國電力出版社,2011.