張冬梅,黃 勇,高興斌
(青島遠(yuǎn)洋船員職業(yè)學(xué)院 機(jī)電系,山東青島 266071)
基于Matlab GUI構(gòu)建惠斯頓電橋虛擬仿真
張冬梅,黃 勇,高興斌
(青島遠(yuǎn)洋船員職業(yè)學(xué)院 機(jī)電系,山東青島 266071)
以惠斯頓電橋電路為例,利用Matlab函數(shù)編程和GUI開(kāi)發(fā)虛擬實(shí)驗(yàn)兩種方法,構(gòu)建電路虛擬仿真實(shí)驗(yàn)。結(jié)果表明,利用Matlab函數(shù)編程,可以避免電路繁瑣的計(jì)算,利于學(xué)生定量計(jì)算、定性分析,加深對(duì)理論知識(shí)的理解。利用GUI構(gòu)建虛擬實(shí)驗(yàn)平臺(tái),可以進(jìn)行元件參數(shù)設(shè)置、對(duì)應(yīng)結(jié)果的變化觀察并仿真波形,提高學(xué)生工程應(yīng)用分析能力。
Matlab GUI 構(gòu)建 惠斯頓電橋
惠斯頓電橋主要由四個(gè)首尾相連的電阻構(gòu)成,其每條邊被稱(chēng)為橋臂,如圖1所示。用于把橋臂上不易檢測(cè)的非電量信號(hào)轉(zhuǎn)換為容易檢測(cè)的電信號(hào),起著信號(hào)轉(zhuǎn)換、傳輸?shù)淖饔肹1]。在船舶隨動(dòng)舵、自動(dòng)舵控制系統(tǒng)、電阻應(yīng)變儀系統(tǒng)中廣泛使用。
在電阻應(yīng)變儀中,設(shè)電橋各橋臂電阻分別為Rx、R1、R2、R3,其中任何一個(gè)橋臂電阻都可以是應(yīng)變片電阻。電橋的A、C為輸入端,接直流電源,輸入電壓為U;而B(niǎo)、D為輸出端,輸出信號(hào)的電壓為U0。本例中,Rx是電阻應(yīng)變片,粘附在被測(cè)零件上。當(dāng)零件發(fā)生變形(伸長(zhǎng)或縮短)時(shí),Rx的值隨之改變,這反映在輸出信號(hào)U0的變化上。在測(cè)量前,如果把各個(gè)電阻調(diào)節(jié)到Rx=100 Ω,R1=R2=200 Ω,R3=100Ω,這時(shí)滿足R1R3=R2Rx的電橋平衡條件,U0=0V。在進(jìn)行測(cè)量時(shí),如果測(cè)出(1)U0=1 mV,(2)U0=-1 mV,試計(jì)算兩種情況下 ΔRx,即是根據(jù)已知值實(shí)現(xiàn)對(duì)未知量的測(cè)量。分析U0極性的改變反映了什么?設(shè)電源電壓U是直流電壓3 V[2]。
解:Rx變化時(shí),輸出信號(hào)U0的大小改變,根據(jù)KVL定理,從ADC半個(gè)電橋來(lái)看,R1兩端的電壓降為

同理,Rx兩端的電壓降為

故可得到電橋輸出電壓為

由上式可知,要使電橋平衡,即要使電橋輸出電壓U0為零,則橋臂電阻必須滿足

從以上計(jì)算可以看出,滿足R1R3=R2Rx時(shí),U0=0V,電橋處于平衡狀態(tài)。當(dāng)橋臂電阻Rx發(fā)生變化時(shí),電橋就有輸出電壓U0。
設(shè)電橋的輸出電壓U0變化時(shí),橋臂電阻Rx相應(yīng)發(fā)生了變化ΔRx,

