¿Cómo medir la temperatura usando un termistor NTC?


17

Tengo un termistor NTC TTC103 . Tiene una resistencia de potencia cero de 10 kΩ a 25 ° C y un valor B25 / 50 de 4050. ¿Cómo lo uso para medir la temperatura?


Hola, tengo exactamente el mismo termistor :)
Abdullah Kahraman

Respuestas:


12

Los termistores NTC (coeficiente de temperatura negativo) cambian su resistencia efectiva a la temperatura. La ecuación más común utilizada para modelar este cambio es la ecuación de Steinhart-Hart . Utiliza tres coeficientes para caracterizar el material NTC con gran precisión.

La ecuación de Steinhart-Hart es un modelo de la resistencia de un semiconductor a diferentes temperaturas. La ecuación es:

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

dónde:

  • es la temperatura (en grados Kelvin)T
  • es la resistencia en T (en ohmios)RT
  • , B y C son loscoeficientes Steinhart – Hartque varían según el tipo y modelo de termistor y el rango de temperatura de interés. (La forma más general de la ecuación aplicada contiene un término ( ln ( R ) ) 2 , pero esto se descuida con frecuencia porque generalmente es mucho más pequeño que los otros coeficientes y, por lo tanto, no se muestra arriba).ABC(ln(R))2

- Ecuación de Steinhart-Hart - Wikipedia, la enciclopedia libre

Muchos fabricantes proporcionan notas de aplicación (por ejemplo, aquí ) que detallan cómo calibrar un NTC dado si desea una precisión mejor que la tolerancia de fabricación citada.

El coeficiente B proporcionado se puede usar en una ecuación simplificada de Steinhart-Hart como se describe en el artículo del termistor de Wikipedia bajo "Ecuación de parámetro B" .


1
Las tres respuestas se ven bien, pero esta me ayudó más.
AndrejaKo

1
¿Cómo lidiaste con el ? lnorte
abdullah kahraman

2
¿Por qué tengo que ir a Wikipedia para la ecuación? ¿No puedes darlo aquí?
Federico Russo el

Hablas de la tolerancia de fabricación. Pero, ¿cómo puedo idear la tolerancia si solo tengo B, tolerancia de B, tolerancia de R25? Como el NTCLE203
thexeno

@thexeno conecta los máximos y mínimos en una hoja de cálculo y calcule sobre el rango de temperatura que desee.
Nick T

13

Úselo como un tramo (digamos el tramo "superior") en un circuito divisor de voltaje con el otro tramo como resistencia conocida. Mida el voltaje en el punto medio del divisor (por ejemplo, con un convertidor analógico a digital). Inferir la resistencia del termistor del voltaje medido como:

Rthmirmetroyostor=(VCCVmetromiunsturmire-1)×Rknorteownorte

Usa la ecuación:

T=silnorte(RthmirmetroyostorR0 0×mi-siT0 0)

en su caso, , B = 4050 y T 0 = ( 273 + 25 ) = 298 . Inserte esos números, más la resistencia medida del termistor en la ecuación y saca una temperatura en Kelvin.R0 0=10000si=4050T0 0=(273+25)=298

Lea este artículo de Wikipedia para más detalles.


1
Sí, tengo que preguntar :) ¿Cómo haces esos cálculos usando un microcontrolador de 8 bits?
Abdullah Kahraman

2
@abdullahkahraman usaría una combinación de una tabla de consulta y la interpolación entre los valores de la tabla de consulta. Digamos que tiene un ADC de 10 bits; eso es 1024 valores posibles del ADC. Podría almacenar 1024 valores convertidos en la memoria, o podría almacenar 512 (cada dos) o 256 (cada 4to), etc., dependiendo de la memoria. La interpolación es un tema importante, como el sobremuestreo o las "bandas", que puede utilizar para aumentar la precisión.
akohlsmith

@ AndrewKohlsmith, ¿cómo aumenta la resolución el sobremuestreo?
Abdullah Kahraman

