, ,
(1.成都理工大學 工程技術學院,樂山 614007;2.核工業西南物理研究院,成都 610225)
線式電勢差計簡稱電勢差計,是一種應用十分廣泛的電磁學基本測量儀器,可用來測量電壓、電動勢、電流、電阻等電學量,也可用來測量多種非電學量,例如溫度、位移等。電勢差計是將被測量電壓與標準電壓進行比較而實現電壓測量的,因此電勢差計具有準確度級別高,測量結果穩定可靠等優點。其次,電勢差計實驗是理工類學生在大學期間第一次接觸物理實驗,學生在實驗過程中,需要目測進行讀數,加上初次實驗和經驗的不足,在讀數的過程中會出現隨機誤差和“過失誤差”,導致整個數據的誤差增大,從而影響實驗數據結果,為減小誤差,提高實驗數據的可靠性,研制了長度顯示器,代替目測讀取數據的方式。
各種版本的教材都假設干電池的電動勢EX和內阻r在實驗過程中是恒定的,提出了用線式電勢差計測量電源電動勢和內阻的實驗方法[1-3];本長度顯示器的研制以實驗電路圖1為基礎展開,其電動勢和內阻的計算如式(1)、(2)。
(1)
(2)
如圖1所示。
圖1中:EX為待測電源的電動勢;R為待測電源的內阻;LAD、LAD′、LAD″為三次補償的長度,單位為厘米;ES為標準電池的電動勢;R′為20 Ω,它為電阻箱ZX21,精度為0.01 Ω;要想得到待測電源的電動勢EX和內阻R必須得到LAD、LAD′、LAD″的長度值,而長度值的測量精度直接影響著EX電動勢和R內阻的實驗結果,AB為米尺。
長度顯示器電路按照功能可以分為模數轉換模塊、單片機控制模塊和LED數碼管顯示及驅動模塊3部分組成,顯示器電路總體結構如圖2所示。

圖1 裝置電路原理圖

圖2 顯示器原理框圖
模數轉換模塊包括線式電勢差計補償時“電位”信號的提取電路和A/D轉換電路,通過A/D轉換器后所得到的8位二進制數據;單片機控制模塊是系統的核心部分,其作用是為A/D轉換器提供轉換時鐘和控制信號,同時接收和輸出8位二進制數據,通過C語言算法將電位信號轉換為長度數據;LED數碼管顯示模塊包括4位LED數碼管位碼驅動電路和段碼顯示電路,數碼管位碼驅動電路的作用是增大LED數碼管的驅動電流[4,5]。
實驗裝置工作時,單片機控制系統自動上電復位(+5 V),系統初始化,單片機(P3.0端口)為A/D轉換器發出啟動信號,并通過P3.3端口為A/D轉換器提供時鐘信號,A/D轉換器的ADD A、ADD B、ADD C設定為000,模擬信號IN0端輸入,A/D轉換器的EOC端為1時轉換結束,A/D轉換器的OE端為1時輸出8位二進制數據;單片機的P0端口接收8位二進制數據,經單片機內部程序運算得到長度段碼數據,并從P1端口輸出到4位LED數碼管;單片機的P2.0、P2.1、P2.2、P2.3產生位碼信號,經三極管電流放大驅動4位LED數碼管顯示長度數據,其顯示精度為0.02 cm。
線式電勢差計是以“電位”的補償為基礎的,線式電勢差計的直流工作電源為+5 V,線式電勢差計采樣值取至線式電勢差計的補償點,其值小于+5 V,采集的是補償電壓信號;ADC0808芯片是典型的8通道模擬輸入8位并行數字輸出的逐次逼近式A/D轉換器,該轉換器采用CMOS工藝,其轉換精度為0.02 V,8位二進制數據采用實時跟蹤轉換輸出;長度智能顯示器的直流電源與線式電勢差計為同一直流電源,均為+5 V,由直流穩壓電源提供,電路如圖3所示。

