loading
Picture of Plexi Bot: Wireless Robotic Arm
083 (768x1024).jpg
 Hello all. Recently I have been working on a lot of robotic design and simulation at work. I needed a method of taking my work home with me, and seeing as I can’t carry a large six axis arm home in my briefcase; a solution had to be found. The following set of instructions is my initial design for a small three axis robot that can be used for simulation, small tasks, or just looking cool. This project uses a regular microcontroller, some small stepper motors, and some transistors. This project does not require any advanced equipment or in depth knowledge in robotics, all you need are some basic tools and a bit of work ethic.

The robot featured in the above picture is our final product. It is capable of rotating on three separate axis; rotation about its base, rotation at the base of the first arm, and rotation at the base of the second arm link. There are two levels of this robot, the first has a very basic controller, the second has a wireless controller and some more advanced controls. We will begin with the first design and then once that is finished it can be easily upgraded to the wireless version. The six buttons on the breadboard are use to control which joint is moving and in what direction is it moving. The robot can also be controlled using something called R-code. This code is similar to G-code for CNC, you specify which joint you are moving, the direction, and at what speed it is to move. This code is entered on the computer through a windows application included in these instructions.

So if I have captured your interest (which i hope i have) then I suggest you make every attempt to follow this Instructable and build this robot. Not only will you be able to automate the boring tasks in life but you will also emerge with a greater understanding of micro-Controllers and robotics. 


 a 
 
 
Remove these adsRemove these ads by Signing Up

Step 1: What You Will Need

Picture of What You Will Need
IMG00382-20110701-1806.jpg
IMG00420-20110705-0825.jpg
IMG00411-20110704-1047.jpg
There are several items that you will need to build this robot. All of them can be obtained at either a hardware store or some electronics supplier online.

Materials

3 -Small Gear head Steppers – Robot Shop – 6.99$
2 Square feet of plexi glass – salvaged
Bread board and electrical components - Digikey – 15.00$
16F877A controller - DigiKey – 5.00$
USB RS232 adapter – Ebay – 2.99$ 
Some screws - Anywhere
Netbook – Priceless

Tools

Wire strippers and needle nose pliers (always a must)
P.I.C. Programmer (Cana Kit is excellent)
Scroll saw or something to cut plexi or hard board (even an exacto knife if you are carful)
Wood glue and epoxy
Printer or a pencil and ruler
Drill (Doesn’t have to be a drill press, could be an old hand drill)
 
The details of the circuit work will be outlined in the circuit assembly section. 

Step 2: Making the Parts: Step #1

Picture of Making the Parts: Step #1
IMG00368-20110701-1752.jpg
 Once you have attained all of the parts we are ready to start building. The first step is to create all of the individual parts needed for the body of the robot. Selecting of the material is key to how the robot looks, performs, and how long it takes to build. Some of the available selections are.
-Plexi glass (what I used)
-Hardboard (MDF)
-PCB or protoboard
-cardboard
I had used Plexi glass because I have lots of it and it looks cool. I believe the best choice would be to use PCB board. This stuff is light, strong, and easy to cut and drill. The prototype of this robot was build using foam board (it is easy to cut and strong).

#1. Print of the documents "PlexiBot_Print1" and "PlexiBot_Print2"

#2. Cutout all of the individual shapes and trace them onto whatever material you are using

#3. Cut the shapes out. If you are using plexi glass a scroll saw will work. If you are using foam board i recommend an exacto knife

#4. Review the about images so that you know how the robot goes together before assembling 

 

Step 3: Assembling the Parts

Before you begin to assembly the motor make sure you have some speed set epoxy and some super glue (gloves also don’t hurt because it gets messy). If you look at the final image of the robot you will notice that it cannot be disassembled without breaking it. This shows that the motors cannot be inserted after the robot is assembled, so the motors are our first step. As you see in the above image we first must screw the motors to parts insert part numbers. It may help if you apply locktite to these nuts to prevent them from vibrating off. Then take parts insert parts and put the motor shafts in the holes as shown in the above image. Hold it firmly in place and apply some glue (epoxy) to the shaft and hole of the part, once this sets you will see how the robot arms will function.

Warning: If you apply to much glue and it spills down to where the shaft of the motor goes into the motor (above image) the motor may seize. If this happens remove the motor from the assembly and clean all glue of immediately.

Allow the motor assemblies to set before continuing. Assembling the remainder of the parts is done with some super glue and a lot of patience. The order of assembly is not critical after the motors, so use the above images and finish the assembly. Remember to not lock up the wires when you are assembling, it is pretty hard to do but still possible. (if you are a real go getter you could add leds in the robot base to make it light up)

After all that you should have a robot assembled and ready to wire up.
 

Step 4: Making the Circuit

To assemble the circuit you will need the following components, these are incredibly common and you should have no difficulty finding them from Digikey or any other suppliers.

