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