Lograr mediciones de temperatura de alta precisión con sensores de silicio avanzados
La industria electrónica exige niveles cada vez mayores de precisión y la detección de temperatura no es una excepción. Existen muchas soluciones de detección de temperatura, cada una con sus ventajas e inconvenientes. Los sensores de temperatura de silicio, aunque bastante lineales, nunca han ofrecido la precisión de otras soluciones. Sin embargo, los avances recientes en detección de temperatura de silicio significan que ahora se puede lograr alta resolución y precisión con una solución de silicio.
Un nuevo congelador
Era marzo de 2020 y el Reino Unido estaba a punto de entrar en confinamiento. El mundo se estaba abasteciendo de comida por si los supermercados cerraban, y el futuro parecía incierto. Entonces, el congelador de la casa de los Bramble dejó de funcionar. Con las palabras de la canción de Kenny Rogers, "You Picked a Fine Time to Leave me..." resonando en mi cabeza, fuimos a buscar un reemplazo en línea.
Unos días después llegó nuestro nuevo congelador, completo con una pantalla digital de temperatura en el panel frontal, como era el deseo de la Sra. Bramble. El ajuste recomendado era -18 °C y después de una hora, el electrodoméstico estaba a la temperatura correcta y listo para aceptar alimentos. Era escéptico sobre la precisión de la lectura de temperatura, pero no me importaba mientras congelara la comida. Un problema, sin embargo: una mente ingeniera es una mente inquieta, y después de días de la lectura digital aparentemente sabia mirándome sin pestañear, desafiándome con sus pronunciamientos confiados, cedí. Tuve que probar las afirmaciones de precisión de esta nueva adición a nuestra cocina.
Sensores de temperatura
Existe una amplia variedad de sensores de temperatura utilizados en aplicaciones industriales, cada uno con ventajas e inconvenientes. Dado que muchos textos detallan el funcionamiento de varios sensores de temperatura, no repito los detalles aquí, pero ofrezco un resumen a continuación.
Termopares
Los termopares proporcionan una forma de bajo costo y moderadamente precisa de medir temperaturas muy altas. Se basan en un voltaje generado entre dos uniones, cada una hecha de metales disímiles, mantenidas a diferentes temperaturas, como descubrió Thomas Seebeck en 1821. En el caso de un termopar tipo K (hecho de las aleaciones Cromel y Alumel), produce un voltaje de aproximadamente 41 μV/°C y puede usarse para medir temperaturas superiores a 1000 °C. Sin embargo, el efecto Seebeck se basa en una diferencia de temperatura entre dos uniones, por lo que, mientras la unión "caliente" mide la temperatura de interés, la unión "fría" debe mantenerse a una temperatura conocida. Irónicamente, se requiere otro sensor de temperatura en la unión fría para medir la diferencia de temperatura, y piezas como el AD8494 proporcionan la solución perfecta para hacerlo. Dado que los termopares son físicamente pequeños, tienen baja masa térmica, por lo que dan una respuesta rápida a los cambios de temperatura.
RTDs
Para medir temperaturas moderadas (<500 °C), los detectores de temperatura por resistencia (RTD) son ampliamente utilizados por la industria. Estos dispositivos consisten en un elemento metálico que exhibe un cambio positivo en la resistencia con la temperatura, más comúnmente platino. De hecho, el sensor PT-100 es el RTD más utilizado en la industria y recibe su nombre por estar hecho de platino (PT) y tener una resistencia de 100 Ω a 0 °C. Aunque estos dispositivos no miden temperaturas tan altas como un termopar, son altamente lineales y su lectura es repetible. Un PT100 necesita una corriente de excitación precisa, creando una caída de voltaje precisa a través del sensor que es proporcional a la temperatura. La resistencia de los cables de conexión del PT100 crea un error en la medición de la resistencia del sensor, por lo que la detección Kelvin es típica, resultando en sensores de 3 o 4 hilos.
Termistores
Si se requiere una solución de bajo costo y el rango de temperatura es bajo, un termistor a menudo basta. Estos dispositivos son altamente no lineales, con una característica basada en la ecuación de Steinhart-Hart, que produce una reducción de resistencia con el aumento de temperatura. La ventaja de un termistor es que el cambio de resistencia es grande con pequeños cambios de temperatura, por lo que se puede lograr un alto nivel de precisión a pesar de su no linealidad. Los termistores también presentan una respuesta térmica rápida. Las no linealidades individuales de los termistores están bien definidas, por lo que pueden calibrarse, utilizando componentes como el LTC2986.
Diodos, diodos por todas partes, pero no una caída (Vbe) para hundirse...
Finalmente, para probar la veracidad del nuevo miembro del hogar, opté por un sensor de temperatura de silicio. Funcionan directamente, no necesitan compensación de temperatura de la unión fría ni linealización, están disponibles con salidas analógicas y digitales y vienen precalibrados. Hasta hace poco, sin embargo, solo ofrecían precisión moderada. Aunque eran lo suficientemente buenos para indicar el estado de salud de equipos electrónicos, nunca habían sido lo suficientemente precisos para medir, por ejemplo, la temperatura corporal, que generalmente requiere una precisión de ±0,1 °C (según la norma ASTM E1112). Eso ha cambiado con el reciente lanzamiento de los sensores de temperatura de silicio ADT7422 y ADT7320, que pueden medir con resoluciones de ±0,1 °C y ±0,2 °C respectivamente.
Un sensor de temperatura de silicio aprovecha la dependencia de la temperatura del Vbe de un transistor, según la ecuación de Ebers-Moll, aproximada por:

