賀思源
摘 要利用單擺測量重力加速度實驗是高中物理一項重要的實驗內(nèi)容。實驗中,通常使用秒表測量單擺運動時間,人工計數(shù)擺動次數(shù),該方法簡單有效,但由于人為因素的影響,往往使單擺的運動周期測量產(chǎn)生較大誤差,從而使重力加速度的測量出現(xiàn)較大偏差。為減小該方法所帶來的測量誤差,本文提出了一種利用LEGO EV3控制模塊和顏色傳感器,通過RobotC編程進行單擺重力加速度測量的方案,實驗證明該方法能夠有效降低了測量誤差,提高了測量的精度。
【關(guān)鍵詞】單擺實驗 LEGO EV3 RobotC編程
1 引言
在利用單擺測量重力加速度的實驗中,需要測量單擺的運動周期。通常的方法是人工計數(shù)擺球運動周期次數(shù),利用秒表計總時間,最后根據(jù)公式(1)求出單擺的運動周期。
(1)
式中T為單擺運動周期,N為單擺的運動周期數(shù), 為運動總時間。求出T后,根據(jù)公式(2)即可求得重力加速度g。
(2)
在該實驗中,由于是人工使用秒表計時,計時的起點位置和終點位置不可能完全重合,會引起T產(chǎn)生較大誤差,從而給g的測量帶來較大誤差。
2 方案設(shè)計
為了減小單擺運動周期測不準所引起的誤差,就需要改變計時方法,提高擺球運動周期的測量精度。為此,利用LEGO EV3控制器及其顏色傳感器設(shè)計了一種自動測量單擺運動周期,計算重力加速度的實驗方案。
LEGO EV3是一款可編程Lego機器人控制器,有4個傳感器輸入端口和4個輸出端口,支持USB、藍牙、Wi-Fi與電腦通迅。4個傳感器輸入端口可以連接超聲波傳感器(45504)、顏色傳感器(45506)、陀螺儀(45505)和觸碰傳感器(45507),其中顏色傳感器不僅可以測量物體的顏色,還可以像光電傳感器一樣測量光的反射值。
在新的單擺法測量重力加速度實驗方案中,保持單擺裝置不變,取消了秒表,增加LEGO EV3控制器和顏色傳感器等實驗器材。實驗中,通過LEGO EV3控制器控制顏色傳感器,測量單擺的擺球經(jīng)過顏色傳感器時反射光的變化,計數(shù)擺球的擺動次數(shù),同時對擺球運動計時,然后根據(jù)擺動次數(shù)和時間自動計算單擺的運動周期和重力加速度值,并在LEGO EV3控制器上顯示出周期T、單擺運動時間t和重力加速度g。
3 程序設(shè)計
使用LEGO EV3控制器控制顏色傳感器進行單擺重力加速度測量之前,首先需要進行測量程序的設(shè)計,對LEGO EV3 進行編程,編寫自動完成T和g測量的程序。有多種編程語言支持對LEGO EV3 編程,如基于LabView的圖形化編程語言,RobotC,LeJos等。這里采用RobotC進行該實驗程序的編寫,RobotC是由卡耐基梅隆大學(xué)機器人學(xué)院開發(fā)的基于C語言的一種機器人專用語言,可支持多種機器人平臺。
測量程序首先進行初始化,為顏色傳感器分配輸入端口,并設(shè)置計時器;控制顏色傳感器測量反射光的變化;根據(jù)顏色傳感器的測量結(jié)果和計時器的值,自動計算T和g,并在LEGO EV3的顯示屏上顯示出來。測量測序流程如圖1所示。
在使用RobotC編寫控制程序時,首先需要在RobotC開發(fā)環(huán)境中選擇平臺類型(Platform Type),如LEGO Mindstorms EV3和LEGO Mindstrorms NXT。這里采用的是LEGO EV3,所以要將平臺類型設(shè)為LEGO Mindstorms EV3;然后設(shè)置傳感器端口,按照顏色傳感器連接到的端口進行相應(yīng)的設(shè)置;設(shè)置完成后,即可進行程序的編制。程序編寫完成后,使用RobotC的編譯器(Compile Program)對程序進行編譯,編譯通過后,通過固件下載(Firmware Download)功能將程序下載到LEGO EV3,按下啟動按鍵,程序開始運行,LEGO EV3自動進行單擺運動周期測量和重力加速度的測量。
4 實驗步驟
首先讓擺球處于靜止狀態(tài)并保持在M點處(如圖1),將顏色傳感器通過數(shù)據(jù)線連接到LEGO EV3的輸入端口上,并將其對準擺球中心,使擺球和顏色傳感器的處于同一水平面上。為保證顏色傳感器能有效探測和識別擺球,擺球與顏色傳感器之間的距離應(yīng)保持在1cm之內(nèi)。將擺球偏離靜止位置一定角度(不大于10°),放開擺球,讓擺球在垂直平面上運動,且該平面垂直于M點與顏色傳感器的連線。
啟動已下載到LEGO EV3中的單擺加速度測量程序,LEGO EV3控制顏色傳感器開始測量擺球的運動周期。當擺球沒有運動到M點時,由于顏色傳感器不能收到足夠強的反射光,顏色傳感器上報給LEGO EV3的測量值為0。當擺球到達M點時,顏色傳感器由于收到擺球的反射光線,其上報給LEGO EV3的測量值要不為0,此時程序就會在擺球的運動次數(shù)上加1,同時啟動內(nèi)部定時器計時。此后,擺球每通過M點一次,程序就會自動在運動次數(shù)上加1,同時計算擺球運動的周期數(shù)和所用的時間,并計算擺球的運動周期和重力加速度值,最后將計算結(jié)果顯示在LEGO EV3顯示屏上。
在該實驗中,由于顏色傳感器所發(fā)出是一定直徑的光束,若擺球直徑太大,遠大于光束直徑時,就不能保證每次擺球運動到M點時,顏色傳感器的測量位置相同,從而造成擺球運動周期測量誤差增大。所以擺球的選取原則是應(yīng)盡可能小,但是又不能太小,擺球太小時,其反射的光太弱,低于顏色傳感器檢測能力,造成漏檢。因此擺球的選取以擺球經(jīng)過M點時,顏色傳感器測量值發(fā)生微小變化為宜。
該實驗中,LEGO EV3 的定時精度可以到1個毫秒,遠高于秒表的測時精度,大大提高了單擺運動周期測量的準確性。
5 結(jié)束語
利用LEGO EV3 及其顏色傳感器進行重力加速度測量,減小了測量誤差,提高了測量精度,是LEGO EV3 控制模塊及其傳感器在物理實驗中的一次成功應(yīng)用,為其在其他物理實驗和生活中的應(yīng)用提供了思路。
參考文獻
[1]鄭劍春著.ROBOTC與機器人程序設(shè)計[M].北京:清華大學(xué)出版社,2013.
[2]甘辰予,陳勁生.LEGO智能除冰機器人的設(shè)計[J].大眾科技,2009(10).
[3]李乾華,程立英,張志美等.基于LEGO的“環(huán)保衛(wèi)士”機器人設(shè)計[J].硅谷,2013.
作者單位
鄭州市第一中學(xué) 河南省鄭州市 450007