?

對單擺測重力加速度實驗的改進

2023-03-02 10:32周洪亮
廣西物理 2023年4期
關鍵詞:霍爾中斷藍牙

周洪亮

(江蘇電子信息職業學院素質教育部,江蘇 淮安 223003)

0 引言

單擺測重力加速度是物理實驗中的常規項目。一根不可伸縮的細線,上端固定,下端懸掛一個重球。當細線質量比重球質量小很多,球的直徑比細線長度短很多時,可以把重球看作是一個不計細線質量的質點[1]。將擺球自平衡位置拉至一邊(保持擺角θ<5°)然后釋放,擺球將在平衡位置左右作周期性擺動,即做簡諧振動,這種裝置稱為單擺(如圖1 所示)。

圖1 單擺受力分析圖

分析擺球受力情況,θ為擺角,l為擺長,T為擺動周期,x為擺球到轉動平衡位置的距離。根據平衡條件有ma=-mgsinθ,a=-gsinθ取一階泰勒展開,a=-g(θ-o(θ)),在擺角很小時,忽略高階無窮小余項此時符合簡諧運動特征,解得利用周期T和擺長l可以測量重力加速度:

單擺是一種簡化模型,擺角過大、擺長改變和阻尼導致力學模型的近似條件破壞產生誤差,但這個誤差可以忽略。主要影響來自擺長l和時間T的誤差。g的相對不確定度擺長l的相對不確定度影響小,并且可以修正,周期T的不確定度影響更大,總測量不確定度主要來自周期T,應盡量減小周期測量的誤差。

單擺實驗傳統上使用商品數字計時器,采用光電門和擋光桿計時。商品計時器功能固化在CPU,只能按設定功能進行實驗,難以拓展用途,儀器僅能顯示數據而無法處理,也不符合數據可視化、信息化教學的要求,另外價格高,體積大。商品計時器還有一個缺陷,光電門會受到自然光干擾,并且擋光桿容易無效動作,產生重復計數或者漏計數,導致測量錯誤。設想對該實驗在數據采集、數據傳輸和數據處理幾個方面進行改進,設計一種體積小巧、使用方便、高精度、低成本的數字計時器,利用霍爾傳感器產生脈沖信號并發送給單片機,單片機接收信號并計時,利用藍牙串口通信將數據傳輸給電腦和手機,實時顯示測量結果并分析處理和存儲數據。

1 實現方案

主要包括硬件設計:霍爾元件、單片機、藍牙、電腦、手機設備的連接,單片機的中斷和串口,藍牙的無線通信。軟件設計:單片機的中斷處理和計時、串口通信、電腦和手機的數據記錄和處理(如圖2 所示)。

圖2 實現思路

1.1 信號采集

1.1.1 A3144型霍爾開關傳感器模塊

霍爾效應,在垂直磁場的方向通電流,因洛倫茲力產生的電荷積累,形成與電流和磁場方向相互垂直的霍爾電壓。A3144 是利用硅集成電路工藝將霍爾元件和測量線路集成在一起的一種傳感器。集成了電平處理,實現了材料、元件、電路三位一體。集成霍爾傳感器與分立相比,由于減少了焊點,因此顯著地提高了可靠性。此外,它具有體積小、重量輕、功耗低、成本低等優點。該模塊有三個腳,接單片機的VCC、GND 和外部中斷(如圖3、圖4 所示)。

圖3 霍爾開關模塊

圖4 霍爾模塊、單擺示意圖

按圖4 方式將霍爾元件置于磁性擺球下方,并連接到單片機的外部中斷接口,當傳感器切割磁場時,輸出單片機可識別的低電平信號。

1.1.2 STC89C52RC單片機

由宏晶公司推出的一種小型51 系列單片機,具有8 位并行I/O 和8 位處理器,帶兩個十六位定時/計數器、五個中斷源,兩級中斷優先級;帶片內存儲RAM、32 位雙向輸入輸出線;可進行串口通信的單片機;片內有4k 字節在線可重復編程快擦寫程序存儲器;工作范圍0 Hz~24 MHz;一個全雙工的異步串行口;優點是抗干擾、超低功耗,價格低,在線通過USB 下載調試程序非常方便(如圖5、圖6 所示)。

圖5 STC 單片機

圖6 藍牙模塊示意圖

本裝置主要使用的是定時器、外部中斷源、串口輸出幾個功能。除單片機最小系統之外,外圍線路比較簡潔,安裝數碼管和鎖存器用于板上顯示,通過UBS 轉TTL 串口連接電腦,連接上藍牙串口模塊實現無線通信。

1.2 信號傳輸

1.2.1 HC06藍牙從機和HC05藍牙主機

