《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計應(yīng)用 > 基于Matlab GUI的整流電路仿真
基于Matlab GUI的整流電路仿真
現(xiàn)代電子技術(shù)
摘要: 本文利用仿真軟件Matlab的Simulink和Power System工具箱對應(yīng)用廣泛的整流電路進行建模,,并利用Matlab GUI功能建立了整流電路的仿真界面,,該界面集參數(shù)設(shè)置、電路說明,、模型修改、模型查看、仿真操作,、結(jié)果顯示和結(jié)果顯示輔助工具等為一體,大大減化了仿真操作流程,,極大提高仿真測試效率,。整流電路仿真界面既為實際系統(tǒng)的元件參數(shù)選擇提供幫助,也為其他變流電路系統(tǒng)界面的開發(fā)提供參考,。
關(guān)鍵詞: Matlab GUI 整流電路 Simulink
Abstract:
Key words :
整流電路是電力電子電路中出現(xiàn)最早的一種,,它的作用是將交流電能變?yōu)橹绷麟娔芄┙o直流用電設(shè)備,整流電路的應(yīng)用十分廣泛,。在整流電路的設(shè)計過程中,,需要對設(shè)計電路及有關(guān)參數(shù)選擇是否合理、效果好壞進行驗證,。如果通過實驗來驗證,,需要經(jīng)過反復(fù)多次的元件安裝、調(diào)試,、重新設(shè)計等步驟,,這樣使得設(shè)計耗資大,效率低,,周期長?,F(xiàn)代計算機仿真技術(shù)為電力電子電路的設(shè)計和分析提供了嶄新的方法,可以使復(fù)雜的電力電子電路、系統(tǒng)的分析和設(shè)計變得更加容易和有效,。

Matlab是一種計算機仿真軟件,,它是以矩陣為基礎(chǔ)的交互式程序計算語言。Simulink是基于框圖的仿真平臺,,它掛接在Matlab環(huán)境上,,以Matlab的強大計算功能為基礎(chǔ),用直觀的模塊框圖進行仿真和計算,。其中的電力系統(tǒng)(Power System)工具箱是專用于RLC電路,、電力電子電路、電機傳動控制系統(tǒng)和電力系統(tǒng)仿真用的模型庫,。它具有豐富的器件模型和齊全的分析功能,,且操作方便。隨著對仿真和程序設(shè)計通用性及可視化需求的日益增加,,Matlab的圖形用戶界面(GUI)應(yīng)用也越來越廣泛,,功能越來越強大。以Matlab 7.1為設(shè)計平臺,,利用Simulink中的Power System工具箱來搭建整流電路仿真模型,,并通過Matlab GUI設(shè)計整流電路的分析界面。

1 整流電路仿真模型

整流電路又稱交-直流變流器,,在整流的同時還對直流電壓電流進行調(diào)整,,以符合用電設(shè)備的要求。按不同的分類方式,,整流電路的種類非常多,其中單相橋式全控整流電路和三相橋式全控整流電路最為典型,。以單相橋式全控整流電路為例,,說明其仿真模型的建立。

1.1 單相橋式全控整流電路構(gòu)成

單相橋式全控整流電路(純電阻負載)如圖1所示,,電路由交流電源u1,、整流變壓器T 、晶閘管VT1~VT4 ,、負載電阻R以及觸發(fā)電路組成,。在變壓器次級電壓u2的正半周觸發(fā)晶閘管VT1和VT3;在u2的負半周觸發(fā)晶閘管VT2和VT4,,則負載上可以得到方向不變的直流電,,改變晶閘管的控制角可以調(diào)節(jié)輸出直流電壓和電路的大小。

基于Matlab GUI的整流電路仿真設(shè)計
圖1 單相橋式全控整流電路原理圖

1.2 單相橋式全控整流電路模型建立

根據(jù)單相橋式全控整流電路原理圖,,在Simulink的Power System工具箱里提取交流電源,、晶閘管、RLC 串聯(lián)電路、脈沖發(fā)生器,、變壓器,、示波器等元器件。

在Simulink操作平臺上連接這些模塊,,構(gòu)成單相橋式全控整流電路模型,,如圖2所示。

基于Matlab GUI的整流電路仿真設(shè)計
圖2 單相橋式整流電路仿真模型圖

1.3 模型參數(shù)設(shè)置