@abdullahkahraman, el muestreo de su tabla de búsqueda podría no ser uniforme sobre el dominio de la entrada ... almacenar más muestras de la curva donde es "más curva" y aplicar interpolación puede proporcionarle una mejor característica de error
vicatcu

1
@thexeno hace una nueva pregunta.
Nick T

6

Los NTC no son lineales y verá fórmulas bastante desagradables que expresan la relación resistencia a la temperatura.
Al agregar un par de resistencias ordinarias, puede linealizar su comportamiento para que esta relación se aproxime mediante una ecuación lineal simple de la formay=unX+si. El siguiente ejemplo es de esta nota de Epcos .

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

La curva es prácticamente recta de 0 ° C a 60 ° C, que es suficiente para muchas aplicaciones.

En esta respuesta , muestro cómo, en algunos casos, puede obtener una curva lineal casi perfecta (15 ppm) sobre un dominio limitado con solo una resistencia en serie.

editar
Si no tiene el dinero para una resistencia, tendrá que usar la ecuación de Steinhart-Hart a la que se refieren Nick y Vicatcu, o usar una tabla de búsqueda e interpolación. Ambos tienen la desventaja de que necesitan más memoria: Steinhart-Hart contiene un logaritmo, para lo cual necesitará una biblioteca de punto flotante (supongo que su microcontrolador no tiene un ALU de punto flotante). La tabla de búsqueda también necesita algo de memoria, y puede que no le brinde una mejor precisión que la función linealizada si tiene que interpolar eso.


¡No linealice a menos que esté usando circuitos solo analógicos!
Jason S

Y edite su publicación para mayor precisión: la relación no se convierte en una simple ecuación lineal. La relación se aproxima a una ecuación lineal sobre un rango particular de temperaturas.
Jason S

44
Jason: ¿puedes explicarlo? ¿Por qué no linealizar en circuitos digitales?
Stephen Collings

La nota de la aplicación dice que esta configuración sufrirá un poco de sensibilidad.
Abdullah Kahraman

2
@abdullah - Lo dije irónicamente :-). Pero aparentemente más usuarios parecen preferir la situación más compleja, lo que no me importa, pero entonces la única razón por la que puedo pensar para descartar la solución más simple es que la resistencia sería demasiado costosa. :-)
stevenvh

4

Un NTC tiene una respuesta no lineal a la temperatura.

Puede calcular la resistencia de un termistor midiendo el voltaje a través de él en un circuito divisor potencial. Entonces, puedes obtener una resistenciaR de esto usando la ley de Ohm.

Por ejemplo, supongamos que tiene un suministro de 5V, use una resistencia de 1k en serie con el NTC y si mide 0.5V, simplemente divida 1k por 0.5V y obtenga 10k ohmios como resistencia.

También necesitas, T0 0 y Ro, una temperatura 'fija' en grados Kelvin y a esa temperatura, su resistencia. Por lo general, se administra a temperatura ambiente.

Luego, dados estos detalles, colóquelo en esta ecuación para obtener Tla temperatura.

T=11To+(1siEnRRo)


Confirme que he reescrito correctamente la ecuación.
Abdullah Kahraman

3

Hay varias formas (tanto en términos de circuitos analógicos como en términos de cálculo de software) para usar termistores para medir la temperatura.

La respuesta corta es aproximadamente la siguiente:

  • Use el termistor y una resistencia de referencia para hacer un divisor de voltaje.
  • Tome el centro del divisor de voltaje y aliméntelo en un convertidor analógico a digital.
  • Mida el voltaje ADC en el software.
  • Usando su conocimiento de la resistencia de referencia y la curva R contra T del termistor, convierta de conteos de ADC a temperatura.

Aquí hay una serie de sutilezas, así que para leer más, puede consultar este artículo mío sobre el acondicionamiento de la señal del termistor , ¡espero que esto ayude!


¡El artículo se ve bien!
AndrejaKo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.