SENSOR

DE TEMPERATURA


Sensor de temperatura termometro LEGO Mindstorm NXT


down-verde-flecha

Este que te proponemos aquí es un sensor pasivo, no necesita la alimentación del cable verde, muy sencillo de montar. Sólo cable blanco y negro. El programa también es bastante sencillo. La dificultad, que alguna tenía que tener, es la calibración, es decir, la traducción del valor RAW a grados de temperatura (Celsius). Con un poco de paciencia, llegarás a tener la versión casera de este termómetro:


Termometro NXT

DESCRIPCION


Cuando conectemos el sensor de temperatura al NXT y lo calibremos, tendremos un termómetro. Existen muchos sensores en el mercado de este tipo. Consulta cuando lo compres el intervalo de temperaturas que el sensor es capaz de leer o busca su ficha técnica por internet.


Aquí daremos una forma práctica para que lo puedas calibrar. Eso sí, es bastante tediosa, pero si lo quieres tener bien ajustado, es lo que hay. Y otra opción es que copies directamente el programa que te propongo y veas que tal funciona con tu sensor. La ecuación suele ser parecida en muchos casos.


MATERIAL


1 Cable de conexión al NXT. Usaremos aquí uno ya prefabricado. Puedes ver cómo se hace en Construye tus Conectores.

Cables de conexión.

Un sensor de temperatura de tipo resistivo, en torno a 10 o 12K.

Un termómetro comercial para contrastar los valores de uno y otro para su calibración. Uno de cocina es especialmente útil si tienes disponible.


Conector prefabricado casero LEGO Mindstorm NXT c1578

MONTAJE


La verdad es que el montaje es tremendamente sencillo. No hace falta placa para soldadura. Es tan simple como conectar (soldando a ser posible) el cable blanco del NXT a un pin del sensor y el negro al otro. Y ya lo tenemos construido. Lástima que sin el programa adecuado, no nos sirva para demasiado.


Con este sensor así montado, podemos presentar en pantalla el valor RAW y comprobaremos cómo varía si variamos la temperatura del sensor, apretándolo entre los dedos por ejemplo. No le acerques una llama, que te lo cargarás.


En mi caso, le he puesto tubo termoretráctil (se compra en el mismo sitio en el que compras el sensor) para aislar un pin del otro y lo he recubierto con film de cocina para protegerlo del agua. Aunque su inmersión en agua sin protección tampoco presenta ningún problema.


Al sumergir únicamente los cables blanco y negro con las puntas peladas en agua, estaremos midiendo en realidad la resistencia entre ambos cables. Prueba si quieres añadiendo sal y viendo las diferencias. Esto viene a ser Un Sensor de Conductividad.


Foto diseño sensor de temperatura termometro para LEGO Mindstorm NXT c1582

PROGRAMA


Tras un proceso bastante laborioso que luego contaré para que puedas ajustar tu propio sensor, te dejo aquí el programa al que he llegado. Te puedo decir que solo discrepa como mucho 2ºC con un termómetro comercial. La ecuación es: T (ºC) = (-0,113 x raw) + 85,878


Programa sensor de temperatura termometro para LEGO Mindstorm NXT

Lo que pasa es que cada sensor tiene un comportamiento particular. Buscando por la red, he encontrado también esta otra ecuación, que quizás te funcione mejor, es cuestión de probar: T (ºC) = (643-raw)/5,6


Si alguna de estas ecuaciones te funciona bien cuando la compares con un termómetro comercial, ya no hace falta que sigas. Pero si quieres sacar tu propia ecuación, o mejorar esta para que sea más exacta, sigue leyendo. Te explicamos cómo.


COMO CALIBRAR EL SENSOR


TOMANDO LOS DATOS


Para calibrar el sensor, hay que realizar casi casi una práctica de laboratorio. La idea es ir midiendo la temperatura de agua desde -10ºC (o menos) hasta unos 90ºC, tanto con el sensor que hemos construido, como con uno de contraste.


Iremos midiendo la temperatura real (medida con el termómetro de cocina) y anotando los valores, repitiendo la medida 2 o 3 veces para un resultado más fiable. En realidad, del sensor del NXT lo que tenemos que anotar es el RAW, ya que la temperatura correcta es lo que queremos hallar.


La forma que creo que es la más sencilla, es calentar a ebullición un vaso de agua y medir con la sonda del NXT y con el termómetro comercial. Debes ir anotando en dos columnas: el valor RAW (la X) y la temperatura que marca (la Y).


Añadir un cubito de hielo para que baje unos 10ºC y volver a medir hasta que el valor sea estable. Si te fijas en los valores de la temperatura de abajo, verás que van cambiando poco a poco y luego da un salto. Eso es que le añadí ahí un buen puñado de hielo.


No pasa nada si no conseguimos repetir exactamente el mismo valor dos veces (la temperatura va cambiando). Lo importante es anotar bien los valores obtenidos, el RAW de uno y la temperatura del comercial. Cuandos más datos, mejor.


