Cosa sono i termistori NTC e PTC? Per coloro che non sono mai stati esposti a NTC, PTC o sono appena stati esposti a NTC e PTC, Non sanno cosa sono NTC e PTC. Ovviamente, È relativamente semplice capire i concetti di NTC e PTC, Ma quando cerchi informazioni e vedi molti termini professionali confusi, così come un po 'di hardware, Potresti essere un po 'sbalordito, Dopotutto, Non sei mai stato esposto a loro e la tua mente è piena di interrogativi. Per principianti o ingegneri del software che sono ansiosi di avviare un progetto, è meglio avere una comprensione preliminare il prima possibile, Impara i principi di base, ed eseguire i dati corretti con il codice. Dopotutto, L'apprendimento è graduale, E non puoi approfondire i suoi principi in una volta.
1. Cosa sono i termistori NTC e PTC?
NTC e PTC sono entrambi termistori, che sono resistori speciali che possono cambiare la resistenza con la temperatura. Si possono anche dire che siano una specie di sensore.
NTC e PTC sono entrambi i tipi di termistori, che sono resistori sensibili alla temperatura, dove rappresenta NTC “Coefficiente di temperatura negativo” Significa che la sua resistenza diminuisce all'aumentare della temperatura, mentre PTC rappresenta “Coefficiente di temperatura positivo” Significa che la sua resistenza aumenta all'aumentare della temperatura; essenzialmente, I termistori NTC sono comunemente usati per il rilevamento della temperatura, mentre i termistori PTC sono spesso utilizzati per la protezione dei circuiti a causa delle loro capacità di auto-correzione di auto-resettatura.
La differenza è che NTC è un termistore coefficiente di temperatura negativo, e PTC è un termistore di coefficiente di temperatura positivo.
Termistore coefficiente di temperatura positivo (PTC): Il valore di resistenza aumenta con l'aumentare della temperatura;
Termistore coefficiente di temperatura negativo (NTC): Il valore di resistenza diminuisce con l'aumentare della temperatura;
Ii. Applicazioni di NTC e PTC
1. Applicazioni di NTC:
Utilizzato per il rilevamento della temperatura, Generalmente Tipo di misurazione della temperatura NTC
Utilizzato per la soppressione del aumento, Generalmente Tipo di alimentazione NTCNTC Termistor:
La resistenza diminuisce con l'aumentare della temperatura.
Ampiamente utilizzato per la misurazione della temperatura.
Può essere utilizzato come limite di corrente di invoco nei circuiti.
2. Le applicazioni di PTC includono:
Nei circuiti di protezione, come la protezione eccessiva di temperatura, Protezione eccessiva
Nei circuiti di avvio
La resistenza aumenta con l'aumentare della temperatura.
Spesso usato come fusibili auto-resettanti per proteggere i circuiti da situazioni di sovracorrente.
Può fungere da elemento di riscaldamento autoregolamento in determinate applicazioni.
III. Valore b
Valore b: costante materiale, Un parametro utilizzato per indicare l'ampiezza del valore di resistenza di NTC con variazione della temperatura all'interno dell'intervallo di temperatura operativa, che è correlato alla composizione del materiale e al processo di sinterizzazione. B il valore è generalmente numerico (3435K, 3950K).
Maggiore è il valore B, Più velocemente il valore di resistenza diminuisce con l'aumentare della temperatura, e più piccolo è il valore B, è vero il contrario.
Il valore b non è utilizzato in questo articolo, Ma solo per capire. La temperatura può anche essere calcolata con il metodo di calcolo del valore del coefficiente di temperatura B, che può anche essere chiamato algoritmo di temperatura Kelvin.
4. R25
R25: Valore di resistenza del corpo NTC a 25 ℃.
5. Analisi dei principi
Prendi NTC come esempio, Il diagramma schematico generale è il seguente:
Analisi dei principi:
La funzione ADC viene utilizzata per raccogliere la tensione.
R1 e R2 sono circuiti in serie. Secondo la formula della divisione di tensione dei resistori in serie, abbiamo:
R = R1+R2;
Da i = u/r = u/(R1+R2), Poi:
U1 = ir1 = u(R1/(R1+R2))
U2 = ir2 = u(R2/(R1+R2))
Usiamo u2 = ir2 = u(R2/(R1+R2)) E questo è tutto.
I dati raccolti da ADC vengono convertiti in tensione, che è la tensione di U2, COSÌ
U(R2/(R1+R2))= ADC/1024*U.
Qui 1024 è la risoluzione a 10 bit dell'ADC del microcontrollore che uso, questo è, 1024
Qui sappiamo che u = 3.3v, che è VCC nella figura, Il valore di R1 è 10k, e R2 è NTC, Quindi il suo valore non è noto per il momento. Puoi essere offset.
La formula finale è: R2 = ADC*R1/1024-ADC
Questo è, R2 = ADC*10000/1024-ADC
Dopo aver ottenuto il valore di resistenza di R2, Possiamo ottenere la temperatura confrontandola con la tabella di resistenza. La tabella di confronto della resistenza è generalmente fornita dal commerciante dopo l'acquisto.
Prossimo, Andiamo al codice. Qui, Usiamo il metodo di ricerca della tabella NTC per convertire la temperatura. Puoi utilizzare questo codice semplicemente aggiungendo il tuo valore ADC.
const non firmato int temp_tab[]={
119520,113300,107450,101930,96730,91830,87210,82850,78730,74850,//-30 A -21,
71180,67710,64430,61330,58400,55620,53000,50510,48160,45930,//-20 A -11,
43810,41810,39910,38110,36400,34770,33230,31770,30380, 29050,//-10 A -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 breve; // Ottieni il valore ADC di NTC
corto ntc_r; // Valore di resistenza NTC
#Definire R1 10000
vuoto get_temp()
{
Short Temp;
corto cnt;
ADC = ADC_GET_VALUE(ADC_CH_0); // Ottieni il valore ADC
printf(“———–ADC:%d n n”,ADC);
Ntc_r = ADC*R1/(1024-ADC);
cnt = 0;
temp = -30;
Fare{
Se(temp_tab[cnt] < Ntc_r){ // Il valore della tabella è inferiore al valore di resistenza calcolato, Esci per ottenere la temperatura
rottura;
}
++temp;
}Mentre(++cnt < sizeof(temp_tab)/4); // La dimensione della tabella del ciclo, questo è, il numero di volte
printf(“Ntc_r:%D temp:%d n n”,Ntc_r,temp);
}