Sensores de temperatura

Buenas,

Vuelvo a la carga despues de estar un poco inactivo. Hoy vengo con la siguiente duda.

Estoy pensando en usar 1 de estos 3 sensores:

DS18B20
bmp280
DHT22

Tanto para el hogar como para controlar temperaturas internas de ciertos circuitos.

He estado leyendo que el DS18B20 necesita calibracion, pero no estoy muy seguro de ello. Sabriais decirme si es cierto? Pero por otro lado tambien he visto que los hay de este sensor para medir temperaturas en agua, cosa que me puede hacer tambien falta. Alguna opinion al respecto?

En cuanto al bmp280 y DHT22, que opinion teneis de los 2? Es decir, por ejemplo he leido que el DHT22 tiene una velocidad de 2 tomas por segundo, en caso de solicitarle mas muestras, que pasaria? Se fundiria? O simplemente no tomaria la temperatura correcta?
En cuanto al bmp280 y el DS18B20 no he podido ver cuantos minutos tiene para tomar una muestra.

Mas o menos son las preguntas que me rondan.

Un saludo

He estado leyendo que el DS18B20 necesita calibracion,

Donde leíste eso? Espero que no sea en instructables, porque ultimamente me estoy poniendo muy en contra de ese sitio.

No necesitas calibración, estan trimeados o calibrados de fábrica mejor de lo que tu y yo podremos hacer.

he visto que los hay de este sensor para medir temperaturas en agua

La versión que tiene vaina puede usarse para medir temperatura de agua.

En cuanto al bmp280 y DHT22, que opinion teneis de los 2? Es decir, por ejemplo he leido que el DHT22 tiene una velocidad de 2 tomas por segundo, en caso de solicitarle mas muestras, que pasaria? Se fundiria?

Mi estimado, imagina que pasaría si un sensor se destruye porque tu le pides mas d elo que puede? Simplemente no lo compra nadie, y la empresa funde.
Nooo tarda 2 segundos y debes aceptar que tarde 2 segundos. Punto. Perooo es mas preciso que un DS18B20 según algun estudio que leí hace tiempo.

El bmp280 es interesante pero esta tmb por debajo del DHT22. Ahora el DS18B20 tarda 750mseg en su modo mas preciso (12 bits).

surbyte:
Donde leíste eso? Espero que no sea en instructables, porque ultimamente me estoy poniendo muy en contra de ese sitio.

Pues la verdad es que no me acuerdo donde lo lei, de todas las paginas que ya habre visitado, en alguna debio de ser. Pero vale, me queda claro que no necesita calibracion :stuck_out_tongue:

surbyte:
Mi estimado, imagina que pasaría si un sensor se destruye porque tu le pides mas d elo que puede? Simplemente no lo compra nadie, y la empresa funde.
Nooo tarda 2 segundos y debes aceptar que tarde 2 segundos. Punto. Perooo es mas preciso que un DS18B20 según algun estudio que leí hace tiempo.

Segun estuve probando con el DHT11 que tambien tiene un tiempo de muestra, si lo metia sin ningun delay en el codigo o millis, el sensor me estaba reportando todo el rato temperaturas, me imagino que, el tiempo de muestra en lo que necesita pasar para que te reporte correctamente la temperatura no?
Por que, que yo sepa, el codigo no se quedaba esperando la toma de temperatura ni nada, es decir, me soltaba la medicion y el codigo seguia procesando, hubieran pasado los 2 o 3 segundos.

Un saludo

Buenas,

Resulta que ya me han llegado ciertos sensores, como los que comente anteriormente. Ahora tengo otro problema.

Resulta que por ejemplo, en cuanto al DS18B20, me di cuenta que cuando tenia estos sensores 1 al lado del otro, me estaban reportando temperaturas con una desviacion de 0.3, no es que sea mucho, pero algo es.

No he probado con mas sensores iguales, por que el DS18B20 fue del que compre 2 unidades.

Ahora el tema que planteo es el siguiente. Si compro 10 sensores, da igual de que modelo sea, hay alguna forma de igualar las temperaturas, para que todos reporten la misma?
Me imagino que no sera solamente resultandole o sumandole 0.3 a uno de los 2, no?

Lo siguiente que planteo, es el tema del tiempo que tarda 1 sensor en reportar la temperatura, el cual, en dicho momento, el arduino deja de procesar el codigo.
Ahora mismo estoy probando como algunos ya sabeis con el esp-01 para conectar el arduino por wifi atraves de serial.
Pero ya que la libreria de mqtt se carga en el esp-01 y luego se pasan los mensajes por serial a arduino, si arduino en ese momento esta midiendo la temperatura, como puedo asegurar que esos mensajes no se pierdan?
Pues bien, antes cuando lo tenia por ethernet, podia tener el QOS para que todos los mensajes llegasen si o si, aunque el arduino estuviera freezeado en cualquier momento, pero en este caso no puedo asegurar que los mensajes lleguen a arduino por que el QOS solo actuaria sobre la parte del esp-01.

Alguna idea sobre como solucionar esto?

Un saludo

Buenas,

Alguna ayudita pls?

Kind regards

Lo mejor que puedes hacer es poner a todos los sensores a usar, y relevar sus lecturas 1 x 1 intentando generar diferentes temperaturas alrededor de los valores que vayas a medir habitualmente.

Con cada tabla tendrás un valor leído y otro correcto (el de tu elemento patrón, un buen medidor de temperatura) podrias armar una tabla lookup que te permite ingresar con ese valor y salir con el adecuado.

Como muchas veces estarás entre dos valores de los que sabes el error pero tu sensor te dará una temperatura intermedia, el valor correcto sale por interpolación.

Te sugiero la tabla porque son muchos sensores y la alternativa es hacer un polinomio que corrija la salida dantote el valor deseado pero muchos elementos implica polinomios que involucren mucho tiempo y eso no es barato en Arduino.

Buenas,

Pefecto, asi hare :smiley:

En cuanto al tema de los delays por los sensores de temperatura. Tienes alguna solucion para eso? o se te ocurre como hacerlo?

La verdad es que no se cuanto tiempo puede quedarse en el buffer los datos que lleguen por serial, o en caso de ser un nodemcu recibiendo señal por wifi directo, lo mismo, si se perderia algun dato por tener un delay con algun sensor de temperatura.

Un saludo

Si, ya la he planteado, existe una rutina para los dallas que se llama non-blocking. Buscala en este foro.

Busca DS18B20 Non-blocking. La he sugerido 2 veces.