翁浩峰
(浙江省寧波中學(xué) 浙江 寧波 315100)
Arduino(圖1)是一塊基于開放源代碼的USB接口Simple i/o接口板(包括12通道數(shù)字GPIO,4通道PWM輸出,6~8通道10bit ADC輸入通道),且具有使用類似Java,C語言的IDE集成開發(fā)環(huán)境,它的主要運算部件為一單片機(如Atmege168).Arduino發(fā)送的數(shù)據(jù)可以通過電腦終端一個名為Serproxy的串口代理軟件轉(zhuǎn)化為Flash可識別的數(shù)據(jù).
圖1
Adobe Flash是一個非常流行的動畫制作軟件,常常用于物理課件的制作,近幾年發(fā)展很快,現(xiàn)在已經(jīng)可以用Flash來制作軟件.在本實驗中制作的課件可以接收來自Arduino的數(shù)據(jù).
DISLab(Digital Information System Lab)即數(shù)字化信息系統(tǒng)實驗室,其基本的構(gòu)造是傳感器、數(shù)據(jù)采集器和計算機軟件.基本原理是由數(shù)據(jù)采集器采集傳感器上的數(shù)據(jù),并傳輸?shù)诫娔X上通過軟件顯示出來.
(關(guān)于Arduino,F(xiàn)lash,DISLab的更多內(nèi)容參閱文獻[1]和[2])
法拉第電磁感應(yīng)定律:閉合電路中感應(yīng)電動勢的大小,跟穿過這一電路的磁通量的變化率成正比,即
如果閉合電路是一個匝數(shù)為N的線圈,并且穿過每匝線圈的磁通量總相同,則線圈的感應(yīng)電動勢為
要定量研究電磁感應(yīng)定律,則需要測量磁通量的變化量ΔΦ和時間間隔Δt.由于磁通量變化量ΔΦ較難測量,筆者設(shè)定每次變化的ΔΦ都相同,在這種情況下改變時間間隔Δt,通過研究E與Δt的關(guān)系,從而得出電磁感應(yīng)定律.由此筆者設(shè)計了如下的實驗.
在條形磁鐵進入線圈的過程中,線圈中的磁通量會發(fā)生變化,從而產(chǎn)生感應(yīng)電動勢.如果磁鐵在線圈中從相同的位置開始移動相同的位移,那么,線圈中的磁通量變化量ΔΦ則相同.
如圖2所示,將一條形磁鐵平放于小車上,小車上再固定一擋光片.移動小車,當(dāng)擋光片剛擋住光電門開始計時,到擋光片剛離開光電門停止計時,便可以得到這段過程的時間Δt1.同時,磁鐵在線圈中移動了一段位移,線圈中的磁通量的變化量為ΔΦ1.保持線圈與光電門位置以及條形磁鐵和擋光片在小車上的位置不變,重復(fù)實驗,可得第二次實驗的時間Δt2,線圈磁通量變化量為ΔΦ2.由于兩次條形磁鐵都是從相同的位置開始移動相同的位移,所以
ΔΦ1=ΔΦ2
圖2 測量線圈磁通量的變化量
接下去測量這段時間內(nèi)感應(yīng)電動勢大小.雖然這個時間很短,但是感應(yīng)電動勢卻不是一個恒定值,所以,不能用任意一個時刻的值來代替.在法拉第電磁感應(yīng)定律中,感應(yīng)電動勢
此式為Δt時間內(nèi)的平均值.如果將Δt再分割成n段的話,則有
由上可得,如果在時間Δt內(nèi)多測幾個感應(yīng)電動勢的值,然后,再對這些取平均值,就可以得到Δt內(nèi)的感應(yīng)電動勢大小了.
根據(jù)
可得
ΔΦ=EΔt
因為每次ΔΦ相等,所以EΔt也相等.在測得了多組時間和感應(yīng)電動勢的值后,再對每組求乘積,如果每組乘積相等,則可得到法拉第電磁感應(yīng)定律.
改變線圈匝數(shù)N,并保持裝置原位置不變,重復(fù)實驗.可得到在新的匝數(shù)下的時間和感應(yīng)電動勢的乘積.對不同匝數(shù)下測得的時間和感應(yīng)電動勢的乘積進行對比,可得感應(yīng)電動勢與匝數(shù)的關(guān)系.
根據(jù)上述原理可知,實驗需要測量的量有兩個,即擋光時間和擋光時的電壓平均值.前者可以用光電門并通過Arduino的數(shù)字信號輸入端采集,后者則可以直接通過Arduino中的模擬信號輸入端采集.Arduino的模擬信號輸入端能采集的最大電壓為5 V,得到的最大的數(shù)字信號為1 024即1 024對應(yīng)5 V電壓,最小1對應(yīng)約為5 mV的電壓,所以,Arduino的模擬信號輸入端只能精確到5 mV.而本實驗中感應(yīng)電動勢大小為100 mV左右,直接用Arduino來讀取誤差太大,故需要將采集到的感應(yīng)電動勢的值線性放大后再輸入Arduino.
下面是電壓放大電路模塊的設(shè)計.
圖3 電壓線性放大原理圖
圖4 自制電壓放大模塊實物圖
放大電路使用Lm358P集成運放,加上電阻構(gòu)一個電壓線性放大模塊,原理圖如圖3,自制電壓放大模塊實物圖,如圖4所示.
電壓放大模塊中的R1用1 kΩ電阻,R2用10 kΩ電阻,這樣放大倍數(shù)為11倍.因為輸入的感應(yīng)電動勢約為100 mV,經(jīng)過放大后達到1 000 mV,用精度為5 mV的Arduino模擬信號輸入端來采集,誤差0.5%.
之后,需要通過對Arduino進行編程,實現(xiàn)將采集到的時間值和電壓值發(fā)送到電腦端的功能.
Arduino端的主要代碼(略).
主程序大約每100 μs運行一遍,在每次運行時都檢測光電門有無擋光,如果擋光,則開始計時.在計時時,程序繼續(xù)每100 μs運行一遍.當(dāng)檢測到光電門無擋光時則結(jié)束計時,得到整個擋光的時間.同時,當(dāng)開始計時后,程序每運行一遍就會讀取一個電壓值,并將這些電壓值累加,當(dāng)計時結(jié)束,對累加的電壓值求平均,得到一個平均電壓.因為程序每執(zhí)行一遍需要100 μs左右,所以,計算得到的擋光時間也會有約100 μs的誤差.由于每次擋光時間大概有幾十毫秒,所以,擋光時間的誤差約為0.5%.圖5為實驗裝置實物圖.
圖5 實驗裝置實物圖
軟件部分利用Adobe Flash來開發(fā),最后生成swf動畫課件.因為具體代碼較多,這里不再列出.圖6為課件界面.
圖6 法拉第電磁感應(yīng)定律定量研究實驗課件界面
當(dāng)移動小車正向通過光電門時,課件中的小車也會移動.當(dāng)Arduino端發(fā)送數(shù)據(jù)時,課件中會實時顯示在對應(yīng)的方框內(nèi).點擊記錄數(shù)據(jù)按鈕,可以將此次數(shù)據(jù)記錄在表格中.當(dāng)移動小車反向通過光電門時,課件中的小車也會回到原來位置,并且方框中的數(shù)據(jù)同時清零.移動小車反復(fù)經(jīng)過光電門,就可以記錄多組時間和感應(yīng)電動勢的數(shù)據(jù).
記錄完后,將表格中的數(shù)據(jù)復(fù)制,并粘貼到Excel表格中,利用Excel來進行數(shù)據(jù)處理,表1,2為某次實驗數(shù)據(jù).
表1 線圈匝數(shù)為8N對應(yīng)的實驗數(shù)據(jù)
表2 線圈匝數(shù)為16N對應(yīng)的實驗數(shù)據(jù)
從實驗數(shù)據(jù)可以看到,在同樣匝數(shù)下,感應(yīng)電動勢和擋光時間的乘積為一定值.如果將線圈匝數(shù)增大一倍,感應(yīng)電動勢和擋光時間的乘積也增大一倍.由此可以得到法拉第電磁感應(yīng)定律(實際實驗結(jié)果誤差要大于實驗裝置理論誤差,可能由于每次移動小車時,小車會有垂直運動方向的微小運動).
基于Arduino和Flash的DISLab實驗擁有市場上DISLab的功能,卻可以在Flash課件中顯示并處理數(shù)據(jù),實現(xiàn)了傳感器與課件的完美結(jié)合.另外,由于市場上的DISLab硬件及軟件功能往往都已經(jīng)內(nèi)置,甚至具體的實驗界面都是固定的,雖然大大方便了教師的使用,但也存在無法制作個性化實驗的弊端.筆者的這套DISLab實驗可以開發(fā)更多自己設(shè)計的實驗,F(xiàn)lash課件端的界面也可以自己設(shè)計,并且與動畫完美結(jié)合.在科技日新月異的今天,教師已不能僅用一只粉筆講到底了,如何有效地利用現(xiàn)在新的技術(shù)來輔助教學(xué)已經(jīng)成為每個教師都應(yīng)該思考的問題.
參考文獻
1 翁浩峰.利用Arduino和Flash開發(fā)DISLab.物理教師,2010(3):45
2 翁浩峰.在Flash課件中使用傳感器.物理通報,2010(6):35