什麼是熱敏電阻NTC和PTC? 對於那些從未接觸過NTC的人, PTC或剛剛暴露於NTC和PTC, 他們不知道NTC和PTC是什麼. 當然, 了解NTC和PTC的概念相對簡單, 但是,當您搜索信息並查看許多令人困惑的專業術語, 以及一些硬件, 你可能有點笨拙, 畢竟, 您從未接觸過他們,您的思想充滿了問號. 對於渴望啟動項目的初學者或軟件工程師, 最好盡快獲得初步理解, 學習基本原理, 並使用代碼運行正確的數據. 畢竟, 學習是漸進的, 而且您不能一口氣深入探討它的原則.
1. 什麼是熱敏電阻NTC和PTC?
NTC和PTC都是熱敏電阻, 這是可以隨溫度改變電阻的特殊電阻器. 它們也可以說是一種感測器.
NTC和PTC都是熱敏電阻的類型, 是溫度敏感的電阻, NTC代表的地方 “負溫度係數” 意味著其電阻隨著溫度升高而降低, 而PTC代表 “正溫度係數” 意味著它的電阻隨著溫度升高而增加; 本質上, NTC熱敏電阻通常用於溫度傳感, 而PTC熱敏電阻由於自我排列的過度功能而經常用於電路保護.
不同之處在於,NTC是負溫度係數熱敏電阻, PTC是一個正溫係數熱敏電阻.
正溫係數熱敏電阻 (正溫度係數): 電阻值隨溫度升高而增加;
負溫度係數熱敏電阻 (NTC): 電阻值隨溫度升高而降低;
二. NTC和PTC的應用
1. NTC的應用:
用於溫度檢測, 通常溫度測量型NTC
用於抑制激增, 通常電源型NTCNTC熱敏電阻:
電阻隨溫度升高而降低.
廣泛用於溫度測量.
可以用作電路中的Inrush電流限制器.
2. PTC的應用包括:
在保護電路中, 例如過度的保護, 過度流動的保護
在啟動電路中
電阻隨著溫度的升高而增加.
通常被用作自我排列的保險絲,以保護電路免受過電流的情況.
在某些應用中可以充當自我調節的加熱元件.
三、. B值
B值: 物質常數, 用於指示NTC電阻值隨溫度變化在工作溫度範圍內的電阻值的幅度, 這與材料的組成和燒結過程有關. b值通常是數值 (3435K, 3950K).
B值越大, 電阻值隨溫度升高降低的速度, b值越小, 恰恰相反.
本文不使用B值, 但只是為了理解. 溫度也可以通過溫度係數B值計算方法來計算, 也可以稱為開爾文溫度算法.
4. R25
R25: NTC身體的電阻值25℃.
5. 原理分析
以NTC為例, 一般示意圖如下:
原理分析:
ADC功能用於收集電壓.
R1和R2是系列電路. 根據串聯電阻的電壓劃分公式, 我們有:
R = R1+R2;
來自i = u/r = u/(R1+R2), 然後:
u1 = ir1 = u(R1/(R1+R2))
u2 = ir2 = u(R2/(R1+R2))
我們使用u2 = ir2 = u(R2/(R1+R2)) 就是這樣.
ADC收集的數據轉換為電壓, 這是U2的電壓, 所以
你(R2/(R1+R2))= adc/1024*u
這裡 1024 是microcontroller的ADC的10位分辨率, 那是, 1024
在這裡我們知道u = 3.3V, 這是圖中的VCC, R1的值為10K, R2是NTC, 因此,它的價值暫時尚不清楚. 你可以被抵消.
最終公式是: R2 = ADC*R1/1024-ADC
那是, R2 = ADC*10000/1024-ADC
獲得R2的電阻值後, 我們可以通過將溫度與電阻表進行比較來獲取溫度. 抵抗比較表通常由商人購買後提供.
下一個, 讓我們去代碼. 這裡, 我們使用NTC表查找方法轉換溫度. 您可以通過添加ADC值來使用此代碼.
const unsigned int temp_tab[]={
119520,113300,107450,101930,96730,91830,87210,82850,78730,74850,//-30 到 -21,
71180,67710,64430,61330,58400,55620,53000,50510,48160,45930,//-20 到 -11,
43810,41810,39910,38110,36400,34770,33230,31770,30380, 29050,//-10 到 -1,
27800,26600,25460,24380,23350,22370,21440,20550,19700,18900,18130,//0-10,
17390,16690,16020,15390,14780,14200,13640,13110,12610,12120,//11-20,
11660,11220,10790,10390,10000,9630,9270,8930,8610,8300, //21-30, 8000,7710,7430,7170,6920,6670,6440,6220,6000,5800,//31-40, 5600,5410,5230,5050,4880,4720,4570,4420,4270,4130,//49-50, 4000,3870,3750,3630,3510,3400,3300,3190,3090,3000,//51-60, 2910,2820,2730,2650,2570,24 90,2420,2350,2280,2210,//61-70, 2150,2090,2030,1970,1910,1860,1800,1750,1700,1660,//71-80, 1610,1570,1520,1480,1440,1400,1370,1330,1290,1260,//81-90 1230,1190,1160,1130,1100,1070,1050,1020,990,//91-99, };
短ADC; // 獲取NTC的ADC值
短NTC_R; // NTC電阻值
#定義R1 10000
void get_temp()
{
短溫度;
短CNT;
ADC = ADC_GET_VALUE(ADC_CH__0); // 獲取ADC值
列印函數(“———–類比數位轉換器:%d n n”,類比數位轉換器);
ntc_r = adc*r1/(1024-類比數位轉換器);
cnt = 0;
溫度= -30;
做{
如果(temp_tab[碳奈米管] < NTC_R){ // 表值小於計算的電阻值, 出口以獲得溫度
休息;
}
++溫度;
}儘管(++碳奈米管 < 大小(temp_tab)/4); // 循環表的大小, 那是, 次數
列印函數(“NTC_R:%D溫度:%d n n”,NTC_R,溫度);
}
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt



