ds18b20 sensor fails at high temperature
lfreeze
Posts: 174
I need help with a ds18b20 problem. I have four ds18b20 sensors running on a single Prop pin. They all work fine as long as temperatures are below approximately 120 degrees Fahrenheit. Frequently but not always, when the temperature reaches 120 the sensor fails. Giving no Reading and stopping data from the other three sensors. Basically I stop getting any readings from any of the sensors when any one of them goes above approx 120F. When the temperature drops the sensors all begin providing data.
I duplicated the hardware and got exactly the same result. I am using Micah Dowtys objec,t as the program to read data from the sensors. I am thinking
I have bad batch of sensors from Maxim.
Has anyone experienced anything like this?
Thanks in advance for any help.
Larry
I duplicated the hardware and got exactly the same result. I am using Micah Dowtys objec,t as the program to read data from the sensors. I am thinking
I have bad batch of sensors from Maxim.
Has anyone experienced anything like this?
Thanks in advance for any help.
Larry
Comments
Also, are you sure you're looking at degrees F and not degrees C? I think the DS18B20 maxes out somewhere near 120 C.
Be aware (I think) that Micah's (old?) software does not work for degrees below zero, just in case you happen to be working in that range.
I am using farenheit. All my requirements are for temperatures above 31F. I did stumble across the below freezing bug
in a previous project. What appears to be happening, is that the one sensor I am heating to 130F is grounding its data
contact. When this happens, because it is part of a four sensor buss, no readings from the other three sensors are
available. When the heated sensor cools, the ground is lifted and all four sensors now provide readings. I did change
the heated sensor several times to eliminate it as the problem
I sent an inquiry to Maxim, perhaps they can offer a suggestion.
Larry
That's very strange. I've used these sensors up to about 180F and I've never seen anything like that. What about your power supply line? Any chance something is going wrong with it or a capacitor shorting out?
Time sensor1 sensor2 sensor3
4:39:13 119.075 65.3 42.013
4:40:13 123.462 65.3 42.013
4:41:13 2730.087 65.3 42.013
4:42:13 2730.087 65.3 42.013
4:43:13 2730.087 65.3 42.013
4:44:13 2730.087 65.3 42.013
4:45:13 2730.087 65.3 42.013
4:46:13 2730.087 65.3 42.013
4:47:13 2730.087 65.3 42.013
4:48:13 124.25 65.3 42.013
4:49:13 119.75 65.638 42.013
4:50:13 116.6 65.638 42.013
4:51:13 114.35 65.638 42.013
4:52:13 112.775 65.638 42.013
4:53:13 111.875 65.638 42.013
4:54:13 111.088 65.638 42.125
4:55:13 110.412 65.638 42.125
4:56:13 109.4 65.638 42.125
4:57:13 108.162 65.638 42.125
4:58:13 106.812 65.525 42.125
4:59:13 105.35 65.525 42.125
5:00:13 106.812 65.525 42.125
5:01:13 102.875 65.525 42.125
5:02:13 110.525 65.525 42.125
5:03:13 113.675 65.525 42.125
5:04:13 113.675 65.525 42.013
5:05:13 119.75 65.525 42.125
5:06:13 6876.725 65.638 42.125
5:07:13 6876.725 65.638 42.125
5:08:13 6876.725 65.638 42.125
5:09:13 6876.725 65.638 42.125
5:10:13 6876.725 65.638 42.125
5:11:13 6876.725 65.638 42.125
5:12:13 6876.725 65.638 42.125
5:13:13 6876.725 65.638 42.125
5:14:13 6876.725 65.638 42.125
5:15:13 6876.725 65.638 42.125
5:16:13 6876.725 65.638 42.125
5:17:13 121.887 65.638 42.237
5:18:13 116.15 65.75 42.237
5:19:13 112.438 65.75 42.237
Skip rom (cch)
Read power (b4h)
Then initiate a “read time slot”
I am not sure how or where to insert these commands in the one wire object.
I am using an external power supply with a 4.7k pullup
“The use of parasite power is not recommended for temperatures above +100°C since the DS18B20 may not be able to sustain communications due to the higher leakage currents that can exist at these temperatures. For applications in which such temperatures are likely, it is strongly recommended that the DS18B20 be powered by an external power supply.
In some situations the bus master may not know whether the DS18B20s on the bus are parasite powered or powered by external supplies. The master needs this information to determine if the strong bus pullup should be used during temperature conversions. To get this information, the master can issue a Skip ROM [CCh] command followed by a Read Power Supply [B4h] command followed by a “read time slot”. During the read time slot, parasite powered DS18B20s will pull the bus low, and externally powered DS18B20s will let the bus remain high. If the bus is pulled low, the master knows that it must supply the strong pullup on the 1-Wire bus during temperature conversions.
I posted a question about this Skip Rom command in the Propeller forum just now, so hopefully somebody can provide an answer for you.
Abandon the buss arrangement and, install each sensor on a separate circuit with
Each sensor on its own prop pin. I built that circuit last night and it has worked perfectly
with no errors above 120F. I used the same sensors that had been failing in the buss arrangement.
I suspect it is a program issue with the one wire object, but it is well above my skill level to identify.
Larry
Hi Larry,
I, too, am now getting a similar error with my DS18B20s on a new project. I have 6 of these sensors on a single Prop pin, and noticed one sensor glitching consistently at about 135 F, then another around 148 F, and another around 170 F. The other DS18B20s on the line seemed to read okay but they were still at lower temps.
So I tried to run two DS18B20s on a single Prop pin instead of six DS18B20s, and the glitchy DS18B20's "glitch temperature" seemed to go up. So I put that glitchy DS18B20 on its own Prop pin all by itself and its glitch temperature went up again, this time to about 180 F.
I've never seen this behavior before, but it's also possible I've never run so many DS18B20s on a single line to such high temperatures all at once.
This freaks me out because I use these things to run heater controllers, and since the glitches sometimes register as negative temps, it will drive the heaters to run non-stop, risking total burn out.
I, too, suspect there's something going on with the one-wire software because the glitch temperatures appear to be consistent with each test run but seem to change depending on how many DS18B20s are on the line.
I have yet to even begin trying to figure out what to do, but I thought I'd let you know because you "solved" your version of this problem by putting each sensor on its own Prop pin, but from what I can see, the problem might appear even when running each sensor off a single Prop pin, especially as you get into higher temps.
Cue soviet funeral music as I attempt to figure out what to do next. I'm clueless as to how the one wire object does its business.
It certainly was a frustrating experience trying to get the DS18B20s running on a buss.
I normally can solve these issues with a drill down to utter simplicity in programming and replacement of all parts. Not in this case. I believe, based on the tests I made, that the sensors are all good, as I used the same failed sensors (buss) on individual pins, and they have been working without error.
I suspect that the one wire object needs some modification, but at this point that is only a guess.
In my application, I have been measuring the boiler water temperature going into, and coming out of a standard hot water heating boiler. The temperature range has been between 55F to 170F. The program reads the temperature each minute and saves it in a CSV file (via viewport). It has worked without error since Early November.
Larry
Hi Larry,
thanks for providing some more details on your experiences. I've been running these DS18B20s to maintain a device around 100F for nearly the past 2 years and when I made some test runs on it, I had it up to 180F briefly and never saw any problems. I've also had about 6 of these DS18B20s on one wire running between -20F and room temperature and never saw any problems. But, as I mentioned before, I'm now seeing even a single DS18B20 on one wire fail around 180F, but after googling for problems with the DS18B20, I haven't found any body complaining about the sensors themselves, so I'm guessing something strange is happening in the one wire software - maybe the chip takes longer to do conversions at higher temps and the one wire object is not allowing for it. Who knows? I'm not a computer guy, and when I try to follow the details of people performing bit-banging operations and the like, the next thing I know I'm waking up on the floor the next day, curled up in the fetal position.
I haven't had a chance to try to pinpoint the problem. And if it's buried in the guts of the software, there's little hope that I will find it. This week I hope to run some more tests on my present project using the DS18B20s, but I'll probably have to throw myself at the mercy of the Propeller Forum and hope somebody there can provide some advice. Based upon what I've seen, this is not a problem with the DS18B20, but is an Object software glitch. I know Micah Dowty's original software did not allow for negative temps, for example, so it's obviously not an object that has been run through all the paces. Consequently, it's probably got some other bugs, too.
Let us know if you see any behavior that might provide some clues. And be careful if you're running these sensors near 180 F.
thanks again.
PS. Could you edit your original post to label this thread as Unsolved. Maybe that will help get some expert's attention.