|
Balancing Robot Odyssey Robot Tabletop Challenge Fire-Fighter Teamwork Bots Lego Bots AIME Bot BotStack My Electronics Lab Robot CAD Symbols Robotic Events Robot Links
| | Home -> Robots
- > My Electronics Lab
Welcome to a virtual tour of my electronics lab. It's not a very big
lab, it all fits on my cluttered desk, but it is just enough to design, build,
and test robots. My goal has been to build re-usable robot
components that I can just plug together easily to form new robots to accomplish
different tasks. Below are the various phases I go through when building
and testing some new hardware for a robot.
Design:
 |
Usually an idea for some new piece of
robot hardware comes from missing functionality I would like to have, or
for some new kind of robot, where its function is not covered from a
previous design. I usually start out by laying down a
schematic design in a CAD program on my PC. The tool I use is
Circuit Maker 2000, from
Altium. It is not the best
tool in the world, and definitely has a drawback that Altium really
doesn't seem to care about making new versions of it. However, it
wasn't super-duper expensive to purchase, and does not have any license
limitations as to how big a circuit you can make. Adding new
components to the components library is very easy too. My buddy
Bob Allen also has this package, so it is really easy for us to email
designs back and forth. |
Prototype:
|
 |
Once I have the circuit designed, I usually use a
breadboard type prototype board to test out designs, and play with
various implementation scenarios. Then I can go back and fix
any mistakes I might have made in the design phase, and I know the
schematic is now correct. |
Layout:
 |
The next step is to layout a printed
circuit board (PCB). Circuit Maker 2000 comes with a PCB layout
package called TraxMaker. It is amazing how inexpensive it has
become to layout your own PCB, send it off electronic files, to a
prototype place, and get a couple of boards back. My favorite
places for PCB fabrication are:
 | AP Circuits -
PROS: They allow you to put as many boards as you want on one panel,
and then cut up the panel yourself. In some instances we have
put up to 20 different boards on a panel, and once we cut it up, the
per-board-price works out to less than $5 per board. CONS:
You don't get a silk screen or solder mask for that price, and the
smallest they will do is 8-mil trace and space |
 | Olimex - PROS: By far
the cheapest shop around. Silk screen, solder mask, and panel
cutting are all included in their basic services. CONS:
It takes 2 weeks minimum to get your boards back from them,
sometimes up to a month. |
 | Sierra Proto Express.
PROS: They are great for ultra-tiny surface-mount boards, with 6 mil
trace and space, and can drill down to a 15 mil hole.
Silk and solder mask are included. CONS: They charge $35 per board,
and you cannot put multiple boards on a panel and cut them up
yourself. |
|
Assembly:
 |
Once I get the boards back from the PCB
fab, it's time to put things together. A good soldering Iron can
be had fairly inexpensively if you shop around. I found this Hako
936 on sale at Fry's for $80. They sell a tip for this iron called
the "micro-bevel tip" that can solder some really small parts without
making a solder mess. I like the Kester no-clean flux solder
too. Get it in a .015" thickness, and it's easy to feed into those
small parts. |
 |
For those really small parts, it's too
difficult to see what you are doing without something to magnify the
work. My latest addition to the lab is a 20x/40x stereo
microscope. This one has a really good working distance underneath
it, so I can easily position a PCB underneath it and still have plenty
of room for my hands full of soldering iron, and solder. With that
micro-bevel tip on the soldering iron, I can individually solder down a
.010" pin on a QFP packaged chip, with no problems of solder bridges or
cold joints. |
Testing:
 |
It
always helps to start out with a good bench-top power supply that has
current limiting. It doesn't have to be anything fancy.
This one was less than $100 new. There is nothing worse than
powering up a circuit for the first time only to have some kind of
short-circuit and sparks, and smoke are shooting out of your newly
constructed prototype. And of course, a good multi-meter to
do some pre-power continuity checks to make sure you don't have any
shorts prior to applying the juice. |
 |
By far the most valuable piece of test
equipment I own is an oscilloscope, a
Tektronix 1012. I owned an old
Heathkit scope years ago, and when the CRT in it finally died, I didn't
replace it. About 15 months ago, as my circuits for robots were
becoming increasingly complex, I decided it was time to get a new scope,
and it was the best investment I have made in a-long-time.
I picked this one up at Fry's on-sale for $900 (ouch!). I am at a
point now, where I have solved so many problems with it since I bought
it, I can honestly say it has paid for itself in all the hours I have
saved. |
Software:

 |
Finally we arrive at the part I enjoy the
most....SOFTWARE! Yes, if you haven't guessed it by now I am a
software guy. I have been fooling with electronics since I was a
teenager, and did take some college classes in EE, but my degree is in
computer science, so software is where I get really excited.
Depending upon the hardware being used, the software and the
development environments are obviously diverse. Most of the
re-usable robot components I have been working with lately are all based
around Microchip PIC chips.
I started out using the PICStart Plus programmer, which is a bit of a
pain to use, because you constantly have to dig the chip off the board
in order to reprogram them. However, the programmer is cheap, and
it's a good starting point. When the Microchip ICD2 came out, I
bought one, and started converting all the circuits to be in-circuit
programmed. Now I just clip-on, shoot the software down into the
board, and go for a test run.
All my PIC programming is done using both Assembly, and 'C'. I
use the free Microchip MPLAB integrated development environment.
My favorite 'C' compiler for the PIC is made by
CCS. They have a free
plug-in for MPLAB that works really well, and it saves you from having
to buy their IDE which is a-lot more money. I feel they have the
most features for the price, only $125. They have libraries
written for serial-IO, I2C, 16-bit math, and 32-bit emulated floating
point. I tried several other C compilers for the PIC before
settling on CCS, and I have found theirs is definitely the easiest to
use. |
Debugging:
 |
Debugging problems, or testing hardware
functionality using software can always be a challenge. You never
know if you have a problem because of a software bug, or because of some
kind of hardware issue. Most bugs are usually timing related, or
related to unexpected hardware behavior. I have found the easiest
debugging tool to use is simply an old laptop running a terminal
program. I build a serial console port into most of my boards, so
I can spew out a stream of ASCII debugging. I have had this old
laptop for years. I dropped it recently and cracked the
motherboard. I was able to find another one just like it on e-Bay
for $40. What a deal! Of course, you can always put an LCD on
your robot, and it's easier than following it around with a laptop on a
tether, but good serial LCD's usually cost more than $40 :-) |
[ Back to Robots ]
|