劉 科,周曉林,萬德志,李 玲
(四川師范大學(xué),四川成都 610066)
基于LabVIEW的大學(xué)物理虛擬實(shí)驗(yàn)設(shè)計(jì)
——以“單臂電橋法測電阻”為例
劉 科,周曉林,萬德志,李 玲
(四川師范大學(xué),四川成都 610066)
單臂電橋法測電阻實(shí)驗(yàn)是理工科大學(xué)物理基礎(chǔ)實(shí)驗(yàn)之一,在實(shí)驗(yàn)教學(xué)中占有重要的地位。基于虛擬儀器開發(fā)平臺(tái)(Lab VIEW),制作了單臂電橋法測電阻實(shí)驗(yàn)并投入實(shí)驗(yàn)教學(xué),取得良好的實(shí)驗(yàn)效果。
虛擬實(shí)驗(yàn);Lab VIEW
1.1 Lab VIEW的虛擬儀器開發(fā)平臺(tái)
Lab VIEW(laboratory virtual instrument engineering workbench)實(shí)驗(yàn)室虛擬儀器開發(fā)平臺(tái)是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。在labview中,用戶界面被稱為前面板,與前面板對(duì)應(yīng)的是程序框圖面板,前面板上的每一個(gè)空間都對(duì)應(yīng)于程序框圖中的一個(gè)對(duì)象,可以在程序框圖中,使用圖標(biāo)和連線通過編程的方式對(duì)前面板上的對(duì)象進(jìn)行控制。
Labview程序被稱為VI(virtual instrument),即虛擬儀器。Labview的核心概念就是“軟件即是儀器”,即虛擬儀器的概念。
1.2 單臂電橋法電阻的實(shí)驗(yàn)原理
直流單臂電橋的電路如圖1所示,被測電阻Rx和標(biāo)準(zhǔn)電阻Ro,R1,R2構(gòu)成電橋的四個(gè)臂。
在CD端加上直流電壓,AB間串接檢流計(jì)G,用來檢測其間有無電流(即A、B兩點(diǎn)有無電勢差)?!皹颉敝窤B這段線路,它的作用是將A、B兩點(diǎn)的電勢直接進(jìn)行比較,以確定電橋的平衡狀態(tài)。
當(dāng)電源接通后,電路中將有電流通過,并分別在各橋臂的電阻上產(chǎn)生電壓降。在一般情況下,A、B兩點(diǎn)間將有電位差,因而,有電流Ig通過檢流計(jì),使檢流計(jì)指針偏轉(zhuǎn)。適當(dāng)調(diào)節(jié)R1、R2或R0的電阻值,可以使A、B兩點(diǎn)的電位相等,檢流計(jì)中無電流通過,即Ig=0,稱電橋達(dá)到了平衡。這時(shí),電橋四個(gè)臂上電阻的關(guān)系為:
圖1 單臂電橋法實(shí)驗(yàn)原理圖
1.3 設(shè)計(jì)思路
(1)在labview中提供了一種自定義控件的技術(shù),自定義控件是通過對(duì)labview提供的基礎(chǔ)控件的顯示圖片,顏色,大小及各元素的相對(duì)位置的更改來實(shí)現(xiàn)的。通過自定義控件可以讓界面更加的形象逼真,譬如可以將一個(gè)數(shù)值控件改裝成一個(gè)滑線變阻器。
(2)在labview 8.5后的版本中提供了一種xcontrol技術(shù),該技術(shù)不但能夠自能夠自定義控件的外觀,還能夠自定義控件的功能。譬如,實(shí)驗(yàn)中的電流計(jì)和電阻箱程序就可以通過xcontrol控件技術(shù)做成一個(gè)xcontrol。
(3)labview有著非常強(qiáng)大的計(jì)算能力。在該實(shí)驗(yàn)中各支路的電流可以直接通過矩陣求解基爾霍夫方程組。
基于此,我們利用Lab VIEW設(shè)計(jì)制作了單臂電橋法測電阻虛擬實(shí)驗(yàn),直觀生動(dòng),效果良好。
2.1 設(shè)計(jì)步驟
2.1.1 自定義電池和電阻
在前面板上放置一個(gè)水平指針滑動(dòng)桿,右鍵單擊該控件,選擇高級(jí)/自定義,則可以自定義該控件了。切換至編輯模式后選擇鼠標(biāo)右鍵單擊,在彈出的右鍵菜單中選擇從文件導(dǎo)入項(xiàng),將事先準(zhǔn)備好的滑線變阻器滑標(biāo)圖片導(dǎo)入進(jìn)來,同樣的方法導(dǎo)入減少像素,增加像素及襯底部分的圖片,然后將一些不需要顯示的部件透明化,同樣的方法可制作出電阻的自定義控件,最終效果見圖2和圖3。
圖2 滑線變阻器
圖3 電阻
2.1.2 利用xcontrol技術(shù)制作電流計(jì)和電阻箱(1)電流計(jì)的制作
在物理實(shí)驗(yàn)中,電表是經(jīng)常使用的實(shí)驗(yàn)儀器,我們知道像電表這類儀器功能比較復(fù)雜,這個(gè)時(shí)候,單純利用自定義控件就不能制作出我們想要的實(shí)驗(yàn)儀器的功能,我們可以考慮labview中的xcontrol技術(shù),這種技術(shù)不但能夠自定義所需儀器的界面外觀,還可以自定義儀器的行為。下面以一個(gè)簡單的指針式電流計(jì)(該電流表有三個(gè)接線端一個(gè)負(fù)極,一個(gè)接線端接到量程為-500 u A~500 u A,另外一個(gè)量程為(-500 n A~500 n A)為例來介紹一下x control的制作方法。接線柱可以用布爾開關(guān)來表示,指針顯示電流大小可以用數(shù)值控件中的儀表控件來表示。
a.前面板的制作
在本例中電流表實(shí)際上是一個(gè)數(shù)值顯示控件,所以該控件的data.ctl文件中放置一個(gè)數(shù)字控件(這里不需管它,因?yàn)閘abview的data.ctl文件中默認(rèn)的數(shù)據(jù)類型就是數(shù)值型),在這里主要是對(duì)外觀文件進(jìn)行編輯。打開fa?ade.vi文件,首先把制作好的三個(gè)表示接線柱的布爾開關(guān)和一個(gè)儀表控件放到前面板上,見圖4,為了使電流表看起來更真實(shí),可以將放置一個(gè)表示電流表的圖片作為背景,然后將一些與電流表不需要的部分透明化處理,最終結(jié)果如圖5。
圖4 電流計(jì)前面板整理前
圖5 電流計(jì)前面板整理后
b.程序框圖的編輯
在該xcontrol中,實(shí)際上要處理的有兩種事件,一種是用戶事件,當(dāng)用戶用鼠標(biāo)點(diǎn)擊那三個(gè)接線柱時(shí),更新xcontrol的外觀,另一種需要處理的事件是當(dāng)輸入數(shù)據(jù)到該xocntrol的實(shí)例時(shí)(即數(shù)據(jù)更改事件),更新該xcontrol上的控件顯示狀態(tài)。其中數(shù)據(jù)更改的代碼見圖6。
圖6 電流計(jì)數(shù)據(jù)更改代碼
用戶單擊接線柱按鈕事件代碼見圖7。
圖7 用戶事件鼠標(biāo)釋放代碼
(2)電阻箱的制作
a.電阻箱的前面板制作
電阻箱的旋鈕可以用旋鈕控件和圖片枚舉控件兩個(gè)控件一起來表示,先將準(zhǔn)備好的表示電阻箱十個(gè)指示狀態(tài)的圖片放到圖片枚舉中,然后將旋鈕控件與圖片枚舉控件放到一起,將旋鈕透明化處理,在程序框圖中把旋鈕的值賦給圖片枚舉控件顯示,實(shí)際上我們調(diào)節(jié)的是旋鈕的數(shù)值,但是我們看到的確實(shí)旋鈕圖片在旋轉(zhuǎn)。前面板見圖8。
圖8 電阻箱整理后前面板
b.電阻箱的程序框圖設(shè)計(jì)
當(dāng)旋轉(zhuǎn)旋鈕開關(guān)時(shí),改變電阻箱的數(shù)據(jù),同時(shí)更新電阻箱的界面,所以電阻箱的xcontrol只需要處理用戶事件即可,代碼見圖9。
圖9 用戶事件旋鈕只改變代碼
2.1.3 單臂電橋測電阻的主程序設(shè)計(jì)
(1)前面板的設(shè)計(jì)
圖10 單臂電橋最終實(shí)驗(yàn)前面板
通過前面的一些準(zhǔn)備工作,現(xiàn)在就可以輕松地實(shí)現(xiàn)單臂電橋測電阻的實(shí)驗(yàn)了。新建一個(gè)Vi,命名為“單臂電橋法測電阻.Vi”,在前面板上放置一個(gè)選項(xiàng)卡控件,將前面制作好的電流計(jì),電阻箱以及電阻放到選項(xiàng)卡控件的實(shí)驗(yàn)界面上,對(duì)其進(jìn)行一番修飾后最終效果見圖10。
(2)程序框圖的設(shè)計(jì)
根據(jù)單臂電橋法測電阻的實(shí)驗(yàn)原理圖,利用基爾霍夫定律,可以很快的列出該基爾霍夫方程組,然后利用矩陣求解,算出各個(gè)支路的電流。在這里實(shí)際上存在的問題是如何表示矩陣,其實(shí)可以先先創(chuàng)建一個(gè)矩陣常量,然后通過設(shè)置矩陣元素函數(shù)對(duì)矩陣中幾個(gè)變量(即輸入控件)的值賦給該矩陣即可。代碼見圖11。
圖11 單臂電橋測電阻主程序代碼
2.2 單臂電橋法測電阻虛擬實(shí)驗(yàn)運(yùn)行效果
通過前面的工作,單臂電橋法測電阻的實(shí)驗(yàn)已經(jīng)完成了,點(diǎn)擊前面板上的運(yùn)行按鈕,程序?qū)⑦M(jìn)入操作說明的界面,見圖12;當(dāng)用鼠標(biāo)點(diǎn)擊實(shí)驗(yàn)原理時(shí),將會(huì)鏈接到實(shí)驗(yàn)原理界面,見圖13;當(dāng)點(diǎn)擊實(shí)驗(yàn)界面時(shí),鏈接到如下實(shí)驗(yàn)界面圖14,此時(shí),電源開關(guān)處于斷開狀態(tài),電表未接入,當(dāng)閉合電路開關(guān),并點(diǎn)擊電表的接線柱,將電表接入電路中時(shí),假設(shè),R1=R2=RX=100,當(dāng)調(diào)節(jié)電阻箱的阻值時(shí),電流表會(huì)顯示相應(yīng)的電流值。見圖15~17。
圖12 實(shí)驗(yàn)操作說明界面
圖13 實(shí)驗(yàn)原理界面
圖14 電源斷開時(shí)實(shí)驗(yàn)結(jié)果圖界面
圖15 當(dāng)電阻箱的阻值大于100
圖16 當(dāng)電阻箱的值小于100
圖17 當(dāng)電阻箱的值等于100
到目前為止,程序設(shè)計(jì)已完成,實(shí)驗(yàn)結(jié)果已經(jīng)出來了。但是,由LabVIEW編寫出來的vi源文件只能在Lab VIEW的開發(fā)環(huán)境下被打開運(yùn)行,我們必須把它生成在windows等平臺(tái)上能夠運(yùn)行的獨(dú)立可執(zhí)行文件。在Lab VIEW中有一個(gè)應(yīng)用程序生成工具:LabVIEW application builder,該工具不僅能夠生成獨(dú)立可執(zhí)行文件和安裝包,還能夠生成動(dòng)態(tài)鏈接庫(.dll),發(fā)布源代碼或zip文件。
3.1 生成獨(dú)立可執(zhí)行應(yīng)用程序
將所有的Vi與支持文件都添加到項(xiàng)目中并保存項(xiàng)目中的所有vi,確保項(xiàng)目中的所有Vi都能正確執(zhí)行。完成好準(zhǔn)備工作后,在項(xiàng)目文件左側(cè)的樹目錄下的程序生成規(guī)范上右擊,選擇新建/應(yīng)用程序(exe),在彈出的對(duì)話框中輸入exe文件的各種信息,將所有的準(zhǔn)備做好后單擊生成按鈕,則可生成獨(dú)立的可執(zhí)行文件。
3.2 生成安裝程序
成功生成可執(zhí)行文件后,可以將可執(zhí)行文件和相關(guān)支持軟件(如Lab VIEW run-time引擎或硬件驅(qū)動(dòng))打包在一起作為一個(gè)安裝程序發(fā)布。這樣可以避免讓用戶再單獨(dú)的安裝Lab VIEW run-time引擎或硬件驅(qū)動(dòng)。因?yàn)椋琇ab VIEW中發(fā)布的可執(zhí)行文件只能在Lab VIEW run-time引擎下運(yùn)行。
通過Lab VIEW中的自定義控件以及xcon-trol控件技術(shù)可以很方便的制作逼真的儀器外觀和行為,還能夠根據(jù)用戶的愛好設(shè)置自己想要的儀器界面,并將實(shí)驗(yàn)數(shù)據(jù)實(shí)時(shí)顯示在儀器上,省去了學(xué)生在課堂上進(jìn)行大量的實(shí)驗(yàn)數(shù)據(jù)處理步驟,提高了教學(xué)效率。經(jīng)過調(diào)試,程序能夠順利運(yùn)行,效果良好,可以確保系統(tǒng)能夠滿足相關(guān)課程的實(shí)驗(yàn)要求。虛擬實(shí)驗(yàn)的設(shè)計(jì)制作為我們制作物理實(shí)驗(yàn)課件提供了巨大的方便,更重要的是,節(jié)省了購買硬件的成本。
[1] 謝東波,高云,余成波.基于labview的虛擬實(shí)驗(yàn)室研究[J].試驗(yàn)技術(shù)與試驗(yàn)機(jī),2007,3:40-43.
[2] 楊振江,智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2001.
[3] 郭桂葉.中學(xué)物理實(shí)驗(yàn)教學(xué)現(xiàn)狀及對(duì)策研究[J].河南教育學(xué)院學(xué)報(bào):自然科學(xué)版,2005,14(4):87-89.
[4] 楊樂平,海濤,楊磊.Lab VIEW程序設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[5] 陳錫輝,張銀鴻.Lab VIEW8.20程序設(shè)計(jì)從入門到精通[M].北京:清華大學(xué)出版社,2007.
[6] 張桐,陳國順,王正林.精通Lab VIEW程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[7] 阮奇楨.我和labview[M].北京:北京航空航天大學(xué)出版社,2009.
Design of the Physics Virtual Experiment Based on LabVIEW and Take“Wheatstone Bridge Method to Measure the Resistance”for Example
LIU Ke,ZHOU Xiao-lin,WAN De-zhi,LI Ling
(Sichuan Normal University,Sichuan Chengdu 610066)
The experiment of Wheatstone bridge method to measure the resistance is one of experimental bases for the science and engineering subject,which playing an important role.In order to apply virtual instrumentation to the teaching,based on virtual instrument(Lab VIEW).We made the experiment of Wheatstone bridge method to measure the resistance and put into experimental teaching,which obtained good experimental results.We will exploit series of virtual experiment system in times to come.
virtual experiments;Lab VIEW
TP391.9
A
1007-2934(2011)06-0081-05
2011-09-13