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