邵海龍
(武夷學(xué)院 機(jī)電工程學(xué)院,福建 武夷山 354300)
伴隨現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,電子科技如雨后春筍般快速成長起來。在電子行業(yè)中,數(shù)字化測量儀器相比模擬儀器因為使用方便、測量快速和測量精度高等優(yōu)點(diǎn),所以被廣泛應(yīng)用于現(xiàn)代電子行業(yè)中。而其中的一款常用模擬儀表,模擬式電阻測量儀已經(jīng)越來越跟不上這個飛速的電子時代[1]。伴隨著數(shù)字式測量儀器越來越受歡迎,為了緊跟科技時代的步伐,智能電阻測試儀應(yīng)用而生。
常規(guī)電阻測量儀的測量范圍及精度有限,無法對高技術(shù)要求的電阻進(jìn)行測量,而目前工程技術(shù)人員廣泛使用的電阻測試儀主要為萬用表,但是使用萬用表存在幾個缺陷:第一,大多數(shù)萬用表的量程有檔位選擇,測量不同的電阻時需要轉(zhuǎn)換不同的檔位進(jìn)行測量,因此就需要人為進(jìn)行換檔;第二,萬用表不能自動進(jìn)行篩選電阻,對于很多需要進(jìn)行篩選電阻的應(yīng)用場合,就需要人為的參與選擇[2]。所以在技術(shù)工程人員在使用電阻、區(qū)別電阻時浪費(fèi)了大量的時間。基于以上作者設(shè)計了“基于帶隙基準(zhǔn)電壓的智能電阻自動測試儀”。
該系統(tǒng)主要設(shè)計思路為:通過恒壓芯片,將電壓穩(wěn)定在一個值,通過MCU先采集當(dāng)前穩(wěn)壓芯片上電壓保留當(dāng)做基準(zhǔn)電壓,此時將穩(wěn)定的電壓值通入測量電阻網(wǎng)絡(luò),通過系統(tǒng)后臺分析選擇合適的檔位測量待測電阻后,得出一個新的電壓值,MCU采集此時產(chǎn)生的新電壓。再通過MCU和基準(zhǔn)電壓進(jìn)行公式換算,計算出當(dāng)前的電阻值,并通過顯示器將參數(shù)顯示出來。系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖Figure 1 Overall structure block diagram of the system
1.1.1 主控芯片
采集5 V電壓下的分壓電阻,很多高性能的單片機(jī)如果直接采集將被燒毀,如果堅持采用將需要增加保護(hù)電路。通過實際電路驗證發(fā)現(xiàn)保護(hù)電路將增加系統(tǒng)整體電路的復(fù)雜性,同時還會影響系統(tǒng)的采集精度。采用STC15F2K60S2單片機(jī)系統(tǒng)設(shè)計簡單,價格便宜。本身5 V供電內(nèi)部10位ADC,且ADC的第9通道用來測試內(nèi)部的帶隙電壓,由于內(nèi)部帶隙電壓穩(wěn)定,不會隨芯片的工作電壓的改變而變化,所以可以通過測量帶隙電壓,然后通過ADC的值便可反推出VCC的電壓,即可以精準(zhǔn)的計算出采集電壓。該設(shè)計方案通過實際測試完全滿足設(shè)計要求,并且保護(hù)電路簡單方便。該芯片兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),芯片內(nèi)集成8通道10位ADC和60 KBFlash程序存儲器,1 KB數(shù)據(jù)Flash,2 048 B的SRAM。擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得STC15F2K60S2為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。
1.1.2 電阻采樣方案
1.1.3 顯示屏的選擇
電阻測試儀顯示方案選用OLED12864完成,該屏幕體積小巧、管腳數(shù)少、字體清晰可視度高。由于采用IIC接口數(shù)據(jù)傳輸較慢,如采用刷新顯存的方式,將占用CPU大量時間且屏幕抖動不流暢。對于數(shù)據(jù)傳輸慢的問題,軟件程序?qū)@示部分分為靜態(tài)顯示及動態(tài)顯示,只對變量進(jìn)行動態(tài)時時刷新顯示,其余信息將靜態(tài)顯示只刷新一次。從而有效解決了速度慢的問題。
1.1.4 電源方案的選擇
對電源電壓精度要求較高,且分壓電路在測量電阻時需要足夠電流,因此本試驗采用MP1584EN DCDC壓降模塊,輸出電壓5 V精度達(dá)到1%,最大工作電流3 A,輸出紋波小于30 mV。有效的保證了電源的穩(wěn)定和充沛。
1.1.5 量程自動切換電路
量程自動切換電路大部分設(shè)計均采用多量程開關(guān)MPC509完成。該設(shè)計雖然電路簡單,但是因為器件本身具有內(nèi)阻,將對測量精確度產(chǎn)生很大影響。小型貼片繼電器器件內(nèi)阻極小,對測量影響基本可以忽略不計。
1.2.1 電阻測量原理
電阻測量電路是根據(jù)分壓原理,電源VCC的電壓分別加在被測電阻和標(biāo)準(zhǔn)電阻上,形成分壓,為了系統(tǒng)測得Uo能夠準(zhǔn)確,電源VCC采用穩(wěn)定的電源模塊。繼電器用來切換到不同阻值的標(biāo)準(zhǔn)電阻,因為繼電器內(nèi)阻極小,切換檔位時不會對Uo產(chǎn)生影響,能夠保證Uo的準(zhǔn)確度。當(dāng)繼電器切換到不同的量程時,標(biāo)準(zhǔn)電阻分得的電壓Uo就會不同,如圖2所示。
圖2 電阻測量電路圖Figure 2 Resistance measurement circuit diagram
其中固定電阻網(wǎng)絡(luò)由四只固定電阻構(gòu)成,因為單片機(jī)采集電壓不能超過5 V,所以其阻值根據(jù)分壓公式計算如下:
100Ω檔位時,電阻取值100Ω,固定電阻取值68Ω,則
1 kΩ檔位時,電阻取值1 kΩ,固定電阻取值680Ω,則
10 kΩ檔位時,電阻取值10 kΩ,固定電阻取值6.8 kΩ,則
通過計算,100Ω、1 kΩ、10 kΩ檔位的電壓Uo=2.976 V,電壓符合單片機(jī)采集要求。
2 MΩ檔位時,電阻取值2 MΩ,固定電阻取值470 kΩ,則
在電阻取值2 MΩ,固定電阻取值470 kΩ時,經(jīng)計算電壓依舊符合單片機(jī)采集要求。
在設(shè)計電路圖時考慮到100Ω量程下電阻值太小,電流增大,普通貼片電阻功率不夠,可能引起發(fā)熱導(dǎo)致燒毀,因此預(yù)設(shè)兩種不同封裝R27與R11兩電阻并聯(lián),R27是功率為1 W的電阻,R11是普通的0805貼片電阻。實際測試完成后只焊接1 W的R27電阻,R11電阻不進(jìn)行焊接。設(shè)計電路板初期時預(yù)留了五個量程考慮2 MΩ量程測量0.001~2 M范圍太大,多預(yù)留一個量程。后期成品使用四個量程已完全滿足設(shè)計要求。
A/D采樣電路是將測量電路測得Uo的值進(jìn)行模數(shù)轉(zhuǎn)換后送給單片機(jī)進(jìn)行處理,在單片機(jī)內(nèi)部對得到的數(shù)據(jù)進(jìn)行計算,根據(jù)上面串聯(lián)電阻分壓公式可推導(dǎo)出如下公式:
程序上R取值6 800,運(yùn)算結(jié)果取整數(shù),從而避免浮點(diǎn)型數(shù)據(jù)運(yùn)算占用大量運(yùn)行時間。
通過公式算出被測電阻的阻值后送給顯示,在OLED上顯示被測電阻當(dāng)前阻值。當(dāng)檢測不同檔位阻值的電阻時,由單片機(jī)發(fā)出控制信號控制繼電器切換到不同的檔位。
1.2.2 電源設(shè)計原理
電源利用MP1584EN(如圖3所示)此芯片輸入電壓范圍廣可達(dá)4.5 V到28 V,發(fā)熱量低,干擾小。且輸出最大電流達(dá)3 A,電壓輸出非常穩(wěn)定,輸出紋波小于30 mV,極小的干擾完全滿足設(shè)計需求,且適應(yīng)電壓能力強(qiáng)。
設(shè)計電路在輸入及輸出增加470μF的電解電容以及0.1μF瓷介電容,保證輸出電壓的穩(wěn)定。
考慮電阻采樣部分需要穩(wěn)定電壓,繼電器、蜂鳴器、LED燈等一些外圍器件的使用可能引起電壓瞬間的不穩(wěn)定。因此電源分為兩組,一組電源獨(dú)立為單片機(jī)以及電阻采用部分提供電源,另一組則給繼電器、蜂鳴器、LED燈供電。其電路圖如圖3所示。
圖3 系統(tǒng)電源電路Figure 3 System power circuit
1.2.3 主控制器設(shè)計原理
根據(jù)設(shè)計思路,需要通過單片機(jī)采取第一個電壓——基準(zhǔn)電壓,基準(zhǔn)電壓采用STC15系列的單片機(jī)提供的內(nèi)部的基準(zhǔn)BandGap(內(nèi)部帶隙電壓基準(zhǔn))。由于每片芯片的制造差異性,每個基準(zhǔn)的比例不是相同的,每個單片機(jī)的基準(zhǔn)BandGap都不同。因此需要在5 V標(biāo)準(zhǔn)電源下測量BandGap的ADC讀數(shù),也就是采集第一個由穩(wěn)壓芯片出來的電壓,然后存儲在eeprom內(nèi)。然而標(biāo)定值會儲存在兩個地方,一個是RAM(內(nèi)存)末尾,一個是ROM(程序區(qū))末尾。此時要注意若程序?qū)憹M時則存在ROM(程序區(qū))的數(shù)據(jù)會被覆蓋。
在硬件設(shè)計上單片機(jī)采用了STC15F2K60S2-28I-LQFP44G封裝的貼片單片機(jī),體型小巧(12 mm×12 mm×0.05 mm)。STC15F2K60S2單片機(jī)不需要外部晶振和外部復(fù)位電路便可以正常工作,從設(shè)計上來說,對于硬件設(shè)計及PCB設(shè)計上來說減小了一定工作量,在本設(shè)計中,有添加一個24 M的外部晶振,并且增加了一個復(fù)位按鍵,均為體積小巧的貼片式元件。
在程序處理上,通過ADC通道0,單片上的P1.0口,采集通過分壓電路后輸出的電壓數(shù)據(jù),采集5次后通過冒泡處理后得出該電壓值,并利用公式換算出電壓值。
在設(shè)計PCB中,對該部分線路做出精簡的設(shè)計方法,設(shè)計通往P1.0口的電路線遠(yuǎn)離電源及地,不讓其受到干擾,保證采集到的AD值的準(zhǔn)確性。
設(shè)計程序采用分時系統(tǒng),CPU的時間劃分成若干個片段,稱為時間片。操作系統(tǒng)以時間片為單位。將系統(tǒng)處理時間按照一定的時間間隔(也就是所說的時間片)輪流地切換給各個任務(wù)程序使用,其輪流切換示意圖如圖4所示。
時間片:是指把單片機(jī)進(jìn)行時間上的分割,每個時間段稱為一個時間片,每個任務(wù)依次輪流使用時間片。
分時技巧:把單片機(jī)運(yùn)行處理的時間分為很短的時間片,本次設(shè)計框架分為初始化時間片1、25、50、100、500、1000 ms。六個時間片,每個時間片輪流在對應(yīng)的時間進(jìn)入執(zhí)行相應(yīng)的任務(wù)函數(shù)。
初始化時間片執(zhí)行,OLED靜態(tài)界面函數(shù)(不實時刷新,必要的切屏只刷新一次)。
5 ms時間片執(zhí)行任務(wù):矩陣按鍵掃描函數(shù)。
25 ms時間片執(zhí)行任務(wù):AD采樣函數(shù)(采樣5次進(jìn)行冒泡處理后采樣BandGap(內(nèi)部帶隙電壓基準(zhǔn))計算電源電壓以及電阻阻值)。
50 ms時間片執(zhí)行任務(wù):繼電器掃描函數(shù),蜂鳴器掃描函數(shù)。
100 ms時間片執(zhí)行任務(wù):OELD動態(tài)顯示函數(shù)(變量參數(shù)每100 ms刷新)。
500 ms時間片執(zhí)行任務(wù):電阻篩選任務(wù)函數(shù)。
1 s時間片未執(zhí)行任務(wù)。
圖4 系統(tǒng)操作時間輪流操作示意圖Figure 4 System operation time rotation operation diagram
2.1.1 系統(tǒng)主程序流程
系統(tǒng)開機(jī),進(jìn)入待機(jī)狀態(tài),此時,系統(tǒng)默認(rèn)電阻測試功能,通過按鍵選擇進(jìn)入對應(yīng)的功能,如若5 min無任何操作,系統(tǒng)將進(jìn)入休眠來減少功耗。系統(tǒng)主流程圖如圖5所示。
圖5 系統(tǒng)主流程圖Figure 5 System main flow diagram
圖6 電阻測量流程圖Figure 6 Flowchart of resistance measurement
2.2.2 電阻測量功能流程
系統(tǒng)開機(jī),默認(rèn)進(jìn)入電阻測量功能,在待機(jī)狀態(tài)下,每25 ms檢測一次AD通道是否有參數(shù),如果沒有參數(shù),系統(tǒng)繼續(xù)待機(jī),循環(huán)直到AD通道產(chǎn)生參數(shù)后,每25 ms采集并保存一次AD值,然后通過冒泡排序排列出最佳AD值,并通過分壓算法計算出電阻值,并讓OLED屏幕顯示當(dāng)前電阻值,在顯示前,會對值進(jìn)行校準(zhǔn),讓電阻值更加準(zhǔn)確。其軟件流程如圖6所示。
2.2.3 電阻篩選功能流程
待機(jī)狀態(tài)下,每25 ms檢測一次AD通道是否有參數(shù),如果沒有參數(shù),系統(tǒng)繼續(xù)待機(jī),循環(huán)直到AD通道產(chǎn)生參數(shù)后,每25 ms采集并保存一次AD值,然后通過冒泡排序排列出最佳AD值,并通過分壓算法計算出電阻值,用測量出的電阻值和輸入的電阻值進(jìn)行比較,求出誤差,并顯示當(dāng)前電阻值。其流程圖如圖7所示。
圖7 電阻篩選功能流程圖Figure 7 Resistance screening function flow chart
將自動電阻測試儀分別測試100、1.0×103、1.0×104、1.0×106Ω四檔量程范圍內(nèi)測量不同阻值的電阻Rx,并記錄結(jié)果。然后使用四位半數(shù)字萬用表分別測量被測電阻的阻值Rx,利用分壓公式:
求出準(zhǔn)確度,并計算電壓差以便后續(xù)校準(zhǔn)工作。
在程序上采用了補(bǔ)差校準(zhǔn),將電阻值得誤差減小[5];硬件上優(yōu)化了印制板的焊接,以及電源部分銅面的擴(kuò)大優(yōu)化后,全部數(shù)據(jù)都在以內(nèi),甚至更加的精準(zhǔn),部分?jǐn)?shù)據(jù)幾乎沒有誤差。校準(zhǔn)后數(shù)據(jù)如表1所示。
表1 各歐姆檔校準(zhǔn)后測量數(shù)據(jù)
該智能測試儀主要完成:(1)測量量程為100、1.0×103、1.0×104、1.0×106Ω五檔,測量準(zhǔn)確度為±(1%讀數(shù)+2字);(2)3位數(shù)字顯示(最大顯示數(shù)必須為999),能自動顯示小數(shù)點(diǎn)和單位,測量速率大于5次/秒;(3)100、1.0×103、1.0×104Ω三檔量程具有自動量程轉(zhuǎn)換功能;(4)具有自動電阻篩選功能,即在進(jìn)行電阻篩選測量時,用戶通過鍵盤輸入要求的電阻值和篩選的誤差值;測量時,儀器能在顯示被測電阻阻值的同時,給出該電阻是否符合篩選要求的指示。
經(jīng)測定與實際使用,基于帶隙基準(zhǔn)電壓的智能電阻自動測試儀完全能夠滿足日常常規(guī)電阻的自動量程切換測量,為工程設(shè)計人員的使用帶來便利,該電阻測試儀測量速度快、精度高、使用方便,具有很高的實用價值。