Ayuda interpolar variable

Hola foreros espero que todo vaya bien, mi consulta es la siguiente, estaba tratando de utilizar un termistor para obtener temperatura, mediante un divisor de voltaje y arduino, lo logre hacer con la ecuación de SteinHart-Hart pero cuando escuche de otra manera de hacerlo para cuando no tenemos muchos datos del sensor, que es mediante excel.

La manera que me comentaron es tomar un multimetro y medir como varia la resistencia del termistor, con los cambios de temperatura e ir comparando esta resistencia con un sensor de temperatura ya calibrado, todo muy bien hasta ahí, el problema surge cuando pongo las variables en excel y las grafíco, luego saco una linea de tendencia y su ecuación característica, pero lamentablemente la ecuación no es correcta.

Cabe mencionar que en este foro explican el método de los mínimos cuadrados, pero escuche que de la manera que lo intento hacer funciona también.

Les adjunto el archivo de excel. Muchas gracias por su ayuda.
 

Adjuntos

  • Interpolacion.rar
    8 KB · Visitas: 12
Por mínimos cuadrados se ajusta a una recta.
Si quieres algo mas pulido hay otros métodos que la verdad no he usado desde hace mas de veinte años. Lamento no poder ayudar mas. Se que hay métodos para excel pero poco mas.
 
Gracias amigo, yo aplique el método de mínimos y funciona bien pero estoy con el pique de porque de la manera que lo hago no funciona y me parece que es mas rápido realizarlo por linea de tendencia que por mínimos cuadrados.
 
Y por que no optas por sensores más lineales,
( P.E.: LM35, Pt100, etc), si buscas cierta precisión no se justifica el termistor, si lo reemplazas por otro, (mismo código), encuentras desviación y tienes que reajustar la curva.
 
El problema no es tanto el sensor, es la técnica que trato de aprender, ya que es muy útil para calibrar cualquier sensor. El error debe ser en la forma que gráfico, ya que hice unos pares ordenados de lo mas sencillos, por ejemplo tome en el eje x, números de 0 a 45 de 2 en 2 y luego para el eje y, números desde el 0 de 20 en 20 y ni aun así me sirve la ecuación de la gráfica.
 
...
La manera que me comentaron es tomar un multimetro y medir como varia la resistencia del termistor, con los cambios de temperatura e ir comparando esta resistencia con un sensor de temperatura ya calibrado, todo muy bien hasta ahí,

Ese procedimiento más amplio todavía, por ejemplo podés medir directamente la tensión diferencial en un puente (uno de los elementos es el termistor) y con esos valores generar una tablita V vs T.

Para diferencias de temperatura de no mas de 30° como en tu caso (de 60° a 90°), usando un puente correctamente dimensionado ni hace falta corregir, ya que la salida es bastante lineal. Salvo claro, que pretendas exactitudes de 0.1° (Ojo: Exactitud <> Resolución)

el problema surge cuando pongo las variables en excel y las grafíco, luego saco una linea de tendencia y su ecuación característica, pero lamentablemente la ecuación no es correcta.
Y si... Excel maneja un conjunto de ecuaciones de líneas de tendencia que no tienen por ajustarse a tu problema.
Tiene solución por supuesto, solamente hay que "acondicionar" los datos para acercarlos a una de las ecuaciones contempladas.

Cabe mencionar que en este foro explican el método de los mínimos cuadrados, pero escuche que de la manera que lo intento hacer funciona también.
¡Como no va funcionar! Si Excel también lo hace por mínimos cuadrados.

Les adjunto el archivo de excel. Muchas gracias por su ayuda.

Primero tenés que graficar los datos crudos y eliminar aquellos que se alejen demasiado de la curva teórica (teórica "visualmente").
Son datos que debido a lo que sea hubo error en la medición ==> medimos de vuelta o los sacamos.

Term0.jpg

Acá en el 1ro y el último hubo un problema durante la medición (60.2° y 90.5°). Seguramente no se habían estabilizado en temperatura ==> Vuelan.


Queda entonces:

Term1.jpg

Tiene una curvatura evidente así que de recta olvidate ==> Hay que usar un polinomio de por lo menos 2do grado.
Entonces, elegís una línea de tendencia polinomial de orden 2.

Eso te da:

Term2.jpg

Ojo con la ecuación que presenta en el gráfico Excel! Porque trunca decimales a lo pavote y puede llegarte a dar cualquier cosa ==> Cambiá el formato a notación científica.

Acá estaría todo terminado si no fuera porque conviene verificar lo bueno de la aproximación.
Para eso, simplemente como control, graficás el error en temperatura.
Es decir, armás una tablita de R vs (Ttendencia-Tmedida)

Term3.jpg

Como ves, salvo pocos puntos, el error cometido es menor de 0.6°.
No obstante, todavía se observa una tendencia ==> Si se justificara un error de mos de 0.5° se vuelve al paso anterior y se elije una línea de tendencia polinomial de orden 3. Más ya no hará falta.

------------------------------------------------------------------------------

