No se puede obtener una lectura precisa con el sensor de temperatura PT100

7

Estoy tratando de obtener un valor de temperatura más preciso del sensor PT100 (2 cables) con Arduino.

Así es como se ve mi circuito:

Cuando el sensor está a unos 20 ° CI, obtenga un valor en el pin A5 que es 432 y cuando el sensor esté a unos 30 ° CI, obtenga un valor en el pin A5 que es 440. Como puede ver, este es un rango muy pequeño ( 432 - 440) y no puedo obtener una lectura precisa de mi sensor de temperatura.

¿Qué puedo hacer con mi circuito para obtener una lectura más precisa? (es decir, un rango de señal analógica mayor, como de 100 a 1000)

¿Tal vez podría obtener de alguna manera la resistencia del PT100 y con alguna fórmula matemática obtener la temperatura?

Gracias.

    
pregunta Muhamed Krlić

4 respuestas

3

Puede utilizar un IC externo que se encargue de leer el sensor y luego obtener el resultado digitalmente, por ejemplo MAX31865

  

¿Tal vez podría obtener de alguna manera la resistencia de PT100 y con alguna fórmula matemática obtener la temperatura?

Puede encontrar tablas de resistencia en internet, puede crear una tabla en flash y usar la interpolación para calcular la temperatura en función de la resistencia que obtenga.

    
respondido por el alexan_e
7

No puede obtener lecturas más precisas con un RTD conectado directamente al convertidor A / D del Arduino. Para obtener lecturas más precisas, debe colocar el RTD en un puente y usar un amplificador de instrumentación para desarrollar una señal más grande.

    
respondido por el Joe Hass
3

En primer lugar, si desea obtener precisión de un PT100, tiene que usar una versión de 4 hilos no 2.

En una versión de 4 cables, un par se usa para "alimentar" el PT100, el segundo se usa para medir la caída de voltaje en el PT100. De esa manera, la caída de voltaje en el cable es mínima: como V = RI e I es casi cero en el par de medición, no hay caída de voltaje. Dicho esto, dado que el PT100 no necesita un cable específico, es muy fácil convertir un PT100 de 2 cables en un PT100 de 4 cables.

También debe asegurarse de que la resistencia que se usa para medir la corriente que atraviesa el PT100 sea muy precisa (como 0.01%). También sospecho que necesitará un AD mejor que el que tiene en su Arduino.

Una vez que esté seguro de que obtiene datos suficientemente precisos de su AD, entonces tendrá que usar tablas PT100 para interpolar valores. El método de Newton es fácil de programar y da buenos resultados.

Si piensa que todo esto es demasiado complejo de manejar, entonces debería cambiar a un sensor de temperatura más fácil. Por ejemplo, un NTC probablemente funcione directamente en su Arduino, pero obtendrá una precisión de ~ 1 ° en lugar de 0.03 °

    
respondido por el martinm
2

Este tema podría ser una respuesta para usted ¿Mide la resistencia con precisión con un arduino?

Para calcular la temperatura puedes usar esta fórmula:

  

Se pueden suministrar elementos de termómetro de resistencia que funcionan hasta 1000 ° C. La relación entre temperatura y resistencia viene dada por la ecuación de Callendar-Van Dusen:

     

\ $ R_T = R_0 \ left [1 + AT + BT ^ 2 + CT ^ 3 (T-100) \ right] \; (-200 \; {} ^ {\ circ} \ mathrm {C} < T < 0 \; {} ^ {\ circ} \ mathrm {C}), \ $   \ $ R_T = R_0 \ left [1 + AT + BT ^ 2 \ right] \; (0 \; {} ^ {\ circ} \ mathrm {C} \ leq T < 850 \; {} ^ {\ circ} \ mathrm {C}). \ $

     

Aquí, \ $ R_T \ $ es la resistencia a la temperatura \ $ T \ $, \ $ R_0 \ $ es la resistencia a \ $ 0 ° C \ $, y las constantes (para un \ $ \ alpha = 0.00385 \ $ platino RTD) son:

     

\ $ A = 3.9083 \ veces 10 ^ {- 3} \; {} ^ {\ circ} \ mathrm {C} ^ {- 1} \ $

     

\ $ B = -5.775 \ veces 10 ^ {- 7} \; {} ^ {\ circ} \ mathrm {C} ^ {- 2} \ $

     

\ $ C = -4.183 \ veces 10 ^ {- 12} \; {} ^ {\ circ} \ mathrm {C} ^ {- 4}. \ $

Fuente: Wikipedia en inglés ( enlace )

Espero que haya sido útil.

    
respondido por el kimliv

Lea otras preguntas en las etiquetas