熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】
![熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】](http://p2.ttnews.xyz/loading.gif)
熱電偶測溫原理
如果測量的溫度不超過150℃,通常我們使用NTC就可以了,單片機通過AD轉換就可以得到溫度,簡單實用。燒水壺、咖啡壺、豆漿機等小家電上基本上都是用NTC來測溫。但測量的溫度比較高的話,NTC就不適用了。這時候我們可以用熱電偶來測溫,一般可以測量-200℃~1300℃,特殊情況下可測量-270℃~2800℃。
熱電偶(thermocouple)是溫度測量中常用的測溫元件,它直接測量溫度,並把溫度信號轉換成熱電動勢信號。各種熱電偶的外形常因需要而極不相同,但是它們的基本結構卻大致相同,通常由熱電極、絕緣套保護管和接線盒等主要部分組成。
![熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】](http://p2.ttnews.xyz/loading.gif)
熱電偶結構圖
熱電偶測溫的方案跟NTC是完全不同的,熱電偶測溫的工作原理大家可以自行網上找資料參考,這裡主要是談設計方案。
熱電偶實際上是一種能量轉換器,它將熱能轉換為電能,用所產生的熱電勢測量溫度,我們只要測出兩端的電動勢差,再加上溫度補償就可以得到真實的溫度了。
下面我們用K型熱電偶進行方案設計
本方案可以讓你快速設計出穩定可靠的產品,缺點就是成本會比較高一些,還有就是測溫範圍不會太廣,如果本方案滿足不了你的要求,請關注我,很快就會推出下一個熱電偶測溫方案哦。
方案一:使用專用K型熱電偶測溫IC測溫
Maxim(美信)有一款K型熱電偶測溫的專用IC MAX6675,它是自帶溫度補償的
IC模塊
使用環境溫度為:-20°C to +85°C
測溫範圍是:0°C ~1024°C,分辨率可以去到0.25°C
原理圖如下:
連接原理圖
通過SPI接口就可以直接讀取到溫度了,有一點需要注意的是,讀取溫度的頻率不要太高了,至少間隔0.5秒讀一次溫度數據。
讀取溫度的示例程序如下:
typedef struct
{
u16 TemperatureIn; //Temperature of Thermocouple
u8 ThermocoupleStatus; //=1 Thermocouple open
}TempStruct;
TempStructTemperature;
void Max6675Int(void)
{
MAX6675_CS=1;
MAX6675_SCK=0;
Temperature.ThermocoupleStatus=0;
Temperature.TemperatureIn=0;
}
void GetTemperature(void)
{
u16 TempData;
u8 i,Temp;
TempData=0x0000;
MAX6675_CS=1;
MAX6675_SCK=0;
_nop_();
MAX6675_CS=0;
_nop_();
if(MAX6675_SO==1)TempData+=1;
MAX6675_SCK=1;
for(i=0;i<15;i++)
{
TempData<<=1;
MAX6675_SCK=0;
_nop_();
if(MAX6675_SO==1)TempData+=1;
_nop_();
MAX6675_SCK=1;
}
MAX6675_SCK=0;
MAX6675_CS=1;
Temp=(u8)TempData;
Temp &=0x04;
if(Temp!=0) // Thermocouple open
{
Temperature.ThermocoupleStatus=1;
Temperature.TemperatureIn=0;
}
else
{
Temperature.ThermocoupleStatus=0;
TempData>>=3;
TempData&=0x0fff;
Temperature.TemperatureIn=TempData/4;
Temp=(u8)(TempData%4);
if(Temp>1)Temperature.TemperatureIn+=1;
_nop_();
}
}
下一個熱電偶測溫方案很快會推出,記得關注哦。
大家要是喜歡我的文章,請關注一下我的賬號,給我更多的動力,我會把更多經驗分享出來。也歡迎大家給我評論留言。
閱讀更多 電子產品設計方案 的文章