(1.5) – Breadboards (I ran out of room on one so I used a half board)
(1) – 16F877A
(3) – ULN2803A transistor array (or if you like complicated use individual transistors)
(1) – 1k resistor
(1) – 4mhz oscillator
(2) – 22pf Capacitors
(∞) - Wire
(1) – 5v power supply (1A)
(A lot) – header Pins (can do without)
(6) – Push buttons

It may also help for you to make grouped jumper wires, these can be purchased but i enjoy making my own. The circuit must be wired up in the same way that is featured in the wiring drawings (files "PlexiBot_Wiring"). The photos of the bread boards can also be referenced for methods of cramming everything into such a small space.   

The power supply i used was the charger for an old Sony camera. It is very likely that you have something lying around your shop or home that will work for power. 
 

Step 5: The Micro-Controller and its Program

Picture of The Micro-Controller and its Program
The Mirco - Controller is the heart of this system, without it the robot would not even be able to function with the manual push buttons. If you are reading this and you still have no idea what a micro controller is or how to use them i suggest you try this book. It is where i started and am always referencing back to.

"Making PIC MircoControllers instruments and controllers"  H.S.Sandhu

The PIC 16F877A is the controller i chose for this system. It is very versatile and has all the io's needed for a project like this. What did i use in the controller you might ask?

- One of the timers
-the on board eeprom
-The PWM function
-The Rx and Tx pins

For programming the controller i recommend the CanaKit programmer. It is compatible with PIC Kit 2 and has the ability to program from an eeprom device. The reliability of the programmer is also wonderful, i cant tell you how many times i have put the chip in backwards without killing it.   

To program the micro-controller for this project you do not need to have any programming software. The only software you will need it PIC Kit2. This is the software to load the Hex file onto the controller.

http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20v2.61.00%20Setup%20A.zip

If you are confused as to how to use this software i suggest that you try this link. 

http://www.youtube.com/watch?v=_ibcJyxlkKw

If you do want to modify and right your own programs i would suggest one of the following.

-PicBasic (easiest)
-Code Warrior (medium)
-Mplab (hardest)


 

Step 6: Programming the Robot

Picture of Programming the Robot
IMG00369-20110701-1753.jpg
This project comes with three diffrent code options, each option can be reprogrammed into the controller at any time (i hope to fuse these programs into one very soon). 

Program #1. This program is the basic package it allows you to control the robot from the push buttons on the circuit board.

Program #2. For the autonomous motion seen in the first video this is the program you will need. It allows the computer to control the robot from a note pad file. (soon to be described)

Program #3. This package includes to programs. One for the robot and one for the Wireless remote. (Wireless remote described in future step).

The circuit set up can stay the same between all of these programs, the only thing you need to change is the program on the controller! When using these programs i suggest that you build them in order, it will save you a lot of debugging time.    

For program #2 you will need a USB to RS232, or if you are lucky enough to have a serial port on your laptop a simple RS232 card will work (both feature in picture above). The circuit diagram describes how to hook the circuit up to one of these units.  

Step 7: Installing the program

Picture of Installing the program
The program that s included with this Instructable "PlexiBot_Controller" is a windows based program that works through a COM port. If you are confused by COM ports please visit the following:

http://www.worldstart.com/what-is-a-com-port/

Installing the program is very simple, it installs by running any of the two files included in the zip. Once this program is installed you can hook up the robot to the USB to RS232 connector. This is done as described in the circuit diagram, and if all else fails look at the pictures. 

Some key notes about the program:
-This is the first version so i am working out alot of the bugs.
-If you are not careful sometimes the program can hang up your com port. If this happens be sure manualy close the COM port before continuing.  
-Be sure the file path is correct and be sure that the file is a TXT
-The number of lines starts at zero so be sure to subtract 1 from the number of lines to read. 


Step 8: How the Program Works

Picture of How the Program Works
The core of the robot control is the text file. This file outlines how fast the robot will move "R4" and which joint will move how many steps "J1F200". The number entered after the joint command must be no greater that 254 due to memory limits.

N001 R4 J1F0 J2F0 J3F0 J1R0 J2R0 J3R0  

Above is the standard form that the code must be written in. There must be only one set of codes per line. If a section of the code is left out the robot will not function properly.

Selection of the proper COM port is critical if you do not select the right one the robot will not receive its code. The COM port info can be found in the windows device manager. The file below is the code seen in the video at the beginning of this Instructable.   

  


rcode.TXT680 bytes

Step 9: Lets Get Wireless

Picture of Lets Get Wireless
IMG00459-20110709-1014.jpg
IMG00384-20110701-1807.jpg
IMG00417-20110705-0809.jpg
IMG00419-20110705-0809.jpg
IMG00457-20110709-1014.jpg
If you have successfully built this robot and used both programs (button and Pc controller) then you are ready to build a wireless controller. To build it you will need the following

