摘 要: 為解決壓力測量系統中應變橋式傳感器的溫度漂移和非線性等問題,設計了基于AT89C58和PGA309的傳感器信號校準系統。PGA309是一種可編程信號調理芯片,主要用于應變橋式壓力傳感器,將微弱的傳感器信號進行放大輸出并進行校準。通過介紹系統結構及PGA309調理芯片的內部功能模塊,并結合傳感器的理論數學模型,詳細分析了PGA309對傳感器非線性、溫度漂移的補償算法。AT89C58作為微控制器,結合軟件編程、外設等實現了對核心補償器件PGA309的寄存器設置與校準控制。
關鍵詞: PGA309; 橋式壓力傳感器; 線性化; 溫度補償
中圖分類號: TN710?34; TP911 文獻標識碼: A 文章編號: 1004?373X(2013)07?0119?04
0 引 言
近年來,傳感器信號調理技術發展迅猛,向著集成化、小型化、智能化和數字化方向發展。而由于制作材料、工作原理、制作工藝、環境等因素的影響,導致傳感器直接輸出的信號中存在非線性、零點溫度漂移、靈敏度溫度漂移等問題,測量結果會出現較大誤差,因此,對于應變測量電路,溫度補償措施顯得非常重要[1]。為了獲取有用的信號,在實際應用中信號調理器常常被放置在壓力傳感器中,以補償傳感器在不同溫度下的誤差。
在充分研究傳統補償技術的基礎上,針對應變式傳感器,基于AT89C58和PGA309設計了一款應變橋式壓力傳感器信號校準系統。其中,TI公司生產的信號調理芯片PGA309為信號調節單元,AT89C58為系統微控制器。PGA309是一個全信號調節器,相比于工業和過程控制中采用熱敏電阻或者其他補償電路,PGA309的誤差小、功能更強大,而且集成度高,可對傳感器信號進行放大、線性化和溫度補償等,將誤差減小到接近橋接傳感器所固有的重復特性,賦予了傳感器產品真正的可互換性[2]。
1 校準系統總體結構設計
1.1 校準系統框圖設計
校準系統主要由微控制器AT89C58、信號調節芯片PGA309、A/D采集電路、液晶顯示電路、電源電路等構成。微控制器通過串口與PGA309單線數字接口PRG(UART可兼容型)相連,實現對PGA309內部寄存器數據進行訪問和編程,并結合液晶顯示和鍵盤操作完成整個校準和溫度補償過程;PGA309利用雙線制數字接口SDA(數據線)和SCL(時鐘線)對外部E2PROM數據進行存取訪問,外部E2PROM存放PGA309的配置信息及溫度補償系數查詢表[3];ADC采集PGA309輸出信號,并送于AT89C58進行數據運算處理[4]。校準系統組成框圖
1.2 PGA309功能概述
PGA309是小型可編程的模擬信號調節器,內部包含電壓基準、可編程傳感器激勵、數據通信接口以及溫度檢測模塊等。
校準系統組成框圖
PGA309提供電壓基準VREF及傳感器電橋激勵電壓VEXC。為簡化電路和使用PGA309內部的線性化功能,本設計選用PGA309提供的精密、低漂移電壓基準VREF(4.096 V),并以VEXC作為傳感器電橋激勵源。
PGA309有兩種類型的數字接口。一種是單線數字接口PRG(UART可兼容型),與外部控制器進行數據交換,其比特率為4.8~38.4 Kb/s ;另外一種是符合工業標準的雙線制數字接口SDA(數據線)和SCL(時鐘線),與外部E2PROM進行數據通信。
PGA309共有三級信號放大及兩級零點漂移補償功能[5],
PGA309放大及偏差補償通道
首先,利用帶正負的4位ADC和前置放大器(增益范圍最大為4~128倍)對輸入的微弱傳感器信號進行粗略偏移調整和初級放大,前置放大器為帶有自動歸零的三運算儀表放大器,有效地限制了噪聲和共模電壓信號[6];再經過16位的零點DAC和增益DAC(增益可調范圍0.333 3~1倍)分別進行零點溫漂校正和精確增益調整,同時對溫度漂移進行了補償,零點DAC和增益DAC的輸出值是根據溫度傳感器測量到的溫度值,通過查表獲取相應系數計算得到的;第三級放大也稱為輸出放大器增益(增益調整范圍2~9倍)。信號放大電路提供的總增益范圍為2.7~1 152倍,并完成了對傳感器輸出信號的零點補償和溫度補償。
為實現對PGA309的控制與設置,需將測試引腳(TEST)接高電平。選擇要配置的寄存器,通過微控制器AT89C58及鍵盤、顯示等外設對PGA309進行寄存器配置。然后按照校準過程和步驟調整壓力,獲得的數據進行補償算法處理,解算出線性化及溫度補償系數,寫入PGA309對應的寄存器或外部E2PROM中,從而完成對壓力傳感器的校準。
2 PGA309補償原理分析
2.1 傳感器數學參考模型
對于大部分的橋式壓力傳感器而言,壓力非線性通常為二階,且在測量量程的中間點附近時誤差最大。零點和滿量程點同樣存在偏差,并且受溫度變化的影響;在溫度不變的情況下激勵壓力也會導致明顯的非線性輸出。合理的數學模型可以有效的補償非線性和溫度漂移引起的誤差,故首先應建立傳感器的理論數學模型[7]如下式:
[KBridge(P,T)=n0+n1T+n2T2+(n3P+n4P2)×(1+n5T+n6T2)] (1)
[KBridge(P,T)=(VOUT+Voffset_correction)Gain?VEXC] (2)
對于式(1),只要按照表1測出7組不同溫度力下的實驗數據,結合PGA309具體的配置根據式(2)可反解出電橋端的輸出值KBridge(P,T)。
標定數據記錄表
[TEMPERATURE\PRESSURE\VOUT\TC\PMIN\VOUT1\TC\PMAX\VOUT2\TR\PMIN\VOUT3\TR\PHALF\VOUT4\TR\PMAX\VOUT5\TH\PMIN\VOUT6\TH\PMAX\VOUT7\]
2.2 線性化校準算法
PGA309內部有一條專用于傳感器電壓激勵和線性化的電路。利用線性化環路,引入一定比例的輸出反饋電壓信號,動態的改變激勵電壓的大小,來補償橋式傳感器的輸出相對于壓力的弓形非線性曲線,進而使輸出電壓盡可能與理想線性曲線相吻合。隨著加工工藝的日臻完善,應變橋式傳感器的非線性已有很大提高,一般只需要簡單的反饋進行修正就夠了[8]。
由線性化環路可得:
[VEXC?KBridge(P,T)?Gain+Voffset_correction=VOUT] (3)
引入反饋后的激勵電壓為:
[VEXC=(VREF?KREF+VOUT?KLIN)] (4)
代入式(3)中則有:
[VOUT=(VREF?KREF+VOUT?KLIN)?KBridge(P,T)?Gain+Voffset_correction] (5)
故輸出電壓的表達式為:
[VOUT=KBridge(P,T)?VREF?KREF?Gain+Voffset_correction1-KBridge(P,T)?KLIN?Gain] (6)
式中:KBridge(P,T)是傳感器輸出信號,對反饋系統來說屬于輸入量;VREF,KREF是參考電壓及相應的系數,為固定常數;Gain,Voffset_correction為增益放大系數和零位補償電壓,當溫度確定后其值也是固定的,PGA309在進行非線性補償的時候不考慮溫度影響,即假設溫度不會對傳感器線性產生影響,所以Gain和Voffset_correction也是常數;因此,對整個補償系統來說,系數KLIN將決定最終的補償效果。在PGA309中,KLIN是利用內部7位DAC來實現的。
對于應變橋式壓力傳感器,當輸入壓力在滿量程半左右的時候,非線性最嚴重,因此合理的KLIN需要利用中間點壓力情況下的系統輸出來計算,其目的是當壓力為中間點時,輸出的誤差為零[9],中間點壓力計算KLIN的最終簡化公式為:
[BV=KBridge(50)-KBridge(100)+KBridge(0)2KBridge(100)-KBridge(0)] (7)
[KLIN=4BV?VREF?KREF(VOUT_MAX-VOUT_MIN)-2BV?(VOUT_MAX+VOUT_MIN)] (8)
式中:BV為室溫下傳感器壓力中點的非線性,通過零點、中間點及滿量程點傳感器輸出求得;VOUT_MAX為PGA309最大輸出;VOUT_MIN為PGA309最小輸出;KLIN根據中間點誤差得到。根據反饋的原理,當傳感器的輸出KBridge(P,T)有正的偏差的時候,反饋系統的輸出VOUT相對輸入KBridge(P,T)而言產生負的偏差,所以總的偏差將被抵消。
2.3 溫度漂移補償算法
PGA309對溫度漂移誤差的補償是通過線性內插算法實現的[10]。在工作溫度范圍內,將溫度分為17段并相應建立一組溫度/DAC值(增益DAC和零點DAC)的溫度標準點,這些點就是溫度補償查詢表的索引值;在溫度ADC進行采樣輸出結果后,查詢該輸出所在溫度索引值區間,根據線性內插原理,獲得與溫度對應的零點DAC和增益精調DAC的值,進而調節PGA309的輸出,達到溫度補償的效果。溫度漂移補償算法的實現,首先要建立溫度補償系數查詢表。根據傳感器數學模型,當壓力為零或者最大時,分別求出橋式傳感器對應的零點漂移曲線和靈敏度漂移曲線,計算公式為:
[KBridge(P,T)=n0+n1T+n2T2] (9)
[KBridge(P,T)=n0+n1T+n2T2+(n3PMAX+n4PMAX2)?(1+n5T+n6T2)] (10)
由式(9)、式(10)計算出不同溫度下的零點漂移曲線和靈敏度漂移曲線,結合期望輸出范圍解算出零點DAC和增益精調DAC的值,再根據線性內插算法建立17個點的溫度補償系數查詢表。溫度補償過程是通過對溫度索引值的查詢比較完成的,故每次補償首先進行溫度的采樣。
增益DAC計算邏輯圖
所示,T0,T1,…,T7為溫度索引值,G0,G1,…,G7是在相應溫度T0~T7下對增益DAC的期望設置值,GM1~GM7是分段線性曲線的斜率。
若PGA309帶有內插演算法的查詢邏輯正常工作時,且當溫度ADC進行轉換后,PGA309會對整個外部E2PROM進行讀操作,將隨溫度變化而開始對增益DAC進行連續的計算;在讀取到每個溫度索引值(TX)時,將其與Tread (當前溫度ADC的轉換結果)相比較,若TX>Tread,則說明Tread 在TX-1和TX之間。在圖3中,這種情況在讀T7時發生,累加器GAC6 (讀取T6的GAC)的內容通過加上(Tread-T6)[?](GM7)來修改,所得結果GAC_ADCread是Tread=25 ℃時對增益DAC的線性內插設置值。
對零點DAC的比例系數算法與增益DAC相同,也用于溫度補償;經過補償后的傳感器精度大大提高,具體的補償算法流程圖
補償算法流程圖
3 校準系統工作流程及實驗結果
壓力傳感器的靜態參數校準包括零點和靈敏度校準。采用上述的專用壓力傳感器校準設備,在特定的壓力和溫度條件下進行校準,生成溫度補償系數查詢表以及內部寄存器配置數據。為了使配置參數在溫度變化時不超出設置范圍,對PGA309增益的分配及零位的調節應遵守以下兩點原則:
(1)將精細增益初始值設置為中間值(0.667),預校準后則接近中間值。
(2)適當選取粗略偏移調整值和前端增益,使得零點DAC輸出值在預校準后接近調節范圍中間值(2.5 V)。
根據增益分配及零位調節原則、溫度補償原理和線性化校正原理,制定校準系統工作流程[3]
系統工作流程圖
在-24.7 ℃,25.2 ℃,50.4 ℃下測得7組數據見表2,求出傳感器數學參考模型,再設置17個溫度索引值,結合模型解算出溫度對應的零點DAC和精細增益DAC數值,生成溫度補償系數查詢表,完成對傳感器非線性、零點漂移和靈敏度漂移的校準。
實驗數據記錄表
[溫度 /℃\壓力/FS%\校準前
VOUT /V\誤差 /%\校準后
VOUT /V\誤差 /%\-24.7\0\-0.06\-1.2\0.001\0.02\-24\100\5.47\9.4\5.000\0.000\25.2\0\0.01\0.2\0.000\0.000\25.2\50\2.53\0.6\2.500\0.000\25.2\100\5.13\2.6\5.500\0.000\50.4\0\0.000\0.000\0.000\0.000\50.4\100\4.58\8.4\5.002\0.004\]
4 結 語
針對傳感器普遍存在著非線性及溫度漂移等問題,本文基于AT89C58和PGA309設計了一款壓力傳感器校準系統。通過對PGA309內部模塊的介紹,特別是對溫度補償和非線性補償原理的分析,并結合實驗數據分析可知,壓力參數測量精度較高,從而極大改善了壓力傳感器的溫度性能及非線性,實現對傳感器信號的有效補償。
參考文獻
[1] 王俊杰,曹麗.傳感器與檢測技術[M].北京:清華大學出版社,2011.
[2] 王駿,高迎燕.PGA309補償原理分析及改進方案[J].自動化儀表,2006,27(7):11?15.
[3] Texas Instruments Corporation. PGA 309 product datasheet [S]. USA: Texas Instruments Inc., 2003.
[4] GREEN Tim. PGA309 microcontroller application [M]. USA: Texas Instruments Inc., 2005.
[5] Texas instruments Corporation. PGA309 user′s guide [S]. USA: Texas Instruments Inc., 2004.
[6] 紀建偉.傳感器與信號處理電路[M].北京:中國水利水電出版社,2008.
[7] ART Kay, MIKHAIL Ivanov, VIOLA Schaffer. A practical technique for minimizing the number of measurements in sensor signal conditioning calibration [R]. USA: Texas Instruments Inc., 2005.
[8] 杜澤祥.壓力傳感器的技術指標與線性修正技術[J].山東電子,2003(6):13?15.
[9] 龔綠綠.基于PGA309實現的高精度壓力變送器[D].沈陽:沈陽工業大學,2007.
[10] 何金田,劉曉旻.智能傳感器原理、設計與應用[M].北京:電子工業出版社,2012.