安金龍,劉祥洋
(1.河北工業(yè)大學(xué)電氣工程學(xué)院 省部共建電工裝備可靠性與智能化國家重點實驗室,天津 300130;2.河北工業(yè)大學(xué)電氣工程學(xué)院 河北省電磁場與電器可靠性重點實驗室,天津 300130)
電源設(shè)備在出廠之前需要進行帶載實驗以檢測其性能[1]。傳統(tǒng)的電源測試通常采用電阻、電容、電感及其組合的靜態(tài)實物負載[2],存在負載變換不靈活、參數(shù)不穩(wěn)定、能源浪費等一系列缺陷。為解決這些問題,國內(nèi)外已有相關(guān)文獻對能量回饋型交流電子負載進行了研究,并為交流電子負載主電路的結(jié)構(gòu)奠定了基礎(chǔ)[3],而控制部分則主要以DSP或單片機實現(xiàn),由于它們的串行工作方式,將難以滿足日益高頻化的要求。
隨著主電路的日益高頻化,控制電路也迫切需要向高頻化發(fā)展。FPGA(Field Programmable Gate Array)的并行處理結(jié)構(gòu)和多通道輸出能夠以超過DSP幾十倍的速度完成數(shù)字信號的處理和傳輸,其固有的高集成度、高速度、高精度等特點能夠大大提高工作效率[4]。本文針對基于FPGA的饋能式交流電子負載進行研究,利用FPGA良好的高頻性能實現(xiàn)對交流電子負載的精確控制,使其更好地滿足電源出廠測試的帶載要求。
饋能式交流電子負載的主要功能是按照要求精確控制被測電源輸出端的電流幅值和相位,從而代替實際負載來滿足被測電源的帶載要求,并通過逆變并網(wǎng)方式將能量回饋給電網(wǎng)[5]。這種方式可以極大地減少能源的浪費和更好地提高不同負載實現(xiàn)的靈活性。交流電子負載的整體結(jié)構(gòu)如圖1所示。
圖1 交流電子負載整體結(jié)構(gòu)框圖Fig.1 Overall structure diagram of AC electronic load
饋能式交流電子負載主電路采用帶LC諧波濾波器的背靠背式雙電壓型PWM變換器結(jié)構(gòu),其拓撲結(jié)構(gòu)如圖2所示。前級負載模擬電路實現(xiàn)模擬各種類型負載的功能,后級能量回饋電路實現(xiàn)逆變將電能回饋電網(wǎng)的功能。
圖2 交流電子負載主電路拓撲Fig.2 Main circuit topology of AC electronic load
SVPWM調(diào)制是通過將對稱三相電壓合成一個旋轉(zhuǎn)的空間矢量電壓,再根據(jù)平均值等效原理,在一個開關(guān)周期內(nèi)通過幾個基本電壓矢量的相互配合,使其合成矢量等效于此旋轉(zhuǎn)電壓矢量的調(diào)制方法[6]。SVPWM的空間矢量電壓分布如圖3所示。
圖3 空間電壓矢量分布Fig.3 Distribution of space voltage vector
六個非零空間矢量大小相等,均為2Udc/3,方向依次相差60°,將運動軌跡圓等分為6個扇區(qū)。任意一個扇區(qū)中的參考矢量都可由該扇區(qū)的兩個基本空間矢量合成表示。
以第一扇區(qū)為例,根據(jù)伏秒平衡原則可得:
UrefTs=U4T4+U6T6+U0T0
(1)
式中,Uref為參考電壓矢量;Ts為開關(guān)周期;U4、U6、U0為基本電壓矢量;T4、T6、T0為基本電壓矢量作用時間。
在復(fù)平面中,根據(jù)正余弦定理和幾何關(guān)系可得:
(2)
(3)
式中,θ為參考電壓矢量與α軸夾角;Uα為分解到α軸的參考電壓矢量分量;Uβ為分解到β軸的參考電壓矢量分量。
又有U4=U6=2Udc/3,與式(2)、式(3)聯(lián)立可得到各個基本電壓矢量的作用時間為:
(4)
傳統(tǒng)的SVPWM調(diào)制方法需要算出各個扇區(qū)的基本電壓矢量作用時間,計算相對復(fù)雜,響應(yīng)時間較慢。為方便運算,針對SVPWM調(diào)制,提出了一種改進的簡化算法,大大降低了計算量。
如圖4所示,六個扇區(qū)中的參考矢量大小相等,若將其分解到各自所在扇區(qū)的基本矢量上,分解后所形成的六個平行四邊形具有全等關(guān)系,即所有四邊形對應(yīng)邊的基本矢量作用時間完全相同。根據(jù)此關(guān)系,便可對所有扇區(qū)進行歸一化處理。將其他扇區(qū)中的參考矢量統(tǒng)一歸算到扇區(qū)1進行處理,則其他扇區(qū)各基本矢量的作用時間通過扇區(qū)1即可獲得。
圖4 參考矢量合成圖Fig.4 Composite graph of reference vector
參考矢量的角度轉(zhuǎn)換公式為:
(5)
式中,θ′為參考矢量轉(zhuǎn)換到第一扇區(qū)后與α軸的夾角;N為扇區(qū)號。
又由式(4)可得扇區(qū)1中兩基本矢量U4、U6的作用時間為T4、T6,再依據(jù)不同扇區(qū)中各矢量的作用順序,得到各扇區(qū)基本矢量的作用時間見表1。
表1 各扇區(qū)中基本矢量的作用時間Tab.1 Action time of basic vector in each sector
采用改進型SVPWM的算法,對交流電子負載進行建模,并進行了仿真實驗,將其結(jié)果與傳統(tǒng)型算法的仿真結(jié)果進行了對比,結(jié)果如圖5所示。
圖5 直流輸出側(cè)電壓波形Fig.5 Voltage waveforms of DC output side
從圖5中可知,改進后的輸出結(jié)果在精度沒有下降的情況下,其響應(yīng)速度有所提高。但是顯著減小了算法的計算量,提高了計算速度。同時通過實驗驗證表明,程序運行時,傳統(tǒng)型SVPWM需占用6 379個FPGA的邏輯單元,而改進型SVPWM只占用了4 284個FPGA的邏輯單元,其邏輯單元的占用量減少了近1/3,大大減小了FPGA實現(xiàn)控制算法的單元需求。
負載模擬側(cè)主要是通過精確控制電流的幅值和相位來模擬電源實際負載。在模擬各種負載時,可以將給定的阻抗指令實時轉(zhuǎn)換為電流指令。假設(shè)所模擬負載Z=R+jX,阻抗角為φz。
令三相電源的A相電壓ua=Ucos(ωt+φu),則交流電子負載A相電流的指令瞬時值為:
(6)
經(jīng)計算易知:
(7)
代入式(6)得:
(8)
同理可得B、C兩相電流的指令值:
(9)
(10)
在模擬不同阻抗負載時,只需在程序中直接給定阻抗模值和阻抗角,便可實時計算出三相指令電流。該實現(xiàn)方法可以通過電壓與電流關(guān)系實時自動調(diào)節(jié)電流指令大小,保持負載恒定不變,不受電源電壓波動影響,可以更好地滿足電源測試要求。
圖6 負載模擬電路控制框圖Fig.6 Load analog circuit control block diagram
能量回饋電路將負載消耗的能量回饋給電網(wǎng)以減少能源的浪費,達到節(jié)能的目的。采用SVPWM調(diào)制實現(xiàn)直流到交流的逆變。與傳統(tǒng)的SPWM相比,該技術(shù)在性能、諧波抑制和電壓利用率等方面均具有明顯優(yōu)勢。基于FPGA實現(xiàn)的SVPWM模塊結(jié)構(gòu)如圖7所示。
圖7 基于FPGA實現(xiàn)的SVPWM模塊結(jié)構(gòu)Fig.7 SVPWM module structure based on FPGA
目前基于FPGA的控制算法主要是通過硬件描述語言編程實現(xiàn),但是本文當(dāng)中涉及大量的函數(shù)運算、積分運算、解耦運算和坐標(biāo)變換等,計算量較大,編程難度較大,開發(fā)周期較長。為了縮短開發(fā)周期,本文針對另一種實現(xiàn)方式——Simulink模型轉(zhuǎn)換FPGA代碼的方法進行了深入研究。目前代碼轉(zhuǎn)換方法發(fā)展尚不成熟,普通Simulink模型無法成功轉(zhuǎn)換。已轉(zhuǎn)換模型還可能存在時序不滿足要求、資源占用率高和燒錄失敗等問題。為解決以上問題,結(jié)合FPGA工作的特殊要求,對相關(guān)模塊進行特殊設(shè)計,通過改變數(shù)據(jù)類型、調(diào)整模型結(jié)構(gòu)和改進構(gòu)造方法等措施,使其成功進行代碼轉(zhuǎn)換并降低寄存器的使用率。與直接編程方式相比,代碼轉(zhuǎn)換方式大大縮短了控制系統(tǒng)的開發(fā)周期。
硬件實驗采用型號為LTC2308的模數(shù)轉(zhuǎn)換器(ADC)將模擬量轉(zhuǎn)換為數(shù)字量。對于ADC的驅(qū)動程序,可利用狀態(tài)流模式對其實現(xiàn)。該型號ADC的驅(qū)動程序如圖8所示。
圖8 ADC驅(qū)動程序Fig.8 ADC driver
圖8所示為ADC單通道采集程序,設(shè)置整個采樣周期為5 000 ns,ADC時鐘頻率為5 MHz,將6位輸入數(shù)據(jù)鎖在前6個SCK的上升邊緣,同時令12位輸出數(shù)據(jù)在SCK的下降邊緣進行轉(zhuǎn)換。當(dāng)數(shù)據(jù)全部轉(zhuǎn)換完畢后,將所有變量置零并準(zhǔn)備下一周期的采樣工作。
根據(jù)第4節(jié)對系統(tǒng)進行的控制方案設(shè)計,基于FPGA對控制算法進行了實現(xiàn),如圖9所示。
圖9 控制算法模塊Fig.9 Control algorithm module
Simulink庫中的某些模塊不能滿足代碼轉(zhuǎn)換要求,如鎖相環(huán)模塊、坐標(biāo)轉(zhuǎn)換模塊和PI模塊等,需要根據(jù)其原理進行重新搭建。為節(jié)約寄存器資源,提高程序運行速度,仿真模型全部采用固定點數(shù)據(jù)類型。而三角函數(shù)模塊只能應(yīng)用于浮點數(shù)據(jù)類型,故設(shè)計了查找表代替三角函數(shù)模塊進行模型搭建的思路。在SVPWM模塊的實現(xiàn)過程中,發(fā)現(xiàn)多端口選擇器模塊在FPGA運算時會占用大量資源,嚴重影響時序和運行效率,故設(shè)計了狀態(tài)流模式代替多端口選擇器工作,此方法大大降低了寄存器的使用,提高了代碼轉(zhuǎn)換速率和工作效率。此外,由于FPGA運行時內(nèi)部資源的隨機利用會導(dǎo)致不同的布線路徑擁有不同的延時時間,進而導(dǎo)致競爭冒險現(xiàn)象的發(fā)生。為避免這一現(xiàn)象的出現(xiàn),可以在延時較長的線路添加延時模塊,使其滿足時序約束要求。
進行數(shù)據(jù)采集與傳輸時,受采樣時間和傳輸路徑等多方面影響,會導(dǎo)致數(shù)據(jù)的不同步性,從而影響結(jié)果的準(zhǔn)確性。為此,可通過中斷操作使數(shù)據(jù)傳輸按節(jié)拍進行。圖10和圖11分別為中斷程序和整體程序模型。
圖10 中斷程序Fig.10 Interrupt program
圖11 整體程序模型Fig.11 Overall program model
通過圖10所示中斷程序可以對圖11各個仿真模塊進行控制。首先由中斷程序給出使能信號啟動ADC驅(qū)動模塊工作;工作完成后,中斷程序發(fā)出命令停止ADC工作并啟動控制算法模塊工作,當(dāng)控制算法模塊運算完成后將其停止并啟動下一級模塊工作;直至將數(shù)據(jù)傳輸?shù)阶詈笠患壞K產(chǎn)生驅(qū)動信號為止;然后再進行新一輪的數(shù)據(jù)采集傳輸工作,如此循環(huán),使程序有序穩(wěn)定運行。
根據(jù)主電路拓撲結(jié)構(gòu)和控制電路算法,利用Simulink仿真系統(tǒng)搭建交流電子負載模擬部分仿真電路模型,具體參數(shù)如下:三相測試電源電壓為220 V,頻率為50 Hz;交流側(cè)諧波濾波器電感L1~L3為2 mH,電容C1~C3均為1 μF;直流側(cè)電容C為6 600 μF,電阻R為50 Ω。采用MOSFET作為功率開關(guān)器件以適應(yīng)高頻工作環(huán)境。整體仿真模型如圖12所示。
圖12 交流電子負載Simulink仿真模型Fig.12 Simulink simulation model of AC electronic load
通過設(shè)置不同的阻抗模值和阻抗角便可對不同類型的負載進行模擬,其仿真情況如圖13所示。
圖13 模擬純阻、阻容、阻感負載時仿真波形Fig.13 Simulation waveforms of pure resistance,resistance capacitance and resistance inductance load
圖13(a)、圖13(b)、圖13(c)分別是純阻性負載(|Z|=100,φz=0°)、阻容性負載(|Z|=100,φz=-45°)及阻感性負載(|Z|=100,φz=45°)時電源輸出端A相電壓和電流的仿真波形。由以上波形可知,此交流電子負載電路可滿足電源負載要求,證明了該種適于代碼轉(zhuǎn)換的模型及其控制算法的正確性和可行性。
為了實現(xiàn)基于FPGA控制的用于電源測試的饋能式交流電子負載,驗證基于FPGA實現(xiàn)的可行性和控制算法的正確性,搭建了如圖14所示的小功率硬件實驗電路平臺。各硬件參數(shù)與仿真參數(shù)相同,交流側(cè)諧波濾波器電感為2 mH,電容為1 μF,直流側(cè)電容為6 600 μF,電阻為50 Ω。由于實驗設(shè)備主電路耐壓等級的限制,進行了降壓實驗,在進行負載模擬時設(shè)置三相測試電源電壓為70 V,其輸出功率在負載阻抗角等于0°時為147 W。
圖14 實驗平臺Fig.14 Experimental platform
將圖11所示程序模型轉(zhuǎn)換成硬件描述語言并燒錄到FPGA芯片中,該實驗平臺便可通過輸入阻抗模值與阻抗角,精確地實現(xiàn)電源要求的負載。實驗中阻抗模值與阻抗角的設(shè)置與仿真相同,得到圖15所示的實驗波形。圖15(a)、圖15(b)、圖15(c)分別是純阻性負載(|Z|=100,φz=0°)、阻容性負載(|Z|=100,φz=-45°)及阻感性負載(|Z|=100,φz=45°)時電源輸出端A相電壓和電流的實驗波形。電壓波形數(shù)據(jù)在電壓探頭處于×10倍檔時顯示。電流波形數(shù)據(jù)通過電流探頭獲得,電流探頭的轉(zhuǎn)換比為100 mV/A。該實驗結(jié)果證實了負載模擬側(cè)控制策略和基于FPGA實現(xiàn)的可行性。
圖15 模擬純阻、阻容、阻感負載時實驗波形Fig.15 Experimental waveforms of pure resistance,resistance capacitance and resistance inductance load
基于FPGA實現(xiàn)了能量回饋部分以SVPWM作為調(diào)制方式的控制電路,進行了能量回饋實驗,逆變輸出波形如圖16所示。輸出電壓為70 V,頻率為50 Hz,后續(xù)再經(jīng)過升壓變壓器將電壓升至220 V即可進行并網(wǎng)操作。實現(xiàn)了開關(guān)頻率分別為10 kHz和100 kHz時的逆變輸出,驗證了FPGA良好的高頻性能。如果主電路允許的話,本方法可以實現(xiàn)更高開關(guān)頻率的控制電路。
圖16 10 kHz、100 kHz時的逆變輸出波形Fig.16 Inverter output waveforms at 10 kHz and 100 kHz
綜上所述,本文基于FPGA成功實現(xiàn)了控制電路高頻化的饋能式交流電子負載,達到了電源帶載測試既節(jié)能又精確的目標(biāo)要求。
本文針對基于FPGA的饋能式交流電子負載進行研究,提出了SVPWM的改進算法。在控制策略方面,根據(jù)指令電壓、指令電流和模擬負載的關(guān)系,設(shè)計了一種給定指令阻抗的電流單閉環(huán)控制方式,實現(xiàn)了對任何需要的交流電子負載的精確控制。通過Simulink仿真驗證了此控制策略的正確性。在FPGA硬件實現(xiàn)中,對ADC驅(qū)動、中斷、控制算法等模塊進行了特殊設(shè)計,實現(xiàn)了Simulink模型到VHDL程序代碼的轉(zhuǎn)換,大大減小了系統(tǒng)的開發(fā)周期。設(shè)計了FPGA控制核心和硬件電路實驗平臺,實現(xiàn)了用于電源測試的饋能式交流電子負載。