donde Ic es la corriente del colector, Is es la corriente de saturación inversa del transistor, q es la carga del electrón (1,602 x 10-19 culombios), k es la constante de Boltzmann (1,38 x 10-23) y T es la temperatura absoluta.
La expresión anterior para la corriente del colector también se cumple para la corriente en un diodo; entonces, ¿por qué todos los circuitos de aplicación usan un transistor y no un diodo? En realidad, la corriente en un diodo también incluye una corriente de recombinación resultante de los electrones que se recombinan con huecos al pasar por la región de agotamiento de la unión pn y esto presenta una no linealidad de la corriente del diodo con Vbe y temperatura. Esta corriente también aparece en un transistor bipolar, pero fluye hacia la base del transistor, por lo que no aparece en la corriente del colector; de ahí que la no linealidad sea mucho menor.
Reorganizando lo anterior se obtiene

Is es pequeño comparado con Ic, por lo que podemos ignorar el término '1' en la ecuación anterior. Ahora podemos ver que Vbe cambia linealmente según un cambio logarítmico en Ic. También podemos ver que si Ic e Is son constantes, entonces Vbe cambia linealmente con la temperatura, ya que k y q también son constantes. Es una tarea fácil forzar una corriente de colector constante en un transistor y medir cómo Vbe cambia con la temperatura.
Is está relacionado con la geometría del transistor y tiene una fuerte dependencia de la temperatura. Como muchos dispositivos de silicio, su valor se duplica con cada aumento de 10 °C en la temperatura. Si bien el efecto de este cambio de corriente se reduce por la función 'ln', todavía tenemos el problema de que el valor absoluto de Vbe cambia de transistor a transistor y, por lo tanto, se necesita calibración. Por eso, los sensores de temperatura de silicio prácticos usan dos transistores idénticos y fuerzan una corriente de colector de Ic en uno y 10Ic en el otro. Los transistores idénticos y corrientes ratiométricamente precisas son fáciles de fabricar en un circuito integrado, por eso la mayoría de los sensores de silicio usan esta arquitectura. El cambio logarítmico en la corriente causa un cambio lineal en Vbe y se mide la diferencia en los Vbe.
A partir de la ecuación anterior, para dos transistores mantenidos a la misma temperatura, la diferencia entre sus Vbe viene dada por

dado que

Podemos ver que

Al forzar diferentes corrientes a través de cada transistor y medir la diferencia en Vbe, hemos eliminado el término no lineal Is, el efecto de los diferentes Vbe absolutos y todos los demás efectos no lineales asociados con la geometría del transistor. Dado que k, q y ln10 son todos constantes, el cambio en Vbe es Proporcional a la Temperatura Absoluta (PTAT). Para una diferencia de 10x en las corrientes, la diferencia en los dos Vbe cambia linealmente con la temperatura a aproximadamente 198 μV/°C. Un circuito simplificado para lograr esto se muestra en la Figura 1.

