Come misurare la temperatura usando un termistore NTC?


17

Ho un termistore NTC TTC103 . Ha una resistenza a potenza zero di 10 kΩ a 25 ° C e un valore B25 / 50 di 4050. Come si usa per misurare la temperatura?


Ehi, ho esattamente lo stesso termistore :)
Abdullah Kahraman,

Risposte:


12

I termistori NTC (coefficiente di temperatura negativo) cambiano la loro resistenza effettiva alla temperatura. L'equazione più comune utilizzata per modellare questa modifica è l' equazione di Steinhart-Hart . Utilizza tre coefficienti per caratterizzare il materiale NTC con grande precisione.

L' equazione di Steinhart-Hart è un modello della resistenza di un semiconduttore a diverse temperature. L'equazione è:

1T=A+Bln(R)+C(ln(R))3

dove:

  • è la temperatura (in kelvin)T
  • è la resistenza a T (in ohm)RT
  • , B e C sono icoefficienti di Steinhart-Hartche variano in base al tipo e al modello di termistore e all'intervallo di temperature di interesse. (La forma più generale dell'equazione applicata contiene un termine ( ln ( R ) ) 2 , ma questo viene frequentemente trascurato perché in genere è molto più piccolo degli altri coefficienti e pertanto non è mostrato sopra.)ABC(ln(R))2

- Equazione di Steinhart-Hart - Wikipedia, l'enciclopedia libera

Molti produttori forniscono note applicative (ad es. Qui ) dettagliate su come calibrare un determinato NTC se si desidera una precisione migliore della tolleranza di produzione indicata.

Il coefficiente B fornito può essere utilizzato in un'equazione di Steinhart-Hart semplificata come descritto nell'articolo del termistore di Wikipedia alla voce "Equazione dei parametri B" .


1
Tutte e tre le risposte sembrano buone, ma questa mi ha aiutato di più.
AndrejaKo

1
Come hai fatto a trattare con il ? ln
Abdullah Kahraman,

2
Perché devo andare su Wikipedia per l'equazione? Non puoi darlo qui?
Federico Russo,

Parli della tolleranza di fabbricazione. Ma come posso escogitare la tolleranza se ho solo B, tolleranza di B, tolleranza di R25? Come NTCLE203
thexeno

@thexeno collega il massimo e il minimo in un foglio di calcolo e calcolalo sull'intervallo di temperatura desiderato.
Nick T,

13

Usalo come una gamba (diciamo la gamba "superiore") in un circuito divisore di tensione con l'altra gamba essendo una resistenza nota. Misurare la tensione nel punto medio del divisore (ad es. Con un convertitore analogico-digitale). Inferire la resistenza del termistore dalla tensione misurata come:

Rthermistor=(VccVmeasured1)×Rknown

Usa l'equazione:

T=Bln(RthermistorR0×eBT0)

nel tuo caso, , B = 4050 e T 0 = ( 273 + 25 ) = 298 . Collegare quei numeri, oltre alla resistenza misurata del termistore nell'equazione e fa apparire una temperatura in Kelvin.R0=10000B=4050T0=(273+25)=298

Leggi questo articolo di Wikipedia per maggiori dettagli.


1
Sì, devo chiedere :) Come si eseguono questi calcoli utilizzando un microcontrollore a 8 bit?
Abdullah Kahraman,

2
@abdullahkahraman useresti una combinazione di una tabella di ricerca e interpolazione tra i valori della tabella di ricerca. Supponi di avere un ADC a 10 bit; sono 1024 possibili valori dall'ADC. È possibile memorizzare 1024 valori convertiti in memoria oppure 512 (ogni altro) o 256 (ogni 4) ecc., A seconda della memoria. L'interpolazione è un argomento di grandi dimensioni, così come il sovracampionamento o la "fascia", che è possibile utilizzare per aumentare la precisione.
akohlsmith,

