-->
Page 1 of 2

Issue reading one wire DS18B20

PostPosted: Wed Nov 21, 2018 6:12 pm
by Alberto_2
I have a nice set up, with six ESP8266 operating as server and each one reading three temperature sensors. Two DS1820 reads the heater temperature in two different place an the third reads the ambient temperature. All value are collected by a client and stored.

Everythings worked very well for three months till this Monday! The station reading the external temperature stop working. I did replace the sensors and the ESP module without any success.

When I dismounted everything, to take the device on my laboratory table and try to understand what was wrong, I discover that everything was perfectly working again (I have done nothing). Mistery! I did re-mounted everything back in place, once switched on everything was still working as expected. Watching the graph showing the reading gradually dropping down (external temperature was 5 degree celsius), when the sensors reached 10 degrees celsius the system crashed again (the ESP blue led was continuosly flashing once every seconds ) but no more answer to the client requesting data.

i make a cross checking moving the sensors inside my home were the ambient was 21 degrees celsius and after a reboot the system worked again and is still working now after 10 hours (with the snsors at 20/21 degrees celsius.

Since the maxim data sheet report that the DS1820 can read temperature down to -40 degree celsius I assume there must be a bug within the routine reading onewire, or I do something wrong (but I don't know what I am doing wrong)

Here the code I use to read the DS1820

1) collecting the three sensors ID with instruction: vv = temp()
Separate the three ids with index_1 = trim(mid(vv,1,16)) ..... index_3 = trim(mid(vv,35,16))

2) st_1 = temp(index_1)
st_2 = temp(index_2)
st_3 = temp(index_3)c

If I do something wrong any advice is welcome, if it is a bug can be corrected?

Alberto

Re: Issue reading one wire DS18B20

PostPosted: Thu Nov 22, 2018 3:31 am
by Oldbod
Hi. Interesting project. I can't see there can be much wrong with the code you've written as it works for higher temperatures, but without the whole source not easy to say. Does it stop at 10 point something, or when it goes to below 10? ie 9. something

I find it hard to believe nobody else has had a ds sensor read below 10c, so I'm wondering if it stops then, or if it might happen during client transfer. You may have already but perhaps skip the actual read and put some substitute values in just to check...

Is the esp in the warm even though the sensors are not? Sensors in fridge, esp outside to test?

Just random thoughts..

Re: Issue reading one wire DS18B20

PostPosted: Thu Nov 22, 2018 5:41 am
by QuickFix
I would assume, when the code is not at fault, something with the hardware is giving you problems.
Maybe oxidation or just the temperature the ESP can't handle over time?

Re: Issue reading one wire DS18B20

PostPosted: Thu Nov 22, 2018 7:14 pm
by Alberto_2
Problem seems to start when reading temperatature goes below 10 c. Without changing anything, but simply keeping the ds sensor in my hands (to warm it up) and rebooting, the system start working again.

Will experiment again to see if I could learn more!

Alberto