Last 10 minutes Temperature readings in the SSLI and Nikola computer rooms.
I'm using Dallas Semiconductor DS9097U-09 adapters ($5) and DS18S20 thermal sensors ($2.60) as the basic components of a thermal monitoring system. It only takes these 1-wire based parts (and some wire) to make a working system, but I needed more than just a single sensor setup. I decided to go a slightly more deluxe route.
One of the incredibly cool things about these parts is that they can be cascaded. Multiple sensors can be managed from one adapter, so long as they're all connected to the same signal line.
Another really cool thing is that the adapter has RJ-11 as the 1-wire connection. This made me think it would be nice to use regular telephony cable and connectors for the bus, enabling cascading lots of sensors easily and cheaply. However, telephone cables are cross-over cables. Pin two on one connector is pin four on the other end. I needed to un-cross them if I was going to cascade reliably.
My original design involved two Printed Circuit Board mounted RJ-11 jacks and a small board with two traces to mount the chip on. After looking for the parts at a local Radio Shack, and not finding them, I decided on an arguably easier and probably cheaper method.
The Thermal Cube (TC) is based on a standard two-jack wall-mount RJ-11 phone box.
Construction of the first prototype TC is documented here.
For software, I'm using Brian Lane's DigiTemp V2.2 for Linux. I'm also trying to make it work under AIX (he has the #IFDEFs in there, but it doesn't work quite right under 4.3.3.) and BSD/OS.
Soldering the wires in place. The bottom clamp also acts as a heat sink, helping to protect the circuit. Important plot point: Test the work here, before you put the heat-shrink tubing in place.
The sensor with ground (green) and signal (red) wires connected. The third pin isn't electrically needed in this installation.
I'm using a simple two-jack RJ-11 wall connector from Radio Shack. This one was a bit more expensive than I'd want to use for mass-production, but not horrible for prototyping.
Note that I've got the wires crossed here. This is important if you want to take advantage of regular phone cords to cascade multiple boxes together. By connecting green from the incoming to red on the outgoing and the DS18S20, and connecting red from the incoming to green on the outgoing and the DS18S20, you undo the cross-over effect in the phone cord itself. Each outgoing jack winds up wired pin-for-pin the same as the jack on the DS9097U.
Tuck the black and yellow cables out of the way or cut them off. You don't need them.
First wire-in. The heat-shrink tubing is in place on both the ground and signal lines, and the wires are connected. Again, note the crossed wires here, to undo the crossover in the phone cord.
I cheated and used the otherwise un-needed third wire from the DS18S20 as a clamping pin, locking it to one of the spare binding posts in the circuit box.
You might want to drill a hole in the corresponding location in the box cover to allow air flow, if you're going to surface mount the box.
(Yes, one of the wires is loose. I fixed that after I took the picture.)
Wed Jun 20 23:40:55 PDT 2001
The next day...
My very first effort with the DS18S20 was a simple 'solder the sensor to the end of the phone cord' connection. This is functional for the end of a chain, but has the serious drawback that striping and soldering very small multi-strand wire (which is what makes phone cords so nice and flexible) is a major pain in the neck.
This is the sensor that is monitoring temperature in our main computer room.
The design of the Thermal Cube was, of course, intended to allow chaining. To test it, I plugged try 1 into the outlink jack on the TC and checked that I could read both sensors.
For once in my life, I'm thrilled to report that "it works as designed."
Note the holes in the TC case. While testing, I was disappointed at how slowly the sensor was responding to temperature change. By putting holes on the three non-wire sides, and in the top just over the sensor, I was able to get a much quicker response.
At this point the prototyping is done. All I need now is for the 36 sensors and 18 adapters to arrive. Unfortunately, they are so popular that the backorder is over 10 weeks for the sensors.
And here it is, deployed in the second computer room. The chain will go down to the next floor, where we have more computers stashed. But that won't happen until I receive the back-ordered hardware.
Note how IBM labels these serial ports 1 & 2, instead of 0 & 1. How unlike them. The DS9097U-09 adapter is the blurry black thing plugged into serial port 1.
Now to get the software working under AIX 4.3.3.
Thu Jun 21 09:39:59 PDT 2001