Reliability?
-
@ServiceXp said:
- I'm thinking maybe that's because this node is a relaying node?? Other than that I have no ideal.
What do you pass for the 'repeaterMode' flag when calling 'begin' on the sensor object?
This determines whether the node behaves as a sensor or a repeater.
What does your setup look like exactly?How do you power the DS18B20?
Btw. I'll review the DS18B20 code shipped with MySensors. Maybe I can find what causes the hangup.
@Yveaux said:> @ServiceXp said:
- I'm thinking maybe that's because this node is a relaying node?? Other than that I have no ideal.
What do you pass for the 'repeaterMode' flag when calling 'begin' on the sensor object?
This determines whether the node behaves as a sensor or a repeater.
What does your setup look like exactly?How do you power the DS18B20?
Btw. I'll review the DS18B20 code shipped with MySensors. Maybe I can find what causes the hangup.
-
Here is the link to one project that uses the DS18B20 sensor, The 2nd sketch is pretty much how it's running now (Locks up when there is a call to read the DS18B20, but doesn't when the code is commented out).
-
In all cases, the sensors VCC and GND are connected in common to the power source. Here is the pcb prototype of the EH40 project.

Thanks for the help!
-
@ServiceXp Seems that you're not alone when Arduino hangs up with DS18B20 connected, see http://tushev.org/articles/arduino/item/46-arduino-and-watchdog-timer.
This guy suffered from condensation causing a 'shortcut' between the sensor wires...IMO a library should never hang on communication errors, but return an error value after a timeout or so...
@Yveaux said:> @ServiceXp Seems that you're not alone when Arduino hangs up with DS18B20 connected, see http://tushev.org/articles/arduino/item/46-arduino-and-watchdog-timer.
This guy suffered from condensation causing a 'shortcut' between the sensor wires...
IMO a library should never hang on communication errors, but return an error value after a timeout or so...
I think if this problem winds up being directly related to the DS18B20, its going to have to be a manufacturing issue, because I have 3, (brand new) of these things and they all lock up the Arduino's (3 different mini pros, with 3 different DS18B20's of the same batch)
I'm not even sure the watchdog timer would help in my case, because in most cases, once the sensor is locked up, the only fix is to clear eeprom and re-install sketch.
-
Oh and power is introduced on the upper left side of the board in the pictures.
-
Maybe already checked, but i'm remembering that a while ago i created a library for light intensity and other LED based stuff, after a while my device also locked up, after searching for merely a week i found a little memory leak in one of my libraries which was just related to a incorrect fixed size char array. It also used the eeprom for storing particular LED settings.
It happened every time after storing a particular setting after a coupe of hours, if stored after 5 minutes there was no problem but the device then just locked up after a couple of hours.
I also had to reset eeprom values before i could continue....
I also remember with a tmp36 receiving 500 degrees celcius values, which was related to a bug code which had nothing to do with it.
If there would be a leak somewhere in the code it can completely #%$#% up. It's the only thing i can come up with now.
-
@Yveaux said:> @ServiceXp Seems that you're not alone when Arduino hangs up with DS18B20 connected, see http://tushev.org/articles/arduino/item/46-arduino-and-watchdog-timer.
This guy suffered from condensation causing a 'shortcut' between the sensor wires...
IMO a library should never hang on communication errors, but return an error value after a timeout or so...
I think if this problem winds up being directly related to the DS18B20, its going to have to be a manufacturing issue, because I have 3, (brand new) of these things and they all lock up the Arduino's (3 different mini pros, with 3 different DS18B20's of the same batch)
I'm not even sure the watchdog timer would help in my case, because in most cases, once the sensor is locked up, the only fix is to clear eeprom and re-install sketch.
@ServiceXp said:
I think if this problem winds up being directly related to the DS18B20, its going to have to be a manufacturing issue,
Could be the case of course, but I would also setup an endurance test with a completely different ds1820 library and see how this behaves over time. In the onewire library there is an example sketch for ds1820 that only uses the onewire library.
Maybe you could try this one.
Just to rule things out, and please run it without mysensors.Good luck!
-
Was excited last night, a new batch of DS18B20 arrived, so I connected it, uploaded the original sketch and........ This morning @ 4:48 with a temp of 74.6F it locked up.
Well, I guess it's not the DS18B20 hardware... This is just ridiculous, I've got to be doing something wrong here....
-
As suggested by @gregl, I loaded the 'single' sketch found in the MySensors download on one of the other sensors that was locking up and put it in the freezer for ~2 days. Removed it this morning, and connected it to the serial monitor. (there was a power cycle when moving from the batteries to the serial connector) and it was humming along just fine.
-
@ServiceXp said:
As suggested by @gregl, I loaded the 'single' sketch found in the MySensors download on one of the other sensors that was locking up and put it in the freezer for ~2 days. Removed it this morning, and connected it to the serial monitor. (there was a power cycle when moving from the batteries to the serial connector) and it was humming along just fine.
-
Wouldnt that power cycle have also reset any evidence of if the sketch was hanging? try connecting just a wire from gnd to gnd and the TX from the mini pro to the RX on your programmer.
-
Can you post ( codebender) your sketch as you have it? I can run it up and see if i can replicate.
-
-
@ServiceXp said:
As suggested by @gregl, I loaded the 'single' sketch found in the MySensors download on one of the other sensors that was locking up and put it in the freezer for ~2 days. Removed it this morning, and connected it to the serial monitor. (there was a power cycle when moving from the batteries to the serial connector) and it was humming along just fine.
-
Wouldnt that power cycle have also reset any evidence of if the sketch was hanging? try connecting just a wire from gnd to gnd and the TX from the mini pro to the RX on your programmer.
-
Can you post ( codebender) your sketch as you have it? I can run it up and see if i can replicate.
- 'most' of the time, when this 'event' takes place the Arduino's eeprom has to be cleared and new sketch uploaded. I would say 7 out of 10 times this is necessary. One time disconnecting the DS18B20 allowed the Arduino to restart, and a few times connecting the Arduino to the programmer allowed it to restart.
I updated the DallasTemperature and OneWire libraries to the most recent version I could find yesterday, and so far (it's been about 13 hrs so more time is needed) this Arduino is still functioning. I also changed power source (so I could monitor the communications) using the programmer. It has locked up in the past using the programmer, which led me to think it's NOT a power issue, but really at this point I'm running out of hair to pull out.
CodeBender doesn't seem to be working ATM.. When it comes back I'll post the sketch..
-
-
-
- 'most' of the time, when this 'event' takes place the Arduino's eeprom has to be cleared and new sketch uploaded. I would say 7 out of 10 times this is necessary. One time disconnecting the DS18B20 allowed the Arduino to restart, and a few times connecting the Arduino to the programmer allowed it to restart.
I updated the DallasTemperature and OneWire libraries to the most recent version I could find yesterday, and so far (it's been about 13 hrs so more time is needed) this Arduino is still functioning. I also changed power source (so I could monitor the communications) using the programmer. It has locked up in the past using the programmer, which led me to think it's NOT a power issue, but really at this point I'm running out of hair to pull out.
CodeBender doesn't seem to be working ATM.. When it comes back I'll post the sketch..
-
Wouldn't it be the problem when putting the sensor in the freezer which could affect the chip timings/wire resistance (rise/fall timings) over time where it is possible that the one wire library hangs because it maybe reads malformed data because of this?
I haven't read all the posts but does it also lock up outside the freezer?
I'm no expert but it just came into mind
-
@ServiceXp short question; how does the sketch behave when started without a ds1820 connected? Does it hang?
@Yveaux
It still locks up. When the code that gets the temp is commented out, then it does not lock up.By the way, the EH40 project sensor is still running. I'm getting optimistic about the new library's. If I get another 12 hours, I will be VERY happy.
-
Wouldn't it be the problem when putting the sensor in the freezer which could affect the chip timings/wire resistance (rise/fall timings) over time where it is possible that the one wire library hangs because it maybe reads malformed data because of this?
I haven't read all the posts but does it also lock up outside the freezer?
I'm no expert but it just came into mind
-
Well, all the sensors as still running YEAH YEAH YEAH...
I think this problem is finally behind me. We have not locked up since moving to the latest versions of the DallasTemperature and OneWire libraries.
Not sure what the differences are between the MySensor download versions and the latest, but it appears that was indeed the cause.
Is there any way the MySensor project download can be updated to include the latest version of these libraries?
Thanks to all who gave suggestions and time in helping me sort this out. I was very close to throwing in the towel..
-
This post is deleted!