史成城,謝麗蓉,張 丹
(新疆大學(xué) 電氣工程學(xué)院,新疆 烏魯木齊 830047)
運(yùn)動(dòng)控制系統(tǒng)就是通過(guò)控制電機(jī)電壓、電流和頻率等輸入量來(lái)改變工作機(jī)械的轉(zhuǎn)矩、速度、位移等機(jī)械量,使各種工作機(jī)械按照人們期望的要求進(jìn)行,以滿足生產(chǎn)工藝及其他應(yīng)用的需要[1]。隨著計(jì)算機(jī)的發(fā)展和電機(jī)的廣泛應(yīng)用,在工業(yè)中,需要通過(guò)計(jì)算機(jī)仿真來(lái)驗(yàn)證設(shè)計(jì)過(guò)程的合理性。而在教學(xué)中,因?yàn)閮?nèi)容與實(shí)踐的緊密聯(lián)系,通過(guò)計(jì)算機(jī)仿真可以幫助學(xué)生更好地理解和掌握知識(shí)。
運(yùn)動(dòng)控制系統(tǒng)是一門(mén)實(shí)踐性和應(yīng)用型課程,相關(guān)教材有很多,雖然有一些實(shí)例圖示,但缺乏全面系統(tǒng)配合教學(xué)內(nèi)容的實(shí)驗(yàn)系統(tǒng)。在教學(xué)過(guò)程中,由于缺少緊扣教材的實(shí)驗(yàn)系統(tǒng),學(xué)生很難理解一些復(fù)雜的概念和原理。為此,我們?cè)诳梢暬?jì)算軟件Matlab平臺(tái)上開(kāi)發(fā)了運(yùn)動(dòng)控制系統(tǒng)交互式實(shí)驗(yàn)系統(tǒng)。
Matlab在運(yùn)動(dòng)控制系統(tǒng)實(shí)驗(yàn)中的應(yīng)用大多是涉及個(gè)別課程內(nèi)容的孤立程序,而這個(gè)軟件是一個(gè)完整的演示和交互式實(shí)驗(yàn)系統(tǒng),且已發(fā)布為可獨(dú)立運(yùn)行的軟件。這一軟件平臺(tái)緊扣教學(xué)內(nèi)容,包含了大量的仿真演示,每個(gè)仿真界面均有詳細(xì)的幫助與原理說(shuō)明。學(xué)生可以通過(guò)在GUI界面改變?cè)?shù)和條件,觀察并分析波形,還可以加載實(shí)例,自己動(dòng)手編寫(xiě)模擬實(shí)驗(yàn)??梢暬慕缑嫘蜗笊鷦?dòng),使用方便,交互性強(qiáng),且仍具有擴(kuò)展能力。
Matlab軟件提供了現(xiàn)代化的教學(xué)手段,尤其是對(duì)專業(yè)課的教學(xué)。在理論教學(xué)基礎(chǔ)上,實(shí)際系統(tǒng)、工程應(yīng)用、實(shí)際案例的學(xué)習(xí)是必不可少的,加入仿真技術(shù)輔助教學(xué)軟件,既可演示復(fù)雜系統(tǒng)的未知結(jié)果,又可以演示系統(tǒng)隨參數(shù)變化而變化的各種趨勢(shì),有助于學(xué)生對(duì)理論的理解,更能彌補(bǔ)實(shí)驗(yàn)手段的不足。Matlab的仿真為專業(yè)課的教學(xué)提供了很好的方法[2]。
Simulink是基于框圖的仿真平臺(tái),它掛接在Matlab環(huán)境上,以Matlab的強(qiáng)大計(jì)算功能為基礎(chǔ),用直觀的模塊框圖進(jìn)行仿真和計(jì)算[3]。其中的電力系統(tǒng)(power system)工具箱是專門(mén)用于RLC電路、電力電子電路、電機(jī)傳動(dòng)控制系統(tǒng)和電力系統(tǒng)仿真的模型庫(kù),它具有豐富的器件模型和齊全的分析功能[4]。利用此工具箱可以方便地實(shí)現(xiàn)電力電子仿真模型的搭建。
但在教學(xué)中還存在一定的問(wèn)題,如:搭建復(fù)雜模型的教學(xué)過(guò)程,學(xué)生不僅不能很好地掌握知識(shí)點(diǎn),而且對(duì)課程的興趣也逐漸降低。
針對(duì)存在的問(wèn)題和Matlab軟件的優(yōu)點(diǎn),筆者利用Matlab GUI開(kāi)發(fā)出一套完整的運(yùn)動(dòng)控制系統(tǒng)軟件實(shí)驗(yàn)平臺(tái)作為教學(xué)的主要輔助手段。本實(shí)驗(yàn)系統(tǒng)包括電機(jī)的特性仿真、電機(jī)起動(dòng)、制動(dòng)、調(diào)速、調(diào)節(jié)器的設(shè)計(jì)及電力電子變流幾大部分。
各界面的設(shè)計(jì)主要采用了靜態(tài)文本框、可編輯文本框、觸控按鈕、面板和坐標(biāo)軸等控件來(lái)實(shí)現(xiàn)一些功能[5],各個(gè)控件的功能通過(guò)編寫(xiě)其相應(yīng)的回調(diào)函數(shù)來(lái)實(shí)現(xiàn),主界面中通過(guò)選單(菜單)欄的建立來(lái)切換各子界面。
此實(shí)驗(yàn)的結(jié)構(gòu)界面布局為1個(gè)主界面和6個(gè)子界面。界面的設(shè)計(jì)按照工程設(shè)計(jì)的方法,即先電流環(huán)再轉(zhuǎn)速環(huán)的設(shè)計(jì)順序,通過(guò)對(duì)調(diào)節(jié)器框圖化簡(jiǎn)及調(diào)節(jié)器結(jié)構(gòu)的選擇,對(duì)調(diào)解器的參數(shù)進(jìn)行計(jì)算[6]。界面中包含了調(diào)節(jié)器設(shè)計(jì)的主要內(nèi)容,并且通過(guò)相應(yīng)的后臺(tái)代碼,用戶在界面中填寫(xiě)已知的調(diào)節(jié)器參數(shù)或加載實(shí)例,可得到可視化的仿真結(jié)果。
電流環(huán)與轉(zhuǎn)速環(huán)在設(shè)計(jì)過(guò)程中的思想與方法基本相同,本文以電流環(huán)的響應(yīng)曲線、電流環(huán)的伯德圖為例進(jìn)行介紹。電流環(huán)的響應(yīng)曲線界面包括5個(gè)部分(如圖1所示)。
(1)選單欄(包括參數(shù)說(shuō)明);
(2)需要用戶填寫(xiě)已知的電機(jī)參數(shù)(即輸入?yún)?shù));
(3)根據(jù)已知參數(shù)得出相應(yīng)的電流環(huán)參數(shù)及近似條件的校驗(yàn);
(4)繪出電流環(huán)的響應(yīng)曲線,相應(yīng)的波形會(huì)在可視的圖形窗口畫(huà)出;
(5)一些功能按鈕,用戶在填好參數(shù)后,單擊確定按鈕就可方便地得到仿真結(jié)果,同時(shí)也可以通過(guò)加載事例按鈕來(lái)得到加載事例的結(jié)果和波形。
因?yàn)樵诩虞d事例中程序反應(yīng)稍顯慢,通過(guò)一個(gè)進(jìn)度條來(lái)過(guò)渡。清除按鈕用于清除text中的參數(shù)和圖形顯示窗口中所顯示的圖形[7]。用戶通過(guò)點(diǎn)擊電流環(huán)的動(dòng)態(tài)結(jié)構(gòu)框圖按鈕,可得到電流環(huán)的結(jié)構(gòu)框圖,使用戶對(duì)電流環(huán)的總體設(shè)計(jì)有更深刻的理解。
圖1 仿真結(jié)果界面圖
在選單欄的參數(shù)說(shuō)明中,對(duì)每個(gè)參數(shù)符號(hào)都加以說(shuō)明,方便用戶的查詢。同時(shí)在界面的底部,給出每個(gè)參數(shù)的單位,為了生動(dòng)和界面的布局,通過(guò)編程使其上下滾動(dòng)顯示。
在圖2所示界面中,主要是對(duì)電流環(huán)開(kāi)環(huán)增益和電流環(huán)截止頻率的求解,并根據(jù)電流環(huán)的開(kāi)環(huán)傳遞函數(shù)(顯示在圖形窗口中,點(diǎn)擊確定按鈕或者加載事例后被響應(yīng)曲線所覆蓋,方便用戶查看)得出電流環(huán)的單位閉環(huán)傳遞函數(shù),繪制其相應(yīng)參數(shù)的階躍響應(yīng)曲線[8-9]。通過(guò)波形觀察階躍響應(yīng)跟隨性能指標(biāo)(上升時(shí)間、超調(diào)量和調(diào)節(jié)時(shí)間)。采用同樣的方法,繪制電流環(huán)的伯德圖,可以觀察到電流環(huán)的穩(wěn)態(tài)性能,如圖2所示。
電機(jī)起、制動(dòng)、調(diào)速及電力電子換流制作方法相同,以電力電子換流為例,仿真模型可首先根據(jù)原理搭建相應(yīng)的Simulink,模型搭建無(wú)誤后,拖拽模塊,完成界面的搭建[10]。電力電子變流包括4個(gè)部分(整流、直流斬波、交流調(diào)壓、PWM逆變)。下面介紹單相全波可控整流的仿真(見(jiàn)圖3)。
圖2 電流環(huán)的伯德圖
圖3 單相全波可控整流仿真
為了實(shí)現(xiàn)在界面中填入元件參數(shù)或仿真時(shí)間,從而改變Simulink中的參數(shù),需要simset命令[11],仿真時(shí)起動(dòng)后臺(tái)的Simulink,導(dǎo)出波形,繪制在GUI中axes里[12]。Start Simulination的Callback程序如下:
通過(guò)先進(jìn)的軟件工具開(kāi)發(fā)教學(xué)演示平臺(tái),對(duì)提高教學(xué)質(zhì)量具有積極的意義。本軟件仿真平臺(tái)借助Matlab的編程功能,能夠?qū)?fù)雜的電力拖動(dòng)控制系統(tǒng)的計(jì)算進(jìn)行快速求解,運(yùn)用GUIDE直觀顯示及界面輔助用戶查詢的功能,使得界面形象、操作簡(jiǎn)單。已將此軟件應(yīng)用于課堂演示中,達(dá)到了很好的效果,加深了學(xué)生對(duì)概念和基本原理的理解。GUI提供交互式實(shí)驗(yàn)操作環(huán)境,在傳統(tǒng)教學(xué)基礎(chǔ)上強(qiáng)調(diào)了理論和實(shí)踐的結(jié)合。我們將在教學(xué)實(shí)踐中對(duì)本系統(tǒng)進(jìn)行不斷的優(yōu)化。
(References)
[1]陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng)[M].2版.北京:機(jī)械工業(yè)出版社,2003.
[2]李顯宏.Matlab7.x界面設(shè)計(jì)與編譯技巧[M].北京:電子工業(yè)出版社,2006.
[3]李國(guó)勇.計(jì)算機(jī)仿真技術(shù)與CAD:基于 Matlab的控制系統(tǒng)[M].2版.北京:電子工業(yè)出版社,2008.
[4]尚麗,淮文軍.基于Matlab/Simulink和GUI的運(yùn)動(dòng)控制系統(tǒng)虛擬實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2010,29(6):66-71.
[5]秦輝,席裕庚.基于Matlab GUI的預(yù)測(cè)控制仿真平臺(tái)設(shè)計(jì)[J].系統(tǒng)仿真學(xué)報(bào),2006,18(10):2778-2781.
[6]邱金蕙,王矞輝,李振全,等.基于Matlab/GUI的新型界面開(kāi)發(fā)方式[J].河北工業(yè)科技,2008,25(4):233-235.
[7]韓慶慶,肖乾虎,袁琦,等.基于GUI功能設(shè)計(jì)的電機(jī)仿真試驗(yàn)系統(tǒng)[J].水電能源科學(xué),2011,29(1):129-131.
[8]褚丹雷,薛小龍,胡國(guó)清.基于Matlab-GUI界面的計(jì)算機(jī)控制系統(tǒng)設(shè)計(jì)及Simulink動(dòng)態(tài)仿真[J].探測(cè)與控制學(xué)報(bào),2002,24(1):48-52.
[9]沈捷,王莉.數(shù)字信號(hào)處理教學(xué)實(shí)驗(yàn)軟件包的GUI設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2008,25(2):88-91.
[10]Stoecklin S,Allen C.Creating a reusable GUI component[J].Software-practice & Experience,2002,32(5):403-416.
[11]Memon A M.GUI testing:pitfalls and process[J].Computer,2002,35(8):87-88.
[12]Ayasun Saffet,Karbeyaz Gueltekin.DC Motor Speed Control Methods Using MATLAB/Simulink and Their Integration into Undergraduate Electric Machinery Courses[J].Computer Applicationsin Engineering Education,2007,15(4):347-354.