雙擊仿真模型中的各個模塊彈出參數(shù)設(shè)置對話框,,就可進行參數(shù)設(shè)置,。在整流電路中,改變晶閘管觸發(fā)角a,,輸出直流電壓和電流的大小就得到改變,。因此觸發(fā)角a的設(shè)置是電路參數(shù)中的重要一項。晶閘管的觸發(fā)采用脈沖觸發(fā)器(Pulse Generator)產(chǎn)生,,脈沖發(fā)生器的脈沖周期Td必須和交流電源u2同步,,晶閘管的控制角a以脈沖的延遲時間t來表示,t=aTd/360 °,。其中,,Td=1/f,f為交流電源頻率,。仿真算法選擇ODE23TB算法,,當電路帶阻感性負載時,應(yīng)保證觸發(fā)脈沖具有足夠的寬度,。

2 整流電路GUI界面開發(fā)

整流電路仿真模型參數(shù)的選擇十分關(guān)鍵,,它直接影響到仿真結(jié)果和仿真質(zhì)量,從而進一步影響到整流電路的設(shè)計,。為了滿足整流電路更高的性能指標,,在仿真過程中,就需要不斷地修改和設(shè)置參數(shù)而*費大量時間,。

另外,,還需要反復(fù)地打開示波器察看仿真結(jié)果,不僅過程繁瑣,,且效率很低,。因此,本文借助Matlab GUI建立了一個整流電路仿真界面,,通過此界面,,用戶可以很方便地在中文名稱環(huán)境下來設(shè)置參數(shù),選擇模型等,,仿真結(jié)果也會直接在界面上顯示出來,,不僅方便快捷,且大大提高了仿真效率。

2.1 Matlab GUI的實現(xiàn)方法

Matlab可視化界面的設(shè)計方法一般有2種:一是直接通過Matlab的腳本文件來實現(xiàn)GUI,;另一種是通過Matlab圖形用戶界面開發(fā)環(huán)境GUIDE來實現(xiàn)圖形界面,。Matlab軟件GUIDE為用戶提供了一個方便高效的集成環(huán)境,所有GUI支持的用戶控件都集成在這個環(huán)境中,,并提供界面外觀,、屬性和行為響應(yīng)方式的設(shè)置方法。一般而言,,由于界面中的控件對象屬性,、行為,既可以在界面中實現(xiàn),,也可以在生成的M文件中用m語言代碼在相應(yīng)的代碼段中實現(xiàn),。因此,使用第2種方法實現(xiàn)圖形用戶界面雖然會給編程人員在修改和重新編輯界面時帶來一定的麻煩,,但是,,其設(shè)計過程較為直觀、簡單,,開發(fā)周期短,。在此,采用第2種方法來實現(xiàn)整流電路的仿真界面,。

2.2 仿真界面的開發(fā)

整流電路仿真界面由選擇界面和主界面兩部分組成,,選擇界面如圖3所示。在選擇界面中,,把整流電路分為單相橋式全控整流電路,、三相橋式全控整流電路和帶容性負載的三相不可控橋式整流電路3種。每種電路有相應(yīng)的電路說明,,點擊“電路說明”會彈出該電路的工作原理,、特性等內(nèi)容,點擊每種電路后的“進入”按鈕,,即可進入相應(yīng)電路的主界面。為了保持界面風(fēng)格的一致性,,三類整流電路的主界面設(shè)計相似,,如點擊單相橋式全控整流電路的“電路說明”,彈出其電路說明圖如圖4所示,,單擊“進入”,,彈出其主界面圖如圖5所示。

電路仿真的主界面分為電路原理圖顯示區(qū),、參數(shù)設(shè)置區(qū),、波形顯示區(qū)、功能按鈕區(qū)以及相應(yīng)的菜單區(qū)。

基于Matlab GUI的整流電路仿真設(shè)計
圖3 整流電路選擇界面

基于Matlab GUI的整流電路仿真設(shè)計
圖4 電路說明界面

基于Matlab GUI的整流電路仿真設(shè)計
圖5 仿真主界面

2.3 仿真主界面的實現(xiàn)

打開控件的各個屬性進行設(shè)置,,包括控件的背景色,、前景色、Tag值,、String值,、Value值等。編寫相應(yīng)控件的程序代碼,,以實現(xiàn)相應(yīng)的功能,。

(1)電路原理圖的顯示。電路原理圖是用一個數(shù)軸顯示的,,程序代碼為:

基于Matlab GUI的整流電路仿真設(shè)計

imread函數(shù)用于讀取電路原理圖圖片,,顯示圖片用' image '函數(shù),代碼' axis off '的作用是將數(shù)軸的坐標去掉,。