圖3 信號采集與模數轉換電路
STC89C52具有8 K在系統可編程Flash存儲器,用戶的程序可以直接寫入單片機內部的程序存儲器;首先,由STC89C52單片機(P3.3)的中斷定時器T1產生10 kHz的時鐘信號,作為數模轉換器ADC0808的時鐘信號CLK和地址鎖存允許信號ALE,P3.0端口作為轉換啟動信號(ST=0)、P3.1端口作為輸出允許信號(OE=1)、P3.2端口作為轉換結束狀態信號(EOC=1),均有單片機產生和控制;其次,P0端口作為A/D轉換器8位二進制數據輸入,P1端口作為4位LED數碼管段碼數據輸出,為提高帶負載能力,接入上拉電阻8個1 kΩ。 如圖4所示[6-8]。
單片機STC89C52的P1端口作為8位二進制長度數據的輸出端,經上拉電阻和數據總線進入4位LED數碼管的段碼引腳(共陰極),顯示方式采用動態顯示,4位LED數碼管為實時跟蹤顯示,其中整數位2位,小數位2位,顯示精度為0.02 cm。如圖5所示。
為了提高4位LED數碼管顯示器的亮度和工作電流,利用三極管S8050的電流放大作用,在LED數碼管的共陰極端增加三極管放大電路,以三極管集電極工作方式,增大LED數碼管的驅動電流;其次,為保證LED數碼管位碼動態顯示的邏輯關系,增加CD4069反相器,以控制三極管S8050動作,電阻R21、R22、R23、R24為限流電阻。如圖6所示[9,10]。
本系統的軟件程序設計采用C語言編程,由于C語言編寫的應用程序具有結構清晰、模塊化程度高、可讀性強和容易移植等優點;主程序流程如圖7所示。
首先,調用中斷定時子程序,為A/D轉換器提供脈沖時鐘,其頻率為10 kHz,中斷定時子程序由確定中斷定時器T1的工作方式為1方式,定時器定時初值為0.1 ms,開啟中斷,啟動定時器T1;其次,為A/D轉換器設置初始化工作條件,啟動A/D轉換(ST=0),輸出允許信號為高電阻(OE=0),模擬信號輸入通道為IN0;再次,A/D轉換是否結束,若A/D轉換結束8位二進制數據進入單片機P0端口,經C程序運算,得到長度數據,調用顯示子程序,從P1端口輸出長度數據,LED數碼管顯示,顯示子程序由4位數組讀取共陰段碼表格,確定1-4位顯示的位碼電位,調用延時子程序。如圖8所示。

圖4 單片機控制電路

圖5 長度數據顯示電路

圖6 數碼管驅動電路

圖7 主程序流程圖
Keil軟件調試仿真結果,零警告,零錯誤,C程序運行合理,程序編寫成功。
在完成系統的硬件、軟件制作,利用自制的長度顯示器與目測方式進行測量數據比較,分別測量補償的長度數據,重復測量6次,數據見表1、表2如下。從測量數據可以看出,目測數據有變化,長度顯示器數據無變化,重復性好。長度顯示器見圖9所示。

圖8 keil仿真結果

參數σLAD(cm)σLAD′(cm)σLAD″(cm)不確定度0.020.020.02

表2 長度顯示器數據

圖9 長度顯示器
由不確定度計算為式(3)。
L的平均值為
(3)
L多次重復測量的平均標準偏差為式(4)。
(4)
L的儀器近似標準偏差為式(5)。
(5)
L的合成不確定度為式(6)、式(7)。
(6)

(7)
利用式(3)、(4)、(5)、(6)分別計算出目測、長度顯示器的長度數據不確定度,具體長度數據不確定度見表3、表4所示。

表3 目測長度數據不確定度

表4 長度顯示器長度數據不確定度
如表5、表6所示。電動勢的合成不確定度:
內阻的合成不確定度為式(8)。
(8)
利用式(1)、(2)、(7)、(8)分別計算出目測、長度顯示器的電動勢和內阻不確定度,具體電動勢和內阻不確定度見表5、表6。

表5 目測數據的電動勢和內阻合成不確定度

表6 長度顯示器測量的電動勢和內阻合成不確定度
從目測和長度顯示器數據所計算的電動勢、內阻及對應的合成不確定度可以看出:①目測數據的不確定度大于長度顯示器數據的不確定度;②長度顯示器的數據重復性好、數據穩定性好、合成不確定度更小,排除了人為因素,能滿足實驗準確度級別要求。
本文介紹的一種基于電勢差計的長度智能顯示器研制,利用單片機技術和C語言程序,實現長度數據自動顯示;通過數據的比較和不確定度分析,長度顯示器數據不確定度更小,長度顯示器的硬件和軟件設計是合理的,操作簡單,長度顯示器能實時跟蹤顯示測量數據,其測量數據符合實驗要求,滿足了實驗數據的準確度級別。此研制項目已申請國家專利!