劉安軍
用高精度、高穩定性的元器件和放大電路設計成的高精度區間式電壓表,其優點、詳細工作原理和應用實例詳見本刊2003年第12期《高精度區間式電壓表》一文。
這里介紹一種高精度電壓表。運用區間式電壓表的基本原理,用單片機制作成高精度電壓表,它可自動變換測量范圍、計算測量值和顯示測量結果。實現對被測電壓大范圍、全量程的高精度測量。

圖1是分擋區間式電壓表的原理圖。分擋式區間電壓表是把全量程根據需要分成數個區間段,例如,把2~10V的量程分成2~3V、3~4V……9~10V八個區間,波段開關的八個擋對應各區間,通過分別調定每一個區間的調零電位器W1、增益調整電位器W2實現各區間段的覆蓋。分擋式區間式電壓表實現了全量程測量,應用更加方便,可以實現一表多用,例如在計量時對多個電壓點的測量、對已知電壓的高精度測量等。缺點是需要手動換擋,對未知電壓的測量不太方便。
高精度電壓表原理
1.工作原理 在圖1分擋式區間電壓表的基礎上,采用單片機自動控制,通過自動換擋、自動測量、自動修正誤差、計算和輸出測量結果,成為一種實用的全量程、高精度電壓表,見圖2所示。圖中,增加了帶有A/D模數轉換電路的單片機IC4,將測量的模擬量用單片機進行處理;調零電位器W1和增益調整電位器W2換成可程控的線性數字電位器,其阻值的大小由單片機進行調整,實現自動換擋,測量結果用LCD數字顯示。

