概念
- NTC :負溫度係數熱敏電阻器,在溫度越高時電阻值越低
- PTC :正溫度係數熱敏電阻器,在溫度越高時電阻值越大
NTC的初始電阻大,因此對電流的阻礙作用就更大,可以有效地阻擋住尖峯電流,當電路趨於穩定時,NTC電阻就逐漸變小,從而保護電路。 PTC與NTC恰恰相反,在穩定的電路中,PTC相當於導線,當遇到一個臨時的脈衝信號時,PTC阻值急劇增大,電路相當於開路;當脈衝信號離開,電流變小,PTC阻值變小,電路恢復正常。
總結:NTC處理掉異常,使電路能正常導通,主要應用於溫度補償、過流保護、過熱保護、自控加熱、馬達啓動、彩電消磁等;PTC識別異常,使電路截止,主要應用於溫度補償、過流保護、過熱保護、自控加熱、馬達啓動、彩電消磁等。
應用電路
應用原理
NTC電阻溫度計算公式:Rt = Rp*EXP(B*(1/T1-1/T2))
- T1,T2 :單位都是開爾文溫度
- Rt :是熱敏電阻在T1溫度下的阻值
- Rp : 是熱敏電阻在T2常溫下的標準阻值
- EXP:e的n次方
- Bx :熱敏電阻的重要參數
- Ka :開爾文單位與攝氏單位的轉換參數(273.15)
T2是已知的即:標準溫度下的標準阻值(Rp)的開爾文溫度值(273.15+25.0)
T1就是欲求的溫度(開爾文標):T1 = 1/(ln(Rt/R)/B+1/T2)
實際溫度還需要從T1的開爾文溫度轉成攝氏溫度,即:temp = T1 - 273.15 + 0.5 (後面的0.5是誤差矯正)
應用程序
#include “math.h”
const float Rp = 100000.0; // 100k,NTC自身的阻值(25°C)
const float T2 = (273.15 + 25.0); // T2
const float Bx = 3950.0; // B
const float Ka = 273.15;
int main(void)
{
uint16_t Vadc; // 獲取的ADC值
float Vout; // ADC值轉爲實際電壓值
float Rx; // NTC的阻值
float temp; // NTC阻值對應的溫度值
Vadc = getADC(); // 獲取ADC值
Vout = (float)Vadc/4095*3.3; // Vadc乘以分辨率值乘以ADC參考電壓
Rx = (100000*Vout)/(3.3-vout); // 上拉電阻(R23 = 100K)
temp = (1/(log(Rx/Rp)/Bx+(1/T2)))-273.15+0.5
return 0;
}