翁浩峰
(浙江省寧波中學 浙江 寧波 315100)
Arduino(圖1)是一塊基于開放源代碼的USB接口Simple i/o接口板(包括12通道數字GPIO,4通道PWM輸出,6~8通道10bit ADC輸入通道),且具有使用類似Java,C語言的IDE集成開發環境,它的主要運算部件為一單片機(如Atmege168).Arduino發送的數據可以通過電腦終端一個名為Serproxy的串口代理軟件轉化為Flash可識別的數據.

圖1
Adobe Flash是一個非常流行的動畫制作軟件,常常用于物理課件的制作,近幾年發展很快,現在已經可以用Flash來制作軟件.在本實驗中制作的課件可以接收來自Arduino的數據.
DISLab(Digital Information System Lab)即數字化信息系統實驗室,其基本的構造是傳感器、數據采集器和計算機軟件.基本原理是由數據采集器采集傳感器上的數據,并傳輸到電腦上通過軟件顯示出來.
(關于Arduino,Flash,DISLab的更多內容參閱文獻[1]和[2])
法拉第電磁感應定律:閉合電路中感應電動勢的大小,跟穿過這一電路的磁通量的變化率成正比,即
如果閉合電路是一個匝數為N的線圈,并且穿過每匝線圈的磁通量總相同,則線圈的感應電動勢為
要定量研究電磁感應定律,則需要測量磁通量的變化量ΔΦ和時間間隔Δt.由于磁通量變化量ΔΦ較難測量,筆者設定每次變化的ΔΦ都相同,在這種情況下改變時間間隔Δt,通過研究E與Δt的關系,從而得出電磁感應定律.由此筆者設計了如下的實驗.
在條形磁鐵進入線圈的過程中,線圈中的磁通量會發生變化,從而產生感應電動勢.如果磁鐵在線圈中從相同的位置開始移動相同的位移,那么,線圈中的磁通量變化量ΔΦ則相同.
如圖2所示,將一條形磁鐵平放于小車上,小車上再固定一擋光片.移動小車,當擋光片剛擋住光電門開始計時,到擋光片剛離開光電門停止計時,便可以得到這段過程的時間Δt1.同時,磁鐵在線圈中移動了一段位移,線圈中的磁通量的變化量為ΔΦ1.保持線圈與光電門位置以及條形磁鐵和擋光片在小車上的位置不變,重復實驗,可得第二次實驗的時間Δt2,線圈磁通量變化量為ΔΦ2.由于兩次條形磁鐵都是從相同的位置開始移動相同的位移,所以
ΔΦ1=ΔΦ2

圖2 測量線圈磁通量的變化量
接下去測量這段時間內感應電動勢大小.雖然這個時間很短,但是感應電動勢卻不是一個恒定值,所以,不能用任意一個時刻的值來代替.在法拉第電磁感應定律中,感應電動勢
此式為Δt時間內的平均值.如果將Δt再分割成n段的話,則有
由上可得,如果在時間Δt內多測幾個感應電動勢的值,然后,再對這些取平均值,就可以得到Δt內的感應電動勢大小了.
根據
可得
ΔΦ=EΔt
因為每次ΔΦ相等,所以EΔt也相等.在測得了多組時間和感應電動勢的值后,再對每組求乘積,如果每組乘積相等,則可得到法拉第電磁感應定律.
改變線圈匝數N,并保持裝置原位置不變,重復實驗.可得到在新的匝數下的時間和感應電動勢的乘積.對不同匝數下測得的時間和感應電動勢的乘積進行對比,可得感應電動勢與匝數的關系.
根據上述原理可知,實驗需要測量的量有兩個,即擋光時間和擋光時的電壓平均值.前者可以用光電門并通過Arduino的數字信號輸入端采集,后者則可以直接通過Arduino中的模擬信號輸入端采集.Arduino的模擬信號輸入端能采集的最大電壓為5 V,得到的最大的數字信號為1 024即1 024對應5 V電壓,最小1對應約為5 mV的電壓,所以,Arduino的模擬信號輸入端只能精確到5 mV.而本實驗中感應電動勢大小為100 mV左右,直接用Arduino來讀取誤差太大,故需要將采集到的感應電動勢的值線性放大后再輸入Arduino.
下面是電壓放大電路模塊的設計.

