My ds18b20 is off (lower) by 3 to 5 °F randomly
The DS18B20 digital thermometer provides 9-bit to 12-bit Celsius temperature measurements
Official proper DS18B20 are calibrated at source, they still have the ±0.5°C Accuracy you mention.pcmanbob wrote: ↑Mon May 13, 2019 12:33 pmWell no temperature sensor is 100% accurate unless its been calibrated against a known good / calibrated thermometer.
The DS18B20 has an accuracy of ±0.5°C Accuracy from -10°C to +85°C, but its still possible yours might be outside the error range depending were you got them from there of lots of rejects for sale on the web.
Boiling water and ice in distilled water, compensate for your altitude, there are online calculators.
Hello,omegaman477 wrote: ↑Mon May 13, 2019 5:43 pmBoiling water and ice in distilled water, compensate for your altitude, there are online calculators.
But I would bet your only reading the top 9 bits and calculating against that, rather than the full 12. Or you have the two 'bytes' assembled in the wrong order.
JohnsUPS wrote: ↑Wed May 15, 2019 1:18 amI have had this happen to me also.
Where were the sensors purchased?
I have about 30 of these sensors. 10 each were purchased from three different vendors. Two of the vendors were of Chinese origin, and the other was Mouser.
After the first order of 10, I realized they were not calibrated because they were not tracking each other to within the published specs - they should have at least tracked within about 1 deg C of each other. So, I ordered another 10 from a different Chinese vendor - same result - differing readings. Finally decided to spend a buck more per sensor and ordered some from Mouser (Digi-Key would also source directly from Dallas/Maxim). All of these sensors tracked each other perfectly - I recall it was much better than half a degree C. Not having any other temperature references handy (that were as accurate) for absolute comparison, I trusted that the Maxim sensors were in calibration partially because they all tracked each other so well.
The Chinese temperature sensors were all out of calibration (compared to the Maxim parts), and one was off by about 3 degrees C. I had six of the "bad" sensors in parallel, mounted next to each other in a row, so they all saw the same ambient temperature and source voltage, but the readings varied. Readings were consistent up or down depending on the room temperature, but all offset from one sensor to the next. The good sensors were deployed with a project I had going on at the time. To possibly get some use from the counterfeit sensors, I calculated offsets. I averaged the readings from four known good sensors (the "calibration standard") compared to one "bad" one. All wired in parallel and very close in physical proximity in order to calculate offsets for the bad sensors.
I would recommend that when it comes to these sensors, source from a reputable vendor and save some heartburn.
I looked at a CraftBeerPi3 plugin that offered a DS18B20 calibration feature, and from the description of this particular plugin, all it does is calculate an offset for each sensor, and not modify the calibration register within the sensor itself. I was hoping that it modified the calibration register within the sensor - that would have been great.lurifax.no wrote: ↑Thu Sep 10, 2020 4:58 pmAll these answers, and not one suggestion on how to calibrate the sensor?
Who care which device he owns is the most correct? All he wants is to calibrate the readings and make them read the same number.
DS18B20,1 - Reads 18c
DS18B20,2 - Reads 21c
DS18B20,3 - Reads 22
All in same vessel to calibrate the readings, whatever master temp is choosen, people who use and reads from several DS18B20, just want them to show the same temp in a known liquid.
And yes, it can be done. There is a brewing software named CraftBeerPi3 - in this software, there is a plugin to calibrate - and suprise suprise, after calibrating them in one known solution - they show the same reading from 20c - 99,5C
Code: Select all
# ls -l /sys/devices/w1_bus_master1/ total 0 drwxr-xr-x 4 root root 0 Sep 12 10:35 28-00000673891b drwxr-xr-x 4 root root 0 Sep 12 10:35 28-000006741c74 drwxr-xr-x 4 root root 0 Sep 12 10:35 28-0000067471a8
Code: Select all
# cat /sys/devices/w1_bus_master1/28-0000*/w1_slave | grep t= d1 01 4b 46 7f ff 0f 10 6c t=29062 e5 01 4b 46 7f ff 0b 10 be t=30312 dd 01 4b 46 7f ff 03 10 1e t=29812