摘要:介紹一種基于STM32F103單片機的高精度自動電阻測試儀的設(shè)計與制作。該電阻測試儀使用分壓法來實現(xiàn)對電阻的測量,采用了高精度的16位∑-△ADC AD7705完成電阻電壓的準(zhǔn)確測量。整個系統(tǒng)易于控制,人機交互界面友好。經(jīng)測試,系統(tǒng)功能齊全,精確度達(dá)到0.6%,轉(zhuǎn)換速率達(dá)到10/秒。
關(guān)鍵詞:單片機STM32;AD7705;高精度
傳統(tǒng)的電阻測試儀存在需要調(diào)檔,精度不夠的缺點。本文介紹了使用分壓法,采用了高精度的16位∑-△ADC AD7705完成電阻電壓的準(zhǔn)確測量的自動電阻測試儀的構(gòu)成。
1 總體設(shè)計
1.1 基于分壓的電阻測量法
該系統(tǒng)使用如圖1所示的分壓法測電阻,采用精密電阻做為R0,RX為測量電阻,通過測量U1,U2,由歐姆定理便可以測出。此方案電路結(jié)構(gòu)簡單,調(diào)試方便。只要把精準(zhǔn)電阻R0標(biāo)定好,使用高精度的AD進行采樣,就可以測出RX。
1.2 系統(tǒng)組成
該系統(tǒng)由STM32F103單片機做主控,系統(tǒng)通過單片機控制繼電器來實現(xiàn)電阻檔的自動轉(zhuǎn)換,采用了高精度的16位∑-△ADC AD7705完成電阻電壓的準(zhǔn)確測量,TFT彩色液晶可以實時顯示測量電阻阻值及其誤差,還可以顯示電位器阻值曲線。系統(tǒng)總體方案框圖如圖2所示。
2 系統(tǒng)各主要部分的理論分析和實際設(shè)計
2.1 STM32F32單片機最小系統(tǒng)模塊設(shè)計
本系統(tǒng)中主控芯片為STM32F103,此款單片機時鐘頻率達(dá)到72 MHz,在72 MHz時消耗36 mA(所有外設(shè)處于工作狀),待機時下降到2μA,價格便宜、高性能、低功耗。本系統(tǒng)全部的控制、測量、顯示等功能均由其來完成。
2.2 電壓采集模塊
AD7705用∑-△轉(zhuǎn)換技術(shù)實現(xiàn)了16位無丟失代碼性能,具有0.003%的非線性度,包括由緩沖器和增益可編程放大器(PGA)組成的前端模擬調(diào)節(jié)電路,可編程數(shù)字濾波器等部件。非常符合本設(shè)計要求。
設(shè)計電路時,為減少數(shù)字電路對模擬電路的干擾,模擬地與數(shù)字地分開,電路設(shè)計圖如圖3所示。
2.3 基準(zhǔn)電源模塊
AD7705需要外部供給一個基準(zhǔn)電壓源,結(jié)合系統(tǒng)需要進行溫度補償,選擇用AD780。AD780是一款超高精度帶隙基準(zhǔn)電壓源,可以利用4.0 V~36 V的輸入提供2.5 V或3.0 V輸出。AD780可以用來提供最高10 mA的源電流或吸電流,并且可以在串聯(lián)或分流模式下工作,無需外部器件便可提供正或負(fù)輸出電壓,因此適合幾乎所有的高性能基準(zhǔn)電壓源應(yīng)用。能提供穩(wěn)定的2.5V或3.0V輸出。
2.4 自動分壓式電阻測量部分
采用傳統(tǒng)臺式儀表所采用的繼電器量程選擇模式,利用單片機控制繼電器的通斷實現(xiàn)量程的自動切換。由于繼電器在未導(dǎo)通時電路為斷路,而在導(dǎo)通后基本可視為0Ω導(dǎo)通,兩端無壓降,也就是說繼電器是一個電子控制的開關(guān),而且由于繼電器是機械結(jié)構(gòu),其穩(wěn)定性比較高,因此可以作為理想的自動儀表控制設(shè)備。4個繼電器,4個精密電阻就可以組成自動分壓式電阻測量模塊,電路結(jié)構(gòu)簡單,調(diào)試方便。
3 軟件設(shè)計
(1)“超時待機”節(jié)能設(shè)計,系統(tǒng)采用STM32作為主控芯片,考慮到該芯片在掉電模式下待機時電流下降到2 μA,具有非常低的功耗,對系統(tǒng)設(shè)計了“超時待機”節(jié)能:系統(tǒng)若超過預(yù)定的時間沒有輸入,采用軟件方法讓主芯片進入待機模式。
(2)濾波,AD7705內(nèi)部有集成化的數(shù)字濾波,本系統(tǒng)在軟件上實現(xiàn)了均值濾波。
(3)溫度補償,STM32F103內(nèi)部內(nèi)置有溫度傳感器,考慮到電阻存在溫漂,電阻的阻值一般隨溫度的增加而增加,為確保電阻測試儀的穩(wěn)定性和準(zhǔn)確性,系統(tǒng)在軟件上對電阻測試儀進行了溫度補償。
(4)電位器為單圈旋轉(zhuǎn)式電位器,為了防止步進電機在電位器已經(jīng)旋轉(zhuǎn)到盡頭還繼續(xù)前進,不但影響測量精度,還會損壞電位器和步進電機?;谝陨峡紤],在軟件上,當(dāng)檢測到電位器的阻值為50 Ω或4.6 kΩ時,單片機給信號步進電機,步進電機停止前進。
(5)軟件設(shè)計流程圖,如圖4所示。
4 測試系統(tǒng)
4.1 測試方法及數(shù)據(jù)
待測電阻先用Agilent34401A六位半數(shù)字萬用表進行檢驗和測量,然后用自動電阻測試儀進行測試。
測試結(jié)果表明:
(1)簡易自動電阻測試儀的測量精度達(dá)到0.6%。
(2)簡易自動電阻測試儀測量電位器的精度達(dá)到1.54%。
(3)轉(zhuǎn)換速度大于10/s。
(4)電位器的測量,10 s能測量20個點。
5 誤差分析
測量的誤差主要來源是各數(shù)字信號與模擬信號之間的干擾,在電路設(shè)計上對模擬信號與數(shù)字信號進行了隔離。另外一個誤差來源來自于電路中存在阻抗,通過反復(fù)測試,再用軟件進行了矯正。
6 總結(jié)
本系統(tǒng)以STM32F103單片機為核心,結(jié)合AD7705電壓采集、AD780基準(zhǔn)電壓源和一些簡單的外圍設(shè)備,進行了完整的設(shè)計。整個系統(tǒng)穩(wěn)定可靠,測量精度高。