国产麻豆精品国产三级在线专区-亚洲国产午夜福利久久久-午夜啪爽国产片精品99-久久久久久久国产精品电影

溫度傳感器MAX31820在氣體渦輪流量計中的應用

摘    要:介紹了溫度傳感器 MAX31820 在氣體渦輪流量計溫度補償中的應用。在分析了溫度對體積流量的影響之后,詳細介紹了溫度補償?shù)姆椒?、MAX31820 的特性、系統(tǒng)硬件和軟件的設計方法。

0 、引言:氣體渦輪流量計是新一代的智能型速度式流量儀表,具有精度高、重復性好、量程范圍寬、體積小、結(jié)構(gòu)比較簡單、運動部件少等優(yōu)點。圖 1 為氣體渦輪流量計的傳感器結(jié)構(gòu)圖。由圖可見,當氣體通過管道時,沖擊置于流體中的葉輪,對葉輪產(chǎn)生驅(qū)動力矩,使葉輪克服摩擦力矩和流體阻力矩而旋轉(zhuǎn),在一定的流量范圍內(nèi),葉輪的旋轉(zhuǎn)頻率與氣體流速成正比。由此,氣體流速可通過測量葉輪的旋轉(zhuǎn)頻率得到,從而可以計算得到通過管道的氣體的體積流量。但是由于氣體是由大量雜亂無章運動著的分子組成的,分子間的距離較大,隨著溫度或壓力的變化,分子間距會發(fā)生變化,其體積與壓力成反比,與溫度成正比。因此,當被測氣體的溫度和壓力發(fā)生變化時,是無法計量和比較氣體的體積流量的,需要將其統(tǒng)一轉(zhuǎn)換為標準狀態(tài)下的體積流量。

1、氣體渦輪流量計的溫度補償:
  渦輪流量計直接測量的是工作狀態(tài)下的實際體積流量,標準狀態(tài)和工作狀態(tài)下的體積流量將通過式(1)進行轉(zhuǎn)換。
(1)式中    q Vn、q V——分別為標準狀態(tài)和工作狀態(tài)下的體積流量,m3/h    p、T、Z——分別為工作狀態(tài)下壓力
圖 1  渦輪流量計結(jié)構(gòu)

圖 1  渦輪流量計結(jié)構(gòu)
(Pa),熱力學溫度(K)和氣體壓縮系數(shù)    pn、Tn、Zn——分別為標準狀態(tài)下壓力(Pa),熱力學溫度(K)和氣體壓縮系數(shù)這里需要指出,由于被測氣體所處狀態(tài)壓力較低,且溫度大大高于臨界溫度(指氣體轉(zhuǎn)變?yōu)橐簯B(tài)的溫度),因此可以不考慮由于工作狀態(tài)變化而引起的氣體壓縮系數(shù)的變化,按理想氣體計,這時氣體壓縮系數(shù)取為 1。為了能夠?qū)⒐ぷ鳡顟B(tài)下的實際體積流量轉(zhuǎn)換為標準狀態(tài)下的體積流量,除了需要測量工作狀態(tài)下的壓力外還需要測量工作狀態(tài)下被測氣體的熱力學溫度,從而完成氣體禍輪流量計的壓力補償和溫度補償。

2、溫度補償電路設計:
2.1、溫度傳感器的選擇:

  按照輸出形式分類,溫度傳感器分為模擬量輸出型和數(shù)字量輸出型。數(shù)字量輸出型溫度傳感器集感溫元件、測量電路、A/D 轉(zhuǎn)換電路于一體,輸出的是溫度對應二進制數(shù)值。和模擬量輸出型溫度傳感器相比,數(shù)字量輸出型溫度傳感器測量電路簡單、性能穩(wěn)定、可靠性強、抗干擾能力強、成本低?;跀?shù)字量輸出型溫度傳感器的以上優(yōu)點,氣體渦輪流量計選用數(shù)字量輸出型溫度傳感器作為溫度補償用傳感器。由于被測氣體的溫度低于 100℃,選用MAX31820 即可滿足要求。
