Termistor de interfaz con ADC de 10 bits PIC24

Quiero conectar un termistor 103AT-2 directamente con el ADC de 10 bits PIC24. Estoy interesado en el rango de temperatura entre -10 °C (donde la resistencia del termistor es de 42,47 kΩ) a +70 °C (donde la resistencia del termistor es de 2,228 kΩ) y la precisión necesaria es de 0,1 °C.

He explorado algo en línea e incluso en este foro en "Selección de resistencia de polarización para termistor". Para la selección de la resistencia de polarización Rb, si tomo la media geométrica de los valores de resistencia mínima (2,228 kΩ) y máxima (42,47 kΩ), Rb es 9,70 kΩ. Redondeé esto a 10kΩ.

A continuación se muestra mi esquema que no tiene una fuente de corriente constante. El circuito incluye un potenciómetro de 10kΩ en serie con Rb para calibración.

esquemático

Mi pregunta es: ¿Cómo puedo construir una fuente de corriente constante, de modo que la corriente que fluye a través del divisor de voltaje sea constante, independientemente de la resistencia del termistor?

No estamos aquí para diseñar un circuito para usted. ¿Ha buscado fuentes actuales constantes, en línea o en un libro? Además, para diseñar un circuito de este tipo, querrá definir sus requisitos (error máximo, rango de voltaje de salida, disipación de potencia máxima en el termistor, etc.).

Respuestas (3)

Antes de salir corriendo y crear una fuente actual, haga los cálculos para ver si necesita uno y si realmente resolverá el problema si usa uno.

Quiere medir de 2,2 kΩ a 42,5 kΩ. El punto medio geométrico es, por lo tanto, 9,7 kΩ como dices. Entonces, la primera pregunta debería ser si solo un pullup de 9.7 kΩ es lo suficientemente bueno.

Cada límite será del 18,5% desde su extremo correspondiente. Los extremos no utilizados utilizan el 37% del rango, dejando un 63% disponible para medir. Eso da como resultado 645 valores utilizables de su A/D de 10 bits. Tiene un intervalo de 80 °C y necesita una resolución superior a 0,1 °C. Eso significa que necesita 800 valores precisos. En la práctica, la resolución probablemente deba ser el doble como mínimo. Esto significa que el método de extracción simple no funcionará.

Si amplifica el resultado del divisor simple a casi todo el rango A/D, entonces al menos hay más conteos disponibles. La siguiente pregunta es si la resolución en los extremos del rango es lo suficientemente buena. Se necesita más de un cambio relativo en la resistencia en los extremos del rango para causar la misma diferencia de voltaje que en el medio del rango. Puede hacer los cálculos, pero me parece claro que cubrir todo el rango de un divisor de resistencia en un A/D de 10 bits no es suficiente.

Considere también que desea 1/800 de precisión de rango completo . Es poco probable que cualquier A/D de 10 bits, particularmente uno integrado en un microcontrolador, sea lo suficientemente bueno para eso. Con 10 bits, solo comienza con 1024 valores, por lo que con los errores individuales y de no linealidad habituales, no obtendrá una precisión de escala completa de 1/800 en todo el rango.

Considere también la precisión del termistor. Mire la hoja de datos y probablemente verá que no está cerca de 0,1 °C de -10 a +70 °C. Tendrá que hacer una calibración cuidadosa de cada unidad individual. Tenga en cuenta que esto requiere medir la temperatura real a más de 0,1 °C. En resumen, sus objetivos parecen poco realistas.

Una forma en que al menos puede obtener la resolución para que la corrección sea posible si de alguna manera administra la calibración, es usar un A/D delta-sigma externo. Estos son lentos, pero de muy alta resolución. 20 bits, por ejemplo, es posible. Dado que las temperaturas no cambian tan rápido, la lentitud debería ser aceptable. Con una buena calibración en algunos puntos conocidos, al menos es teóricamente posible hacer lo que quieras. Terminará ejecutando algo como la ecuación de Steinhart-Hart sobre la marcha, o usará una tabla de búsqueda de unos pocos miles de puntos e interpolará en el medio.

Tan verdadero. Solo un punto: muchos PIC permiten definir el límite superior e inferior del ADC mediante un voltaje externo. Esto asigna el rango de temperatura dado a todo el rango de ADC, aunque, como dijiste, la precisión no es la mejor.

Una forma es usar una fuente de corriente de un solo componente en lugar de construir una fuente de corriente completa desde cero.

El REF200 es una fuente de corriente de precisión que se puede "programar" a 50, 100, 200, 300 y 400 microamperios mediante flejado de clavijas, pero también otras corrientes dadas algunas resistencias. Tiene una precisión del 0,5 % y una deriva de temperatura del orden de 25 ppm/K.

http://www.ti.com/lit/ds/symlink/ref200.pdf

Otro componente único es un diodo de corriente constante, hay una gran variedad disponible con diferente precisión y corrientes. https://eu.mouser.com/Semiconductors/Discrete-Semiconductors/Diodes-Rectifiers/Current-Regulator-Diodes/_/N-ax1ml

Una mejor manera si los cables al termistor son cortos es usar un PIC con un tipo de oscilador RC "555" incorporado y cambiar entre el termistor y una resistencia de referencia de precisión. Este método (sin PIC) se utiliza en prácticamente todos los termómetros de sonda o contacto de consumo, incluido el tipo de temperatura corporal.

Al usar un contador para medir la frecuencia resultante, puede obtener un amplio rango dinámico, que es necesario por las características del termistor. Si hace los cálculos, en primer orden, todo (valor del condensador, valores del divisor, voltaje de referencia/suministro) se cancela en primer orden, excepto el valor de las resistencias de referencia (y una resistencia del 0,1 % es barata). Una fuente de corriente constante que se desvía en relación con la referencia de ADC agregará errores y tendrá que lidiar con ese molesto rango dinámico (lo que significa muchos bits de ADC para poca resolución en los extremos).

Por supuesto, no todas las aplicaciones son adecuadas para tener CA en el termistor y limitaciones en la capacitancia del cable.