電橋中只有一個(gè)橋臂接入被測(cè)量,其它三個(gè)臂采用固定電阻,是單臂工作模式。如果電橋兩個(gè)臂接入被測(cè)量,另兩個(gè)為固定電阻就稱(chēng)為雙臂工作電橋,又稱(chēng)為半橋形式。如果四個(gè)橋臂都接入被測(cè)量則稱(chēng)為全橋形式。
在虛擬實(shí)驗(yàn)構(gòu)建過(guò)程中,分成兩個(gè)步驟,利用Matlab函數(shù)編程和GUI開(kāi)發(fā)虛擬實(shí)驗(yàn)兩種方法,構(gòu)建電路虛擬實(shí)驗(yàn)。如右圖2虛擬實(shí)驗(yàn)構(gòu)建流程所示[3]。利用Matlab函數(shù)編程,其強(qiáng)大的運(yùn)算功能可以避免電路參數(shù)多次變化而需要的頻繁繁瑣的計(jì)算,編程效率高,減少航海類(lèi)高職院校學(xué)生計(jì)算量,規(guī)避高等數(shù)學(xué)基礎(chǔ)不牢的劣勢(shì),有利于學(xué)生進(jìn)行定量計(jì)算、定性分析,計(jì)算各種可能已知參數(shù)改變情況下的未知量的變化趨勢(shì),加深對(duì)電路基礎(chǔ)理論知識(shí)的觀察與理解。而不是陷入循環(huán)計(jì)算的電路分析前期的工作之中,使處于信息多元化時(shí)代的學(xué)生感到枯燥、乏味、抽象[4-6]。
利用GUI構(gòu)建虛擬實(shí)驗(yàn)平臺(tái),包含電橋電路及其原理、設(shè)置元件參數(shù)、動(dòng)態(tài)觀察對(duì)應(yīng)結(jié)果的改變并仿真波形,具有強(qiáng)大的交互性和可操作性。將抽象的理論知識(shí)形象、生動(dòng)、具體的展示出來(lái),促進(jìn)教與學(xué)的雙向過(guò)程,提高電路教學(xué)的完整性,加深對(duì)電路特點(diǎn)的把握,促進(jìn)學(xué)生工程應(yīng)用分析能力[7-8]。

圖2 虛擬實(shí)驗(yàn)構(gòu)建流程
1)已知量U0,未知量Rx
在MATLAB 軟件環(huán)境中新建M 文件,編程實(shí)現(xiàn)計(jì)算:

程序運(yùn)行結(jié)果如下:

2)已知量Rx,未知量U0,并畫(huà)出U0隨Rx變化的曲線

程序運(yùn)行結(jié)果如圖3所示。

圖3 U0隨Rx變化的曲線
從圖3曲線可以看出:
Rx=100Ω,滿足電橋平衡的條件,U0=0。當(dāng)Rx減小時(shí),U0增加;當(dāng)Rx增加時(shí),U0減小。而且Rx有微小變化,就會(huì)引起的直流電壓U0的顯著變化。在本文的電路應(yīng)用中,Rx變化范圍極小,可以反映出零件發(fā)生變形(伸長(zhǎng)或縮短)的狀態(tài),分辨力強(qiáng),靈敏度高。
此計(jì)算結(jié)果與[2]中給出的結(jié)果相同,驗(yàn)證了用Matlab函數(shù)編程的正確性,而且計(jì)算速度快,不需反復(fù)的手工計(jì)算,利于學(xué)生觀察計(jì)算結(jié)果和實(shí)驗(yàn)現(xiàn)象,整體掌握電橋電路的使用特點(diǎn)。生成仿真波形,利于觀察電路的功能特點(diǎn),從電路構(gòu)成、參數(shù)改變到結(jié)果分析,形成宏觀的認(rèn)識(shí),彌補(bǔ)了實(shí)驗(yàn)室實(shí)驗(yàn)數(shù)據(jù)可觀察性差、時(shí)空性及可擴(kuò)展性差等不足。
當(dāng)前,基于圖形界面的人機(jī)交互模式應(yīng)用廣泛,幾乎所有應(yīng)用程序都是在GUI下運(yùn)行的。用戶(hù)通過(guò)鼠標(biāo)等輸入設(shè)備,可以方便地與計(jì)算機(jī)進(jìn)行信息交流[9]。利用圖形用戶(hù)界面接口開(kāi)發(fā)環(huán)境GUIDE,方便、快捷地創(chuàng)建自己的 GUI。使用GUIDE可完成兩項(xiàng)工作:(1) GUI圖形界面布局;(2) GUI編程[10]。
本虛擬實(shí)驗(yàn)平臺(tái)采用 GUIDE構(gòu)建,既能在GUI界面中嵌入仿真程序、設(shè)置變量參數(shù),又能將計(jì)算的數(shù)值結(jié)果、仿真的圖形結(jié)果在GUI界面上以人機(jī)交互的動(dòng)態(tài)實(shí)時(shí)方式顯示出來(lái)。圖4給出了虛擬實(shí)驗(yàn)的結(jié)構(gòu)框圖。
2.2.1 界面設(shè)計(jì)
在界面的設(shè)計(jì)中,主要采用了8個(gè)觸控按鈕、4個(gè)可編輯文本框、3個(gè)靜態(tài)文本框、2個(gè)坐標(biāo)軸等控件來(lái)實(shí)現(xiàn)其功能,在布局編輯器中布置控件,并對(duì)控件的排列位置進(jìn)行調(diào)整;然后通過(guò)編寫(xiě)控件的回調(diào)函數(shù)來(lái)實(shí)現(xiàn)控件的功能。其界面布局如圖5所示。