MAX31820 是一種環(huán)境溫度傳感器,主要特性如下:
1)MAX31820 采用一根總線進行通信。
2)每個 MAX31820 芯片有一個的 64 位序列號,該序列號存儲在 ROM 中??稍试S多個MAX31820 芯片通過一根數(shù)據(jù)總線與主控制器進行數(shù)據(jù)通信,從而使得分布式溫度檢測應用得以簡化。
3)不需要外部器件。
4)該芯片的電源可由數(shù)據(jù)線本身提供,可節(jié)省外部電源。
5)測量溫度范圍從 -55℃ +125℃,等效的華氏溫度范圍是 -67。F +257。F。
6)測溫度在 +10℃ +45℃范圍時,測量精度為 ±0.5℃。
7)該芯片的核心功能是數(shù)字量輸出。溫度傳感器的分辨率是用戶可配置的,9 位、10 位、11位、12 位,相應的溫度增量分別為 0.5℃、0.25℃、0.125℃、0.0625℃。
8)750ms 內(nèi)能夠?qū)囟绒D(zhuǎn)換成 12 位數(shù)字量。
9)用戶可定義的非易失性報警設置。
10)告警搜索命令識別和尋址溫度在編定的極限之外的器件(溫度告警情況)。

2.2、溫度補償電路:
  MAX31820 采用單總線和主控制器進行通信。 MAX31820 的單線端口是一個開漏端口,使用時需要接上拉電阻(大約 5kΩ)。這樣,總線空閑時,保持高電平。該氣體渦輪流量計的主控制器選用的是型號為 MSP430F147 的 16 位單片機。圖 2 為MSP430F147 和 MAX31820 的接口電路。
圖 2  MSP430F147 和 MAX31820 的接口電路
圖 2  MSP430F147 和 MAX31820 的接口電路

3、 溫度補償?shù)能浖O計:
  MSP430F147 和 MAX31820 通 過 單 總 線 進 行數(shù)據(jù)傳輸,首先要進行初始化操作。初始化時序包含有主控制器 MSP430F147 向從機 MAX31820發(fā) 送 的 復 位 脈 沖, 之 后 是 MAX31820 返 回 的應 答 脈 沖。MAX31820 返 回 的 應 答 脈 沖 能 夠 讓MSP430F147 知道 MAX31820 是否已經(jīng)準備好。

  MSP430F147 檢 測 到 MAX31820 發(fā) 送 的應 答 脈 沖 之 后, 會 向 其 發(fā) 送 一 個 ROM 命 令。MAX31820 共有 5 個 ROM 命令,每個命令都是 8位長度。這些命令包括:Search ROM(F0h)、Read ROM(33h)、Match ROM(55h)、Skip ROM(CCh)、Alarm Seach(ECh)。 主 控 制 器 可 以 使 用 Skip ROM(CCh) 這個命令來同時處理總線上的所有設備,而不需要發(fā)送出任何 ROM 代碼信息。例如,主控制器可以通過先向從機發(fā)送跳過 ROM 命令,然后發(fā)送一個溫度轉(zhuǎn)換命令 [44H] 命令,這樣可以使總線上的所有設備同時進行溫度轉(zhuǎn)換。
  完成 12 位數(shù)字量溫度轉(zhuǎn)換需要 750ms。轉(zhuǎn)換后,產(chǎn)生的熱數(shù)據(jù)存儲在 2 個字節(jié)的溫度寄存器中,此溫度寄存器位于高速暫存存儲器。如果總線上只有一個從機,發(fā)送完跳過 ROM 命令之后,跟著發(fā)送讀取暫存器命令 [BEH],這樣就可以將溫度值讀取出來。在這種情況下,主機讀取從機不需要發(fā)送設備的 64 位 ROM 代碼,節(jié)省了時間。

溫度補償程序如下所示。// 變量定義 //char   error=0;         // MAX31820 初始化錯誤標志int    temperature=0;   // 讀取的 MAX 31820 溫度值float  temper=0.0;      // 轉(zhuǎn)換后的檢測溫度值char   temp_low=0;    // 讀取的 MAX 31820 溫度值的低 8 位

char  temp_high=0; // 讀取的 MAX 31820 溫度值 Delay(60);
的高 8 位   }
// 溫度檢測函數(shù) //   //MSP430F147 向 MAX31820 寫數(shù)據(jù)函數(shù) //
void gettemp(void)   void write_ max31820 (char n)
{   {char i;
init_ max31820();   for(i=0;i<8;i++)
if(error==1)   {P3DIR|=BIT4;
{   P3OUT&=~BIT4;
init_ max31820();   _NOP();
}   _NOP();
write_ max31820(0xCC); if((n&0x01)==0x01)
write_ max31820(0x44); {P3OUT|=BIT4;}
P3DIR|=BIT4;   else {P3OUT&=~BIT4;}
P3OUT|=BIT4;   n=n>>1;
Delay(60000);   Delay(4);
init_ max31820();   P3OUT|=BIT4;
if(error==1)   _NOP();
{   }
init_ max31820();   }
}   //MSP430F147 讀取 MAX31820 存儲器中溫度值函
write_ max31820(0xCC); 數(shù) //
write_ max31820(0xBE);; char read_max31820(void)
read_ max31820();   {
temp_low= read_ max31820(); char i;
temp_high= read_ max31820(); char temp;
}   for(i=0;i<8;i++)
//MAX31820 初始化函數(shù) // {
void init_max31820(void) temp=temp>>1;
{   P3DIR|=BIT4;
P3DIR|=BIT4;   P3OUT&=~BIT4;
P3OUT&=~BIT4;   _NOP();
Delay(65);   P3OUT|=BIT4;
P3OUT|=BIT4;   _NOP();
Delay(8);   _NOP();
P3DIR&=~BIT4;   _NOP();
if((P3IN&BIT4)==BIT4) _NOP();
{error=1;   _NOP();
P3DIR|=BIT4;   P3DIR&=~BIT4;
}   if((P3IN&BIT4)==0)
else   {temp=temp&0x7f;}
{error=0;   else
P3DIR|=BIT4;   {temp=temp|0x80;}
P3OUT|=BIT4;   Delay(4);
}   P3DIR|=BIT4;

// 利用數(shù)據(jù)處理函數(shù) //
 
void readtemp(void)
 
{
 
temperature=temp_high&0x0f; temperature=temperature<<8; temperature=temperature|temp_low; temper=temperature>>4;
 
}
 
  存放在變量 temper 中的溫度值為工作狀態(tài)下氣體的熱力學溫度,將其代入式(1),再將用壓力傳感器測得的工作狀態(tài)下的壓力代入式(1),即可得到標準狀態(tài)下的體積流量。
  P3OUT|=BIT4;
 
}
 
return temp;
 
}
 
// 延時函數(shù) //
 
void  Delay(unsigned int nValue)
 
{
 
while(nValue–) {};
 
}
 
4、溫度值的處理:
 
MAX31820 輸出的溫度數(shù)字量已經(jīng)被校準成攝氏溫度。溫度數(shù)字量為 16 位,其中包括符號位,符號位為 0 表示溫度值為正,符號位為 1 表示溫度值為負。如果設置的是 12 位的分辨率,寄存器中的所有位包含有效數(shù)據(jù)。如果設置的是 11 位的分辨率,第 0 位是無定義的。如果設置的是 10 位的分辨率,第 1 位和第 0 位是無定義的。如果設置的是 9 位的分辨率,第 0、1、2 位是無定義的。
 溫度寄存器的格式如表 1、表 2 所示。
 

    表 1 高 8 位字節(jié)格式    
               
BIT15 BIT14 BIT13 BIT12 BIT11 BIT10 BIT9 BIT8
               
S S S S S 26 25 24
    表 2 低 8 位字節(jié)格式    

5、結(jié)論:
  氣體渦輪流量計采用 MAX31820 檢測工作狀態(tài)下的氣體溫度,用軟件實現(xiàn)溫度自動補償。試驗證明實驗樣機實現(xiàn)了系統(tǒng)要求的主要技術(shù)指標。

相關(guān)新聞

返回頂部
0517-8699 6066 歡迎來電咨詢
Hello. Add your message here.