Si quieres obtener agua a bajas temperaturas, prepara un "granizado" con hielo picado, un poquito de agua y mucha mucha sal. Hay que hacer una serie de datos parecida a esta, pero que abarque desde -10ºC hasta 95ºC o lo que puedas llegar.


 Tabla valores sensor de temperatura termometro LEGO Mindstorm NXT

GENERANDO UNA GRAFICA LINEAL


Si ahora representamos en una gráfica todas las medidas que hemos hecho, obtendremos la ecuación que hemos utilizado en el programa de antes.


Para llegar a eso, abre una Hoja de cálculo, seleccionas con el cursor las dos columnas de datos y le das a "insertar gráfico", seleccionando "gráfico de dispersión". Te aparecerá entonces la gráfica con una línea coloreada (rojo en mi caso).


Una vez pintada la la gráfica, pinchas encima de ella con el botón derecho y seleccionas "Agregar línea de tendencia". Aparecerá un menú y seleccionas dos cosas en él: "Gráfica lineal" y "Presentar ecuación en la gráfica". A la anterior línea roja se añade ahora una recta, de color negro en mi caso. Las dos juntas deberían quedar más o menos así:


Grafica 1 sensor temperatura termometro LEGO Mindstorm NXT

La línea roja es la de los datos reales. Al pintarlo en una gráfica, se puede ver claramente que los datos que he obtenido no son muy buenos, ya que la gráfica va pengando saltos. Pero es lo mejor que pude hacer con un termómetro de cocina. Lo bueno es que al tener una lista de datos bastante grande, podemos ver claramente que hace una curva en lugar de una recta.


La línea negra es el ajuste con la línea de tendencia y es la ecuación que tendremos que introducir en el NXT. Como la línea roja tiene forma de curva, al introducir la ecuación de una recta (la línea negra) en el NXT, tendremos algo de error.


Cuanto más se separen los datos reales (en rojo) de los teóricos (línea negra), más error tendremos en las lecturas reales de la temperatura cuando usemos el NXT. La parte buena es que es una ecuación sencilla, fácil de programar. Intentaremos dejar las divisiones para el final para que el NXT no nos pierda decimales por el camino.


PROGRAMA PARA LA GRAFICA LINEAL


Pues el programa para el NXT ya lo hemos hecho. Ahora sabemos cómo lo hemos obtenido. La ecuación del principio era: T (ºC) = (-0,113 x raw) + 85,878, que la hemos obtenido de la recta


Y = - 0,113X + 85,878


Recuerda que RAW es la X, que la multiplicamos por (-113). Así ya podemos escribir el programa.


Programa 1 sensor temperatura termometro LEGO Mindstorm NXT

MEJORANDO LA ECUACION (Y EL TERMOMETRO)


La faena pesada ya la hemos hecho. Ahora con un poquito más, podemos mejorar nuestro termómetro. Para eso, repetimos casi exactamente los pasos de antes.


Seleccionas con el cursor las mismas dos columnas de datos, le das a "insertar gráfico", seleccionando "gráfico de dispersión". Pinchas encima de ella con el botón derecho y seleccionas "Agregar línea de tendencia". En el menú, y seleccionas 3 cosas: "Gráfica polinómica", "Orden 2" y "Presentar ecuación en la gráfica". Ahora la cosa quedará más o menos así:


Grafica 2 sensor temperatura termometro LEGO Mindstorm NXT

Ahora la ecuación trazada en negro reproduce mucho mejor el comportamiento real, incluso supongo que corrige los datos que no están demasiado bien tomados por mi parte. Por tanto esta segunda ecuación tiene mucho menos error. Ahora falta comprobar que eso sea así, y que la ecuación funcione correctamente. Vamos a ello.


PROGRAMA PARA LA GRAFICA DE ORDEN 2


Igual que hemos hecho antes, multiplicaremos todo por 10.000 para evitar decimales, y al final dividimos por 10.000 y así se nos queda todo igual. Verás que el programa es algo engorroso, pero ve repasando y conectando cada cable amarillo y espero que lo puedas reproducir. Para más claridad, he dibujado en gris uno de los cables del dibujo, pero en realidad son todos amarillos.


Programa sensor tempertura termometro LEGO Mindstorm NXT

La ecuación que hemos obtenido es:


Y = 0,00001X2 - 0,2057X + 101,7451


Que dicho de otra forma es lo que hemos programado:


Temp (ºC) = 0,00001 x (RAW)2 - 0,2057 x (RAW) + 101,7451


USOS


Pues ahora ya puedes poner en marcha el motor como si fuera un ventilador cuando suba mucho la temperatura. O puedes realizar tus propios experimentos. Para ello, una función muy útil con el termómetro sería la de programar el Data logger. Esto lo que hace es almacenar todos los valores que va leyendo el sensor y los almacena en un archivo que luego puedes abrir con la hoja de cálculo.


NOTA FINAL


Si has tenido la mala suerte de no comprar exactamente el mismo sensor de temperatura que he gastado aquí, las ecuaciones puede que no te sirvan y obtengas resultados erróneos. Incluso aunque tengas el mismo, pueden haber ciertas discrepancias, pero deberías obtener resultados bastante parecidos (supongo). Compruébalo con un termómetro.


up-verde-flecha
Sensor magnético
Sensor de SHARP de distancias
.