FIGURE 2. The RoboCooler System. Modified Igloo cooler.
The TEC and its external fan are mounted on the side facing
the camera. The box containing the interface board is
partially hidden on the right side of the unit. Not visible
are the controller (unplugged) and the heater (inside).
FIGURE 3. Assembled K8055 USB Experiment Interface Board.
Wires at the right carry PWM and digital outputs to the cooler
interface assembly. Analog inputs are on the left, near
my thumb. The variable resistors near the alligator clip at the
top of the board are replaced with a fixed resistor as
described in the text.
Microsoft Visual C++ compiler installed
in the classroom lab with which the students were already becoming familiar.
This article recounts how we
created and tested the “RoboCooler,”
essentially a model heating and air
conditioning system based around a
disused Igloo cooler, the Velleman
interface board, and a handful of surplus parts. While the control algorithm
we implemented is elementary, readers
may find some of the techniques and
technology useful in more sophisticated systems of their own devising.
System Overview
Figure 1 provides an overview of
the system. The Velleman board connects via USB 1.0 to a PC running
either Microsoft Windows or Linux. The
controller’s Analog-to-Digital Converter
(ADC) samples the temperature in the
cooler using a thermistor. Pulse Width
Modulation (PWM) outputs on the
controller board feed a driver board
that, in turn, drives a Thermoelectric
Cooler (TEC) and a pair of low voltage
heating elements. A single digital
output controls a fan that circulates
heated or cooled air within the cooler.
The whole system — except for the
power supply — is pictured in Figure 2.
32 SERVO 02.2008
Controller Board
Velleman’s board comes either
fully assembled or as a kit. I chose the
kit to save money and found it was
easily constructed. The construction is
all through-hole, with socketed ICs and
no surface-mount parts. The board
comes solder-masked and silk-screened
for easy assembly. Screw connectors
are provided for the five digital inputs,
two analog inputs, two PWM outputs,
and eight digital outputs.
If you’ve never assembled one of
Velleman’s kits before, you may be
pleasantly surprised at how easy it is to
follow their almost completely pictorial
instructions. The box is printed in
four languages, but the assembly
instructions just show the order in
which the parts should be installed. An
English PDF manual available from the
Velleman website explains the provided
software drivers [1].
The design of the board is simple
but efficient. Basically, all the input and
output functions the board provides
are handled using a PIC16C745
microcontroller that also handles the
USB interface. This microcontroller is
not user re-programmable, but it is
quite functional.
Among the nice touches provided
on the board are LEDs on all outputs,
Normally Open (NO) pushbuttons to
test the inputs, op-amps to buffer the
analog inputs and outputs, and a
counter function on two of the digital
inputs. Not bad for about $45.
Figure 3 shows the assembled
controller board.
Temperature Sensor
For the temperature sensor, I
chose a Negative Temperature
Coefficient (NTC) thermistor I found at
a local surplus electronics outlet. The
resistance of an NTC thermistor goes
down as temperature goes up in a
negatively accelerated, decreasing
function. If you can measure the
resistance accurately and if you know
the non-linear characteristic curve
relating resistance to temperature in
your particular thermistor, then you can
infer temperature.
Because our thermistor’s specific
characteristics were unknown, we
initially attempted a crude calibration
by comparing measured resistance
values against an available electronic
thermometer. Coupled with a software
table lookup, this yielded acceptable
performance in the initial classroom
prototype, but I wanted to achieve