I’m wondering if anyone has information on an issue I’ve been having with DS18B20 temperature sensors.
For some time I’ve been developing a wood fired boiler/heating/DHW system controller (https://sourceforge.net/projects/bctl/?source=directory) using the owcapi for all sensing and I/O functionality. My 1-wire network is limited in length and low in device weight. I have two DS18B20 temperature sensors and three Hobbyboards DS2408 based PIO boards on a roughly 50 foot linear topology bus using CAT5e cabling and standard RJ45 connectors for daisy-chaining bus segments and device attachment. The drops to each device are 1 meter or less. I’m providing power and ground through the CAT5e cabling. My problem is that there seems to be a strong temperature dependency for bus read/write errors caused by the DS18B20 sensors. I’ve replaced the sensors a few times with devices purchased at different times and from different vendors to rule out random bad devices. I’m using a polling loop to read the DS18B20’s and PIO inputs at 5 second intervals with a conversion resolution of 10 bits (temperature10). When the system is cold (<140 degrees F) it can go forever (months) with no errors indicated in any device access. However, when I fire the boiler I start seeing access errors (file not found) as the boiler temperature rises above roughly 150 degrees. The error rate increases as temperatures rise to a maximum level of about 185 degrees at which point they are quite severe. The errors are not just on access to the temperature sensors (which are hot), but also on access to the DS2408 devices (which remain at room temperature), though much less frequently. From this I’m deducing that bus timing is changing for the temperature sensors in such a manner that they are corrupting access to other devices. I don’t have a scope so I’m unable to check for slew rates, noise, or reflection problems, however none of these should be affected by device heating (well maybe slew rate…) I’ve implemented a redundant read mechanism (in addition to any redundancy owfs implements), which has made the system usable, but over the long term this is a risky solution. I can tolerate the read errors assuming I get an occasional success, however if a write to a PIO output is dropped the results could be messy. One solution would be to switch to thermocouple sensors for the high temperature components, using the MAX31850 devices, which I’ll do in the absence of any other remedy. However, the temperatures I’m dealing with are all well within the specified limits of the DS18B50 family of devices, so I’m wondering if anyone has had similar experience and could shed some light on the situation. ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers