I am trying to enable remote reading of the temperature gauges in my furnace room by adding DS18B20 thermometers.
Since I had some Raspberry Pis and
DS18B20s, and some networking equipment on hand, I decided to crimp on a couple of RJ45 jacks and chain some RJ45 sockets together, with a final network cable with a
1kΩ resistor between the
3v wires. This works fine, except for the fact that the temperatures diverge more than I'd like...
cat /sys/bus/w1/devices/28*/w1_slave returns the temperature, but even with the sensors lying next to each other, they diverge by more than
1.5°C I have monitored them over a longer period of time, even covering them with my hand, and keeping them right next to each other.
ad 01 55 05 7f 7e 81 66 16 : crc=16 YES ad 01 55 05 7f 7e 81 66 16 t=26812 b4 01 55 05 7f 7e 81 66 2b : crc=2b YES b4 01 55 05 7f 7e 81 66 2b t=27250
Is there a way to calibrate them to the same temperature? I would hate to have to take individual quirks into account, as even if I was to round to nearest
2°C there is no real way to be sure they would be in the same increment. And replacing sensors would mean recalibrating values in my code.
The reason for wanting this is that I want to detect whether the furnace is heating the water at the moment, or the water is at target temperature, or (hopefully not) that the incoming water is warmer than the outgoing water, meaning that my hot water tank is heating the house. If I cannot trust the readings, I may get too many false positives.
I have read guides like this instructable, but as far as I can see, this is gathering the calibration data, and not calibrating the actual sensor...