藍牙HC05 是主從一體的藍牙串口模塊,與HC06 從機模塊對應,功能類似。簡單地說,當藍牙設備與藍牙設備配對連接成功后,我們可以忽視藍牙內部的通信協議,直接將藍牙當作串口用。建立連接時,兩設備共同使用一通道也就是同一個串口,一個設備發送數據到通道中,另外一個設備便可以接收通道中的數據。當然,對于建立這種通道連接是有一定條件,那就是對藍牙設置好能進行配對連接的AT 模式。

藍牙串口模塊引腳主要有:RX——接收端;TX——發送端;VCC——模塊供電正極(5V);GND——模塊接地。

HC05、HC06 藍牙模塊使用AT 指令修改名稱、密碼、波特率等參數。HC05 的設置稍復雜,并且與HC06的AT 命令格式不同,HC05 的AT 句尾要加上 不然不識別。HC06 不需要 。二者的波特率也有區別。

當HC05 主機與HC06 從機相連時,HC05 要設置為主機。如果密碼都是默認的1234,則可自動連接。連接成功后藍牙信號指示燈紅色常亮。

1.2.2 藍牙串口模塊與電腦的連接

藍牙通信方便可靠,只需將主機與電腦相連、從機與單片機相連,相當于用一根導線將電腦和單片機對接,但這種連接是無線的,可以擺脫導線的束縛,更加方便,在近距離內利用電腦軟件觀測實驗數據(如圖7、圖8 所示)。

圖7 藍牙與電腦連接示意圖

圖8 手機藍牙連接示意圖

1.2.3 單片機與手機的無線連接

將HC06 藍牙串口模塊的RX、TX 連接到單片機的TX 和RX,以及電源正VCC 和接地GND,僅需4 根線,就能將單片機測量的信號發送到手機藍牙,采用無線信號連接單片機和手機,這種方式更加靈活,利用手機強大的數據處理功能,有效地管理實驗數據。將測量和數據處理分開,可以設計更豐富的拓展功能,避免了單一產品功能固化在設備中,無法升級的缺點。

2 程序開發調試

2.1 單片機工作流程

主要功能為單片機讀取中斷和串口通信,存儲數據,電腦端或手機端與單片機的藍牙通信(如圖9 所示)。

圖9 程序流程簡概

單片機程序分為主程序和定時器初始化、定時器中斷,外部中斷、延時、數值轉換、數碼管顯示、串口發送等子程序。

中斷寄存器的設置非常重要。中斷允許控制寄存器(IE)——控制各中斷的開放和屏蔽,定時器/計數器控制寄存器(TCON)——定時器和外部中斷的控制,中斷TMOD 寄存器——定時器和中斷工作方式,串行口控制寄存器(SCON)——串行中斷的控制。

定時器的操作是一個關鍵。定時器高位寄存器TH0和低位TL0,由于單片機的晶振為11.0592 Mhz,取12 分頻,所以一個時鐘周期t=120/110592=5/4608≈0.001085 069444ms,約為1μs,即低位增加1 的時間,當時間t=(256-TH0_SET)*(256-TL0_SET)*120/110592 ms 發生一次定時器中斷,例如取高位預設TH0_SET=22,低位預設TL0_SET=0,高位增加1 的時間為256 個時鐘周期,t=5/18≈0.28 ms,計算得每65 ms 發生一次定時中斷。

單片機選擇11.0592 Mhz 外置晶振的原因跟時鐘周期有關,采用11.0592 Mhz 晶振,能被1024 整除,在時間計算上是整數運算,不產生截斷誤差。同時,整數的運算效率更高。若使用12 Mhz 晶振,時間計算將出現浮點數,產生累積誤差,并且工作效率下降。在編程時也應考慮整除的問題,例如1/3*3 就出現了誤差,調整乘除計算順序,改成1*3/3,避免出現不能整除的結果。

在外部中斷1接上霍爾元件的信號輸出端,設置寄存器IT1=1,外部中斷1觸發方式設為電平下降沿觸發,霍爾元件每次接近磁鐵產生低電平時,單片機發生外部中斷,記錄定時器中斷次數并計算兩次外部中斷的時間間隔,存入數組中。

數據經串口發送的寄存器設置較復雜,包括TH1、TL1——設置計時器1 的重載值并決定波特率大小,PCON——波特率倍增模式,SCON——設置工作方式,ES——開啟串口接收中斷等等。串口發送程序示例:

串口通信設置,若選擇常用的串口波特率9600 bps,寄存器SMOD=0 時,需將定時器重載設置為256-11059200/12/32/9600=256-3=0xfd,這也是選11.0592 Mhz 晶振的原因。若選擇12M 晶振,在設置定時器重載值時256-12000000/12/32/9600=252.7488……,無法取得整數,取整的截斷誤差將產生累積誤差,使得時間總誤差可能超過1%。

在數字轉化為字符部分使用一個循環,利用整除和余數來將要顯示的數值轉化為單個字符,