Figura 1. Un circuito básico para medir temperatura.
Las corrientes en la Figura 1 deben elegirse cuidadosamente. Si la corriente es demasiado alta, el auto-calentamiento significativo y las caídas de voltaje a través de las resistencias internas dentro del transistor corrompen el resultado. Si la corriente es demasiado baja, las corrientes de fuga dentro del transistor añaden errores significativos.
También debe notarse que las ecuaciones anteriores se refieren a la corriente de colector del transistor, mientras que la Figura 1 muestra una corriente de emisor constante inyectada en el transistor. Los transistores pueden diseñarse de modo que la relación de corriente colector-emisor esté bien establecida (y cercana a la unidad), por lo que la corriente de colector es proporcional a la corriente de emisor.
Esto es solo el comienzo de la historia. Para obtener una precisión de ±0,1 °C con un sensor de temperatura de silicio, se necesita una caracterización y ajuste extensivos.
¿Es un pájaro? ¿Es un avión?
No, es un supertermómetro. Sí, existen. El sensor de temperatura de silicio sin calibrar debe colocarse en un baño lleno de aceite de silicona y calentarse a una temperatura precisa, medida con un supertermómetro. Estos dispositivos pueden medir con una precisión de más de cinco decimales. Los fusibles dentro del sensor se queman para ajustar la ganancia del sensor de temperatura y así linealizar su salida usando la ecuación y = mx + C. El aceite de silicona proporciona una temperatura muy uniforme, por lo que muchos dispositivos pueden calibrarse en un solo ciclo.
El ADT7422 tiene una precisión de ±0,1 °C, en un rango de temperatura de 25 °C a 50 °C. Este rango de temperatura está centrado alrededor de la temperatura corporal humana típica de 38 °C, lo que hace que el ADT7422 sea ideal para la monitorización precisa de signos vitales. Para aplicaciones industriales, el ADT7320 se ajusta para tener una precisión de ±0,2 °C, pero en un rango de temperatura más amplio de -10 °C a +85 °C.

Figura 2. El ADT7422 montado en un PCB de 0,8 mm de espesor
La calibración del sensor de temperatura de silicio no es el único problema, sin embargo. Al igual que con referencias de voltaje extremadamente precisas, las tensiones en el chip pueden corromper la precisión del sensor y la expansión térmica del PCB, el marco de plomo, el encapsulado de plástico y los pads expuestos deben tenerse en cuenta. El proceso de soldadura también añade sus propios problemas. El proceso de reflujo de soldadura aumenta la temperatura de una pieza a 260 °C, haciendo que el encapsulado de plástico se ablande y el marco de plomo del chip se distorsione, de modo que cuando la pieza se enfría y el plástico se endurece, se bloquea una tensión mecánica en el chip. Los ingenieros de Analog Devices dedicaron muchos meses-hombre de experimentación delicada a descubrir que un espesor de PCB de 0,8 mm era el punto óptimo perfecto y se podía lograr una precisión de ±0,1 °C, incluso después de la soldadura.
Dentro del software
La mayor parte del software del sistema se ocupa de formatear los datos del ADT7320 y mostrarlos en la LCD. Obtener los datos del ADT7320 es trivial. Cuando se inicializa el procesador, tanto la línea CS como SCLK se ponen en alto y la línea SCLK permanece en alto entre conversiones. La línea CS se pone entonces en bajo para iniciar una transacción de datos. Con SPI, los datos se leen en el ADT7320 en el flanco de subida de la línea SCLK y se sacan en el flanco de bajada. El código a continuación detalla la rutina de inicialización.
Para restablecer la interfaz serie, la línea CS se pone en bajo, la línea DOUT se pone en alto y la línea SCLK oscila 40 veces. La línea CS se pone entonces en alto. Esto introduce 40 '1' en el ADT7320, restableciendo la interfaz serie. Se necesita un retraso de al menos 500 µs después de restablecer el bus SPI.
El siguiente bloque de código envía el byte de comando al ADT7320 indicándole si la transacción es de Lectura o Escritura y qué registro direccionar. La línea
data = 0b00001000;
instruye al ADT7320 a escribir en el registro 0x01. El ADT7320 se programa entonces para emitir datos con resolución de 16 bits usando la línea
data = 0b10000000;
La línea DOUT se precondiciona a '0', se interroga el MSB del byte de datos y la línea DOUT se pone en alto si el MSB es '1'. La línea SCLK se pone en alto para introducir el dato en el ADT7320.
void reset_adt7320(void) /* inicializar ADT7320 */ { unsigned char n, data; /* restablecer la interfaz serie */ clearbit(PORTA, CS); setbit(PORTA, DOUT); for(n=40; n>0; n--) { clearbit(PORTA, SCLK); setbit(PORTA, SCLK); } setbit(PORTA, CS); delay_10ms(); /* debe esperar >500us después del reset */ /* configurar a modo 16 bits */ clearbit(PORTA, CS); data = 0b00001000; /* borrar bit 6 (escritura), reg #001 */ /* enviar byte de comando */ for(n=8; n>0; n--) { clearbit(PORTA, SCLK); clearbit(PORTA, DOUT); /* precondicionar DOUT */ if checkbit(data, (n-1)) { setbit(PORTA, DOUT); } setbit(PORTA, SCLK); /* introducir dato en flanco de subida SCLK */ } data = 0b10000000; /* conversión continua, 16 bits */ /* enviar byte de datos */ for(n=8; n>0; n--) { clearbit(PORTA, SCLK); clearbit(PORTA, DOUT); /* precondicionar DOUT */ if checkbit(data, (n-1)) { setbit(PORTA, DOUT); } setbit(PORTA, SCLK); } setbit(PORTA, CS); }
La llamada a la función para obtener los datos de temperatura es similar, como se muestra a continuación. La línea
data = 0b01010000;
indica al ADT7320 que lea el registro 2 para los datos de 16 bits.
El código espera entonces al menos 240 ms para que el ADT7320 realice una conversión de temperatura. Luego se sacan 16 bits de datos de temperatura y la línea CS se pone en alto.
clearbit(PORTA, CS); /* data = byte de comando */ data = 0b01010000; /* modo lectura, registro 2 */ /* leer ADT7320 */ for(n=8; n>0; n--) { clearbit(PORTA, SCLK); clearbit(PORTA, DOUT); /* precondicionar DOUT */ if checkbit(data, (n-1)) { setbit(PORTA, DOUT); } setbit(PORTA, SCLK); } delay_150ms(); /* conversión de temperatura */ delay_150ms(); /* leer datos de temperatura */ for(n=16; n>0; n--) { clearbit(PORTA, SCLK); if checkbit(PORTA, DIN) { setbit(temp, (n-1)); } setbit(PORTA, SCLK); } setbit(PORTA, CS);
El conjunto completo de código está disponible aquí.
¿Qué tan frías están mis salchichas, exactamente?
El ADT7320 se dejó dentro del congelador durante unos 30 minutos para ver a qué temperatura se estabilizaba nuestra nueva compra.
La Figura 3 muestra la temperatura del congelador a -18,83 °C.

