0 引言
Matlab是一種計(jì)算機(jī)仿真軟件,它是以矩陣為基礎(chǔ)的交互式程序計(jì)算語(yǔ)言。Simulink是基于框圖的仿真平臺(tái),它掛接在Matlab環(huán)境上, 以Matlab的強(qiáng)大計(jì)算功能為基礎(chǔ),用直觀的模塊框圖進(jìn)行仿真和計(jì)算。其中的電力系統(tǒng)(Power System)工具箱是專用于RLC電路、電力電子電路、電機(jī)傳動(dòng)控制系統(tǒng)和電力系統(tǒng)仿真用的模型庫(kù)。它具有豐富的器件模型和齊全的分析功能,且操作方 便。隨著對(duì)仿真和程序設(shè)計(jì)通用性及可視化需求的日益增加,Matlab的圖形用戶界面(GUI)應(yīng)用也越來(lái)越廣泛,功能越來(lái)越強(qiáng)大。以Matlab 7.1為設(shè)計(jì)平臺(tái),利用Simulink中的Power System工具箱來(lái)搭建整流電路仿真模型,并通過(guò)Matlab GUI設(shè)計(jì)整流電路的分析界面。
1 整流電路仿真模型
整流電路又稱交-直流變流器,在整流的同時(shí)還對(duì)直流電壓電流進(jìn)行調(diào)整,以符合用電設(shè)備的要求。按不同的分類方式,整流電路的種類非常多,其中單相橋式全控整流電路和三相橋式全控整流電路最為典型。以單相橋式全控整流電路為例,說(shuō)明其仿真模型的建立。
1.1 單相橋式全控整流電路構(gòu)成
單相橋式全控整流電路(純電阻負(fù)載)如圖1所示,電路由交流電源u1、整流變壓器T 、晶閘管VT1~VT4 、負(fù)載電阻R以及觸發(fā)電路組成。在變壓器次級(jí)電壓u2的正半周觸發(fā)晶閘管VT1和VT3;在u2的負(fù)半周觸發(fā)晶閘管VT2和VT4,則負(fù)載上可以得到方向 不變的直流電,改變晶閘管的控制角可以調(diào)節(jié)輸出直流電壓和電路的大小。
1.2 單相橋式全控整流電路模型建立
根據(jù)單相橋式全控整流電路原理圖,在Simulink的Power System工具箱里提取交流電源、晶閘管、RLC 串聯(lián)電路、脈沖發(fā)生器、變壓器、示波器等元器件。
在Simulink操作平臺(tái)上連接這些模塊,構(gòu)成單相橋式全控整流電路模型,如圖2所示。
1.3 模型參數(shù)設(shè)置
雙擊仿真模型中的各個(gè)模塊彈出參數(shù)設(shè)置對(duì)話框,就可進(jìn)行參數(shù)設(shè)置。在整流電路中,改變晶閘管觸發(fā)角a,輸出直流電壓和電流的大小就得到改變。因此觸 發(fā)角a的設(shè)置是電路參數(shù)中的重要一項(xiàng)。晶閘管的觸發(fā)采用脈沖觸發(fā)器(Pulse Generator)產(chǎn)生,脈沖發(fā)生器的脈沖周期Td必須和交流電源u2同步,晶閘管的控制角a以脈沖的延遲時(shí)間t來(lái)表示,t=aTd/360 °。其中,Td=1/f,f為交流電源頻率。仿真算法選擇ODE23TB算法,當(dāng)電路帶阻感性負(fù)載時(shí),應(yīng)保證觸發(fā)脈沖具有足夠的寬度。
2 整流電路GUI界面開(kāi)發(fā)
整流電路仿真模型參數(shù)的選擇十分關(guān)鍵,它直接影響到仿真結(jié)果和仿真質(zhì)量,從而進(jìn)一步影響到整流電路的設(shè)計(jì)。為了滿足整流電路更高的性能指標(biāo),在仿真過(guò)程中,就需要不斷地修改和設(shè)置參數(shù)而*費(fèi)大量時(shí)間。
另外,還需要反復(fù)地打開(kāi)示波器察看仿真結(jié)果,不僅過(guò)程繁瑣,且效率很低。因此,本文借助Matlab GUI建立了一個(gè)整流電路仿真界面,通過(guò)此界面,用戶可以很方便地在中文名稱環(huán)境下來(lái)設(shè)置參數(shù),選擇模型等,仿真結(jié)果也會(huì)直接在界面上顯示出來(lái),不僅方便 快捷,且大大提高了仿真效率。
2.1 Matlab GUI的實(shí)現(xiàn)方法
Matlab可視化界面的設(shè)計(jì)方法一般有2種:一是直接通過(guò)Matlab的腳本文件來(lái)實(shí)現(xiàn)GUI;另一種是通過(guò)Matlab圖形用戶界面開(kāi)發(fā)環(huán)境 GUIDE來(lái)實(shí)現(xiàn)圖形界面。Matlab軟件GUIDE為用戶提供了一個(gè)方便高效的集成環(huán)境,所有GUI支持的用戶控件都集成在這個(gè)環(huán)境中,并提供界面外 觀、屬性和行為響應(yīng)方式的設(shè)置方法。一般而言,由于界面中的控件對(duì)象屬性、行為,既可以在界面中實(shí)現(xiàn),也可以在生成的M文件中用m語(yǔ)言代碼在相應(yīng)的代碼段 中實(shí)現(xiàn)。因此,使用第2種方法實(shí)現(xiàn)圖形用戶界面雖然會(huì)給編程人員在修改和重新編輯界面時(shí)帶來(lái)一定的麻煩,但是,其設(shè)計(jì)過(guò)程較為直觀、簡(jiǎn)單,開(kāi)發(fā)周期短。在 此,采用第2種方法來(lái)實(shí)現(xiàn)整流電路的仿真界面。
2.2 仿真界面的開(kāi)發(fā)
整流電路仿真界面由選擇界面和主界面兩部分組成,選擇界面如圖3所示。在選擇界面中,把整流電路分為單相橋式全控整流電路、三相橋式全控整流電路和 帶容性負(fù)載的三相不可控橋式整流電路3種。每種電路有相應(yīng)的電路說(shuō)明,點(diǎn)擊“電路說(shuō)明”會(huì)彈出該電路的工作原理、特性等內(nèi)容,點(diǎn)擊每種電路后的“進(jìn)入”按 鈕,即可進(jìn)入相應(yīng)電路的主界面。為了保持界面風(fēng)格的一致性,三類整流電路的主界面設(shè)計(jì)相似,如點(diǎn)擊單相橋式全控整流電路的“電路說(shuō)明”,彈出其電路說(shuō)明圖 如圖4所示,單擊“進(jìn)入”,彈出其主界面圖如圖5所示。
電路仿真的主界面分為電路原理圖顯示區(qū)、參數(shù)設(shè)置區(qū)、波形顯示區(qū)、功能按鈕區(qū)以及相應(yīng)的菜單區(qū)。
2.3 仿真主界面的實(shí)現(xiàn)
打開(kāi)控件的各個(gè)屬性進(jìn)行設(shè)置,包括控件的背景色、前景色、Tag值、String值、Value值等。編寫相應(yīng)控件的程序代碼,以實(shí)現(xiàn)相應(yīng)的功能。
(1)電路原理圖的顯示。電路原理圖是用一個(gè)數(shù)軸顯示的,程序代碼為:
(2)模型參數(shù)的設(shè)置。參數(shù)設(shè)置包括負(fù)載參數(shù)以及仿真時(shí)間、電源電壓和脈沖發(fā)生器的參數(shù)設(shè)置。設(shè)置參數(shù)后,點(diǎn)擊“仿真”按鈕,仿真波形在顯示窗口動(dòng)態(tài)顯示出來(lái),如同示波器一樣。
電阻值的設(shè)置先用'''' get ''''函數(shù)來(lái)讀取電阻值文本框中的數(shù)值,再用''''set _ param'''' 函數(shù)將讀取的數(shù)值寫入Simulink電阻模塊中。
仿真時(shí)間的設(shè)置既可用滑動(dòng)條又可用編輯文本框。
移動(dòng)滑動(dòng)條上的滑塊位置就可改變滑動(dòng)條提供的數(shù)值,文本框中的參數(shù)也會(huì)隨之改變,反之亦然。文本框和滑動(dòng)條之間的數(shù)據(jù)傳遞用語(yǔ)句:
ldT = get(handles. Sli,''''Value'''');
set(hObject,''''String'''',OldT)實(shí)現(xiàn)。
電源電壓和脈沖發(fā)生器參數(shù)的設(shè)置采用調(diào)用模塊封裝界面的方法來(lái)實(shí)現(xiàn),利用''''open_system'''' 函數(shù),打開(kāi)模塊參數(shù)進(jìn)行設(shè)置。
(3)仿真波形在主界面的顯示。在Simulink模型中,把要顯示的波形數(shù)據(jù)導(dǎo)入workspace當(dāng)中,再利用plot(tout ,yout)命令畫出圖形,顯示在主界面上。為了在界面指定的坐標(biāo)軸中輸出圖形,只要在plot命令執(zhí)行前添加axes(h_ax es)代碼即可。
(4)輔助功能的實(shí)現(xiàn)。為了優(yōu)化仿真界面的功能,系統(tǒng)設(shè)有一些輔助功能,如柵格開(kāi)關(guān),顯示其他圖形、返回和退出等。
"柵格開(kāi)關(guān)"是對(duì)顯示區(qū)域的柵格控制,柵格的開(kāi)與關(guān)分別對(duì)應(yīng)''''grid on ''''的選中與否。相關(guān)代碼為:
單擊"顯示其他波形",即可進(jìn)入其他波形顯示界面,如圖6所示。能顯示晶閘管的電壓、電流波形和觸發(fā)脈沖的波形,這樣既可節(jié)省仿真主界面的空間,又可加強(qiáng)仿真界面的層次感。
(5)菜單的實(shí)現(xiàn)。菜單的實(shí)現(xiàn)采用的是GUI的uimenu菜單設(shè)計(jì),包括"文件"、"負(fù)載類型"、"其他"三項(xiàng)。其中"文件"和"其他"菜單的下 拉菜單的功能是對(duì)界面功能的同一表現(xiàn),"負(fù)載類型"的下拉菜單包括電阻負(fù)載和阻感負(fù)載,界面的關(guān)閉和打開(kāi)分別用到delete和figure函數(shù)。即如果 選擇阻感負(fù)載,系統(tǒng)會(huì)關(guān)閉純電阻負(fù)載變流電路的仿真界面figure(bisheshiyan4),打開(kāi)阻感負(fù)載的仿真界面 figure(danxiangzugan)。
由主界面仿真圖來(lái)看,從對(duì)各項(xiàng)參數(shù)的設(shè)置到仿真運(yùn)行再到結(jié)果顯示整個(gè)過(guò)程操作方便,加上輔助工具的使用,使仿真結(jié)果一目了然,對(duì)比清晰。如果對(duì)仿真結(jié)果不滿意,可以重新設(shè)置參數(shù)繼續(xù)進(jìn)行仿真。仿真結(jié)束后,可以選擇"退出"按鈕退出當(dāng)前界面。界面友好,操作簡(jiǎn)單。
3 結(jié)語(yǔ)
計(jì)算機(jī)仿真技術(shù)是研究電力電子技術(shù)的有效手段,它可以輔助工程設(shè)計(jì)、分析和研究, 也可以輔助教學(xué)。
本文利用仿真軟件Matlab的Simulink和Power System工具箱對(duì)應(yīng)用廣泛的整流電路進(jìn)行建模,并利用Matlab GUI功能建立了整流電路的仿真界面,該界面集參數(shù)設(shè)置、電路說(shuō)明、模型修改、模型查看、仿真操作、結(jié)果顯示和結(jié)果顯示輔助工具等為一體,大大減化了仿真 操作流程,極大提高仿真測(cè)試效率。整流電路仿真界面既為實(shí)際系統(tǒng)的元件參數(shù)選擇提供幫助,也為其他變流電路系統(tǒng)界面的開(kāi)發(fā)提供參考。