基于T-F變換的多點(diǎn)流體溫度測(cè)量系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)一般測(cè)溫方法在進(jìn)行流體多點(diǎn)溫度測(cè)量時(shí)存在系統(tǒng)復(fù)雜,準(zhǔn)確度和速度難以兼顧的問題,提出了一種基于溫度-頻率(T-F)變換的測(cè)量系統(tǒng)。該系統(tǒng)使用PIC18F6722單片機(jī)控制MOS管開關(guān)陣列,使多個(gè)測(cè)點(diǎn)的熱敏電阻分別與TLC555構(gòu)成振蕩電路,將測(cè)點(diǎn)的溫度變化轉(zhuǎn)化為振蕩頻率的變化,使用8253計(jì)數(shù)芯片時(shí)TLC555的輸出信號(hào)進(jìn)行測(cè)量并產(chǎn)生中斷,單片機(jī)讀取8253計(jì)數(shù)值反演為測(cè)點(diǎn)溫度。實(shí)驗(yàn)表明,測(cè)點(diǎn)數(shù)目增多不會(huì)增加測(cè)量系統(tǒng)的復(fù)雜程度,通過設(shè)置8253的計(jì)數(shù)初值,可以在不改變硬件的情況下靈活選擇測(cè)量的準(zhǔn)確度和速度,滿足了流體多點(diǎn)精確快速測(cè)溫的需求。同時(shí)該系統(tǒng)具備簡(jiǎn)潔實(shí)用,成本低的優(yōu)點(diǎn)。
關(guān)鍵詞:溫度測(cè)量;多點(diǎn);溫度頻率變換;熱敏電阻;TLC555;8253計(jì)數(shù)器
溫度是流體力學(xué)中的重要變量,不僅影響流體介質(zhì)的物理性質(zhì),更驅(qū)動(dòng)著對(duì)流、混合等物理過程,因此需要快速、準(zhǔn)確、無擾或微擾地測(cè)量流體中的溫度,特別是為了了解全場(chǎng)流體的溫度分布,就需要對(duì)多個(gè)測(cè)點(diǎn)同時(shí)測(cè)量。目前采用的多點(diǎn)溫度測(cè)量方法可分為接觸式和非接觸式。接觸式方法將溫度傳感器的電阻等電學(xué)信號(hào)通過AD電路采集后轉(zhuǎn)換為溫度信號(hào),測(cè)量精度高,常作為其他測(cè)量方法標(biāo)定的標(biāo)準(zhǔn)值。因每個(gè)溫度傳感器都要占用一路AD采集通道,當(dāng)測(cè)點(diǎn)增多時(shí),采集系統(tǒng)的成本大幅增加,可維護(hù)性變差。用集成溫度傳感器如DS18B20進(jìn)行多點(diǎn)測(cè)溫的方法已見報(bào)導(dǎo),采用單總線通信使采集電路大為簡(jiǎn)化,然而采集電路受測(cè)點(diǎn)溫度影響,測(cè)量精度有限,集成溫度傳感器的封裝尺寸較大,熱響應(yīng)時(shí)間長(zhǎng),不適于快速測(cè)量,且對(duì)流場(chǎng)的干擾較大。非接觸式溫度測(cè)量如紅外熱成像方法和示溫染料方法能夠高密度的測(cè)量或顯示溫度場(chǎng)分布,此類方法受于背景場(chǎng)和染料性質(zhì)的影響,測(cè)溫的相對(duì)精度較高,絕對(duì)精度不能滿足流體定量研究的需要。
為了克服現(xiàn)有測(cè)溫方法不能完全滿足流體多點(diǎn)測(cè)溫需要的缺點(diǎn),提出了一種用MOS管控制快速響應(yīng)熱敏電阻陣列與TLC555構(gòu)成溫度-頻率(T-F)變換電路,結(jié)合單片機(jī)PIC18F6722和8253計(jì)數(shù)芯片精確測(cè)量頻率并反演為測(cè)點(diǎn)溫度,完成了測(cè)溫系統(tǒng)的軟硬件設(shè)計(jì),能夠滿足流體多點(diǎn)精確測(cè)溫的需要。
1 總體設(shè)計(jì)
PIC18F6722是Microchip公司生產(chǎn)的增強(qiáng)型單片機(jī),集成了豐富的硬件資源,包括兩個(gè)增強(qiáng)USART,一個(gè)SPI總線端口,54個(gè)I/O引腳,4個(gè)外部中斷,3 936字節(jié)的SRAM,128 K字節(jié)的FLASH程序存儲(chǔ)空間和1 024字節(jié)的EEPROM,可以方便的與外設(shè)連接和通信。
8253是Intel公司的微型機(jī)外圍芯片,內(nèi)含三個(gè)獨(dú)立的16位可預(yù)置減法計(jì)數(shù)器和一個(gè)并行數(shù)據(jù)端口,可分別設(shè)置三個(gè)計(jì)數(shù)器的工作方式和讀寫計(jì)數(shù)值。SST25VF016是Silicon公司生產(chǎn)的16 Mbit SPI接口的串行FLASH存儲(chǔ)器,可以在失電的情況下長(zhǎng)期保存測(cè)量數(shù)據(jù)。TLC555是德州儀器生產(chǎn)的功能完全兼容NE555的定時(shí)器芯片,具有更快的響應(yīng)速度,最高工作頻率可達(dá)2MHz。
系統(tǒng)的結(jié)構(gòu)圖如圖1所示,P溝道MOS管開關(guān)陣列在PIC18F6722的控制下將熱敏電阻陣列中的單個(gè)電阻分別與TLC555構(gòu)成無穩(wěn)態(tài)振蕩電路,測(cè)點(diǎn)溫度變化引起熱敏電阻的阻值變化,使得TLC555輸出頻率改變,實(shí)現(xiàn)T-F變化;2MHz標(biāo)準(zhǔn)時(shí)鐘為8253計(jì)數(shù)器提供時(shí)間基準(zhǔn),用8253精確測(cè)量TLC555的輸出頻率;PIC18F6722設(shè)置8253三個(gè)計(jì)數(shù)通道的工作方式和計(jì)數(shù)初值,在結(jié)束時(shí)讀取8253計(jì)數(shù)值,將計(jì)數(shù)值轉(zhuǎn)化為測(cè)點(diǎn)的溫度,將溫度數(shù)據(jù)存儲(chǔ)在SST25VF106中或通過通信電路實(shí)時(shí)傳送到PC機(jī)處理和顯示。
2 硬件設(shè)計(jì)
多個(gè)熱敏電阻構(gòu)成m行n列的熱敏電阻陣列,需要m+n個(gè)MOS管,每個(gè)MOS管的柵極分別由PIC18F6722的一個(gè)I/O口的控制。以5行3列的熱敏電阻陣列為例,電路連接方式如圖2所示。VT1~VT8是8個(gè)P溝道MOS管,柵極分別由PIC18F6722的RE0~RE7引腳控制,R(1,1)~R(3,5)是15個(gè)熱敏電阻,分布在流體中待測(cè)溫度場(chǎng)的不同測(cè)點(diǎn),TLC555振蕩電路采用了文獻(xiàn)中推薦的連接方式,輸出信號(hào)為TLC555CK。
通過程序設(shè)置RE端口為推挽式輸出模式,如令RE=0xdd,R(2,3)通過VT2和VT6與RA并聯(lián),則GT充電的時(shí)間常數(shù),放電的時(shí)間常數(shù)為τL=CTRB,可計(jì)算得到TLC555的輸出頻率TLC555CK,其他測(cè)點(diǎn)可依此類推。溫度變化引起R(2,3)變化,使τH改變進(jìn)而引起輸出頻率TLC555CK改變。實(shí)現(xiàn)T-F變換。因?yàn)槭褂铆h(huán)境不同和器件老化等問題,測(cè)量系統(tǒng)存在不可避免的系統(tǒng)漂移,注意到τL與溫度變化無關(guān),可以用CT放電周期對(duì)系統(tǒng)漂移進(jìn)行校正。使用8253計(jì)數(shù)器精確測(cè)量TLC555CK,2 MHz標(biāo)準(zhǔn)時(shí)鐘提供時(shí)間基準(zhǔn),電路連接如圖3所示,其中U1為2 MHz有源晶振,U2為三輸入與門,U3是二輸入與門,U4是反相器。將RB0設(shè)置為下降沿觸發(fā)的外部中斷方式,在中斷函數(shù)中改變MOS管陣列的通斷組合,切換到下一個(gè)測(cè)點(diǎn)熱敏電阻進(jìn)行測(cè)量。
8253計(jì)數(shù)器每個(gè)計(jì)數(shù)通道都有6種工作方式,可通過向控制寄存器寫入控制字設(shè)置。計(jì)數(shù)通道0工作于方式2-頻率發(fā)生器方式,在該方式下裝入計(jì)數(shù)初值且GATE為高電平后即開始在輸入脈沖的下降沿進(jìn)行減1計(jì)數(shù),OUT保持高電平,計(jì)數(shù)值減為1時(shí),OUT輸出低電平并保持一個(gè)CLK周期,在下一個(gè)脈沖下降沿OUT輸出高電平,重裝初值計(jì)數(shù)。計(jì)數(shù)通道1和計(jì)數(shù)通道2工作于方式1-可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器,在該方式下裝入計(jì)數(shù)初值不計(jì)數(shù),當(dāng)GATE由低變高并保持高時(shí)進(jìn)行減1計(jì)數(shù),GATE為低時(shí)不計(jì)數(shù),任意時(shí)刻GATE由低變高則裝載計(jì)數(shù)初值重新開始計(jì)數(shù)。
3個(gè)計(jì)數(shù)通道工作的時(shí)序圖如圖4所示,N0、N1、N2、分別為3個(gè)計(jì)數(shù)通道的初值。減小N0可以提高測(cè)量速度,增大N0可以獲得較高的測(cè)量精度,應(yīng)根據(jù)實(shí)際需要設(shè)定N0的值。一般設(shè)置N1、N2為最大值0xFFFF,并保證在測(cè)量過程中不溢出(單點(diǎn)測(cè)量時(shí)間小于32 ms)。在OUT0的下降沿觸發(fā)PIC18F6722的RB0引腳外部中斷,改變MOS管通斷組合狀態(tài)切換到下一個(gè)測(cè)點(diǎn)計(jì)數(shù)。
系統(tǒng)標(biāo)定時(shí)計(jì)數(shù)通道0的初值為N0*計(jì)數(shù)通道1的計(jì)數(shù)值為△N1*,△N1*/(N0*-1)應(yīng)為恒定值,當(dāng)系統(tǒng)存在漂移時(shí),該值會(huì)改變。通過以下方法校正系統(tǒng)漂移:在測(cè)量中計(jì)數(shù)通道0的初值為N0,計(jì)數(shù)通道1的計(jì)數(shù)值為△N1,漂移系數(shù)η定義為
計(jì)數(shù)通道2的計(jì)數(shù)值△N2與η的乘積得到校正后的計(jì)數(shù)值△N2*,用△N2*計(jì)算測(cè)點(diǎn)溫度即可校正系統(tǒng)漂移。
通信和存儲(chǔ)電路如圖5所示。通信電路使用Maxim公司的MAX485芯片將PIC18F6722的串口1轉(zhuǎn)換為半雙工RS485總線,用RC0引腳控制MAX485的收發(fā)工作狀態(tài),實(shí)現(xiàn)多個(gè)測(cè)量單元遠(yuǎn)距離可靠通信。存儲(chǔ)電路使用PIC18F6722的SPI端口,因SST25VF106是3.3 V工作電壓,將PIC18F6722的SD0和SCK用電阻分壓后連接,SDI引腳是輸入腳,可直接與SST25VF106的SO引腳連接。
使用MOS管開關(guān)陣列控制熱敏電阻陣列,實(shí)現(xiàn)多點(diǎn)的快速精確測(cè)溫,當(dāng)測(cè)點(diǎn)增多時(shí),測(cè)量系統(tǒng)的復(fù)雜度無顯著增加。采用8253硬件計(jì)數(shù)電路,PIC18F6722只需對(duì)8253的寄存器值進(jìn)行配置和讀寫,即可在測(cè)量精度和測(cè)量速度間根據(jù)實(shí)際情況靈活選擇,降低了軟件開發(fā)難度,系統(tǒng)的維護(hù)升級(jí)十分方便。
3 軟件設(shè)計(jì)
PIC18F6722是多點(diǎn)流體溫度測(cè)量系統(tǒng)的主控制器,需要完成各硬件的初始化、硬件連接的檢測(cè)、各測(cè)點(diǎn)溫度的測(cè)量、測(cè)量數(shù)據(jù)的傳輸與存儲(chǔ)等功能。軟件采用模塊化的設(shè)計(jì)方法,用C語(yǔ)言編寫,使用MPLAB IDE編譯器編譯,包括主程序、硬件初始化程序、硬件檢測(cè)程序、測(cè)溫中斷服務(wù)程序、通信和存儲(chǔ)程序等。軟件的流程圖如圖6所示。
主程序主要完成初始化各系統(tǒng)變量,與上位機(jī)通信決定系統(tǒng)硬件的工作方式,處理其他系統(tǒng)事務(wù)和各種異常。硬件初始化程序主要完成設(shè)置PIC18F6722各I/O口的工作方式,設(shè)置8253各寄存器的值。硬件檢測(cè)程序主要測(cè)試通信電路的收發(fā)功能是否正常,存儲(chǔ)電路的讀寫功能是否正常,振蕩電路是否能正常工作以及熱敏電阻陣列與MOS管開關(guān)陣列與振蕩電路的連接是否正常。
在8253的OUT0引腳下降沿觸發(fā)PIC18F6722的RB0引腳上的外部中斷時(shí),執(zhí)行測(cè)溫中斷服務(wù)程序,在程序中關(guān)斷上一測(cè)點(diǎn)對(duì)應(yīng)的MOS管,讀取8253中計(jì)數(shù)通道1、2的計(jì)數(shù)值,打開下一測(cè)點(diǎn)對(duì)應(yīng)的MOS管,用計(jì)數(shù)通道1的值計(jì)算漂移系數(shù)校正系統(tǒng)漂移,再將計(jì)數(shù)器2的計(jì)數(shù)值轉(zhuǎn)化為測(cè)點(diǎn)溫度。
4 系統(tǒng)標(biāo)定與應(yīng)用
利用圖2中電容CT的充放電時(shí)間常數(shù)可以計(jì)算測(cè)點(diǎn)溫度與TLC555輸出頻率的對(duì)應(yīng)關(guān)系,但在實(shí)際應(yīng)用中由于各器件的制造誤差,很難直接由對(duì)應(yīng)關(guān)系計(jì)算測(cè)點(diǎn)溫度。系統(tǒng)的直接測(cè)得量是8253的計(jì)數(shù)值,校正系統(tǒng)漂移后只有一個(gè)量(△N2*/N0),通過初始標(biāo)定獲得溫度測(cè)量范圍內(nèi)每隔0.2K對(duì)應(yīng)的(△N2*/N0),將其順序保存在FLASH存儲(chǔ)器SST25VF016中。在測(cè)量時(shí),PIC18F6722按照線性插值方法將8253的計(jì)數(shù)值轉(zhuǎn)化為測(cè)點(diǎn)溫度。因?yàn)闇y(cè)量系統(tǒng)包含系統(tǒng)漂移校正機(jī)制,故系統(tǒng)標(biāo)定過程只需執(zhí)行一次便可保證長(zhǎng)期穩(wěn)定的測(cè)量精度。
具體應(yīng)用中使用PIC18F6722的空閑I/O口實(shí)現(xiàn)了12x12陣列共144個(gè)熱敏電阻的多點(diǎn)測(cè)量。TLC555在溫度為298K時(shí)的振蕩頻率約為2 kHz,經(jīng)過系統(tǒng)標(biāo)定后,在280~320 K的范圍內(nèi)測(cè)量精度優(yōu)于0.05 K,單點(diǎn)測(cè)量時(shí)間約為7 ms,全場(chǎng)測(cè)量時(shí)間約為1 s,滿足了流體實(shí)驗(yàn)中對(duì)多點(diǎn)溫度高精度快速測(cè)量的需要。該測(cè)量系統(tǒng)已成功應(yīng)用于水平溫差對(duì)流的實(shí)驗(yàn)研究中。
5 結(jié)束語(yǔ)
本系統(tǒng)實(shí)現(xiàn)了流體介質(zhì)內(nèi)多點(diǎn)精確快速測(cè)溫的功能,測(cè)點(diǎn)數(shù)目增多時(shí)系統(tǒng)的復(fù)雜度基本不變。硬件電路將測(cè)點(diǎn)溫度變化轉(zhuǎn)化為TLC555輸出頻率的變化,并用8253計(jì)數(shù)器進(jìn)行精確計(jì)數(shù),單片機(jī)控制器只需讀寫8253寄存器即可計(jì)算測(cè)點(diǎn)溫度,簡(jiǎn)化了軟件設(shè)計(jì),方便系統(tǒng)的維護(hù)升級(jí),單片機(jī)控制器改變8253的計(jì)數(shù)初值,不改動(dòng)硬件即可在測(cè)量速度和準(zhǔn)確度間靈活選擇。系統(tǒng)實(shí)現(xiàn)了漂移校正功能,省去了繁瑣的多次標(biāo)定過程,能夠在不同的使用環(huán)境中長(zhǎng)期穩(wěn)定的測(cè)量。