劉寧亮,李沁瑤,丁馳竹*
(1.華中農(nóng)業(yè)大學(xué) 理學(xué)院,湖北 武漢 430070;2.華中農(nóng)業(yè)大學(xué) 植物科學(xué)與技術(shù)學(xué)院,湖北 武漢 430070)
牛頓環(huán)實(shí)驗(yàn)是大學(xué)物理實(shí)驗(yàn)的重要內(nèi)容,利用牛頓環(huán)干涉現(xiàn)象不僅可以測(cè)量透鏡的曲率半徑,還可以測(cè)量入射光波長(zhǎng)、薄膜厚度以及介質(zhì)的折射率等[1-3]。然而,在實(shí)際教學(xué)過(guò)程中,往往存在實(shí)驗(yàn)儀器少、實(shí)驗(yàn)時(shí)間長(zhǎng)等問(wèn)題,同時(shí)由于實(shí)驗(yàn)操作難度較大、實(shí)驗(yàn)裝置讀數(shù)較困難等原因,會(huì)導(dǎo)致牛頓環(huán)實(shí)驗(yàn)的教學(xué)效果不佳。因此,充分利用現(xiàn)代信息技術(shù),開(kāi)發(fā)牛頓環(huán)干涉的虛擬仿真實(shí)驗(yàn),成為近年來(lái)各高校的迫切需求。前期,已經(jīng)有學(xué)者基于MATLAB和LabVIEW等軟件技術(shù)對(duì)牛頓環(huán)干涉圖像以及光強(qiáng)分布等進(jìn)行了計(jì)算和仿真[4-7]。
Python是近年來(lái)比較熱門(mén)的快速開(kāi)發(fā)應(yīng)用的計(jì)算機(jī)編程語(yǔ)言,它不僅提供了豐富的標(biāo)準(zhǔn)庫(kù),還能簡(jiǎn)單有效地面向?qū)ο缶幊蘙8]。利用Python語(yǔ)言,對(duì)基于牛頓環(huán)干涉原理測(cè)量液體折射率仿真實(shí)驗(yàn)進(jìn)行了設(shè)計(jì)和開(kāi)發(fā),主要包括實(shí)驗(yàn)原理和儀器說(shuō)明、干涉現(xiàn)象仿真、液體折射率測(cè)量及數(shù)據(jù)處理等功能模塊。結(jié)合真實(shí)實(shí)驗(yàn)操作過(guò)程,模擬了讀數(shù)顯微鏡的觀測(cè)和讀數(shù)過(guò)程,旨在展現(xiàn)一個(gè)更直觀更生動(dòng)的牛頓環(huán)實(shí)驗(yàn),提高學(xué)生的預(yù)習(xí)效果,改善實(shí)驗(yàn)教學(xué)的質(zhì)量。
牛頓環(huán)實(shí)驗(yàn)主要基于光的干涉原理。如圖1所示,常見(jiàn)牛頓環(huán)裝置取一個(gè)平凸透鏡,凸面置于光學(xué)平板玻璃上,二者之間形成一介質(zhì)薄膜。當(dāng)單色光垂直入射時(shí),入射光將在薄膜上下兩表面反射并形成一系列明暗相間的干涉圓環(huán),即為牛頓環(huán)。
圖1 牛頓環(huán)干涉原理圖
考慮到實(shí)際情況平凸透鏡和平板玻璃間可能并非點(diǎn)接觸,設(shè)兩者中心距離為e0,則形成暗環(huán)的條件為:
(1)
其中,n為介質(zhì)折射率,λ為入射光波長(zhǎng),k=0,1,2,…為暗環(huán)級(jí)次。根據(jù)幾何關(guān)系,近似處理后第k級(jí)暗環(huán)半徑為:
(2)
為減小實(shí)驗(yàn)誤差,取第k級(jí)和第k+m級(jí)暗環(huán)測(cè)量,有:
(3)
為了使實(shí)驗(yàn)結(jié)果更準(zhǔn)確,實(shí)驗(yàn)采用比較法測(cè)量液體的折射率。將空氣折射率(n0=1)作為已知值,先測(cè)量介質(zhì)為空氣時(shí)牛頓環(huán)第k級(jí)和第k+m級(jí)暗環(huán)半徑rk,0和rk+m,0;再測(cè)量介質(zhì)為待測(cè)液體時(shí)的暗環(huán)半徑rk和rk+m,則待測(cè)液體的折射率為:
(4)
仿真實(shí)驗(yàn)的目的主要是讓學(xué)生掌握利用牛頓環(huán)測(cè)量介質(zhì)折射率的基本原理和實(shí)驗(yàn)方法,同時(shí)通過(guò)對(duì)實(shí)驗(yàn)現(xiàn)象的觀察加深對(duì)光的干涉原理的理解。設(shè)計(jì)了四個(gè)主要功能模塊:模塊一介紹實(shí)驗(yàn)儀器裝置和實(shí)驗(yàn)原理,便于學(xué)生課前預(yù)習(xí);模塊二對(duì)干涉現(xiàn)象進(jìn)行仿真,并設(shè)置了參數(shù)調(diào)節(jié)區(qū),幫助學(xué)生理解和掌握干涉原理;模塊三仿真真實(shí)實(shí)驗(yàn)的測(cè)量過(guò)程,設(shè)計(jì)了圖像調(diào)節(jié)區(qū)和裝置讀數(shù)區(qū),使得仿真實(shí)驗(yàn)更逼近真實(shí)過(guò)程;模塊四進(jìn)行數(shù)據(jù)處理,學(xué)生可輸入從模塊三中測(cè)量的數(shù)據(jù),也可輸入真實(shí)實(shí)驗(yàn)的讀數(shù),快速獲得折射率測(cè)量結(jié)果,同時(shí)預(yù)留了思考題,以便學(xué)生課后進(jìn)行反思總結(jié)。
軟件方面,采用Python語(yǔ)言編寫(xiě)仿真軟件。安裝PyQt5和PyQt5-tools庫(kù),利用Qt Designer軟件設(shè)計(jì)圖形用戶(hù)界面;利用Spyder軟件編寫(xiě)、調(diào)試Python代碼;最后利用Pyinstaller工具生成可獨(dú)立執(zhí)行的*.exe文件。該exe文件占用內(nèi)存小,雙擊即可運(yùn)行,經(jīng)測(cè)試可在Windows 7和Windows 10操作系統(tǒng)上獨(dú)立運(yùn)行。
硬件方面,此仿真軟件在安裝有 Windows10(64位)操作系統(tǒng)、處理器為Intel(R) Core(TM) i7-7660U CPU @2.50GHz、內(nèi)存為8.00 GB的普通筆記本電腦上完成開(kāi)發(fā)并流暢運(yùn)行,對(duì)電腦硬件的要求較低,適合教學(xué)場(chǎng)所使用。
仿真實(shí)驗(yàn)軟件共有以下四個(gè)功能模塊:
(1)實(shí)驗(yàn)簡(jiǎn)介
如圖2所示,通過(guò)圖片和文字簡(jiǎn)要介紹實(shí)驗(yàn)中使用到的主要實(shí)驗(yàn)儀器,如牛頓環(huán)儀、鈉光燈和讀數(shù)顯微鏡等,并展示實(shí)驗(yàn)裝置搭建的示意圖。如圖3所示,通過(guò)示意圖和公式介紹實(shí)驗(yàn)的基本原理,給出比較法測(cè)量液體折射率的計(jì)算公式。
圖2 實(shí)驗(yàn)儀器介紹界面
圖3 實(shí)驗(yàn)原理介紹界面
(2)干涉現(xiàn)象仿真
如圖4所示,各項(xiàng)實(shí)驗(yàn)參數(shù)可以調(diào)節(jié),如透鏡曲率半徑可在500~2 500 mm調(diào)節(jié),中心間距可在0~0.5 μm調(diào)節(jié),光源波長(zhǎng)可在380~780 nm可見(jiàn)光范圍內(nèi)調(diào)節(jié),介質(zhì)折射率可在1.00到1.50調(diào)節(jié)。中間區(qū)域仿真牛頓環(huán)干涉圖像,并且隨著實(shí)驗(yàn)參數(shù)的變化做出實(shí)時(shí)改變;同時(shí)繪制干涉圖像中心的光強(qiáng)曲線(xiàn)。此外,還設(shè)置了有無(wú)半波損失的選項(xiàng),可仿真反射光或透射光的牛頓環(huán)干涉圖像。
圖4 干涉現(xiàn)象仿真
(3)折射率測(cè)量
模塊仿真讀數(shù)顯微鏡中觀察到的干涉圖像和讀數(shù)裝置上的示數(shù)。如圖5所示,左上方為介質(zhì)選擇區(qū),可選擇空氣、水、乙醇和質(zhì)量分?jǐn)?shù)為10%的葡萄糖溶液作為介質(zhì)。右上方仿真讀數(shù)顯微鏡中觀察到的圖像,其位置可通過(guò)上、下、左、右和歸位5個(gè)按鍵進(jìn)行粗調(diào),也可通過(guò)鼠標(biāo)拖動(dòng)或點(diǎn)擊水平滑動(dòng)條進(jìn)行微調(diào)。同時(shí),下方的讀數(shù)模擬窗口的示數(shù)會(huì)發(fā)生相應(yīng)變化,可讀取牛頓環(huán)暗環(huán)的位置讀數(shù)。
圖5 折射率測(cè)量及讀數(shù)仿真
(4)數(shù)據(jù)處理和思考題
如圖6所示,在模塊輸入薄膜介質(zhì)分別為空氣和待測(cè)液體時(shí)牛頓環(huán)第k+m級(jí)和第k級(jí)的暗環(huán)位置讀數(shù)Ak+m、Ak、Bk、Bk+m,可以計(jì)算待測(cè)液體的折射率,對(duì)學(xué)生的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行實(shí)時(shí)檢測(cè)。同時(shí),界面還設(shè)置了實(shí)驗(yàn)思考題,幫助學(xué)生反思和改進(jìn)實(shí)驗(yàn)。
圖6 數(shù)據(jù)處理和思考題界面
牛頓環(huán)實(shí)驗(yàn)中,實(shí)驗(yàn)誤差是一個(gè)重要的考慮因素。在該仿真實(shí)驗(yàn)的開(kāi)發(fā)設(shè)計(jì)過(guò)程中,為了減少實(shí)驗(yàn)誤差,一方面在實(shí)驗(yàn)方法上,選擇了精度較高的比較法來(lái)測(cè)量液體折射率,可以消除部分實(shí)驗(yàn)儀器帶來(lái)的影響。另一方面,在數(shù)據(jù)處理時(shí),采用了逐差法和平均值法相結(jié)合,可以減少測(cè)量過(guò)程帶來(lái)的誤差。利用該仿真軟件分別測(cè)量了水、乙醇、濃度為10%的葡萄糖溶液的折射率。在數(shù)據(jù)處理模塊中分別輸入功能模塊三中讀取的空氣和待測(cè)液體牛頓環(huán)圖像第20級(jí)和第15級(jí)暗環(huán)的位置讀數(shù),計(jì)算結(jié)果如表1所示。與理論值比較,誤差較小,可見(jiàn)該仿真軟件合理準(zhǔn)確。此外,仿真程序也可以結(jié)合各高校的實(shí)際實(shí)驗(yàn)條件,更改參數(shù)后推廣使用。
表1 仿真實(shí)驗(yàn)測(cè)量結(jié)果
基于Python編程語(yǔ)言設(shè)計(jì)開(kāi)發(fā)的牛頓環(huán)測(cè)量液體折射率的仿真實(shí)驗(yàn)軟件,可以多種方式更直觀更生動(dòng)的呈現(xiàn)實(shí)驗(yàn)原理、展示實(shí)驗(yàn)過(guò)程,有助于學(xué)生更方便更快捷的理解實(shí)驗(yàn)原理,掌握實(shí)驗(yàn)方法,提升課前預(yù)習(xí)質(zhì)量,提高實(shí)驗(yàn)教學(xué)效果。該仿真實(shí)驗(yàn)軟件安裝使用簡(jiǎn)單方便,具有一定的推廣價(jià)值。