2.制作過程中區間的標定和劃分標定是用標準電壓對起始值和終止值進行調整,區間劃分是把全量程劃分成若干個部分。假如全量程為0~100V,進入標定子程序完成標定,得到一對W1 、W2 阻值的控制數據;電壓表的全量程假設每10V一個區間,劃分為0~10V、10~20V、……90~100V十個區間,假如測量是線性的,程序就可以計算出十對W1 、W2 阻值的控制數據,連同標定時的一對控制數據,全部存儲在數據存儲器E2PROM中以備調用。
3.測量過程 測量過程是自動進行的。測量時,對一個未知的被測電壓首先進行粗測。區間電壓表的測量區間取0~100V,單片機取出E2PROM中對應0~100V區間一組數據,設定程控數字電位器W1 、W2 阻值,被測電壓經放大器、A/D轉換,進行一次粗測量。粗測的目的是為了確定被測電壓所在的區間,假如被測電壓為19.96V,在10~20V這個區間,單片機取出對應10~20V區間的一組控制數據再次設定W1、W2的阻值,進行這一10V范圍區間的精測。這里,如果用10位A/D模數轉換電路,分辨率為10V/210=0.01V,測量結果是9.96V,再加上起始值10V,就得到19.96V的最后測量結果,輸出到顯示電路進行顯示。對于本例,采用區間表原理測量,用同樣的A/D電路,比普通全量程0~100V電壓表分辨率提高了十倍,區間分的越小分辨率也越高。
應用電路
高精度區間表可以用多種電路實現,在《高精度區間式電壓表》一文中,已經介紹了區間表幾種基本應用電路以及元器件的選用,在這里不再重復,有興趣的讀者可以查閱原文。這里主要對后續電路和設計時應注意的問題進行介紹。
電壓基準源IC1用LM385B-1.2,溫度系數±20 ppm/℃,靜態電流為20μA。IC2采用集成儀表放大器AD623,可以通過一只電阻調整放大器增益,增益范圍為1~1000;電源經LM7805L穩壓給各器件供電。單片機IC4采用PIC16FB872,2K的FLASH,6個12位A/D轉換器,簡化了外圍電路,低功耗,睡眠時電流僅幾微安。數據寄存器IC5為24C02,調零電位器W1用1/2MAX5453,W3用1/2MAX5453,另一個調零電位器W1′和增益調整電位器W2各用1/2MAX5451。主要參數:每一個器件中有兩個相互獨立的電位器,256個抽頭,工作電壓為+2.7~5.5V,耗電0.1μA,溫度系數35ppm/℃,總電阻MAX5453為50kΩ,MAX5451為10kΩ。所有電阻精度優于1%,R1、R2、R3溫度系數小于50ppm/℃。
區間表設計測量范圍為0~50V,測量區間共分為51個,0~50V一個粗測區間,12位A/D轉換,分辨率為50V/212=0.012V; 0~50V范圍每1V±0.1V分一個區間,共50個區間,全量程分辨率為1V/212 =0.00024V。
設計中應注意的問題
1.最小測量電壓區間式電壓表測量的最小電壓不能從零伏開始。由于運放的負輸入端基準電壓不為零,分壓后的正輸入端電壓不能低于負輸入端,最小也要從基準值開始。解決的辦法是在負輸入端增加一個數字電位器W3,測量從零起始的電壓時,W3置為零,使負輸入端基準電壓為零,測量值大于基準值的電壓時W3 置為最大值。
2.區間的劃分和標定
①、對于具體應用電路,不能像前邊舉例那樣區間與區間之間沒有交叉。實際應用電路圖2中,各區間取±0.1V的交叉范圍為0~1.1V,0.9V~2.1V……49.9V~50V。其原因是由于粗測時,電路有比較大的誤差,對于處在區間臨界的被測電壓,粗測時有可能錯誤判斷其所在區間。上邊在介紹測量過程的舉例中,被測電壓為19.96V,應該在10~20V的區間,對于10位A/D的分辨率,粗測時的分辨率為100V/210=0.1V,有0.1V的誤差,19.96V有可能被判斷在20~30V的區間,精測時就會出現測量錯誤。所以,區間與區間要有一定的交叉,交叉范圍的大小由粗測的誤差決定,適當留有一定余量。
②、標定區間可能不止一個。上面原理中提到,測量是按線性處理的,如果實際上非線性誤差較大又沒有用軟件修正,用平均的方法計算各區間W1 、W2 阻值是不行的。用逐段逼近法標定多個區間是解決非線性問題的一種方法。另外,在W3轉換點的兩個區間,由于斜率不同,也要分別標定。
3.數字電位器對分辨率的影響 對于調零電位器W1 ,如果分區比較小、全量程范圍又比較大,就要求W1阻值既要大范圍變化,又要每一次變化的步長小,分辨率為256的數字電位器有可能達不到要求。采用再串聯一個數字電位器W1′的辦法,用W1粗調,選用阻值大一些,例如100kΩ,解決阻值大范圍變化的問題;W1′阻值小一些,例如選用10kΩ, W1′的變化占總阻值中比值很小,整個調零電阻變化率減小,解決分辨率的問題。對于增益調整電位器W2 ,分辨率不夠出現增益誤差時,一般不用上述辦法,而用軟件的辦法來解決。當W2有誤差時,在測量過程中,把測量結果乘上一個修正系數。仍以舉例為例,假如標定時標準電壓是20.50V,由于誤差,標定時測量結果為20.20V,為負誤差,滿刻度修正系數 =1+(標準電壓-測量值)/標準電壓=1+(20.50-20.20)/20.50=1.0146341。
實際值=測量值×修正系數=20.20×1.0146341=20.495608(V)。
采用軟件通過計算修正測量結果的誤差,滿刻度有0.0043V的誤差。
4.測量精度由實例可以看出,電路元器件的分辨率沒有變,但區間分得越小,測量結果的分辨率越高,精度也越高。要達到需要的精度,首先通過計算確定區間的大小;其次,測量精度同時與整個系統有關,包括A/D的分辨率、線性數字電位器的分辨率、基準電壓源和其它元器件的線性、精度、溫漂、噪聲等;另外,如果用做專用儀表,對特定信號源的非線性誤差的影響也要考慮,進行綜合選擇和分析計算,達到要求的精度。對于非線性誤差、溫度漂移以及失調電壓使放大器輸入時輸出不為零,用軟件補償和修正也是提高精度一種較好的方法。
5.采樣速度由測量過程可知,對數字電位器的設定、粗測和精測、A/D轉換、數據處理、顯示,都需要耗費一定時間,一般在需要顯示測量結果的應用中,采樣速度每秒幾次是能夠滿足的。實時處理系統的運用就要考慮采樣速度的影響。通過提高CPU工作頻率、用高速A/D轉換器、用可編程數字電位器等以及改進軟件來提高采樣速度。
6.標定方法要編一段標定子程序以便標定時調用,程序框圖見圖3。標定時有兩個控制鍵K1、K2。K1為進入設置和確認鍵,K2為置數鍵。K1按下時間大于3秒,進入標定子程序進行標定。標定過程需要手動輸入一些參數以及輸入高一個精度的標準電壓,按照約定的提示顯示,依次進行起始值、終止值的輸入,從低位到高位逐位進行,用K2進行加計數置數,每完成一位按K1鍵確認,進入下一位到置數全部完成。按照提示,給定起始和終止標準電壓,完成一個區間標定。如果標定不止一個區間,按照提示,輸入一個不等于零的數,繼續下一區間標定或退出,直至標定全部完成。程序框圖中,計算W1 、W1′、W2 、W3 ,是為了給數字電位器一個接近真實值的初始值,按照輸入的起始值和終止值、基準電壓值,計算出放大器正輸入端分壓值和放大器的增益,確定各數字電位器的初始值,雖然有一定的誤差,但不影響標定,在標定中自動進行最后修正。

7.數字電位器數字電位器的主要參數有分辨率、功耗、速度、精度、阻值等。用可編程非易失性或串行口編程置位方式,要快于用脈沖置位方式。數字電位器的生產廠家、型號種類很多,具體請查閱有關資料和網站。
8.A/D模、數轉換電路 轉換電路的精度和功耗根據設計要求確定,如果對速度有要求,要選擇高速類型。選用帶有A/D電路的單片機可以簡化電路。
9.供電電源整個電路的電源應采用穩壓電源,以保證電路穩定工作,電路的功耗較小,尤其是選用低功耗元器件時,整個表的耗電比較低,完全能用電池經穩壓供電,或用電池經DC-DC電路穩壓供電。
運用以上原理,在嵌入系統對各種電量測量中變通應用,同樣能夠極大地提高測量精度。