(2)模型參數(shù)的設(shè)置,。參數(shù)設(shè)置包括負載參數(shù)以及仿真時間、電源電壓和脈沖發(fā)生器的參數(shù)設(shè)置,。設(shè)置參數(shù)后,,點擊“仿真”按鈕,仿真波形在顯示窗口動態(tài)顯示出來,,如同示波器一樣,。

電阻值的設(shè)置先用' get '函數(shù)來讀取電阻值文本框中的數(shù)值,再用'set _ param' 函數(shù)將讀取的數(shù)值寫入Simulink電阻模塊中,。

仿真時間的設(shè)置既可用滑動條又可用編輯文本框,。

移動滑動條上的滑塊位置就可改變滑動條提供的數(shù)值,文本框中的參數(shù)也會隨之改變,,反之亦然,。文本框和滑動條之間的數(shù)據(jù)傳遞用語句:

ldT = get(handles. Sli,'Value'),;

set(hObject,,'String',OldT)實現(xiàn),。

電源電壓和脈沖發(fā)生器參數(shù)的設(shè)置采用調(diào)用模塊封裝界面的方法來實現(xiàn),,利用'open_system' 函數(shù),打開模塊參數(shù)進行設(shè)置,。

(3)仿真波形在主界面的顯示,。在Simulink模型中,把要顯示的波形數(shù)據(jù)導(dǎo)入workspace當中,,再利用plot(tout ,,yout)命令畫出圖形,,顯示在主界面上。為了在界面指定的坐標軸中輸出圖形,,只要在plot命令執(zhí)行前添加axes(h_ax es)代碼即可,。

(4)輔助功能的實現(xiàn)。為了優(yōu)化仿真界面的功能,,系統(tǒng)設(shè)有一些輔助功能,,如柵格開關(guān),顯示其他圖形,、返回和退出等,。

"柵格開關(guān)"是對顯示區(qū)域的柵格控制,柵格的開與關(guān)分別對應(yīng)'grid on '的選中與否,。相關(guān)代碼為:

基于Matlab GUI的整流電路仿真設(shè)計

單擊"顯示其他波形",,即可進入其他波形顯示界面,如圖6所示,。能顯示晶閘管的電壓,、電流波形和觸發(fā)脈沖的波形,這樣既可節(jié)省仿真主界面的空間,,又可加強仿真界面的層次感,。

基于Matlab GUI的整流電路仿真設(shè)計
圖6 顯示其他波形界面

(5)菜單的實現(xiàn)。菜單的實現(xiàn)采用的是GUI的uimenu菜單設(shè)計,,包括"文件",、"負載類型"、"其他"三項,。其中"文件"和"其他"菜單的下拉菜單的功能是對界面功能的同一表現(xiàn),,"負載類型"的下拉菜單包括電阻負載和阻感負載,界面的關(guān)閉和打開分別用到delete和figure函數(shù),。即如果選擇阻感負載,,系統(tǒng)會關(guān)閉純電阻負載變流電路的仿真界面figure(bisheshiyan4),打開阻感負載的仿真界面figure(danxiangzugan),。

由主界面仿真圖來看,,從對各項參數(shù)的設(shè)置到仿真運行再到結(jié)果顯示整個過程操作方便,加上輔助工具的使用,,使仿真結(jié)果一目了然,,對比清晰。如果對仿真結(jié)果不滿意,,可以重新設(shè)置參數(shù)繼續(xù)進行仿真。仿真結(jié)束后,,可以選擇"退出"按鈕退出當前界面,。界面友好,,操作簡單。

3 結(jié)語

計算機仿真技術(shù)是研究電力電子技術(shù)的有效手段,,它可以輔助工程設(shè)計,、分析和研究, 也可以輔助教學(xué),。

本文利用仿真軟件Matlab的Simulink和Power System工具箱對應(yīng)用廣泛的整流電路進行建模,,并利用Matlab GUI功能建立了整流電路的仿真界面,該界面集參數(shù)設(shè)置,、電路說明,、模型修改、模型查看,、仿真操作,、結(jié)果顯示和結(jié)果顯示輔助工具等為一體,大大減化了仿真操作流程,,極大提高仿真測試效率,。整流電路仿真界面既為實際系統(tǒng)的元件參數(shù)選擇提供幫助,也為其他變流電路系統(tǒng)界面的開發(fā)提供參考,。

作者:安樹 趙霞 徐小華   來源:《現(xiàn)代電子技術(shù)》2011年04期

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