This post is a retrospective look at the first robot I built solely for myself (back in 2008). I had only helped build one robot before this. It's clear I got a very late start into robotics. Although school did prepare me formally to dive right in, I wish I had been more focused on it when I was younger, I would have really flourished in college. This robot was designed mostly on a whim, but has turned out to be a nice solid prototype, and it is very useful for testing sensors and AVR code...
The Parts List:
The Parts List:
- Aluminum Chassis, Motor Mounts & Tire hubs - Machined while I was still at RIT when I had access to their machine shop. No original designs are available, I just went in and used what scrap I could find...I'd be embarrassed by providing the true measurements :).
- Stepper Motors - From Sparkfun...I may replace these some day with cheaper gear motors so I can use these steppers in a CNC/Drill Press.
- EasyDriver Stepper Motor Driver - Also from Sparkfun...simplest way to drive your steppers...the newest version of this board solves (I think) an issue that my version has with slowly shorting/draining power/whining when offline.
- Tires - Sparkfun Again...I seem to like these tires.
- Ball Caster - Another proven Sparkfun product...
- Voltage Regulator Circuit - This was the second time I had built a voltage regulator circuit, but the first time for a robot. This has proved to be one of the most important circuits to know, understand, and be able to recognize on PCBs.
- AVR ATMega32 - Since this project, AVR and in particular the ATMega32 has been my preferred micro-controller. I use AVR Studio, AVR Libc, and an AVR ISP mk2 programmer in most of my projects. The only exceptions are the Arduino projects, which are still AVR chips, just in a nice package that have a lot of the repetitious work already done for me.
- USB to Serial Adapter - Lets me use USB for controlling the robot.
- 8 AA Batteries & holders - Two sets of four paralleled together to provide enough voltage for the motors (outside the regulator circuit) and for all the electronics and sensors.
- 6 inch Breadboard - The epitome of a prototyping.
- Sensors - I've used a number of sensors on this robot, it usually gets used as the test bed for new sensors and circuits.
- Always leave an LED wired to a pin somewhere on the micro-controller and a compiled program to blink said LED somewhere in the code repository. Don't assume you've fried you r controller. Check it against a circuit and program that you know will work.
- Use one type of screw whenever possible (this one has all 4-40 standard hex screws, except the motor mount screws, which had to be metric).
- Stepper Motors and batteries aren't the best option for a robot...next time gear motors.
- Have a quick way to turn off your motors (see the jumper at the front with tape sticking up?). When your robot gets to the edge of the table and the suicide feature is enabled...
- No sharp aluminum corners or edges...cuts hurt.
Code for this robot changes all the time, so there isn't much point in posting it...besides, it's rarely documented enough for anyone but me.