數碼管的顯示用段碼和位碼設置,先定義段碼和位碼的數組,用查表法計算出數值,控制各二極管的亮滅,來達到顯示數字的功能,例如0x06=0b00000110,即顯示字符“1”。

可見單片機的編程需熟悉進制、整除、求余、邏輯與、邏輯或、邏輯非、位與、位或、異或、按位取反等等運算。

將c 語言源程序編譯成hex 文件,用stcisp 下載到單片機上,安裝好霍爾模塊,將磁鐵靠近霍爾模塊,每當霍爾模塊切割磁場時,模塊上指示燈亮起,數碼管顯示時間,發送數據。

2.2 電腦端程序

在電腦開發圖形界面,用Visual Studio 集成平臺,開發串口通訊圖形界面,使用HC05 藍牙主機模塊,通過CH340 轉接口(USB 轉TTL)連接電腦USB,構成無線串口通信,接收數據,保存歷史數據方便統計分析(如圖10 所示)。

圖10 電腦調試界面

2.3 手機界面

手機App 用Android Studio 平臺采用java 語言設計圖形界面,編寫運算邏輯,下載安裝程序后,手機開啟藍牙,連接單片機的HC06 藍牙從機模塊,無線接收數據,顯示和計算結果。這樣將測量和處理分開,復雜的數據運算使用手機完成,功能可以設計的更豐富,歷史數據、可視化、誤差分析等等都可以寫進程序,具備一定編程基礎就可自主更新軟件功能(如圖11 所示)。

圖11 手機界面

3 結論

3.1 誤差分析

單擺測重力加速度的測量誤差主要來源之一是時間。單片機的晶振頻率和精度決定了時鐘周期的精度。隨著溫度變化和時間,晶振的頻率會產生誤差,一般在ppm 級別,即使達到200 ppm,這個誤差對單擺實驗忽略不計。單片機的時鐘周期非常短,執行指令、讀寫寄存器或者其他動作耗時產生的計時誤差忽略不計。

經測試,一組測量時間的35 個數據,t=[1.415,1.415,1.416,1.416,1.415,1.415,1.416,1.415,1.416,1.415,1.415,1.415,1.416,1.415,1.415,1.415,1.415,1.415,1.415,1.415,1.414,1.416,1.414,1.415,1.414,1.416,1.415,1.414,1.415,1.414,1.415,1.414,1.415,1.414,1.414],樣本均值=1.4 15s,樣本均值的標準誤差SET=0.001s,相對不確定度

這個結論證明時間測量的標準差很小,數據在平均值附近高度集中。另一組數據采用手機App 直接計算得重力加速度為g=9.859m/s2,當地標準值為g0=9.798m/s2,絕對誤差Δg=0.061m/s2,相對誤差

說明在時間測量誤差小時,測量結果良好。因擺長為轉軸到擺球質心的距離,測量擺長也會造成誤差,為了減小擺長測量的誤差,還可以改進實驗方法。等間距取不同擺長l1、l2...ln進行n次測量,得周期T1、T2...Tn,利用對T2和l利用線性回歸,算出系數K即可求出g。

這些復雜的數據處理單片機難以完成,需要在電腦或者手機開發程序進行運算。

3.2 裝置特點

該裝置使用STC89C52 單片機系統,運用霍爾模塊A3144 輸出信號,用藍牙串口傳輸數據,將數據無線傳輸到手機和電腦并進行處理,體積小,結構簡單,成本低,使用方便。用5V 電源供電,耗電很低,發熱少,可長期穩定工作。

使用霍爾元件和單片機進行計時,動作可靠,響應時間短,抗干擾能力強,測量精度高,相對誤差小于1%。

4 結語

隨著物聯網、大數據、云計算技術的發展,以及實驗教學的數字化轉型,更多地數據需要在云服務器存儲、運算和展示,使用單機版已經不能滿足要求,更合理的方式是建立云服務器,實驗數據直接發送到數據庫存儲,手機、電腦從云服務器讀取不同學生的實驗數據,進行運算、可視化,利用大數據分析和改進實驗教學。一種設想是建立服務器,利用物聯網協議傳送數據,Mysql 數據庫存儲數據,Python 腳本做后臺數據處理,利用Python 強大的數據功能,充分發掘數據價值。

猜你喜歡
霍爾中斷藍牙
藍牙音箱的直線之美
簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍牙耳機放大器
跟蹤導練(二)(5)
千里移防,衛勤保障不中斷
這個大童話講貓(五)名偵探西尼·霍爾
緊急:藍牙指尖陀螺自燃!安全隱患頻出
離子推力器和霍爾推力器的異同
道格拉斯·斯高特·霍爾(1940-2013)
AT89C51與中斷有關的寄存器功能表解
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合