¿Cómo calcular la temperatura desde la resistencia con la ecuación de Callendar–Van Dusen o la tabla IEC 60751?
A continuación explico cómo convertir una resistencia medida de un termómetro de platino (PT100/PT1000) a temperatura usando la ecuación de Callendar–Van Dusen y, alternativamente, usando tablas tipo IEC 60751. Indico fórmulas, pasos y ejemplos sencillos. Esto es información general; para aplicaciones críticas revise la normativa y realice calibración.
- Contexto rápido
- La mayoría de sensores PT100/PT1000 son termómetro de resistencia de platino con curva normalizada IEC 60751 (clase A/B u otras). Para rangos típicos (-200 °C a +850 °C) se usan dos formulaciones:
- Ecuación de Callendar–Van Dusen (CVD): válida para todo el rango, con coeficientes diferentes por encima y por debajo de 0 °C.
- Tablas IEC 60751: tablas o polinomios normalizados que dan R ↔ T con valores discretos o con una forma polinómica simplificada para -200…+850 °C.
- Ecuación de Callendar–Van Dusen (forma común) Para sensores PT100 normalmente se usa:
Para T ≥ 0 °C: R(T) = R0 * (1 + A·T + B·T²)
Para T < 0 °C: R(T) = R0 * (1 + A·T + B·T² + C·(T − 100)·T³)
Donde:
- R(T) es la resistencia a la temperatura T (en ohmios).
- R0 es la resistencia a 0 °C (por ejemplo 100,00 Ω para PT100; 1000,00 Ω para PT1000).
- A, B, C son coeficientes normalizados para platino. Valores típicos (según IEC/ITS-90 usados en la forma CVD):
- A = 3.9083 × 10^−3 °C^−1
- B = −5.775 × 10^−7 °C^−2
- C = −4.183 × 10^−12 °C^−3
Estos coeficientes corresponden al estándar de referencia; algunos fabricantes pueden dar coeficientes ligeramente distintos para calibraciones específicas.
- Calcular temperatura a partir de R (inverso de la ecuación)
-
Para T ≥ 0 °C (no hay término cúbico): la ecuación es cuadrática en T: R = R0 (1 + A·T + B·T²) => B·T² + A·T + (1 − R/R0) = 0
Resuelve la cuadrática: T = [ −A ± sqrt(A² − 4·B·(1 − R/R0)) ] / (2·B)
Seleccionar la raíz que da T ≥ 0 (normalmente la positiva porque B es negativo).
-
Para T < 0 °C (término cúbico presente): la ecuación es cúbica en T y no tiene solución analítica simple en forma corta. Procedimientos prácticos:
- Usar un método numérico (Newton–Raphson, bisección) para encontrar T tal que R(T) − Rmedida = 0 usando la forma completa con C.
- O usar tablas o polinomios invertidos comerciales que dan T en función de R en el rango negativo.
- Otra opción: aplicar la ecuación cuadrática aproximada si T no es muy negativo (error puede ser significativo cerca de −200 °C).
Ejemplo (T ≥ 0): Sensor PT100 (R0 = 100 Ω). Medida R = 138.5 Ω. Calcular T: 1 − R/R0 = 1 − 138.5/100 = 1 − 1.385 = −0.385 A² − 4·B·(1 − R/R0) = (3.9083e−3)² − 4·(−5.775e−7)·(−0.385) Calcula y aplica la fórmula. (Aquí debes hacer la operación numérica con tu calculadora o software.)
- Uso de tablas IEC 60751
- IEC 60751 define la relación R ↔ T normalizada (ITS-90 / IEC equivalente) y proporciona valores tabulados (por ejemplo, resistencia de PT100 a cada grado o cada décima) o polinomios de aproximación.
- Procedimiento:
- Si tienes R medida, busca en la tabla el valor de resistencia más cercano y lee la temperatura asociada. Para mayor precisión, interpola linealmente entre dos entradas adyacentes.
- Las tablas suelen cubrir −200 °C a +850 °C. En zonas positivas la tabla y la ecuación cuadrática coinciden bien; en zonas negativas la tabla refleja la corrección del término C.
- Ventaja: es directo y evita resolver la cúbica; desventaja: necesitas la tabla o implementarla en código.
- Recomendaciones prácticas
- Comprueba R0: si tu sensor no es exactamente 100.000 Ω a 0 °C (por tolerancias o calibración), usa el R0 real para mejorar precisión.
- Para software: implemente la ecuación cuadrática para T≥0 y un método numérico con la ecuación completa para T<0; o importe la tabla IEC y haga interpolación.
- Precisión: para requisitos de alta precisión use calibración contra patrones y coeficientes del fabricante; para mediciones industriales normales, IEC/Callendar–Van Dusen es suficiente.
- Ejemplo de algoritmo numérico (esquema):
- Definir función f(T) = R0*(1 + A·T + B·T² + (T<0 ? C·(T−100)·T³ : 0)) − Rmedida
- Inicializar intervalo T_low, T_high (p. ej. −200, +850) y aplicar bisección hasta que |f(T)| o ΔT sea menor que tolerancia.
- Recursos útiles (qué buscar)
- IEC 60751 tabla o documento (norma) para la curva Pt100.
- Implementaciones en bibliotecas de instrumentación o ejemplos en Python/C: busque "Callendar–Van Dusen PT100 implementation".
Si quieres, puedo:
- Hacer el cálculo numérico para un valor concreto de resistencia que me des (indica R y tipo de sensor: PT100 o PT1000).
- Proporcionar código de ejemplo (Python) que convierta R → T usando CVD con método numérico y/o tabla.