基于SOC的高精度紅外測溫系統(tǒng)設計
1.紅外測溫儀的工作原理
自然界一切溫度高于絕對零度的物體,都在不停地向外發(fā)出紅外線。物體發(fā)出的紅外線能量大小及其波長分布同它的表面溫度有密切關系,物體的輻射能量與溫度的 4 次方成正比,其輻射能量密度與物體本身的溫度關系符合普朗克定律。因此我們通過測量物體輻射出的紅外能量的大小就能測定物體的表面溫度。微小的溫度變化會引起明顯的輻射能量變化,因此利用紅外輻射測量溫度的靈敏度很高。實際物體的輻射度除了依賴于溫度和波長外,還與構成該物體的材料性質及表面狀態(tài)等因素有關。只要引入一個隨材料性質及表面狀態(tài)變化的輻射系數(shù),則就可把黑體的基本定律應用于實際物體。這個輻射系數(shù),就是發(fā)射率ε,或稱之為比輻射率,其定義為實際物體與同溫度黑體輻射性能之比,該系數(shù)表示實際物體的熱輻射與黑體輻射的接近程度,其值在0和1的數(shù)值之間。
紅外測溫儀的工作原理如圖 1所示:被測物體輻射出的紅外能量通過空氣傳送到紅外測溫儀的物鏡,物鏡把紅外線匯聚到紅外探測器上,探測器將輻射能轉換成電信號,又通過前置放大器、主放大器將信號放大、整形、濾波后,經(jīng)過A/D轉換電路處理后輸入微處理器。微處理器進行環(huán)境溫度補償,并對溫度值進行校正后驅動顯示電路顯示溫度值。同時,微處理器還發(fā)出相應的報警信號,并且接受按鍵輸入的發(fā)射率以完成發(fā)射率設定。
2.系統(tǒng)硬件設計
本紅外線溫度檢測系統(tǒng)主要由傳感器 A2PTMI﹑LM358有源濾波電路﹑AD轉換電路﹑微處理器﹑顯示電路等幾個部分組成。因為傳感器輸出的信號為0-5V,剛好滿足 AD轉換的要求,故在本設計中省略了放大電路,只對傳感器的信號進行了濾波處理。另外,本系統(tǒng)還有信號變換電路輸出4~20mA、1~5V等模擬信號,并有RS232、RS485接口輸出數(shù)字信號來與上位機通信。
2.1傳感器A2PTMI原理及其應用
PerkinElmer A2TPMI 是一種內部集成了專用信號處理電路以及環(huán)境溫度補償電路的多用途紅外熱電堆傳感器,這種集成紅外傳感器模塊將目標的熱輻射轉換成模擬電壓。該傳感器自帶距離系數(shù) D:S=8:1的光學系統(tǒng),通過該透鏡接收空氣中的紅外輻射,然后轉換成相應的電壓信號,該信號通過一個 8 bit分辨率的可編程放大器放大。根據(jù)熱電堆溫度測量原理,熱電堆電壓可能是正或者負,取決于目標溫度是否高于或者低于 A2TPMI 的環(huán)境溫度。為了使負電壓信號能在單電源系統(tǒng)處理,所有的內部信號都連接到 1.255 V內部電壓參考(Vref),作為虛擬模擬地信號。為了熱電堆放大電路偏置電壓的調整,放大器上帶了一個能產(chǎn)生有 8 bit 分辨率偏置電壓的可編程調整部分。此外, A2TPMI 內部還集成有溫度傳感器來探測環(huán)境溫度,這個信號被放大后匹配熱電堆放大信號曲線的反向特性,進行信號處理。為了溫度補償,放大的熱電堆信號和溫度參考信號相加于一個放大器。經(jīng)過溫度補償放大后的信號輸出到 VTobj 腳,溫度參考信號或者參考電壓輸出到 Vtamb腳。A2TPMI的工作特性由一個內部隨機存取寄存器進行配置,所有的參數(shù) /配置永久地存在并行 E2PROM 內??刂茊卧峁┑膬删€、雙向同步串口 (SDAT, SCLK),可以訪問所有寄存器的 A2TPMI內部參數(shù)。A2TPMI 傳感器通常不需要使用串口, SDAT,SCLK 引腳被內部連到 VDD。
2.2濾波電路設計
A2TPMI放大器采用斬波放大器技術,由于這種技術本身具有的特性,輸出信號 VTobj 和 VTamb 中包含了大約10 mV 峰值、 250 kHz 的交流信號。這些交流信號能被一個電子低通濾波電路或者類似的軟件濾波抑制掉。在高阻抗負載應用中,象 LM358 這樣的rail to rail 運算放大器電路,可以作為輸出信號的濾波器。
在本設計中采用第二種濾波電路,因為集成運放的開環(huán)電壓增益和輸入阻抗均很高,輸出阻抗又低,所以有源濾波電路有一定的電壓放大和緩沖作用,濾波效果好,提高了傳感器信號的準確度。
2.3 AD轉換電路
TLC2543 是 12位開關電容逐次逼近模數(shù)轉換器。其設置方法如下:DATA INPUT端串行輸入的 8位數(shù)據(jù),它規(guī)定了 TLC2543要轉換的模擬量通道、轉換后的輸出數(shù)據(jù)長度、輸出數(shù)據(jù)的格式。其中高4位(D7~ D4)決定通道號。對于0通道至l0通道,該4位分別為 0000~IOIOH,當為 1011~1101時,用于對 TLC2543的自檢,當為 1110時 ,TLC2543進入休眠狀態(tài)。低 4位決定輸出數(shù)據(jù)長度及格式。其中 D3、D2決定輸出數(shù)據(jù)長度,0l表示輸出數(shù)據(jù)長度為 8位,11表示輸出數(shù)據(jù)長度為 16位 ,其他為 12位 。D1決定輸出數(shù)據(jù)是高位先送出 ,還是低位先送出,為 0表示高位先送出。D0決定輸出數(shù)據(jù)是單極性(二 進 制 )還是雙極性(2的補碼),若為單極性,該位為0,反之為1。當片選 cs從高到低的時候,開始一次工作周期,此時 EOC為高,輸入數(shù)據(jù)寄存器被置為 0,輸出數(shù)據(jù)寄存器的內容是隨機的。開始時,片選 CS為高,I/OCLOCK、DATAINPUT被禁止,DATAOU呈高阻狀態(tài),EOC為高。使變低,I/OCLOCK、DATAINPUT使能,DATAOU脫離高阻狀態(tài) 。12個時鐘信號從 I/OCLOCK端依次加入,隨著時鐘信號的加入,控制字從 DATAINPUT一位一位地在時鐘信號的上升沿時被送入TLC2543(高位先送入),同時上一周期轉換的A/D數(shù)據(jù),即輸出數(shù)據(jù)寄存器中的數(shù)據(jù)從 DATAOUT一位一位地移出。TLC2543收到第 4個時鐘信號后,通道號也已收到,此時TLC2543開始對選定通道的模擬量進行采樣,并保持到第 12個時鐘的下降沿。在第 12個時鐘下降沿,EOC變低,開始對本次采樣的模擬量進行A/D轉換,轉換時間約需lOt1s,轉換完成后 EOC變高,轉換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個工作周期輸出。該芯片與微處理器接口的時候只需占用四個 IO口,其 12個時鐘的工作時序看參考相關手冊。
2.4 SOC級微處理器特性
本系統(tǒng)所采用的是 SOC級 STC系列單片機,指令代碼完全兼容傳統(tǒng) 51單片機,工作頻率可達48HZ,本設計中使用的微處理器為 6時鐘周期,故其工作頻率相當于普通 51單片機的96MHZ,為本系統(tǒng)提供了速度保證。另外,本設計選用的 STC89C58RD含有 32K的程序存儲區(qū),并在內部擴展了 32K的數(shù)據(jù) FLASH存儲器,從而使本設計能方便的擴展相關功能,如參數(shù)的記憶功能等。該微處理器還支持 IAP與ISP,不需專用的編程器,通過普通串口即可調試程序??垢蓴_也是選用該單片機的理由之一,本設計主要應用于對工業(yè)設備進行溫度監(jiān)控,故抗干擾十分重要。
3.系統(tǒng)軟件設計
紅外線溫度檢測系統(tǒng)的軟件設計主要有如下幾個主要模塊:初始化模塊﹑I/O口查詢模塊﹑AD轉化模塊﹑數(shù)據(jù)處理模塊﹑數(shù)據(jù)糾正模塊﹑顯示驅動模塊等。另外還一個中斷程序處理模塊:0外部中斷,主要用于參數(shù)設定。
軟件設計流程如圖 3所示。
整個程序采用 c51編寫,初始化模塊主要是初始化各路報警信號,將發(fā)射率等參數(shù)設定成默認的值并顯示。主程序不斷通過 I/O口查詢模塊掃描 AD轉換模塊送過來的 12位數(shù)字信號,本程序中采用的是 SPI總線的通信方式,串行的接口方式節(jié)約了大量 IO口。接受過來的數(shù)字信號通過數(shù)據(jù)處理模塊處理之后按查表的方式得出溫度值,把該溫度值經(jīng)過數(shù)據(jù)糾正模塊糾正后送顯示模塊顯示,并將數(shù)據(jù)傳給上位機界面進行顯示,從而完成了一路溫度測量。在程序的運行過程中,隨時可以對發(fā)射率,報警值等參數(shù)進行設定。當功能鍵按下的時候觸發(fā)單片機的 0外部中斷,在中斷程序中對參數(shù)設定按鍵進行掃描,并將結果存儲起來。每路測溫結束后系統(tǒng)通過 RS485將溫度值傳送給上位機,在 VB界面上顯示。
對于一個測量系統(tǒng),其精度和準確度是非常重要的。雖然本設計選用 12位AD,給本設計的高精度奠定了基礎,但是由于傳感器,AD等電子器件自身不可避免的誤差和外界的干擾,測量結果難免會有些偏差。因此和研究其他儀器儀表一樣,在本設計中,也進行了大量實驗,通過對實驗數(shù)據(jù)的處理,進一步提高了準確度。采用的主要方法是曲線擬合的最小二乘法?,F(xiàn)將其原理介紹如下:
在函數(shù)的最佳平方逼近中,函數(shù) f(x)∈C[a,b],如果 f(x)只在一組離散點集{xi,i=0,1,…,m}上給定,那么我們就需要對實驗數(shù)據(jù){(xi,yi),i=0,1,…,m}進行曲線擬合,其中,yi= f(xi)。若要求函數(shù) y="S" ((*)x)與所給數(shù)據(jù){(xi,yi),i=0,1,…,m}擬合,則誤差δi= S *(x)-yi。設Φ 1(x),Φ2(x),…, Φn(x)是C[a,b]上線性無關函數(shù)族,在Φ =span{Φ1(x),Φ2(x),…, Φ n(x)}中找一函數(shù)S ((*)x),使其誤差平方和最小即可。因為實驗數(shù)據(jù)量很大,故在實際運算中,可以借助MATLAB等數(shù)學工具,通過調用或者編寫相關函數(shù)來完成曲線擬合,最后選擇適當?shù)慕Y果輸出。