熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】

熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】

熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】

熱電偶測溫原理

如果測量的溫度不超過150℃,通常我們使用NTC就可以了,單片機通過AD轉換就可以得到溫度,簡單實用。燒水壺、咖啡壺、豆漿機等小家電上基本上都是用NTC來測溫。但測量的溫度比較高的話,NTC就不適用了。這時候我們可以用熱電偶來測溫,一般可以測量-200℃~1300℃,特殊情況下可測量-270℃~2800℃。

熱電偶(thermocouple)是溫度測量中常用的測溫元件,它直接測量溫度,並把溫度信號轉換成熱電動勢信號。各種熱電偶的外形常因需要而極不相同,但是它們的基本結構卻大致相同,通常由熱電極、絕緣套保護管和接線盒等主要部分組成。

熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】

熱電偶結構圖

熱電偶測溫的方案跟NTC是完全不同的,熱電偶測溫的工作原理大家可以自行網上找資料參考,這裡主要是談設計方案。

熱電偶實際上是一種能量轉換器,它將熱能轉換為電能,用所產生的熱電勢測量溫度,我們只要測出兩端的電動勢差,再加上溫度補償就可以得到真實的溫度了。

下面我們用K型熱電偶進行方案設計

本方案可以讓你快速設計出穩定可靠的產品,缺點就是成本會比較高一些,還有就是測溫範圍不會太廣,如果本方案滿足不了你的要求,請關注我,很快就會推出下一個熱電偶測溫方案哦。

方案一:使用專用K型熱電偶測溫IC測溫

Maxim(美信)有一款K型熱電偶測溫的專用IC MAX6675,它是自帶溫度補償的

熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】

IC模塊

使用環境溫度為:-20°C to +85°C

測溫範圍是:0°C ~1024°C,分辨率可以去到0.25°C

原理圖如下:

熱電偶測溫方案系列--專用K型熱電偶測溫IC測溫【原創首發】

連接原理圖

通過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_();

}

}

下一個熱電偶測溫方案很快會推出,記得關注哦。

大家要是喜歡我的文章,請關注一下我的賬號,給我更多的動力,我會把更多經驗分享出來。也歡迎大家給我評論留言。


分享到:


相關文章: