《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于MatlabGUI的整流電路仿真設(shè)計(jì)
基于MatlabGUI的整流電路仿真設(shè)計(jì)
摘要: 隨著對(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ì)整流電路的分析界面。
Abstract:
Key words :

0 引言

整流電路是電力電子電路中出現(xiàn)最早的一種,,它的作用是將交流電能變?yōu)橹绷麟娔芄┙o直流用電設(shè)備,,整流電路的應(yīng)用十分廣泛。在整流電路的設(shè)計(jì)過(guò)程中,,需要對(duì)設(shè)計(jì)電路及有關(guān)參數(shù)選擇是否合理,、效果好壞進(jìn)行驗(yàn)證。如果通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證,,需要經(jīng)過(guò)反復(fù)多次的元件安裝,、調(diào)試、重新設(shè)計(jì)等步驟,,這樣使得設(shè)計(jì)耗資大,,效率低,周期長(zhǎng)?,F(xiàn)代計(jì)算機(jī)仿真技術(shù)為電力電子電路的設(shè)計(jì)和分析提供了嶄新的方法,,可以使復(fù)雜的電力電子電路、系統(tǒng)的分析和設(shè)計(jì)變得更加容易和有效,。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ā)角α,輸出直流電壓和電流的大小就得到改變,。因此觸發(fā)角α的設(shè)置是電路參數(shù)中的重要一項(xiàng),。晶閘管的觸發(fā)采用脈沖觸發(fā)器(Pulse Generator)產(chǎn)生,脈沖發(fā)生器的脈沖周期Td必須和交流電源u2同步,,晶閘管的控制角α以脈沖的延遲時(shí)間t來(lái)表示,,t=αTd/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值等,。編寫(xiě)相應(yīng)控件的程序代碼,以實(shí)現(xiàn)相應(yīng)的功能,。
(1)電路原理圖的顯示,。電路原理圖是用一個(gè)數(shù)軸顯示的,程序代碼為:

“imread”函數(shù)用于讀取電路原理圖圖片,,顯示圖片用“image”函數(shù),,代碼“axis off”的作用是將數(shù)軸的坐標(biāo)去掉。
(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ù)值寫(xiě)入Simulink電阻模塊中,。
仿真時(shí)間的設(shè)置既可用滑動(dòng)條又可用編輯文本框。移動(dòng)滑動(dòng)條上的滑塊位置就可改變滑動(dòng)條提供的數(shù)值,,文本框中的參數(shù)也會(huì)隨之改變,,反之亦然。文本框和滑動(dòng)條之間的數(shù)據(jù)傳遞用語(yǔ)句:


電源電壓和脈沖發(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)命令畫(huà)出圖形,顯示在主界面上,。為了在界面指定的坐標(biāo)軸中輸出圖形,,只要在plot命令執(zhí)行前添加axes(h_axes)代碼即可。
(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ā)提供參考,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。