,, ,
(1.西北工業大學 航海學院,西安 710072;2.中國人民解放軍63612部隊)
電阻測量在電子產品質量檢測、電子設備維修以及新產品的開發等領域具有重要意義[1]。而對于常見電阻的測量電路,小電阻的測量[2-4]和利用微電流[5-6]測量高阻值的電阻都已經有部分研究成果,但大部分都采用分立測量的方式[2-9]。測量方法比較局限,電路干擾因素過多,很難通過電路自身排除導致測量精度不高的因素,難以達到諸多領域的要求。針對以上問題,系統設計時結合實際需求,基于一階RC電路電容充放電理論,通過STM8單片機定時器和I/O中斷系統,記錄RC電路電容充放電時間,根據充放電時間計算得出電阻值,然后對測量結果進行平滑濾波處理提高測量精度。平滑濾波在數字信號處理領域中占有重要地位,系統采用的主要算法是改進的平滑濾波。實驗結果表明,經過改進的平滑濾波算法處理,測量結果精度明顯提高,并且穩定性良好。利用串口將測量結果實時傳遞給上位機,便于觀測和調試,在測量類似于溫度等實時性要求比較高的領域中具有重要意義。
如圖1所示,為提高測量系統的測量效率,特設置了兩個相同的測量模塊,可同時進行兩路電阻的測量。主控電路包含單片機最小系統STM8S103F3P6和LED燈D2,D2用來指示系統工作狀態;端口PC3、PA3設置為輸出模式,輸出高電平時為RC電路充電,輸出低電平時RC電路放電;引腳PC6、PC7設置I/O上升沿中斷,分別采集兩路RC電路中電容兩端的電壓,當電容電壓達到單片機I/O能識別的高電平電壓時,PC6~PC7的I/O端口產生中斷,此時從定時器讀出充電時間;PA1、PA2、PD2、PD3端口分別控制兩路RC電路測電阻的檔位,當選擇默認檔位時,均設置為輸出高阻態,使用該檔位時,對應端口設置輸出低。各引腳設置狀態如表1所列。

圖1 主控電路

I/O端口名稱設置模式中斷觸發方式PC6、PC7輸入模式、允許中斷上升沿觸發PA3、PC3快速強推輸出低無PA1、PA2PD2、PD3快速開漏輸出高阻態(當選擇相應的檔位時設置為快速強推輸出低)無
圖2為系統電壓模塊,系統由USB提供5 V電壓,但單片機工作電壓為3.3 V。采用AMS1117-3.3電壓轉換芯片為單片機提供3.3 V電壓。

圖2 電壓轉換模塊
RC電路時間常數為:
τ=RC
(1)
充電時間函數為:
(2)
由式(2)可知,當電容兩端電壓VC和電源電壓Vs一定時,電容充電時間只與時間常數τ有關。在本系統中,電容兩端電壓Vc是單片機I/O口能觸發中斷的電壓值,Vc和Vs均由單片機I/O接口直接供電。由圖1和圖3可知,本系統RC電路源電壓Vs由單片機I/O接口PC3/PA3供電,如圖3所示,當I/O接口拉高時,電容開始充電,此時打開定時器開始計時,電容兩端電壓達到I/O能識別的高電平時發生中斷,獲取充電時間值;當I/O接口拉低時,電容開始放電,放電完成后再進行下一次充電。由式(1)可知,電阻阻值與時間常數成正比,阻值越大時間常數越大,充電時間越長,電容越小,充電時間越短,為確保寬量程條件下的響應速度,根據電容大小設置了不同的測量檔位,既擴大了測量量程,又保證了測量速度。如圖3所示,J2、J3外接測量電阻 C1、C11和C2、C22分別代表兩路測量系統中的兩個檔位,相應I/O端口輸出低時,代表接通不同的測量檔位。因兩路測量系統完全一樣,檔位說明以第一路測量系統為例,如表2所列。

圖3 RC電路測量模塊

電容選擇測量范圍/ΩC5:1×107pF20~2kC7:1×105pF2k~200kC8:1×103pF200k~20M
平滑濾波是根據某一時間區間的測量值來估計狀態值。從原理上說,平滑濾波的估計精度是比較高的,因為它幾乎利用了所有的量測信息[11]。常見的平滑濾波方法有固定區間平滑濾波和固定點平滑濾波[12]。固定區間平滑濾波依據一定時間內的觀測值來預測當前系統值,具有信息利用率高、估計結果準確的優點,但計算量大、運算時間較長。固定點平滑濾波算法是依據當前點預測值對上一個固定點預測值進行修正,從而減少了數據處理的運算量。
本系統算法結合固定區間平滑濾波和固定點平滑濾波,以當前時刻以前幾個值的中心值作為當前值可靠性的判斷依據,以當前值的可靠性來決定數據是否能作為判斷下一個數據穩定性的依據,以此不斷對依據值進行修正,該算法既保留了固定區間平滑濾波估計值的準確性,又有固定點平滑濾波的計算速度。經過濾波處理的最終數據通過串口傳送給上位機。

圖4 一級處理函數流程
在算法實現過程中,運用冒泡次數來判斷數據的趨勢,進而對數據處理精度作出調整,減少了測量過程中的無效等待時間,在保證測量精度的基礎上提高了實時性。在算法設計過程中充分考慮到其擴展性能及優化性能,第二級濾波函數在第一級濾波處理得到的數據基礎上,再進行一次平滑濾波,測量結果精度能達到更高,但不足之處是濾波處理調用次數越高,計算時間就越長。因此在算法設計時要考慮實際應用場景,合理調用濾波函數。二級濾波原理與一級濾波原理相同,在此不再贅述。具體算法流程圖見圖4~圖6。

圖5 一級預測值獲取流程
實驗過程分析以2 kΩ電阻為準,其他見測量結果。
圖7~圖9分別為采用改進平滑濾波算法后測試、普通平滑濾波算法測試和不加平滑濾波算法上位機顯示結果。對比可知,改進后的平滑濾波算法明顯提高了數據的穩定度和精度。
由表3可知,當使用平滑濾波算法后測量精度最高能達到0.05%。

圖6 一級濾波處理函數

圖7 改進平滑濾波后測試結果

圖8 普通平滑濾波結果

圖9 不加平滑濾波算法結果

待測電阻/Ω平滑濾波測量結果/Ω平滑濾波測量精度198.2200.21.00%2.01k2.0134k0.17%19.8k19.899k0.50%15.8M15.652M0.94%199k198.99k0.05%
