日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

外设驱动库开发笔记38:RTD热电阻测温驱动

發布時間:2024/7/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 外设驱动库开发笔记38:RTD热电阻测温驱动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??我們已經討論過多種溫度檢測方式,但我們尚未關注熱電阻溫度檢測,但熱電阻測溫在工業環境中是非常常見的。盡管有很多集成的數字式的熱電阻接口元器件,但這些器件不但成本較高,靈活性也大打折扣。所以我們有時會使用更簡單靈活的電路來驅動RTD。而在這一篇中,我們將討論如何設計并實現RTD熱電阻測溫的驅動。

1、功能概述

??RTD熱電阻是常用的測溫元件。RTD的英文全稱為“Resistance Temperature Detector”,因此準確來說,它應該翻譯為“電阻溫度檢測器”。RTD是一種特殊的電阻,其阻值會隨著溫度的升高而變大,隨著溫度的降低而減小。工業上利用它的這一特性進行溫度測量,因此RTD也被俗稱為“熱電阻”。

??并不是所有的金屬都適合做成RTD,符合這一特性的材料需要滿足如下幾個要求:

  • 該金屬的電阻值與溫度變化能呈線性關系;

  • 該金屬對溫度的變化比較敏感,即單位溫度變化引起的阻值變化(溫度系數)比較大;

  • 該金屬能夠抵抗溫度變化造成的疲勞,具有好的耐久性;

??符合該要求的金屬并不多,常見的RTD材料有:鉑(Pt)、鎳(Ni)和銅(Cu)。對應的國家統一生產工業標準化熱電阻有三種:WZP型鉑電阻、WZC型銅熱電阻和WZN型鎳熱電阻。

1.1、鉑熱電阻

??鉑電阻是我們常用的RTD,鉑熱電阻采用溫度系數為3.885x10-3的元件,溫度和電阻的關系表達式:

??在-200℃~0℃為:

??在0℃~850℃為:

??其中:Rt溫度為t℃時的電阻;R0是溫度為0℃時的電阻。而各個系數均為常數:

??常數A=3.9083×10-3

??常數B=-5.775×10-7

??常數C=-4.183×10-12

??鉑熱電阻對應的測溫范圍是:-200℃~850℃。常見的型號Pt50、Pt100、Pt200、Pt500和Pt1000等。名稱中的數值表示熱電阻在0℃下的標稱電阻值。

1.2、銅熱電阻

??銅熱電阻也是在工業上常用的RTD,銅熱電阻采用溫度系數為:4.28x10-3的元件。溫度和電阻的關系表達式:

??其中,Rt是溫度為t℃時的電阻,R0是溫度為0℃時電阻,而各個系數長數的取值為:

??常數α=4.28x10-3

??常數β=-9.31x10-8

??常數γ=1.23x10-9

??銅熱電阻對應的測溫范圍是:-50℃~150℃。而常見的分類型號有:Cu50、Cu100等。名稱中的數值表示熱電阻在0℃下的標稱電阻值。

1.3、鎳熱電阻

??另一種工業標準RTD則是鎳熱電阻。鎳熱電阻采用溫度系數為6.17x10-3的元件。溫度和電阻的關系表達式:

??其中,Rt是溫度為t℃時的電阻,R0是溫度為0℃時電阻,而各個系數長數的取值為:

??常數A=5.485x10-3

??常數B=6.65x10-6

??常數C=2.805x10-11

??鎳電阻對應的測溫范圍是:-60℃~180℃。而常見的分類型號有:Ni100、Ni300、Ni500等。名稱中的數值表示熱電阻在0℃下的標稱電阻值。

2、驅動設計與實現

??我們已經了解了RTD的特性,以及不同材質的RTD溫度與點組的關系表達式。接下來我們就實現通過RTD檢測溫度的驅動。

2.1、對象定義

??在實現RTD的驅動之前,我們依然需要抽象并定義RTD對象,并將其聲明為對象類型。

2.1.1、對象的抽象

??在實現對RTD的操作之前,我們先抽象RTD對象。每一個RTD對象都有幾個共同的屬性:標稱電阻,溫度和類型。類型就是前面所描述的三種,我們將其定義為枚舉。對象的聲明如下:

/* 定義RTD類型枚舉 */ typedef enum RTDCategory {WZP,WZC,WZN }RTDCategoryType;/* 定義RTD對象 */ typedef struct RTDObject{float nominalR; //RTD標稱電阻float temperature; //所測溫度RTDCategoryType type; //RTD類型 }RTDObjectType;

2.1.2、對象的初始化

??聲明一個RTD對象后,僅僅只是聲明了一個對象變量,在賦值之前尚不能使用。所以我們要使用初始化函數將其初始化之后才可使用。RTD對象的初始化函數如下:

/* 初始化RTD對象 */ void RTDInitialization(RTDObjectType *rtd,RTDCategoryType type,float nr) {if(rtd==NULL){return;}rtd->type=type;rtd->nominalR=nr; }

2.2、對象操作

??前面我們已經提到了各類熱電阻的電阻與溫度的關系表達式。在這些表達式中,二次以上的項的系數其實是非常小的,所以在一般要求不高,溫度變化不是很大的場合基本就是線性關系。所以我們將其簡化為線性方程:

2.2.1、WZP鉑電阻

??鉑電阻的溫度與電阻的關系在0度以上和0度以下略有差別,但如果我們采用線性近似的話則是一樣的。所以我們采用線性方程實現如下:

/* 計算鉑電阻溫度 */ static float CalcWzpTemperature(RTDObjectType *rtd,float rt) {float temp=0.0;float a=0.0039083;temp=((rt/rtd->nominalR)-1.0)/a;rtd->temperature=temp;return temp; }

2.2.2、WZC銅電阻

??銅電阻的溫度與電阻的關系表達式相對復雜,但好在高次項的影響相對較小,我們依然可以使用線性近似來實現它。

/* 計算銅電阻溫度 */ static float CalcWzcTemperature(RTDObjectType *rtd,float rt) {float temp=0.0;float alpha=0.00428;temp=((rt/rtd->nominalR)-1.0)/alpha;rtd->temperature=temp;return temp; }

2.2.3、WZN鎳電阻

??鎳電阻的電阻溫度系數比鉑電阻和銅電阻都要好,但其線性度則不如鉑電阻,同樣的是其高次項的影響也相對較小,在溫度并不大范圍變化時仍然可以采取線性近似。

/* 計算鎳電阻溫度 */ static float CalcWznTemperature(RTDObjectType *rtd,float rt) {float temp=0.0;float a=0.005485;temp=((rt/rtd->nominalR)-1.0)/a;rtd->temperature=temp;return temp; }

2.2.4、統一溫度獲取

??面向不同類型的RTD,我們實現了各自的溫度轉換函數,但作為驅動函數庫,我們總是希望能進行無差別調用。所以我們希望設計一個統一的接口函數。所幸每種類型RTD操作函數均有相同的格式,于是我們就很容易想到使用函數指針來處理它。

float (*CalcTemperature[])(RTDObjectType *rtd,float rt)={CalcWzpTemperature,CalcWzcTemperature,CalcWznTemperature};/*計算熱電阻測得的溫度*/ float CalcRTDTemperature(RTDObjectType *rtd,float rt) {float temp=0.0;temp=CalcTemperature[rtd->type](rtd,rt);return temp; }

3、驅動的使用

??我們采用RTD測溫時可以使用這一驅動。其實用步驟分兩步:聲明并初始化對象;調用函數計算溫度值。接下來我們就來實現之。

3.1、聲明并初始化對象

??首先使用RTDObjectType類型定義RTD對象,如果有多個可以使用數組方式定義。RTDObjectType rtd;或RTDObjectType rtd[N];的形式。其中N為數量。

??定義對象變量后和以調用初始化函數對齊進行初始化:

??RTDInitialization(&rtd,type,nr);

??其中type為RTDCategoryType枚舉類型,可以是鉑熱電阻(WZP)、銅熱電阻(WZC)和鎳熱電阻(WZN)。nr為所操作對象在0攝氏度時的標稱電阻值。

3.2、調用函數計算溫度值

??對象初始化后就可以操作對象來獲取對象當前時刻的溫度值。具體如下:

??CalcRTDTemperature(&rtd,rt);

??其中rt為當前對象的電阻值。

4、應用總結

??我們實現了RTD的檢測,對得到的當前溫度電阻值,使用根本驅動就可以計算得到當前的溫度。

??本驅動支持鉑熱電阻(WZP)、銅熱電阻(WZC)和鎳熱電阻(WZN)。對于不同該類型,不同標稱值的對象均可以使用。不過需要注意:鉑熱電阻對應的測溫范圍是:-200℃850℃;銅熱電阻對應的測溫范圍是:-50℃150℃;鎳電阻對應的測溫范圍是:-60℃~180℃。超過范圍的將不被支持。

歡迎關注:

總結

以上是生活随笔為你收集整理的外设驱动库开发笔记38:RTD热电阻测温驱动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 制服丝袜在线一区 | 一级特黄aaa | 成熟丰满熟妇高潮xxxxx视频 | 亚洲一区二区三区四区在线播放 | 日韩欧美黄色 | 超碰在线网| 色综合狠狠爱 | 911福利视频 | 亚洲免费视 | 亚洲精品欧美在线 | 99福利在线| 激情自拍偷拍 | 免费的av网站 | 国产人妻一区二区三区四区五区六 | 巨茎人妖videos另类 | 麻豆精品国产传媒av | 午夜h视频 | 免费色网址 | 久久国产成人精品国产成人亚洲 | 99国产精品人妻噜啊噜 | 乱码一区二区三区 | 91在线视频免费看 | 99啪啪| 青娱乐91视频 | 美日韩中文字幕 | 国产无套内射又大又猛又粗又爽 | 欧美日韩国产伦理 | 久久午夜鲁丝片午夜精品 | 日韩一区二区三区免费在线观看 | 久久美| 久久久久成人精品无码 | 欧美男同又粗又长又大 | 免费成人黄色片 | 精品一区二区在线视频 | 日批视频免费观看 | www.色多多 | 五月婷婷六月综合 | 欧美视频一区 | 2021av| 99草视频 | 欧美特黄一区二区三区 | 伦一理一级一a一片 | 伊人手机在线视频 | 成人a毛片久久免费播放 | 中文字av| 91丨porny丨 | 潘金莲一级淫片aaaaa武则天 | 欧美又大粗又爽又黄大片视频 | 亚洲黄网在线观看 | 国产日本在线播放 | 国产黄色大片在线观看 | 日本久久精品视频 | www.69视频 | 日韩中文字幕在线免费观看 | 综合视频一区 | 国产亚洲精品成人无码精品网站 | 精品日日夜夜 | 暴力调教一区二区三区 | 咪咪成人网| 欧美日韩三级在线 | 国产精品国产三级国产普通话对白 | 成人手机在线视频 | 69精品久久久久久 | 国产高清片 | 一区二区麻豆 | 国产黄色网页 | 免费在线播放毛片 | 人人超碰97 | 美女网站av | www.xxx在线观看 | 少妇久久久久久 | 杨幂一区二区国产精品 | 91久久精品国产91性色69 | 国产欧美一区二区三区鸳鸯浴 | 四虎5151久久欧美毛片 | 欧美大尺度视频 | 狠狠干亚洲色图 | 香蕉视频在线网址 | 亚洲在线成人 | 免费性情网站 | a级黄毛片 | av片国产| 日韩久久成人 | 色呦呦在线免费观看 | 香蕉国产在线观看 | 在线观看不卡一区 | 少妇高潮毛片色欲ava片 | 青青草五月天 | 久久无码视频一区 | 成年人免费网址 | 69影院在线观看 | 成人h在线观看 | 冲田杏梨在线 | 琪琪午夜伦理影院7777 | 亚洲激情视频在线观看 | 亚洲精品在线中文字幕 | 韩日av在线 | 在线免费观看污 | 亚洲首页 |