Estoy trabajando en un sistema de control de calefacción para mi hogar, pero tengo problemas con la lectura del sensor de temperatura más alta de lo que esperaba.
Tengo un clon Arduino Mini Pro de 5V conectado a un módulo de relé, una pantalla HD47780 y un módulo Tiny RTC, con un DS18B20 conectado.
El DS18B20 se alimenta de los 5v Vcc aplicados al módulo Tiny RTC en lugar de usar energía parásita en la línea DQ (ya que no estaba seguro de si las bibliotecas Onewire admitían este modo de operación) y la hoja de datos DS18B20 dice que Vcc puede estar entre 3.0v y 5.5v. Medí la potencia regulada del Mini Pro en 5.2v.
Estoy comparando la temperatura del DS con el termostato de ambiente existente (bimetálico), un monitor de temperatura de escritorio RS con dos sensores, un pequeño 'termohigrómetro' y un termómetro de refrigerador bimetálico (en el cuarto superior de su temperatura rango) † . La lectura del DS siempre es alrededor de 1-2 grados más alta que la lectura de los otros sensores, que están dentro de un grado uno del otro.
† No el real, sino algo similar.
Al leer varios foros, he oído que estos sensores son bastante precisos pero pueden sufrir un calentamiento localizado de los componentes cercanos a ellos, así que moví el sensor a un cable de 20 cm y lo coloqué lejos del resto de la electrónica. Esto no hizo ninguna diferencia.
Luego leí que el DS se puede calentar automáticamente si se suministra con un voltaje Vcc demasiado alto, así que agregué un LED rojo con una caída de 1.7v y medí el nuevo voltaje sobre el DS como 3.5v, pero nuevamente, después de esperar el temperaturas para estabilizarse una vez más, esto no hizo ninguna diferencia.
¿Alguien puede sugerir por qué el DS puede estar leyendo alto y qué puedo hacer para evitar esto?