高寧宇
摘 要 針對(duì)電力拖動(dòng)課程的教學(xué)與實(shí)驗(yàn)特點(diǎn),利用MATLAB中的GUI(圖形用戶界面)和Simulink,開(kāi)發(fā)基于MATLAB的電力拖動(dòng)虛擬實(shí)驗(yàn)室。該虛擬實(shí)驗(yàn)室界面友好,實(shí)驗(yàn)參數(shù)可修改,實(shí)驗(yàn)結(jié)果可波形顯示,同時(shí)可作為課程的輔助教學(xué)系統(tǒng)。
關(guān)鍵詞 MATLAB/GUI;虛擬實(shí)驗(yàn)室;Simulink
中圖分類號(hào):TM301 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1671-489X(2015)18-0042-03
1 前言
電力拖動(dòng)課程是電氣工程及其自動(dòng)化專業(yè)的一門(mén)必修專業(yè)課,課程實(shí)踐性強(qiáng),實(shí)驗(yàn)教學(xué)在整個(gè)課程教學(xué)過(guò)程中占重要地位。電力拖動(dòng)課程的相關(guān)實(shí)驗(yàn),其動(dòng)態(tài)過(guò)程往往在很短的時(shí)間內(nèi)完成,無(wú)法觀測(cè)到電機(jī)各參數(shù)變化對(duì)電機(jī)運(yùn)行性能的影響,增加了學(xué)生對(duì)課堂知識(shí)的理解難度。虛擬實(shí)驗(yàn)技術(shù)是一種全新的教學(xué)手段,運(yùn)用計(jì)算機(jī)技術(shù)及其圖形化功能,建立虛擬模型來(lái)仿真實(shí)際物理實(shí)驗(yàn)過(guò)程,達(dá)到實(shí)驗(yàn)教學(xué)目的。本文將虛擬實(shí)驗(yàn)室技術(shù)運(yùn)用到電力拖動(dòng)課程的實(shí)驗(yàn)教學(xué)中,建立一個(gè)電力拖動(dòng)虛擬實(shí)驗(yàn)室。
MATLAB是Mathwors公司推出的、當(dāng)今國(guó)際上最流行的軟件之一。本文首先使用MATLAB/Simulink建立電力拖動(dòng)課程各實(shí)驗(yàn)項(xiàng)目的仿真實(shí)驗(yàn)?zāi)P?,然后使用MATLAB/GUI(圖形用戶界面)建立虛擬實(shí)驗(yàn)室界面,最后利用GUI調(diào)用Simulink仿真模型,實(shí)現(xiàn)可視化界面與仿真后臺(tái)之間的人機(jī)對(duì)話。
2 虛擬實(shí)驗(yàn)室的建立
本虛擬實(shí)驗(yàn)室涉及的實(shí)驗(yàn)項(xiàng)目有:他勵(lì)直流電動(dòng)機(jī)的起動(dòng)、制動(dòng)、調(diào)速;三相異步電動(dòng)機(jī)的機(jī)械特性、起動(dòng)、制動(dòng)、調(diào)速。下面將以直流電動(dòng)機(jī)串電阻分級(jí)起動(dòng)實(shí)驗(yàn)項(xiàng)目為例,進(jìn)行虛擬實(shí)驗(yàn)室的設(shè)計(jì)。
仿真實(shí)驗(yàn)?zāi)P偷慕?他勵(lì)直流電動(dòng)機(jī)在電樞回路串電阻起動(dòng)是限制起動(dòng)電流的有效方法之一。使用Simulink分別建立三級(jí)起動(dòng)的仿真實(shí)驗(yàn)?zāi)P秃碗娮杩刂谱幽P?,如圖1、圖2所示。系統(tǒng)在2.8 s、4.8 s、6.8 s時(shí),依次短接電阻R1、R2和R3,當(dāng)轉(zhuǎn)速上升到1400 r/min時(shí)加負(fù)載運(yùn)行[1]。
虛擬實(shí)驗(yàn)界面設(shè)計(jì)
1)啟動(dòng)GUI。啟動(dòng)GUI的方法有兩種:點(diǎn)擊MATLAB主菜單中File菜單的New子菜單中的選項(xiàng)GUI選項(xiàng),或者在MATLAB命令窗口中輸入guide命令,即可打開(kāi)GUI的開(kāi)發(fā)環(huán)境,如圖3所示。
2)界面的設(shè)計(jì)。虛擬實(shí)驗(yàn)室的界面由主界面和子界面組成。根據(jù)主界面的設(shè)計(jì)目標(biāo),在控件模板區(qū)選擇三個(gè)靜態(tài)文本框Static Text控件(“電力拖動(dòng)虛擬實(shí)驗(yàn)室”“實(shí)驗(yàn)類別”“實(shí)驗(yàn)項(xiàng)目”)、兩個(gè)列表框Listbox(“直流電力拖動(dòng)”“交流電力拖動(dòng)”;各種實(shí)驗(yàn)項(xiàng)目)、兩個(gè)按鈕Push Button(“開(kāi)始實(shí)驗(yàn)”“退出系統(tǒng)”)。設(shè)計(jì)的主界面如圖4所示。同理設(shè)計(jì)子界面,其中Axes控件用于顯示仿真波形,如圖5所示。
3)回調(diào)函數(shù)的編寫(xiě)與運(yùn)行。通過(guò)點(diǎn)擊GUI編輯菜單中“RUN Figure”按鈕,MATLAB將自動(dòng)生成一個(gè)和圖形界面同名的m文件,在此m文件下根據(jù)預(yù)設(shè)的圖形界面的功能,針對(duì)各個(gè)不同控件來(lái)編寫(xiě)能夠?qū)崿F(xiàn)該功能的回調(diào)函數(shù),確保這個(gè)圖形界面能夠完成所預(yù)定的功能,達(dá)到直接通過(guò)界面上各個(gè)控件就可以控制數(shù)據(jù)的輸入,并且可以方便直觀地看到預(yù)期結(jié)果。
本虛擬實(shí)驗(yàn)室是通過(guò)點(diǎn)擊“啟動(dòng)仿真”按鈕,達(dá)到GUI調(diào)用后臺(tái)Simulink仿真實(shí)驗(yàn)?zāi)P?。在m文件中定位到“啟動(dòng)仿真”按鈕的回調(diào)函數(shù),在編寫(xiě)此回調(diào)函數(shù)時(shí)特別注意:Simulink默認(rèn)使用基本狀態(tài)空間(Base Workspace)的數(shù)據(jù),而函數(shù)有自己的狀態(tài)空間,兩者狀態(tài)空間不兼容。在Simulink中simset()函數(shù)可以讓用戶自定義仿真實(shí)驗(yàn)?zāi)P偷臓顟B(tài)空間,即將仿真實(shí)驗(yàn)?zāi)P偷臓顟B(tài)空間設(shè)置為當(dāng)前狀態(tài)空間。
回調(diào)函數(shù)程序如下:
function simulate_pushbutton_Callback(hObject, eventdata,
handles)
axes(handles.axes1)//將Axes1設(shè)置為當(dāng)前坐標(biāo)系,便于繪制仿真結(jié)果
R1=str2num(get(handles.edit2,′String′));
R2=str2num(get(handles.edit3,′String′));
R3=str2num(get(handles.edit4,′String′));
options = simset(′SrcWorkspace′,′current′); //設(shè)置在Simulink
從當(dāng)前狀態(tài)空間運(yùn)行
sim(′zhiliudianji_fenjiqidong′,[],options); //使用Sim()函數(shù)對(duì)模型進(jìn)行仿真
plot(tout,yout(:,1)) //繪制轉(zhuǎn)速波形
xlabel(′Time′)
ylabel(′n′)
Title(′他勵(lì)直流電動(dòng)機(jī)串電阻起動(dòng)′,′Color′,′r′,′fontsize′,16)
grid on
axes(handles.axes2) //繪制電流波形
plot(tout,yout(:,2))
xlabel(′Time′)
ylabel(′Ia′)
grid on
運(yùn)行程序后,主界面如圖6所示,通過(guò)點(diǎn)擊“實(shí)驗(yàn)類別”下拉單選擇“直流電力拖動(dòng)”,然后點(diǎn)擊“實(shí)驗(yàn)項(xiàng)目”下拉菜單“串電阻分級(jí)起動(dòng)”,最后點(diǎn)擊“開(kāi)始實(shí)驗(yàn)”按鈕,跳出“電力拖動(dòng)虛擬實(shí)驗(yàn)室”窗口,如圖7所示。從波形顯示中可以觀察到轉(zhuǎn)速、電流的動(dòng)態(tài)變化過(guò)程,通過(guò)“參數(shù)設(shè)置”,設(shè)定合適的各級(jí)起動(dòng)電阻的大小,起動(dòng)電流可以控制在一定的范圍內(nèi)。
3 結(jié)束語(yǔ)
開(kāi)發(fā)的基于MATLAB/GUI電力拖動(dòng)虛擬實(shí)驗(yàn)室達(dá)到預(yù)期設(shè)計(jì)目標(biāo)。本虛擬實(shí)驗(yàn)室除了可以獲得與傳統(tǒng)實(shí)驗(yàn)一致的實(shí)驗(yàn)現(xiàn)象外,還可以對(duì)實(shí)驗(yàn)結(jié)果(包括轉(zhuǎn)速、電流等關(guān)鍵參數(shù))曲線顯示,可以通過(guò)實(shí)驗(yàn)界面改變工作參數(shù),模擬實(shí)際電動(dòng)機(jī)的各種響應(yīng),觀察瞬間完成的實(shí)驗(yàn)動(dòng)態(tài)過(guò)程,同時(shí)也可以作為電力拖動(dòng)課程理論教學(xué)及實(shí)驗(yàn)教學(xué)的計(jì)算機(jī)輔助教學(xué)系統(tǒng)?!?/p>
參考文獻(xiàn)
[1]劉鳳春,等.電機(jī)與拖動(dòng)MATLAB仿真與學(xué)習(xí)指導(dǎo)[M].北京:機(jī)械工業(yè)出版社,2008.
[2]羅飛華.MATLAB GUI設(shè)計(jì)學(xué)習(xí)手記[M].北京:北京航空航天大學(xué)出版社,2014.