-PIC 16F877a
-6 buttons
-7 resistors (1k to 10k or anything in between)
-2x16 LCD (will work without this)
-2 5k pots (10k will also work)
-5v power supply (battery pack)
-Set of wireless cards (ebay search: "RF module")
-4Mhz crystal
-2 22pf caps

When you have all of that you can build the circuit attached to this page. Once the circuit is built you will have to load to new programs into the main controller and the wireless one. The programs are attached below. Once the programs have been loaded you can uses the buttons to control the moment of the robotic arm. The LCD will also show what speed you are running at.  

Step 10: Fini

Picture of Fini
Hopefully your robot is working well and you already have big plans to take over the world with it, or just have it make your coffee whatever the preference.  

future plans for this robot include:
-upgrading the software on the PC to be more versatile
          having on screen manual controls
          robot studio interface
          faster transmitting for less pause between steps
-creating a better stepper driver system.  
-And best of all making new playgrounds and automation situations for the robot to tackel

Thank you all. Any questions? please ask. 

MangoKid Out

Tjham1 month ago
I am wondering, this project looks very interesting to me but I am fairly new at programing and working with robotics. But the construction of the robot and configuration of the bread board I am familiar with. Would u say this project isn't for me or would I be able to do it?
gsandhu21 year ago

I’m working on a project which is about making a rescue
robot . I have struggling with it for 4 months and now all the mechanical works
had been done . but I’m facing difficulty in make the robot to work with rf
module can u plzz help me…

I want make transmitter and receiver that can control the
motion…I mean that receiver should have control 8 dc gear motor and each dc
motor should have a forward and backward botton to control the motion ……can u
kindly help me with this project ….if u can make the circuit board diagram for
the PCB ….or any other suggestion plz reply……mail me at “sunny1995gagan@gmail.com”

topdo91 year ago

Interesting Robot. I was wondering, since you are using stepper motors, how is the accuracy? Have you considered some kind of feedback for motor positions like encoders?

kevinhorne3 years ago
I'm new to field of microelectronics and have been working my way in on various parallel projects. This is an exciting and remarkable project for the site, thank you for posting it.

There were a couple of things I couldn't figure out between your wiring diagram and the images. If you have a moment, I was wondering:

1. Where on the wiring diagram are these two circled items? They look like some sort of capacitor loop, but I can't really tell without it being on the diagram

2. You list out a 1K resistor in the parts list but it looks like there are (7) 3.01K resistors called out on the wiring diagram and they appear to be ?

3. Can you provide a picture of the wiring occurring at the top of the bus runs on the larger breadboard and the precise location of the power feeds - just want to make sure I have things correct before I destroy my chips!

Thanks!
robotarm.jpg

5V given to 11,32pins, GND connected to 12,31 pins.

100nF capacitor between 5V and GND at both 11/12 and 31/32.

msuren881 year ago

what is the value of the condenser ???

plz give fast reply

FCRTW5MGPBDI4PA.jpg
gany1431 year ago

Are the shapes of 1st arm and 2nd arm important?

i.e the figures arm shape which are present in the pdf file. Is it necessary to cut the plexi glass in such a way?? plz reply... :)

ianmcmill2 years ago
Very nice set up tutorial !
Cool thing.
sanjevk3 years ago
can we use atmega8 mcu instead of pic?b'coz in my region pic mcu's are not readily available...!
ortechltd3 years ago
5v stepper motors are not available in my country. how can i use 12v motors??please inform me ASAP
lordl99993 years ago
would it be complicated (for a know's-nothing-about-robotics (/another instructable would be appreciated)) to apply a third stepper for opening and closing a "claw" at the end of the arm??
*a 4th stpper motor
arick3 years ago
How can I make the initial position everytime the system is resetting ?
Or power off, then the hand return to the initial position ?
JordanN52533 years ago
Very nice looking bot, very interested in making one. There's just one thing I need to ask, you mention it can perform small tasks. What type of tasks can it do? Thanks.
lmateiu3 years ago
Hi!
It's nice,but did anyone tried with bluetooth?,because there is a very tyny USB/Bluetooth device for mobile phones and is not expesive...
gabrielsan4 years ago
Good work. Steepers are much more reliable than hobby servos for this job.
Mangokid (author)  gabrielsan4 years ago
Ya they most certianley are. The best part about them is that they dont have the backlash that the hobby servos do. If you look at some similiar bots with servos you will notice that they are extremly jumpy and usually swing all over the place. Also these stepper are geared to 1:64 so each joint has 11'000 diffrent positions over its 180 degree range of motion. I dont think hobby servos are that accurate
tigerbomb84 years ago
how much can it lift
Mangokid (author)  tigerbomb84 years ago
it will lift about 100 grams. If you turn up the voltage to 6 or 7 you can lift more but only for a while due to the heat generated in the motor