REDUX
This month, I had originally
planned to move on to a new
TankBot project but I quickly
realized that in order to do so, I
would first have to dismantle our
previous project because it took
up virtually all the space on the
TankBot’s breadboard. I couldn’t
bring myself to do that. Instead,
I opted to simplify the IR circuitry
so that it would be smaller and
therefore able to coexist on the
breadboard with the next project
(or two) that I have in mind.
Simplifying the IR
Object-Detection
Circuit
In the March issue of SERVO
Magazine, we implemented a simple
IR obstacle-detection system that
enabled the TankBot to explore his
environment on his own, without any
intervention on our part. The project
used a PICAXE-08M “slave” processor
that emitted short bursts of infrared
light and then “watched” for echoes in
much the same way that a sonar system
detects the sounds that are echoed
back to it from nearby objects. One of
the things we discovered along the way
was that the IR system was surprisingly
sensitive; it required some detuning
and other techniques to decrease the
probability of false-positive echoes
being detected when there was no
obstacle in front of the TankBot.
Figure 1 shows the new
circuit schematic and Figure 2 is
a photo of the new parts layout
on the TankBot’s breadboard.
There’s no need for a parts list;
you just have to remove the
previous project’s extra parts that we
won’t be using this time. Actually, there
is one small addition to the circuit: a
100K resistor that ties the 08M Serin
line to ground (we’ll get to that shortly).
As you can see, the circuit is considerably
smaller than our previous version. For
one thing, I reduced the number of IR
LEDs from two to one. Besides saving
some space, I also hoped this change
would reduce the circuit’s sensitivity
and therefore further decrease the
72 SERVO 05.2009
number of false-positive echoes. This, in
fact, turned out to be true; the revised
circuit is definitely an improvement in
this regard. I was able to save even
more space by removing the 08M’s
programming circuit from the breadboard. This may sound like a strange
choice, since we certainly need a way
to program the 08M. One possibility
would be to do so on a separate breadboard and then move the 08M back to
the TankBot’s breadboard. However,
this approach would quickly
become a nuisance because,
as you well know, program
development always involves
many cycles of testing and
program modification.
I opted instead for a
different approach – one that
involves constructing the
programming circuit on a
separate board that can be
easily inserted and removed
from the breadboard. This
decision is what necessitated the
addition of the 100K resistor
mentioned above.
In order to run a program,
the “Serial In” (Sin) line of any
PICAXE processor must be tied to
ground. Normally, the combination
of the 10K and 22K resistor in
the programming circuit is what
fulfills this requirement. However,
if you remove the programming
circuit (as we are about to do),
the Sin line is left floating and the
PICAXE can’t function. I have found
that adding a 100K resistor to ground
solves the problem and also doesn’t
interfere with downloads from an
external programming circuit; it can
just be left in place all the time.
Constructing a PICAXE
Programming Adapter
If you’re also a regular Nuts &