I have the temperature sensor ds18b20 connected to 17 meters of CAT5 cable and the measurement works well, sometimes the temperature rises to -127.00 ° C. I use a 4.7K resistor and I want to ask if the 3.3K resistor would not improve the measurement. I do not want to damage the DS18B20 sensor. Thank you very much for the help.
It may help.
Are you using the latest library for the device - if you google this happened before and maybe related to tuning on the bus .
17 meters is quite a distance; stray capacitance and other electrical noise may get in the way of proper reading the signal of the sensor (and the sensor properly receiving your signal). A stronger pull-up resistor will help for sure; using pull-ups on both ends of the wire may also help (mind the combined resistance, so 1x 4k7 would become 2x 10k if placed on both ends).
Check the data sheet for minimum allowed pull-up resistor.
I’ve used ds1820 on very long leads - similar to that, but not with Arduino . I used a loop of cat 5 as recommended on the suppliers web site - so out to the sensor and back again in a circular loop . Have you checked the sensor works on a short lead ? Worth a google anyway.
There are plenty of instances of using DS18B20 on longer runs, and I don't think 17m is too long. Using a 2.2k or 3.3k pullup and CAT5 cable is common practice. The intermittent results may be down to something else. My own experience is that it either works or it doesn't - no grey areas.
Poor electrical connections maybe?