圖4 GUI設(shè)計(jì)結(jié)構(gòu)框圖

圖5 界面布局
1) 坐標(biāo)軸控件(axes):axes用于數(shù)據(jù)的可視化,即顯示圖形或圖像,是核心圖形對(duì)象的容器。用2個(gè)坐標(biāo)軸控件形成顯示區(qū),用來(lái)顯示電路原理圖和仿真波形。用觸控按鈕“載入電路”加載仿真實(shí)驗(yàn)的電路。用觸控按鈕“變化曲線”加載仿真實(shí)驗(yàn)的變化曲線。設(shè)置坐標(biāo)軸控件、觸控按鈕的“Tag”、“FontSize”等屬性。編寫(xiě)觸控按鈕的回調(diào)函數(shù)。
觸控按鈕“載入電路”的回調(diào)函數(shù)如下:

2) 靜態(tài)文本框(Static Text):通常用于顯示其他對(duì)象的數(shù)值、狀態(tài)等。文中采用3個(gè)靜態(tài)文本框標(biāo)注相應(yīng)控件的提示信息。
3) 可編輯文本框(Edit Text):Edit Text允許用戶(hù)修改文本內(nèi)容,用于數(shù)據(jù)的輸入與顯示。采用4個(gè)可編輯文本框作為可變電阻Rx、輸出電壓U0等參數(shù)設(shè)置的輸入?yún)^(qū)。參數(shù)設(shè)置后以后,點(diǎn)擊“U0(mv)”按鈕、“ΔRx”按鈕,理論計(jì)算值的結(jié)果就會(huì)自動(dòng)顯示在對(duì)應(yīng)的可編輯文本框內(nèi)。完成參數(shù)設(shè)置和計(jì)算結(jié)果顯示功能。
4) 按鈕(PushButton):
“載入電路”按鈕載入計(jì)算采用的電路。“電路結(jié)構(gòu)”按鈕調(diào)用子界面,介紹計(jì)算電路的特點(diǎn),元件。“待求問(wèn)題”按鈕調(diào)用子界面,顯示待求解的問(wèn)題。“解題步驟”調(diào)用子界面,介紹計(jì)算電路的解題步驟、參數(shù)設(shè)置問(wèn)題。“變化曲線”按鈕使計(jì)算結(jié)果的變化趨勢(shì)顯示在 axes2,直觀地觀察計(jì)算結(jié)果。“U0(mv)”按鈕計(jì)算在參數(shù)可變電阻Rx變化對(duì)應(yīng)的輸出電壓值U0。“ΔRx”按鈕計(jì)算在參數(shù)輸出電壓值U0變化時(shí)對(duì)應(yīng)的可變電阻ΔRx。
2.2.2 仿真實(shí)驗(yàn)的測(cè)試
點(diǎn)擊“載入電路”按鈕載入計(jì)算采用的電路。如圖6所示。

圖6 載入電路

