Wednesday, October 14, 2009

Resistance is futile

I have more cable fragments and loose parts lying around here now than a Borg knows what to do with, but with a little help I have overcome the issues with the extension cable for my DS18B20-based temperature probes.

Since I could demonstrate that the extension cable was wired right, the issue was down to the added length of the cable changing the electrical characteristics of the circuit enough to screw it up. Having not done any actual, useful circuit work in over 25 years I didn't have an immediate concept of what the change could be or how to fix it, but I figured it was resistance based and related to the small gauge of the signal wires in the extension cable. I tried an experiment in which, instead of 50' of headphone cord, I used 50' of 12 gauge Romex wire (which, as a side note, is pretty difficult to solder to, because it acts as its own heat sink). That did nothing except add more debris to the workspace.

As it turned out I was on the right track but for the wrong reason. Once again, "Triple Mutt" Chuck provided the crucial concept that led to the answer. The added cable length does change the signal characteristics, but the solution isn't to change the wire gauge, it is to lower the pull-up resistor value so that more current is available to the parasite device. Through experimentation I was able to get a 50' extension working using 1.2K of pull-up (4 x 4.7K in parallel on the breadboard, it was easier that way and has that special Fork and Hay quality look).

The circuit now looks like this (obviously simplified):

I ran a preliminary test last night that showed in boiling water the probe read 211.3 F, so I think we are in pretty good shape to move forward now.

No comments:

Post a Comment