TedLarson.com
Home R/C Airplanes Home Workshop Robots AI Projects

 

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:
bullet 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
bullet 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.
bullet 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 ]

 

(c) 2010 Ted Larson  ALL RIGHTS RESERVED