Introduction: Robot 1: "Little Jimmy" Based on PICAXE-18M2

About: Happily married man who loves life, nature and technology.

I wanted to build this little robot to give me a fun and flexible platform for learning more about programming, RC (radio-control), drive trains (the mechanics that make it go) and the newest PICAXE processor, the 18M2. Under a modest budget, I sought to salvage materials and build as much as I could rather than purchase a kit. Since I live in an apartment, my available tools were also limited to some basic hand tools: drill, hacksaw, files, etc. This will be a remote-controlled tele-presence once I purchase a wireless video camera from E-Bay and mount it on the pan and tilt servo: otherwise, the robot is complete. 'Little Jimmy' has entertained my wife and neighbors with his nimble agility. Most of all, this project taught me a lot and earned a sense of genuine pride and accomplishment. Though the robot is RC controlled, it can just as easily become fully autonomous by reprogramming its PIC 'brain'.

Some basic specs:

1 Size 10x10x9.5 inches
2 Weight 9.5 lbs (half the weight is in the battery, you could use a smaller one)
3 Weight Class Hobby Weight <=12lbs
4 Speed 0.45 MPH
5 Speed 0.67 FPS
6 Wheel Rotation 53 RPM
7 Battery Dimensions 4x3.5x2.75 inches
8 Battery Weight 4.5 lbs
9 Battery Gel Cell 12 V, 5Ah
10 RC System 2.4 Ghz
11 Current Draw F or R 0.5 A
12 Current Draw rotate 1.2 A
13 Estimated run time 6 h

Step 1: Attach Motors to Wheels

I lucked out in obtaining 4 surplus gear-head motors that rotate at about 53RPM at 12V, 120mA each at no cost; you would expect to pay $15-$25 a piece for equivalent units. These have a 1/4" D-shaft.

Attaching wheels to motors is not as trivial as you might think. The key piece of hardware is called a wheel hub adapter, and I found a good selection at ServoCity [Link] . They also manufactured ABS wheels and motor mounts I used. (Parts list is at the end of this article).
The wheel hub adapter attaches to the motor shaft via a set screw, and the wheel is secured to the hub with 4 socket-head cap screws.

Step 2: Motor Mount to Aluminum Frame

From the 'Big-Box' Builder Supply I purchased aluminum angle 1"X1"x48". It is inexpensive, light-weight and easy to drill. The aluminum frame will add strength to the press-board panels  used for the robot as well as provide a means of securing the shaft-end of the motors in place. First, I drilled a hold slightly larger than the motor shaft (@5/16"), then I made a paper template of the 3 motor mounting holes using rice paper from some Chinese Take-out I was eating. A nail set and a hammer banged little dings to make the locations for the 3 holes for each motor, which were then drilled out for the tiny metric screws (2mm) needed. Getting those holes right was the hardest part of the job (it would have been easier with a drill press). For the holes that I did not get quite right, I simply had to drill them out a little more.

Step 3: Robot Undercarriage

With the 4 motors duly mounted on 2 aluminum rails, both assemblies were bolted to an 8"x10" piece of press board (1/8" thick).

Step 4: Battery Box

Using 1/2" thick craft wood I built a frame around a salvaged gel cell battery I had. The frame was extended to also support the top panel and to provide mounting surface for circuit boards to be added later.

Step 5: Battery Box on Base

Using wood glue and wood screws, the battery box is mounted to the robot's base.

Step 6: Installing Circuitry

A matching top panel is glued and screwed to the top of the battery box, and the battery hole is routed out so it is open. Then the first circuitry to be installed is the gel cell charging circuit, which I got off the Web [Link ] . I also added a piece of 1/2" square trim to the rear, and drilled out 2 1/4" holes for LEDs to signify when the robot is going in reverse. 1/2" holes were also made through the extended parts of the battery box to run various cables.

Step 7: PICAXE Power Board 'The Brain'

PICAXE is the cheapest, easiest way to learn how to program and use micro-controllers. I purchased the PICAXE-18M2, an Quad H-Bridge driver chip and the power board all for under $20 from SparkFun [Link ]. The development environment and SW tools are free from Revolution Education [Link] . The spec sheet for the power board (CHIO35A) details how to cut a resistor on the board and to add a 78L05 voltage regulator to seperate the PIC power (+5V) from the H-Bridge power (+12V). Since I am using a RC system to control this robot, the job of this PICAXE is to receive the PWM signals from the RC receiver and convert them into the logic that the H-Bridge driver needs to control the motors. The premise is 1 RC channel will move both left-hand motors (wired in parallel) forward or backwards, and another RC channel will control the right-hand motors.

The code is very simple:

;Robot 1 Development Code
;James Dinsmore 6/18/2011
;for PICAXE-18M2


main:


pulsin C.5,1,w1                           ;record RC channel 2 pulse into word variable
pulsin C.6,1,w2                           ;record RC channel 3 pulse into word variable
if w1>160 then
                                                       ;forward left-hand wheels
high B.6                                        ;H-Bridge In4
low B.7                                          ;H-Bridge In3
endif
if w1<140 and w1>20 then
                                                       ;reverse left-hand wheels
low B.6                                         ;H-Bridge In4
high B.7                                       ;H-Bridge In3
high B.1                                       ;turn on left tail light LED
endif
if w2>160 then
                                                      ;forward right-hand wheels
high B.5                                       ;H-Bridge In1
low B.4                                         ;H-Bridge In2
end if
if w2<140 and w2>20 then
                                                      ;reverse right-hand wheels
low B.5 ;H-Bridge In1
high B.4 ;H-Bridge In2
high B.2 ;turn on right tail light LED
endif
                                                      ;shut off motors if no signal is received
if w1>140 and w1<160 then
low B.6                                         ;motor only runs if one end is high and the other low
low B.7
endif
if w2>141 and w2<160 then
low B.5                                        ;motor only runs if one end is high and the other low
low B.4
endif
low B.1                                       ;turn off left tail light (if on)
low B.2                                       ;turn off right tail light (if on)

goto main

Step 8: Wire RC Receiver to PICAXE Power Board

I purchased a very cheap RC system from HobbyKing for $25, that includes a 6-channel RC transmitter and receiver [Link] .
I made the channel assignments easy: the left joystick forward moves both left-hand wheels forward, pulling that joystick back reverses them, and so forth for the right joystick. For the pan and tilt servo on top of the robot (that I will mount the wireless video camera on one day), I just hook those servos directly to the receiver channels controlled by the round knobs on the transmitter.

My wiring diagram [Link] .

Step 9: RC, Servo and Micro-Controller Systems

At this point all of the robot's systems come together as cables are routed between the circuit boards, battery and switches.

Step 10: Safety Wiring

7 amps can weld your screwdriver to the chassis---be safe and install a fuse between the battery and the robot's circuitry!
I also added banana jacks and wire loops on top that would be easy to pull out in case the robot went crazy.

I also installed 2 LED flashlights from Harbor Freight for night driving. [Link]

Step 11: The Completed Robot

I cannot express the pride and joy I felt the day 'Little Jimmy' rolled out of my home lab and into the world! A lot of my friends want to build their own robot, and i am more than happy to help them along.

I have a more complete blog here [Link] .

Here is the parts list: [Link].



Make It Move Challenge

Participated in the
Make It Move Challenge