Temperature Logger

Overview

The logger probes measure temperatures from -55°C to +125°C (-67°F to
+257°F). No calibration required.

Suggested uses

Monitoring the temperature of:

home brew beer

still

blood bank storage (As a back up for a commercial logger.)

marmalade cauldron

soap making

wine making

chicks being transported

sea water to see if it's warm enough to swim in

Description

The PIC Arbiter acts as interface between
one or more Dallas temperature
sensors and a
logging PC. There are 8 terminations or single wire busses. Each of the 8 busses can support up to 8 sensors.
As many sensors can be installed as required, limited to a maximum of 64.

I have called it an Arbiter as the controller negotiates with each probe
on the single wire bus. Each individual Dallas temperature sensor unique
serial number. Where a particular probe is in relation to its peers, or
particular bus pin on the PIC is irrelevant. The Arbiter sends to the PC the
unique serial number of the temperature probe and its temperature in a
serial frame.

The PIC Arbiter identifies sensors on each bus.
Additional sensors can be plugged in at any time. Each device is
polled every five seconds: its address and temperature data are sent via a RS232
serial link to the PC.

Windows Applications

These run on XP, NT, Windows 2000, 2003, and where relevant, Windows 95 / 98. There are no other DLLs to download.
All applications run stand-alone.

Hotbox

HotBox pulls apart the
serial stream and builds a log file. This file can be read "raw",
or imported to Excel, or viewed with Display.
An overview can be found in the Display
User Manual.

The hotbox software won't work directly
with a DS1820 directly connected to the serial port. You'll need the PIC
Arbiter
to convert from the Dallas single wire bus to asynchronous RS232 serial data.

Each sensor displays its temperature at a preset
position on a custom plan.

A glance with "HotBox" shows current temperatures at
various points in the system. Here seven probes are visible - a total of 64 is supported.

The probe graphics can be dragged to any position. Each probe is
represented as a rectangle: a red frame - the
sensor's getting
hotter - blue colder.

Logs
temperatures and displays current state. Creates c:\hotbox\temp.log. Use
Excel or Display to inspect the log.

The background graphic is customisable - you may design a bitmap of
any size. Name your
custom backdrop file as c:\hotbox\bckgrnd.bmp.

HotBox - dragging the probe graphics

Use the mouse to select the probe text on top of your bitmap image. When
first start Hotbox, off they default to the top left of the window.

Drag them to where you want.

They're sticky! Next time you run Hotbox you find them where you left them.

Tempsvc

Service - tempsvc.exe Logs
temperatures as a service. Use this on NT or 2000 if you don't want HotBox
running as an application on the desktop.
Just as with the "visible" app HotBox, the service creates
c:\hotbox\temp.log. On Windows 98 services
are not supported, so ignore tempsvc.exe.

PIC Source Code

The PIC Source - all raw bit
twiddling stuff! (PIC16L84). This contains the full documented source.

Arbiter Serial Frames

With the Arbiter wired up to the PC, the serial data from each
temperature sensor can be examined with a terminal emulation program such as
HyperTerm.

The frame format is slightly different depending on which Dallas
Thermometer device is being read. You may have a DS1820, or a DS18B20. I describe
each frame format separately:
I have placed the DS1820 description here, and the
DS18B20 description here.

The Arbiter doesn't care what device is connected. In fact you could put
other Dallas "one wire interface" parts, as well as a combination
of DS1820 and DS18S20 thermometers. The Arbiter will issue the Laser code
ID command followed by the scratchpad RAM command, and serialises the
response data as asynchronous RS232.

I could have ignored these connections, but when the Windows operating
system loads the serial
port is examined. Any data seen at this time can be misinterpreted as a new
plug and play device.

With this connection the arbiter shuts up during load time. With RTS de-asserted the arbiter stops sending data. If data is sent
to the PC during re-boot the OS thinks it has got a new "plug and
play" device!

I was with Bill the other day. He whispered in my left ear:

There are several switches that can be used to modify how Windows NT
boots up, and these switches can be applied in the c:\boot.ini file.

Placing /noserialmice:com1 after the path to the Windows
NT installation will cause NT to skip polling the com port during the boot
up process.

I had to fix this as some UPS's will switch to battery when this port
is scanned during the boot process.