Comentario.

En un rango chico de temperaturas la mejor opción es usar directamente polinomios de orden 1 o 2 (3 como mucho), pero para rangos grandes, para un buen ajuste serían necesarios polinomios de orden alto, que además traen el problema de poca estabilidad numérica ==> Hay que acondicionar los datos según ecuaciones tipo Steinhart-Hart o dividirla en intervalos.
Como es de esperar, si la función es fuertemente no lineal, para rangos grandes TODO se complica :)

.
 
Excelente tu explicación amigo, muchas gracias. Se me generan ciertas dudas, las cuales son:

1- ¿Que programa utilizaste para graficar?.

2- ¿En la grafica de R vs (Ttendencia-Tmedida), la variable Ttendencia se obtiene por ejemplo resolviendo la ecuación que se obtuvo mediante la linea de tendencia, con el polinomio de segundo orden?. Ya que esa grafica esta muy interesante.

3- Si trato de obtener valores fuera de mi rango, osea extrapolar (no estoy seguro si es el termino correcto), se mantendrá el error aproximado de 0.5°?. Existe la posibilidad de que el sensor tenga un comportamiento diferente a ciertas temperaturas por ejemplo, pero lo que me lleva a pensar que talvez si se mantenga el error de 0.5°, es que hablamos de una "tendencia" y si el sensor es estable debería ser posible obtener valores fieles fuera de mi rango en análisis.

Gracias.
 
1- ¿Que programa utilizaste para graficar?.
El Excel, ese aspecto es porque se trata de la versión 2003.

2- ¿En la grafica de R vs (Ttendencia-Tmedida), la variable Ttendencia se obtiene por ejemplo resolviendo la ecuación que se obtuvo mediante la linea de tendencia, con el polinomio de segundo orden?. Ya que esa grafica esta muy interesante.
Eso mismo. Armás una columna con la ecuación que te devolvió Excel y hacés la resta con la temperatura medida.

3- Si trato de obtener valores fuera de mi rango, osea extrapolar (no estoy seguro si es el termino correcto), se mantendrá el error aproximado de 0.5°?. Existe la posibilidad de que el sensor tenga un comportamiento diferente a ciertas temperaturas por ejemplo, pero lo que me lleva a pensar que talvez si se mantenga el error de 0.5°, es que hablamos de una "tendencia" y si el sensor es estable debería ser posible obtener valores fieles fuera de mi rango en análisis.
Nunca es recomendable extrapolar, salvo casos especiales, el error se dispara MUCHO.
Una indicación ya la tenés en la gráfica del error, fijate que la tendencia es crecer a lo bestia.

Como la respuesta real de un termistor no es polinomial sino aproximadamente exponencial, la única forma que no se disparen los errores sería partir de una curva parecida a la teórica pero con términos extra (es lo que hace Steinhart-Hart), pero como se pone más pesado el cálculo no siempre se justifica.
 
Una ultima pregunta, dices que en la grafica de error, el error se dispara a lo bestia pero ¿te refieres a los cambios bruscos que hace mientras avanzamos en el eje x o el cambio brusco del inicio, que inicia ne -0.9 aproximadamente?. También mencionas que es un indicio de los problemas que produce extrapolar, pero se esta trabajando dentro del rango estipulado, no logro observar en que momento logras relacionar el error de un rango determinado con una posible extrapolacion, no se si me explico.

Gracias.
 
Una ultima pregunta, dices que en la grafica de error, el error se dispara a lo bestia pero ¿te refieres a los cambios bruscos que hace mientras avanzamos en el eje x o el cambio brusco del inicio, que inicia ne -0.9 aproximadamente?.

Los cambios bruscos se deben a los errores de medición. Yo me refiero a que cuando extrapolás (valor fuera del rango de calibración) la curva de tendencia se va alejando cada vez mas del valor real.

----------------------------------------------------------------------------
Por ejemplo:

- Vos tomaste mediciones entre 60° y 90°.

- Con esos datos ajustás un polinomio.

- Ahora medís un valor de resistencia, aplicás la ecuación hallada y te da que hay 65° (por ejemplo) ==> sabés que el error máximo que puede haber es de 0.6°.

- Si ahora metés el termistor en un recipiente con hielo (~ 0°C) y calculás la temperatura correspondiente te va a dar un valor con unos cuantos grados de diferencia respecto a la temperatura real.

----------------------------------------------------------------------------


El análisis que hiciste con mediciones tan cerca una de otra te sirve en una primera etapa para estudiar el tipo de corrección a hacer y los rangos de validez, pero a la hora de tener el instrumento ya hecho y necesitar recalibración ya sea por tiempo o cambio de termistor, no se toman tantos puntos sino 3 o 4 (para un polinomio de 2do orden) bien medidos y siempre con dos cerca de los extremos.
 
Muchas gracias por la ayuda voy a leer lo que me recomendó elaficionado y voy a practicar con diferentes sensores esta técnica ya bien aplicada, porque me parece muy interesante. Gracias.
 
Atrás
Arriba