牟曉東
較為傳統(tǒng)的高中物理實驗一般是通過使用打點計時器來實現(xiàn)“重力加速度的測量”?;蛳窀咧形锢怼皠蜃兯僦本€運動的研究”中“用手機測自由落體加速度”提及的“安裝能顯示加速度情況的應用程序”,借助于智能手機中的加速度傳感器進行的“直觀”測量。而在“機械振動”中“用單擺測量重力加速度”實驗,則是先測量出單擺周期及擺長再通過公式g=4π1/T計算出重力加速度的大小。除此之外,還有其他使用彈簧秤、圓錐擺、氣墊導軌等設備進行測量和計算的方法。
如果將“重力加速度的測量”這一課題拿到“編程創(chuàng)客”實踐活動中,我們可以通過改進版的“滴水法”、手機Phyphox雙線擺、掌控板mPython X 圖形化編程和樹莓派Python代碼編程等多種方式來進行探究。
自來水、水盆、米尺、手機的“秒表”、電子表格Excel。
首先,將水盆底部朝上,放置于自來水的水龍頭正下方;接著,輕微打開并小心調(diào)整閥門,控制水滴以“一滴、一滴”自然滴下的狀態(tài)做自由落體運動,最好是上一滴水剛滴落到盆底發(fā)出聲音的同時,下一滴水恰好從水龍頭中剛開始滴落,分別進行兩組共6次測量,使用手機的“秒表”來計時50個水滴的滴落總時長,即從第1次水滴撞擊盆底發(fā)聲至第51次“發(fā)聲”為止(如圖1)。
第一組實驗,在水盆下方水平墊入約0.1m高的木板,用米尺測得從水龍頭滴出水滴處至盆底的高度h為1.160m;三次測量出50個水滴自由落體運動的周期時長分別為24.20s、24.36s和24.74s,需要特別注意手指的觸動“秒表”動作必須迅速,將結果輸入Excel表格;
第二組實驗,撤掉水盆下方的木板,測量新的高度值h為1.255m,三次測量的周期時長分別為25.32s、25.42s和25.68s,輸入Excel表格中。
在Excel中先計算出一滴水滴的平均周期值(即除以50),接著在單元格E2根據(jù)公式g=4π1/T進行重力加速度g值大小的計算:“(2*B2)/(D2*D2)”,然后向下拖動計算出其余5個g值的大小,分別是9.903695103m/s、9.774024552m/s、9.476077479m/s、9.787827966m/s、9.710970565m/s和9.515326423m/s;另外,六次實驗測量和計算得到的重力加速度平均值是9.69465368144189m/s2,這是一個比較理想的實驗結果(如圖2)。
改進版的“滴水法”測量重力加速度借助手機的“秒表”來測量周期,可以有效替代傳統(tǒng)的秒表;借助Excel表格進行數(shù)據(jù)的處理,計算速度和精度均優(yōu)于使用計算器,且計算的結果便于存儲。缺點是測量高度仍然使用了米尺,且手機的“秒表”受人為因素影響較大。
鐵架臺、米尺、安裝有Phyphox軟件(中文譯為“手機物理工坊”)的智能手機、鐵夾兩支、細繩、軟布(比如:擦眼鏡布)。
目前的智能手機均內(nèi)置有MEMS(微電子機械系統(tǒng)),通常包括光線傳感器、加速度傳感器和磁力傳感器等。作為針對物理學實驗而打造的Phyphox軟件,提供了直接訪問手機傳感器測量數(shù)據(jù)的功能,并且可以對實驗數(shù)據(jù)進行即時分析計算以得出相關物理量(比如重力加速度)的數(shù)值,計算公式為:g=4π1/T。
首先用軟布包住手機中部,兩側(cè)用鐵夾固定;調(diào)整好鐵架臺的水平,用2條細繩穿過鐵夾尾部,上方系于鐵架臺橫梁,組成一個“雙線擺”;調(diào)整好平衡,讓手機能夠平穩(wěn)地進行小幅度(小于5°)的擺動(如圖3)。
運行Phyphox,點擊“力學”下的“擺”項目,這樣你的手機作為擺的同時又可以確定重力常數(shù);點擊右上角的選項設置(三個豎點),在彈出的菜單項中先將“定時運行”項勾選,其默認設置是將“啟動延遲”3秒、“實驗時長”10秒,目的是“過濾”開始3秒的不穩(wěn)定時間段;然后勾選“允許遠程控制”,啟用遠程訪問功能,這樣可以通過瀏覽電腦瀏覽器的網(wǎng)頁(http://192.168.1.105:8080/)來即時訪問Phyphox的實驗過程(如圖4)。
點擊切換至“G”重力加速度測量項,調(diào)整擺線的長度并使用米尺測量擺長,輸入至Phyphox的“擺長”項中(cm);然后小幅度啟動雙線擺,在網(wǎng)頁中點擊“開始”按鈕啟動實驗,很快就顯示有周期、頻率以及計算出的重力加速度的數(shù)值。繼續(xù)調(diào)節(jié)擺線的長度,共進行六次實驗,測得擺長分別為:41.60cm、45.70cm、48.50cm、51.50cm、55.00cm和57.59cm,得到的重力加速度值分別為:9.64m/s、9.71m/s、9.52m/s、9.87m/s、9.76m/s和9.68m/s。六次平均值是9.69666666666667m/s,也是一個比較理想的實驗結果(如圖5)。
借助于手機中的MEMS加速度傳感器系統(tǒng)和Phyphox軟件進行重力加速度的測量實驗非常方便,只須測量出不同的擺長下的數(shù)據(jù)即可計算出接近于當?shù)刂亓铀俣戎档臄?shù)據(jù),省去了實驗者的計算過程。
缺點是受限于智能手機內(nèi)置的傳感器精度,米尺測量的擺長需要估算智能手機的中心點位置而產(chǎn)生的誤差,最終都會在一定程度上影響到重力加速度的測量。
掌控板、百靈鴿擴展板、數(shù)據(jù)線、mPython X編輯器。
掌控板內(nèi)部集成的加速度傳感器可以通過多種軟件編程的方式進行數(shù)據(jù)的讀取,包括X、Y和Z三個軸的單向加速度值。
將百靈鴿擴展板與掌控板連接好,連接電腦的USB接口;在電腦上運行mPython X,進行圖形化編程。通過循環(huán)結構控制先后8次讀取掌控板的三軸加速度值,相鄰兩次間的時間間隔為0.01秒。
需要注意的是,要將掌控板中讀取的“X軸加速度”、“Y軸加速度”和“Z軸加速度”三個數(shù)據(jù)先求平方和再開平方根,而且再進行單位換算(乘以10),即:
單位是m/s;建立變量my_list存儲8個重力加速度的測量值,最終在掌控板的OLED顯示屏上輸出(如圖6)。
將程序刷入掌控板并運行,很快就測量得到8個重力加速度數(shù)據(jù):9.812777、9.819073、9.806555、9.851265、9.812699、9.883816、9.845144、和9.851265,分別輸出顯示在電腦的mPython X編程界面和掌控板的OLED顯示屏上;8次的平均值是9.83532425m/s,這是一個非常理想的實驗結果(如圖7)。
使用掌控板的優(yōu)點是器材簡單,連接非常方便,而且得到的實驗數(shù)據(jù)精度也比較高;缺點是實驗數(shù)據(jù)的獲取過程不太直觀,較高集成度的“智能化”剝奪了通過實驗感知重力加速度的過程。
樹莓派、古德微擴展板、鐵架臺、擺球、細繩、米尺、游標卡尺、紅外線傳感器、Python程序編輯器Spyder。
物理“機械振動”的“實驗:用單擺測量重力加速度”中,為了精確地測量出當?shù)氐膅值,我們必須要盡可能地減小實驗過程和數(shù)據(jù)計算處理過程中的各種誤差。比如在使用秒表測量單擺周期T值時,通常是先記下擺球做50次全振動所用的總時長t,然后通過T=t/50取平均值。如果是在樹莓派上通過Python編程來做同樣的實驗,借助紅外線傳感器實時監(jiān)測擺球每次到達平衡位置的時刻并進行記錄存儲,同樣也是記錄幾十個周期后取平均值;然后通過公式g=4π1/T計算出重力加速度的大小,同時也可以根據(jù)實驗數(shù)據(jù)做出T-l圖像并進行描點擬合。
在本次的單擺測量重力加速度實驗中,我們需要使用對環(huán)境光線適應能力較強的紅外線傳感器,其有效檢測的距離范圍為2-30cm,通過頂端的一對紅外線發(fā)射與接收管來檢測擺球是否到達平衡位置。
第1步:實驗器材的連接與調(diào)試
首先將擺球通過細繩連接至鐵架臺,使用游標卡尺測量出擺球的直徑;然后將紅外線傳感器插入樹莓派擴展板的24號插孔;接著,調(diào)節(jié)好紅外線傳感器與擺球的位置,使其頂端正對著擺球靜止時的平衡位置;最后,給樹莓派通電啟動操作系統(tǒng),并且讓擺球正常擺動起來,觀察紅外線傳感器的輸出指示燈是否會在其到達平衡位置時閃亮,指示燈如果能在擺球到達平衡位置時發(fā)光,說明可以進行實驗檢測(如圖8)。
第2步:Python編程測量單擺的周期T
在電腦上通過Windows的“遠程桌面程序”登錄樹莓派,進入Python IDE編程環(huán)境,編寫程序進行單擺周期數(shù)據(jù)的采集。
第一次實驗設計采集50個周期總時長,語句“for i in range(101)”控制紅外傳感器監(jiān)測擺球到達平衡位置的次數(shù)為101次,每次均使用“time.time()”記錄下該時刻的“時間戳”;語句“time.sleep(0.7)”的作用是消除擺球“途經(jīng)”紅外線傳感器時的短暫停留期(可根據(jù)實際情況進行調(diào)節(jié)),防止擺球在同一次到達平衡位置時采集了多個時刻數(shù)據(jù);最開始記錄的一次時刻t0是實驗的起始值,它與最后一個時刻間的總時長(t-t)再除以50,即得到該次實驗所測得的周期T。
按照實驗要求,控制擺球在小于5°的范圍內(nèi)開始擺動后,運行Python程序進行數(shù)據(jù)的采集;結束后,程序輸出“T is: 1.4047615098953248”,單位是秒(如圖9)。
第3步:Python編程計算重力加速度g
返回Windows中啟動Spyder進行Python編程,計算重力加速度g。
語句“import math”的作用是導入數(shù)學庫,變量math.pi即為圓周期率π,值為3.141592653589793;本次實驗測量的擺長l值為0.4896m,即擺線部分與小球半徑之和;語句“g = (4*math.pi**2*l)/(T**2)”的作用是計算g的大?。ā?”表示乘法運算,“T**2”表示周期的平方),這是公式g=4π1/T在Python編程中的表達式書寫方法。
運行程序,得到結果:“第一次測試的g數(shù)值為: 9.79480845649939”,單位為m/s(如圖10)。
第4步:再測量并獲取五組實驗數(shù)據(jù)
第一次實驗結束之后,繼續(xù)再做五次實驗,調(diào)節(jié)并測量擺線的長度l分別為0.6386m、0.7206m、0.7376m、0.8076m和0.9796m;在樹莓派中通過Python程序測量的對應周期T分別為1.6047531366348267 s、1.7047476148605347 s、1.7246245098114015 s、1.8050039768218995 s和1.9851537227630616 s。
將對應數(shù)據(jù)分別在Windows的Python環(huán)境中進行運算,得到五次實驗的重力加速度值分別是:9.789763143321407 m/s、9.788898187722923 m/s、
9.790199394007589m/s、9.785876280226173m/s和9.813416423616557 m/s。
第5步:Python編程作T2-l圖像
六次實驗完成之后,將測量的擺長l和周期T數(shù)據(jù)(包括通過公式計算得到的重力加速度g數(shù)據(jù))填入右下表格。
在Python中導入numpy、matplotlib等庫模塊和進行必要的作圖設置之后,將六次實驗的擺長l和周期T數(shù)據(jù)分別存儲至列表,其中的周期T還要通過一次循環(huán)計算得到平方值,最后進行數(shù)據(jù)點顯示和擬合,得到T2-l圖像(如圖11)。
第6步:實驗數(shù)據(jù)分析
從圖像上可以看到,六次實驗的數(shù)據(jù)“散點”(以藍色*表示)在經(jīng)過擬合后,非常接近于過原點(0,0)的一條直線,其擬合曲線y=kx+b表示為:y=4.028x+0.001868。由于T=4π/gl,直線在T2-l圖像中的斜率k=4π/g,所以重力加速度g=4π/k;如果忽略擬合時的“0.001868”極小誤差值,并且將k值(4.028)代入,則有g=4π2/k≈9.800997419155273m/s(同樣可在Python中編程求解),這就是六次實驗測量和計算的結果;六次實驗測量和計算得到的重力加速度值取平均值,結果是9.793826980899006m/s,一個非常理想的結果。
使用樹莓派進行Python代碼編程測量重力加速度的實驗優(yōu)點是,不管是周期T的測量、圓周率π的取值及計算重力加速度g,數(shù)據(jù)均精確至小數(shù)點后15位數(shù)字,尤其是使用紅外線傳感器監(jiān)測記錄擺球到達平衡位置的時刻數(shù)據(jù),精確度要遠遠高于使用秒表來測量周期,實驗的誤差小得多。通過查詢各地的重力加速度數(shù)據(jù),青島(北緯35°35′~37°09′)的重力加速度值約為9.7985 m/s,而筆者所在地是煙臺(北緯36°16′~38°23′),理論上的重力加速度值應該是稍大于青島地區(qū)9.7985m/s2的,與實驗結果吻合。
而且,通過Python代碼編程來進行最終實驗數(shù)據(jù)的分析及圖像擬合展示,都極具說服力。缺點是實驗較復雜,包括器材的連接以及Python代碼編程,適合高中生進行小組協(xié)作式項目探究,還需要信息技術老師的協(xié)助。