Samm The Sumobot
I just finished my the board for the Vulvan Five and had it sent away to get CNCed. I have the capability to do homemade PCBs but this one was a little big. So for the time being I have decided to document some of my other robots. This is Samm, the first robot I made with my CNC machine. So lets start with some pictures.
The wheels, hubs and motors are all from Lynxmotion. The wheels are 1.5 inches wide and 2.5 inches in diameter. The motors are 30:1 gear ratio rated to run at 12v with about a 235 RPM shaft speed. While CNCing the mounting holes for the motor I made a little boo boo as you can see below. At least it was still recoverable.
Here is the side profile with the wheel removed. My original design for the sumo didn't include the metal scoop in the front. After I milled all the parts and put them together I noticed a significant gap between the original front scoop and the ground surface. So I got a piece of sheet metal, bent it and screwed it in. The sheet metal was obtained from the siding of a washing machine.
Sensors used were the two Sharp IR distance sensor for object detection and two QRB1134 photoreflector for ring detection.
Above is the configuration for the distance sensors. I originally had them both pointing straight forward, but that yielded very poor results for object detection. I then angled them outward which made a huge difference but the drawback is, since I only have two sensors, it does a crazy dance that oscillates the robot left and right as it tries to look for the object. I have corrected this in the code so it doesn't oscillate forever.
At the center of the sumobot is a PIC 18F2455 microcontroller. Module you see in the middle is a USB bootloader designed by Bryan Schmalz. I originally was using his design, but noticed that he routed the bootloader switch to one of the PWM outputs. I took the design and rerouted the switch to a different pin to free up the PWM and sent it away to a boardhouse to get it produced. So if anyone is interested in it I have lots of boards. They are also available from Sparkfun.
I decided to keep the design modular, so that if something broke, it could be easily replaced.
The motor controller is the Motorola MC33887. 5A peak output, but I should probably check the datasheet on that. Since it was a surface mount IC I made a breakout board for ease of prototyping and implementation.
Closer look at the UBW. The firmware is coded in C with the free development environment C18 provided by Microchip.
Here is the PCB I made to interface the sensors and motors. It has a 5V regulator and LEDs for debugging and making it look cool.
After the successful testing and implementation of the original PCB, I redid the board to make it more compact. This board will be used on the new revision of Samm.
Samm next to the Vulcan Five.
Tanpopo poses again :D.
As a final note, Samm was named by an elementary school girl during an exhibition the club had during a science fair. She asked what the name of the robot was and I replied that it didn't have one and you should name it. The girl then replied name it Sam but with two Ms. I asked why two Ms, and she said because two Ms are awesome.