圖7 可變電阻Rx變化對(duì)應(yīng)的輸出電壓值U0
點(diǎn)擊“U0(mv)”按鈕計(jì)算在參數(shù)可變電阻Rx變化對(duì)應(yīng)的輸出電壓值U0。如圖7所示。
點(diǎn)擊“變化曲線”按鈕使計(jì)算結(jié)果的變化趨勢(shì)顯示在axes2,直觀地觀察計(jì)算結(jié)果。如圖8所示。

圖8 變化曲線
通過(guò)本文運(yùn)算仿真,顯示編程進(jìn)行運(yùn)算,計(jì)算結(jié)果準(zhǔn)確率高,減少運(yùn)算的枯燥性和時(shí)間,激發(fā)并提高了航海類(lèi)職業(yè)院校學(xué)生計(jì)算機(jī)編程軟件方面的興趣與能力;虛擬仿真界面友好,使用簡(jiǎn)單,覆蓋范圍廣,參數(shù)可變,測(cè)試結(jié)果正確,各模塊間邏輯結(jié)構(gòu)清晰,整體運(yùn)行穩(wěn)定,更有利于教師的授課講解和學(xué)生的學(xué)習(xí)理解。是混合式課程改革的一部分。
[1]李育德. 解析惠斯頓電橋在直流測(cè)量電路中的應(yīng)用方程[J]. 測(cè)控技術(shù),2009,第28卷第5期:94-97
[2]秦曾煌. 電工學(xué)(上冊(cè)) 電工技術(shù)[M]. 北京: 高等教育出版社, 2006: 27.
[3]張 鳴, 閆紅梅. 基于Matlab GUI的信號(hào)與系統(tǒng)實(shí)驗(yàn)平臺(tái)設(shè)計(jì).
[4]黎霞, 毛一之, 李華.Matlab軟件在電工學(xué)輔助教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2010.9,第32卷
[5]劉同娟,馬向國(guó).MATLAB在電工電路基礎(chǔ)教學(xué)中的應(yīng)用[J].中國(guó)現(xiàn)代教育裝備,2009.2
[6]易靈芝,王根平,李衛(wèi)平,彭寒梅. MATLAB在電工學(xué)CAI中的應(yīng)用[J]. 計(jì)量與測(cè)試技術(shù),2008.第 35卷第5期
[7]常青美,王惠斌,朱忠義,周長(zhǎng)林.基于 MATLAB的大規(guī)模電路分析[J].繼電器,2002.
[8]田銘興,楊雪凇,顧生杰,原東昇. 基于MATLAB的磁飽和式可控電抗器的仿真模型參數(shù)及過(guò)渡時(shí)間分析[J].自動(dòng)化設(shè)備.Jun.2013,Vol.33 No.6.
[9]劉芳,吳成就,潘俊濤. 基于MATLAB/GUI的電力電子電路仿真平臺(tái)構(gòu)建[J].實(shí)驗(yàn)技術(shù)與管理,2016,Vol.33 No.1:107-110,126.
[10]羅華飛.MATLAB GUI設(shè)計(jì)學(xué)習(xí)手記(第三版).[M]北京:北京航空航天大學(xué)出版社,2014:354.
Virtual Simulation of Wheatstone Bridge Based on Matlab GUI
Zhang Dongmei, Huang Yong, Gao Xingbin
(Department of Marine Engineering,Qingdao Ocean Shipping Mariners College,Qingdao 266071, China)
Taking wheatstone bridge as an example, a virtual circuit experiment is modeled by using two methods of the functions of Matlab programming and GUI development virtual experiment. The results show that it can avoid complicated calculation, quantitative calculation and qualitative analysis and conducive to the students, deepen the understanding of theoretical knowledge based on Matlab programming. The virtual experiment platform is constructed for GUI component parameter settings, the change of corresponding results observation and simulation waveform and improvements of students’ ability in engineering analysis by using GUI.
Matlab; GUI; modeling; Wheatstone bridge
TM938
A
1003-4862(2017)10-0077-04
2017-08-21
張冬梅(1978-),女,講師。研究方向:機(jī)電。E-mail: zhangdm@coscoqmc.com.cn