@AndrewKohlsmith in che modo il sovracampionamento aumenta la risoluzione?
Abdullah Kahraman,

@abdullahkahraman il campionamento della tua tabella di ricerca potrebbe essere non uniforme sul dominio dell'input ... la memorizzazione di più campioni della curva in cui è "più curva" e l'applicazione dell'interpolazione può darti una migliore caratteristica di errore
vicatcu

1
@thexeno fai una nuova domanda.
Nick T,

6

Gli NTC non sono lineari e vedrai formule piuttosto brutte che esprimono la relazione resistenza alla temperatura.
Aggiungendo una coppia di resistori ordinari è possibile linearizzare il loro comportamento in modo tale che questa relazione sia approssimata da una semplice equazione lineare della forma . Il seguente esempio è tratto da questa nota Epcos . y=ax+b

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

La curva è praticamente diritta da 0 ° C a 60 ° C, il che è sufficiente per molte applicazioni.

Nel questa risposta mostro come in alcuni casi è possibile ottenere una curva lineare quasi perfetta (15 ppm) su un dominio limitato con un solo resistore in serie.

modifica
Se non hai i soldi per un resistore, dovrai usare l'equazione di Steinhart-Hart a cui Nick e Vicatcu fanno riferimento, oppure usare una tabella di ricerca e un'interpolazione. Entrambi hanno lo svantaggio di aver bisogno di più memoria: Steinhart-Hart contiene un logaritmo, per il quale avrai bisogno di una libreria a virgola mobile (suppongo che il tuo microcontrollore non abbia una ALU a virgola mobile). Anche la tabella di ricerca richiede un po 'di memoria e potrebbe non fornire una precisione migliore rispetto alla funzione linearizzata se è necessario interpolarla.


Non linearizzare a meno che non si utilizzino circuiti solo analogici!
Jason S,

E per favore modifica il tuo post per accuratezza: la relazione non diventa una semplice equazione lineare. La relazione approssima un'equazione lineare su un particolare intervallo di temperature.
Jason S,

4
Jason: puoi elaborare? Perché non linearizzare nei circuiti digitali?
Stephen Collings,

La nota dell'app dice che questa configurazione soffrirà un po 'di sensibilità.
Abdullah Kahraman,

2
@abdullah - Volevo dire ironicamente :-). Ma a quanto pare più utenti sembrano preferire la situazione più complessa, che non mi dispiace, ma l'unica ragione per cui posso pensare di scartare la soluzione più semplice è che il resistore sarebbe troppo costoso. :-)
stevenvh,

4

Un NTC ha una risposta non lineare alla temperatura.

R da questo usando la legge di Ohm.

Ad esempio, supponiamo di avere un'alimentazione a 5 V utilizzare una resistenza da 1k in serie con NTC e se si misura 0,5 V, basta dividere 1k per 0,5 V e ottenere 10k ohm come resistenza.

T0Ro

Quindi, dati questi dettagli, inseriscilo in questa equazione per ottenere Tla temperatura.

T=11To+(1B*lnRRo)


Conferma di aver riscritto correttamente l'equazione.
Abdullah Kahraman,

3

Esistono diversi modi (sia in termini di circuiti analogici sia in termini di calcolo del software) di utilizzare termistori per misurare la temperatura.

La risposta breve è approssimativamente la seguente:

  • Utilizzare il termistore e una resistenza di riferimento per creare un divisore di tensione.
  • Prendi il centro del partitore di tensione e inseriscilo in un convertitore da analogico a digitale.
  • Misurare la tensione ADC nel software.
  • Utilizzando la tua conoscenza della resistenza di riferimento e la curva R vs. T del termistore, converti dai conteggi ADC alla temperatura.

Ci sono un certo numero di sottigliezze qui, quindi per ulteriori letture potresti voler dare un'occhiata a questo mio articolo sul condizionamento del segnale del termistore - spero che questo aiuti!


L'articolo sembra buono!
Andreja Ko
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.