Extending the waterproof temperature probe

Hi all, I'm trying to hook up the DS18B20 probe in my freezer to one of the Konnected boards and as soon as I add extra 10' of Cat5 it stops working. It works fine connected directly. I tried few different types of cables. The extended probe works fine hooked up to the Fibaro door contact, so I know I didn't messed it up. I'm wondering if anyone successfully extended one of these? Thanks. Denis
  • Denis Similar challenge here. Did you get it to work? Thanks, CI
  • Nope. I ended up moving one of my Konnected boards within the reach of the cable.
  •  I ran into this same issue so I figured I'd post the solution here. TL;DR: The internal pull-up resistor in the Konnected device is far too weak. You simply need to connect one end of a resistor to the 5v line on the Konnected board and the other end of the resistor to the same input pin that your "data" line for your DS18B20 is connected to. The size of the resistor will depend on the length of your wire. I have a 70ft network and I used a 3.3kOhm resistor between the 5v pin and the input pin to help "strengthen" the pull-up and it works great on my 70ft DS18B20 network with 3 sensors on it. It's also important to use twisted pair wire for the data/ground wires. If these wire are "parallel" to each other instead of twisted then any current flowing back along the ground wire can induce voltage in the data wire causing interference in the signal.


    For those curious about "why" the resistor modification is necessary it might be helpful to imagine the one wire network as "water" based instead of "electricity" based. Let's presume that we have a source of water that delivers a constant pressure with almost unlimited flow potential. (IE: A pipe connected to the bottom of the dam to a lake of water or a large water tower, etc).


    Let's consider a communication system where we extend this pipe to a bunch of people's houses, and at each house how we install both a pressure gauge and a faucet that can be opened to release water from the pipe (This water will flow to the "ground").


    To communicate: Anyone in any house can open their faucet to release water from the pipe, thereby decreasing the pressure within the pipe. When the neighbors see this pressure drop on their gauges they know that someone is about to send a message and start watching the gauage. The message can then be transmitted by opening and closing the faucet in a timed manner to cause pressure drops in a particular pattern.


    The only problem with this approach is that our water pressure source can replace the water released from that faucet so quickly that the pressure will drop very little. Making it very difficult for people to "notice" this drop in pressure. So we need to put some kind of "flow limiter" (IE: resistor) between the lake and the pipe so that when someone opens a faucet, water can flow *out* of the faucet faster than it can flow *in* from the lake to cause a significant pressure drop in the pipe. Conversely: We need to make sure that the flow isn't limited *so much* that the pressure doesn't rebuild very quickly. There's a balancing act in finding the right size "flow limiter" (resistor). The larger your pipe is, the more "water" that has to be replaced after someone opens/closes a valve and thus you need a less restrictive flow limiter to help "refill" the pipe faster. If your flow limiter limits the flow too much the pressure will climb very slowly making it impossible to transmit messages.


    Replace water with electricity, and the pipe with wire and that's exactly the problem with extending the one-wire network on the Konnected to the DS18B20. The internal pull-ups in the Konnected board I believe are somewhere between 30kOhm and 50kOhm. the "standard" pull-up typically used with the DS18B20 is only 4.7kOhm. Most people don't realize that wire has capacitance so electricity in a wire behaves a lot like water in a pipe. Electrical signals will even echo/bounce at the ends of a long wire run. The DS18B20 itself also adds some capacitance due to it's internal wiring. So the exact value of the resistor needed depends primarily on how much wire makes up your network and how many DS18B20's are connected to it. The 30kOhm resistor that's in the Konnected board will only allow for networks with up to about 3ft of wire and a single DS18B20. Anything over that and it will stop working due to the capacitance of the extra wire and sensors.


    For a more detailed look these are great resources:

    https://wp.josh.com/2014/06/23/no-external-pull-up-needed-for-ds18b20-temp-sensor/

    and

    https://www.maximintegrated.com/en/app-notes/index.mvp/id/148


    Hope that helps,

    -Jeremy

  • Thank you for the solution and explanation. I will try this in a near future.

Login or Signup to post a comment