Figura 3. La temperatura del congelador a -18,83 °C
Consideré que esto era impresionantemente preciso, dado que los alimentos no necesitan almacenarse con este nivel de precisión de temperatura. Luego medí la temperatura en mi oficina en un día de verano en el Reino Unido. 22,87 °C como se muestra en la Figura 4.

Figura 4. La temperatura de mi oficina a 22,87 °C
Conclusión
Los sensores de temperatura de silicio han recorrido un largo camino, volviéndose extremadamente precisos, lo que permite la monitorización de signos vitales con un alto nivel de precisión. Si bien la tecnología dentro de ellos se basa en principios bien fundados, el ajuste necesario para llevarlos a niveles de precisión sub-grado requiere un esfuerzo significativo. Incluso si se logra este nivel de precisión, las tensiones mecánicas y la soldadura pueden borrar fácilmente las ganancias logradas tras horas de calibración.
El ADT7320 y el ADT7422 representan la cúspide de años de caracterización para lograr una precisión de nivel sub-grado incluso después de ser soldados en el PCB.
Referencias
Huijsing, Johan y Michiel Pertijis. Precision Temperature Sensors in CMOS Technology. Springer, 2006.
Horowitz, Paul y Winfield Hill. The Art of Electronics. Cambridge University Press, abril 2015.
Analog Circuit Design, Volume 2, Chapter 32. Linear Technology, diciembre 2012.
Hoja de datos AD590. Analog Devices, Inc., enero 2013.
Hoja de datos ADT5912 (por publicar). Analog Devices, Inc.
Incrustado
- Silicio: Propiedades, Producción y Perspectivas de Mercado
- Mapeo de temperatura interior rentable con sensores de bajo coste
- Conectar múltiples sensores DS18B20 1‑Wire a Raspberry Pi para monitorización precisa de temperatura
- Cómo leer temperatura con un DS18B20 en Raspberry Pi 2
- Medición de temperatura en Raspberry Pi con sensores 1-Wire Maxim y puente I2C DS2482
- Monitorización precisa de temperatura en armario de servidores con Raspberry Pi
- Infineon presenta sensores ángulo AMR alta precisión para auto e industrial
- ams ilumina Sensors Expo 2019 con showcases sensores ópticos cutting‑edge
- Nuevos sensores de Maxim reducen consumo, tamaño y aumentan precisión para wearables de salud
- IBASE lanza módulos COM Express robustos (ET875 y ET870) con soporte de -40 °C a +85 °C para IoT e industrial
- Guía Completa de Tipos de Sensores y Diagramas de Circuitos