TROUBLESHOOTING
TIPS and
TRICKS
HOW TO KEEP THINGS
FROM GOING WORNG
WRONG WITH YOUR
ARDUINO-BASED BOT
by Gordon McComb
www.servomagazine.com/index.php?/magazine/article/october2012_McComb
Discuss this article in the SERVO Magazine forums at ttp:// forum.servomagazine.com
"Where nothing can
possibly go wrong!"
That was the catch phrase
to the 1973 movie,
Westworld. You remember
what happens ... some
programming glitch causes
all the human-like robots
in the Westworld theme
park to go haywire.
A particularly nasty
gunslinger bot goes after
the two heroes of the
movie, shooting one dead
(Josh Brolin's dad no less!)
and then chasing after the
other until its face gets
burned off with acid.
58 SERVO 10.2012
Inever give my robots six-shooters for this very reason. I know sooner or later something won’t work the way it should. It’s bad enough to have to troubleshoot
problems with batteries, let alone
worry if my robot will shoot me in the
back one dark night.
Troubleshooting is the step-by-step
process of determining the root cause
of a particular problem, whether it’s
electronic or mechanical. It’s one of
the core arts and sciences of robot
building. In this article, I’ll provide
some basic advice on how to
troubleshoot your Arduino-based bots
— gun fighter or otherwise.
Systematic
Approach
to Development
and Troubleshooting
Simple bots only need simple
troubleshooting. They only have one
or two features, and when
something’s wrong, the reason is
usually obvious. Add complexity to the
design — even something as
innocuous as a separate set of
batteries for the servo motors — and
you’re left wondering where to start
in troubleshooting any problems.
Layer upon layer of features and
functionality create ever-increasing
combinations of trouble hot spots.
• Avoid the shock of a non-functional robot by building it in
smaller pieces. Begin with the basic
drivetrain — connect just the motors
and battery to the Arduino (through a
suitable H-bridge or other suitable
circuit, as needed).
• If this part works, you’re ready
to move on by building and testing
each new capability separately. Add