文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.05.005
中文引用格式: 楊峰,楊洋,潘彬,等. 基于自主傳感器信號調理芯片溫度補償的軟件設計[J].電子技術應用,2016,42(5):18-20.
英文引用格式: Yang Feng,Yang Yang,Pan Bin,et al. Design of the temperature compensation software based on self-made transducer signal conditioning chip[J].Application of Electronic Technique,2016,42(5):18-20.
0 引言
針對壓阻式壓力傳感器在應用中易發生溫度漂移的問題,開發了一種智能壓阻式傳感器溫度補償系統。該方法利用現代信號調理技術,以信號調理芯片為核心,通過插值法對采集的溫度補償參數進行擬合,從而實現了對壓阻式壓力傳感器溫度漂移的高精度補償。
在實際應用中,大多數壓力傳感器為集成單臂電橋和差分輸出信號的壓阻式傳感器,這類傳感器具有高靈敏度、高線性度、穩定性好等優點,但是由于硅壓阻傳感器使用的半導體材料——硅的固有特性,使得該傳感器存在一致性差、溫度漂移和非線性等問題[1],同時由于其擴散電阻的溫度系數較大和制作工藝,使其在寬溫區的高精度受限[2]。
軟件補償是利用計算機的強處理能力,通過一系列的補償算法對壓力傳感器因溫度變化所產生的漂移進行修正。這種方法不僅可以補償溫度變化對壓力傳感器造成的影響,同時還可改善非線性指標,是提高壓力傳感器精度的一種有效方法。與硬件補償相比, 軟件補償的效果好、精度高且成本低。
1 補償流程及核心算法
1.1 傳感器補償流程設計
本文所設計的溫度補償系統對壓阻式壓力傳感器的補償分為兩部分:預補償過程和在溫度預設點下的正式補償過程。由于不同的壓阻式壓力傳感器橋路電阻、靈敏度、輸出電壓范圍等參數存在很大差異,需要使用前在常溫下對壓力傳感器進行預補償,以保證芯片內部電路工作在線性及可調節的范圍內。預補償流程圖如圖1所示。預補償過程通常在常溫下進行,目的是計算正式補償過程中所需要的各種寄存器的初始化值。在預補償之后,可以進入正式補償流程。
正式補償流程圖如圖2所示,補償的主要內容是求取設定溫度點的靈敏度補償系數 FSO、偏移量系數補償系數 OFFSET。
HKA2910可以設定1~114個待定補償的溫度點數。如果只進行單點溫度補償,則寫入Flash中不同溫度的補償數據都相同。進行兩點溫度補償時,則會對不同溫度的校準數據進行線性擬合。進行三點或三點以上的溫度補償時,軟件會對不同溫度的校準數據進行擬合。
1.2 補償數值擬合算法
如果用實驗的方法,在-55 ℃~+150 ℃的范圍內,把各個溫度下的補償系數都測出來,將是一項非常耗時且重復性強的工作,這是沒有必要的。通常情況下,選擇有限的離散溫度點對壓力傳感器進行校正,然后記錄這些溫度點上的補償系數,采用軟件的算法得到在各個溫度點的補償系數。
采用軟件算法實現離散數據的線性化,通常有查表法和插值法。查表法獲得的數據的線性度與表數據的數量有關,數據越多則線性度越好,但是數據越多所需要占用的存貯空間也越大[3]。
本系統采用插值法對數據進行擬合,線性插值法是一種常用的插值方法。如圖3所示,X為自變量,Y為因變量,它們是非線性關系。插值法把自變量X分成n個均勻的區間,每個區間的端點Xn都對應一個Yn。實際的測量值X一定會落在某個區間(Xn,Xn+1)內,設y=f(x)。可用利用區間的端點值來求取一次函數表達式f(x)的值。
采用線性插值法,只要區間分得足夠多,就可以達到所需的計算精度。
2 軟件介紹
為了配合所設計的補償流程,本軟件通過C#語言進行開發。利用C#提供的大量可視化控件以及第三方提供的各種強大的控制資源來設計交互式的操作界面,實現數據的發送與接收、參數設定、傳感器標定、數據處理和生成等功能。
2.1 主界面
系統的主操作界面如圖4所示,包括工具欄、校準參數區、用戶信息區和補償初始值區。
修改校準參數中的參數值,能夠使得校準結果的精度發生改變。溫度點數越多,絕對誤差越小,則校準結果的精度越高。
補償初始值中的數據反應的是信號調理芯片中寄存器的值,能夠通過修改界面中的值修改寄存器。
點擊運行按鈕后,界面與芯片產生通信,補償初始值區獲取到芯片中寄存器的值。設置校準參數后,點擊預校準,根據提示步驟,測量指定壓強下的電壓,獲取預校準后各個寄存器的值,之后在所需測試的溫度上進行主校準,獲取多個溫度點上的FSO、Offset寄存器值,由多個不同溫度下FSO、Offset寄存器值進行擬合得出溫度區間內各個溫度點的FSO、Offset寄存器值,并寫入Flash中,軟件校準結束。
2.2 校準記錄界面
在進行主校準時,校準步驟中FSO、Offset寄存器值以及所測量電壓的變化都記錄在校準記錄界面中,如圖5所示。
2.3 計算擬合曲線界面
此軟件提供兩種擬合方式,一種是將每個溫度點間的寄存器值以直線連接為折線補償,一種是使每個溫度點間的值連接成為一條曲線,如圖6所示。在主校準完成后默認為曲線補償方式。
在軟件應用中設置多個溫度補償點,按照圖2補償流程圖所示進行多個溫度下的補償。在所有設置的溫度點都補償完畢后,系統將自動根據不同校準溫度下FSO和OFFSET的值擬合出從-55 ℃~+150 ℃范圍內的所有補償參數,并將擬合出的參數寫入芯片Flash中。至此,芯片補償電路就可以在規定溫度范圍內對此傳感器進行全自動補償。芯片在進行補償時會利用片內溫度傳感器檢測當前環境溫度,根據寄存器內溫度數值的變化,芯片會搜尋存儲在內部Flash中的對應溫度點的補償系數加載到相應的寄存器中,并轉換成模擬量來修正傳感器輸出信號中的溫度誤差。
3 結束語
用C#開發的硅壓阻式傳感器軟件補償系統改進了原有的傳感器補償方法,提高了效率,支持Windows操作系統運行,人機界面友好。經硬件、軟件調試后,現場測試穩定可靠。通過對測定數據進行誤差分析研究,證明該系統的功能和性能指標達到了設計要求。
利用軟件實現傳感器溫度誤差補償是一種非常簡便、有效的方法。這種方法能夠有效降低測量系統的電路復雜度,并且節約成本,無需額外的操作便可以得到可靠的數據,適合對批量傳感器進行補償,因此具有極其廣泛的應用前景。
參考文獻
[1] 胡遼林.硅壓阻傳感器的智能溫度補償研究[J].傳感技術學報,2012(4).
[2] 趙妍.基于MAX1452的壓力傳感器溫度補償[J].電器應用,2006(4).
[3] 王俊杰.壓力傳感器高精度溫度補償的軟件實現[J].現代電子技術,2014(11).
[4] 張宏濤.關于壓力傳感器零點熱漂移的補償分析[J].科技信息,2008(9).