基于神經(jīng)網(wǎng)絡(luò)技術(shù)的虛擬傳感器溫度補(bǔ)償系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:介紹了一體化虛擬溫度傳感器補(bǔ)償儀,運(yùn)用多傳感器數(shù)據(jù)融合技術(shù)與神經(jīng)網(wǎng)絡(luò)技術(shù),與虛擬儀器技術(shù)相結(jié)合創(chuàng)建了虛擬壓阻式傳感器的溫度補(bǔ)償系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該方法有效地抑制干擾因素,獲得高穩(wěn)定性測(cè)量結(jié)果。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);虛擬儀器;傳感器
0 引言
固態(tài)壓阻式傳感器是利用半導(dǎo)體的壓阻效應(yīng)所制成的傳感器,其靈敏度將隨溫度的變化而變化,導(dǎo)致輸入輸出特性存在非線性。表現(xiàn)為被測(cè)的目標(biāo)參量為零或保持恒定值時(shí),改變工作環(huán)境溫度,則傳感器的零點(diǎn)或輸出電壓值均發(fā)生變化,這將給測(cè)量目標(biāo)參量帶來(lái)誤差。傳統(tǒng)的溫度補(bǔ)償方法有:恒流源供電法、電壓正反饋補(bǔ)償法、熱敏電阻補(bǔ)償法,但以上三種方法只能是靈敏度溫度系數(shù)接近于零,很難在較寬的溫度范圍內(nèi)得到完全補(bǔ)償。因此,本文將人工神經(jīng)網(wǎng)絡(luò)和虛擬儀器相結(jié)合,設(shè)計(jì)了壓阻式壓力傳感器的溫度補(bǔ)償系統(tǒng),消除了溫度影響同時(shí)也進(jìn)行了零點(diǎn)及非線性補(bǔ)償。
1 補(bǔ)償系統(tǒng)的工作原理
補(bǔ)償系統(tǒng)由傳感器和溫度補(bǔ)償器兩部分組成。傳感器部分包括主傳感器與溫度監(jiān)測(cè)傳感器:主傳感器為固態(tài)壓阻式傳感器,它與數(shù)據(jù)采集卡(DAQ)組成測(cè)試系統(tǒng);對(duì)主傳感器進(jìn)行溫度補(bǔ)償要引入溫度監(jiān)測(cè)傳感器,它起到監(jiān)測(cè)工作環(huán)境溫度的作用;溫度補(bǔ)償器是一個(gè)軟件模塊,補(bǔ)償系統(tǒng)要對(duì)上述2個(gè)傳感器進(jìn)行數(shù)據(jù)融合,因此溫度補(bǔ)償軟件模塊也是一個(gè)多傳感器數(shù)據(jù)融合系統(tǒng)。
1.1 BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法
對(duì)壓阻式壓力傳感器進(jìn)行溫度補(bǔ)償,可以在一定的工作溫度范圍內(nèi)選定。表1列出了在20℃~65℃間6個(gè)溫度狀態(tài)的靜態(tài)標(biāo)定數(shù)據(jù),同時(shí)在選用的壓阻式壓力傳感器量程范圍內(nèi)選了5個(gè)標(biāo)定值,因此獲得了30個(gè)標(biāo)定數(shù)據(jù)。其中,20個(gè)數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,10個(gè)數(shù)據(jù)作為網(wǎng)絡(luò)校驗(yàn)樣本數(shù)據(jù)。
從表1的標(biāo)定值可以看出,在輸入壓力值不變的情況下,工作環(huán)境溫度改變,壓力傳感器的輸出電壓值也隨之改變。
1.2 樣本數(shù)據(jù)歸一化處理
神經(jīng)網(wǎng)絡(luò)所處理的數(shù)據(jù)應(yīng)是在-1和+1間的歸一化數(shù)據(jù),因此采用如下公式進(jìn)行傳感器輸出數(shù)據(jù)的歸一化處理:
式中,為第m個(gè)樣本神經(jīng)網(wǎng)絡(luò)的輸入、輸出歸一化值;Xim和Om為第m個(gè)樣本的輸入輸出標(biāo)定值,本文中i=1,2;Ximax和Ximin為第i個(gè)傳感器輸出最大、最小標(biāo)定值。
1.3 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與訓(xùn)練
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):
基于該系統(tǒng)采用3層BP神經(jīng)網(wǎng)絡(luò),輸入層i=1,2,共有2個(gè)節(jié)點(diǎn),分別輸入壓阻傳感器和溫度傳感器的輸出電壓值Up和Ut。隱層節(jié)點(diǎn)數(shù)j=1,2,…,l可在3~30范圍內(nèi)選擇,視補(bǔ)償效果而定。輸出層節(jié)點(diǎn)k=1,為一個(gè)節(jié)點(diǎn),表示輸出壓力值Pt。
溫度補(bǔ)償系統(tǒng)BP神經(jīng)網(wǎng)絡(luò)Ot和分別為歸一化的網(wǎng)絡(luò)輸出的計(jì)算值與標(biāo)定值;m為樣本序號(hào);M為樣本總數(shù);訓(xùn)練的樣本數(shù)越多,網(wǎng)絡(luò)的計(jì)算結(jié)果Ot的偏差越小。根據(jù)標(biāo)定實(shí)驗(yàn)提供的學(xué)習(xí)樣本,采用BP算法學(xué)習(xí)修正網(wǎng)絡(luò)的權(quán)值和閾值,直到滿足精度要求為止。訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)仍不能使用,必須使用附加樣本進(jìn)行性能驗(yàn)證,如不能滿足要求,就需要重新訓(xùn)練網(wǎng)絡(luò),所以神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是一個(gè)反復(fù)的過程。
1.4 學(xué)習(xí)算法的圖形化編程
在LabVIEW中要實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò),可通過多種方式實(shí)現(xiàn):利用CIN節(jié)點(diǎn)調(diào)用外部編譯好的C或者C++程序;利用MATLAB Script節(jié)點(diǎn)編輯或調(diào)用MATLAB程序;利用LabVIEW本身的圖形編程語(yǔ)言編程實(shí)現(xiàn)。
同上述兩種方法相比,用LabVIEW本身的圖形語(yǔ)言來(lái)編程有很多的優(yōu)勢(shì)。LabVIEW的G程序是獨(dú)立于運(yùn)行平臺(tái)的,不需要依賴其他軟件。而且作為一種圖形化的、數(shù)據(jù)驅(qū)動(dòng)的程序語(yǔ)言,LabVIEW可以更方便地實(shí)現(xiàn)給定的算法,程序更加清晰明了,修改起來(lái)也更加方便。同時(shí)利用子程序技術(shù),可以大大提高程序的利用率?;诖?,本文采用圖形編程的方法來(lái)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)控制。圖3為實(shí)現(xiàn)BP算法的LabVIEW程序。
2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)使用NI公司的LabVIEW和PCI-MIO-16E-1多功能數(shù)據(jù)采集卡實(shí)現(xiàn)溫度補(bǔ)償系統(tǒng)。在LabVIEW平臺(tái)下開發(fā)出“虛擬傳感器參數(shù)檢測(cè)儀”,完成數(shù)據(jù)的采集與預(yù)處理。在此基礎(chǔ)上嵌入MATLAB程序進(jìn)行神經(jīng)網(wǎng)絡(luò)運(yùn)算。
2.1 面板設(shè)計(jì)
前面板主要由兩部分組成:神經(jīng)網(wǎng)絡(luò)訓(xùn)練模塊和數(shù)據(jù)保存模塊。神經(jīng)網(wǎng)絡(luò)訓(xùn)練模塊執(zhí)行壓阻傳感器的溫度補(bǔ)償;數(shù)據(jù)保存模塊將訓(xùn)練后的相關(guān)數(shù)據(jù)進(jìn)行保存并寫入文件中。
2.2 程序流程圖設(shè)計(jì)
在LabVIEW中,流程圖是程序運(yùn)行的基礎(chǔ)。流程圖主要完成前面板上各個(gè)部分的相應(yīng)功能,包括執(zhí)行MATLABScript操作和While Loop操作。
2.3 數(shù)據(jù)運(yùn)行及保存
當(dāng)程序開始運(yùn)行,分別在“壓阻傳感器輸出”和“溫度傳感器輸出”中輸入25.42和27.01,然后單擊“開始”按鈕,則在“壓力”數(shù)據(jù)框中顯示出0。通過實(shí)驗(yàn)可以看出:虛擬溫度補(bǔ)償儀的補(bǔ)償效果非常好。
3 結(jié)論
研究表明:將經(jīng)典傳感器經(jīng)信號(hào)調(diào)理單元與微計(jì)算機(jī)賦予智能的結(jié)合,建立智能傳感器系統(tǒng)是改善經(jīng)典傳感器性能的有效途徑。本文運(yùn)用LabVIEW圖形化編程語(yǔ)言實(shí)現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)控制。通過仿真實(shí)例驗(yàn)證,該方法快速有效,而且編程簡(jiǎn)單清晰。