圖3 電壓線性放大原理圖

圖4 自制電壓放大模塊實物圖
放大電路使用Lm358P集成運放,加上電阻構一個電壓線性放大模塊,原理圖如圖3,自制電壓放大模塊實物圖,如圖4所示.
電壓放大模塊中的R1用1 kΩ電阻,R2用10 kΩ電阻,這樣放大倍數為11倍.因為輸入的感應電動勢約為100 mV,經過放大后達到1 000 mV,用精度為5 mV的Arduino模擬信號輸入端來采集,誤差0.5%.
之后,需要通過對Arduino進行編程,實現將采集到的時間值和電壓值發送到電腦端的功能.
Arduino端的主要代碼(略).
主程序大約每100 μs運行一遍,在每次運行時都檢測光電門有無擋光,如果擋光,則開始計時.在計時時,程序繼續每100 μs運行一遍.當檢測到光電門無擋光時則結束計時,得到整個擋光的時間.同時,當開始計時后,程序每運行一遍就會讀取一個電壓值,并將這些電壓值累加,當計時結束,對累加的電壓值求平均,得到一個平均電壓.因為程序每執行一遍需要100 μs左右,所以,計算得到的擋光時間也會有約100 μs的誤差.由于每次擋光時間大概有幾十毫秒,所以,擋光時間的誤差約為0.5%.圖5為實驗裝置實物圖.

圖5 實驗裝置實物圖
軟件部分利用Adobe Flash來開發,最后生成swf動畫課件.因為具體代碼較多,這里不再列出.圖6為課件界面.

圖6 法拉第電磁感應定律定量研究實驗課件界面
當移動小車正向通過光電門時,課件中的小車也會移動.當Arduino端發送數據時,課件中會實時顯示在對應的方框內.點擊記錄數據按鈕,可以將此次數據記錄在表格中.當移動小車反向通過光電門時,課件中的小車也會回到原來位置,并且方框中的數據同時清零.移動小車反復經過光電門,就可以記錄多組時間和感應電動勢的數據.
記錄完后,將表格中的數據復制,并粘貼到Excel表格中,利用Excel來進行數據處理,表1,2為某次實驗數據.

表1 線圈匝數為8N對應的實驗數據

表2 線圈匝數為16N對應的實驗數據
從實驗數據可以看到,在同樣匝數下,感應電動勢和擋光時間的乘積為一定值.如果將線圈匝數增大一倍,感應電動勢和擋光時間的乘積也增大一倍.由此可以得到法拉第電磁感應定律(實際實驗結果誤差要大于實驗裝置理論誤差,可能由于每次移動小車時,小車會有垂直運動方向的微小運動).
基于Arduino和Flash的DISLab實驗擁有市場上DISLab的功能,卻可以在Flash課件中顯示并處理數據,實現了傳感器與課件的完美結合.另外,由于市場上的DISLab硬件及軟件功能往往都已經內置,甚至具體的實驗界面都是固定的,雖然大大方便了教師的使用,但也存在無法制作個性化實驗的弊端.筆者的這套DISLab實驗可以開發更多自己設計的實驗,Flash課件端的界面也可以自己設計,并且與動畫完美結合.在科技日新月異的今天,教師已不能僅用一只粉筆講到底了,如何有效地利用現在新的技術來輔助教學已經成為每個教師都應該思考的問題.
參考文獻
1 翁浩峰.利用Arduino和Flash開發DISLab.物理教師,2010(3):45
2 翁浩峰.在Flash課件中使用傳感器.物理通報,2010(6):35