NTC熱敏電阻溫度計算以及C語言實現

一:硬件設計
這裏使用的是MF52-103熱敏電阻,其中B爲3950,它與10K電阻串聯,由於熱敏電阻隨着溫度的升高,電阻值降低,所以10K電阻兩端的電壓將上升。
在這裏插入圖片描述
二:NTC熱敏電阻的計算
NTC 熱敏電阻溫度計算公式:Rt = R EXP(B(1/T1-1/T2))

其中,T1和T2指的是K度,即開爾文溫度。

Rt 是熱敏電阻在T1溫度下的阻值。

R是熱敏電阻在T2常溫下的標稱阻值。100K的熱敏電阻25℃的值爲10K(即R=10K)。T2=(273.15+25)

EXP是e的n次方

B值是熱敏電阻的重要參數

通過轉換可以得到溫度T1與電阻Rt的關係T1=1/(ln(Rt/R)/B+1/T2),這裏可以將ln換算成log,即T1=1/(log(Rt/R)/B+1/T2)。

對應的攝氏溫度t=T1-273.15,同時+0.5的誤差矯正。
三:C程序設計
首先,我們只需要知道當前溫度下熱敏電阻的阻值就可以算出溫度。
該硬件電路是一個簡單的串聯分壓電路,所以通過歐姆定律就可以很容易求得當前溫度下的熱敏電阻的阻值。
下面是C實現的代碼。

//電壓換算成溫度
void temp_data(void)
{
   float Rt=0;
   float Rp=10000;
   float T2=273.15+25;
   float Bx=3950;
   float Ka=273.15;
   float vol=0;
   vol=(float)((Get_Adc_Average(ADC_Channel_5,10))*(3.3/4096));
   Rt=(3.3-vol)*10000/vol;
   temp=1/(1/T2+log(Rt/Rp)/Bx)-Ka+0.5;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章