loading
Picture of 3D Printed Arduino Controlled Eggbot/Spherepot
First off this project was a combination of of two great online resources. I had been looking into building an eggbot for a while and since I had a lot of ping pong balls on hand after one of my other videos the time was right for making my SphereBot that could write on ping pong balls. After doing some research online I found that there were already some brilliant designs out there. The 3D printed design came from Glasswalker's page on thingverse (http://www.thingiverse.com/thing:20398) and the Arduino schematic and setup came from a page on Pleasant Software's blog (http://pleasantsoftware.com/developer/3d/spherebot/). I simply put these two designs and will document my building experience of a (mostly) 3D printed SphereBot in this instructable.

 
Remove these adsRemove these ads by Signing Up

Step 1: Materials

Picture of Materials
IMG_1801.jpg
photo (19).JPG
photo (18).JPG
photo (21).JPG
photo (20).JPG
This is what I used to build the SphereBot. I substituted wood in for the two side pieces but those parts can also be 3D printed as well. Sorry I forgot to stage a nice materials picture at the beginning...

Materials:
- foot threaded rod
- Bolts that fit the threaded rod
- A sheet of thin craft wood (if you aren't 3D printing the sides)
- Sharpie
- Hobby King 5v stepper motor
- Ardunio uno
- Bread Board
- 2x Polulu A4983 stepper motor drivers
- 2x CanaKit stepper motors (http://www.amazon.com/dp/B004G51AZ4)
- Jumper wires
- 12V DC power supply
- Skateboard Bearing
- Computer with arduino firmware
- USB cable (to connect the arduino to the computer)
- Super glue
- Nerf Darts
-Ping Pong Balls (or eggs)
- M3 machine bolts, washers and nuts
- A Never Give Up Attitude!

Tools:
- Dremel (to cut the threaded rod)
- Drill (if you use wooden side pieces) 


Step 2: 3D Printing the Parts

Picture of 3D Printing the Parts
Once you download the files from Glasswalkers thingverse: (http://www.thingiverse.com/thing:20398) It is just a matter of configuring your printer settings and fabricating the parts. I used a replicator 2 and blue PLA. However settings for 3D printers vary a lot across the board even for the same model so do some experimenting before you print all of the parts. For the record these are the settings that I used.

I used makerware medium settings as follows:
-infill: 15%
-Layer height: .25
-Number of shells: 1
-Feed rate: 80
-Travel feed rate: 150
-Print temperature: 230


Step 3: Hardware Assembly

The first step is cutting the threaded rod. I cut mine into three foot long sections and then used the left overs for the part that connects to the nerf dart. Once the threaded rod was cut I assembled the pen arm that holds the stepper motor and attached it to the middle plate for the stepper motor. Then I centered the wooden sides around the pen arm. Finally I glued in the skateboard bearing in place and added the spring to keep pressure on the ping pong balls. Overall the assembly is pretty straight forward once you have the parts from the 3D printer. The most important thing to to make sure that the stepper motor that will turn the ping pong ball is centered with the spring loaded piece of the threaded rod that rests on the skateboard bearing so it can turn freely with the stepper motor (if you are using 3D printed sies this isn't really a problem...). 

Step 4: Configuring The Arduino

Picture of Configuring The Arduino
SphereBotBread.png
This circuit diagram comes directly from Pleasant Software's blog (http://pleasantsoftware.com/developer/3d/spherebot/). I had to do some experimenting to figure out which wires were which on my stepper motors but there are plenty of tutorials for how to do that online. On my bread board there is a third motor driver that is not being used (I forgot to remove it for the picture). Anyway if you follow the blog this part should be pretty straight forward. Just make sure that you have a 12V DC power supply connected to the positive and negative rails. 


Step 5: Configuring the software

Picture of Configuring the software
The software setup came directly from Pleasant Software's blog (http://pleasantsoftware.com/developer/3d/spherebot/). However because of newer versions of Arduino some changes have to be made to the original blog post instructions. 

My First Step: Hit Up GitHub for some files:
I downloaded the zip from the sphere bot files: (https://github.com/zaggo/SphereBot)
This zip-file basically is three files:
SphereBot.pde
StepperModel.cpp
StepperModel.h

The main file (SphereBot.pde) requires two libraries that I proceeded to download from the provided links:

SoftwareServo: http://playground.arduino.cc/ComponentLib/Servo
- I copied the folder from the zip file (SoftwareServo) to the arduino libraries folder
- The SoftwareServo.h file needed to be updated…
- I opened it in x-Code and chanced the Wprogram.h to Arduino.h

TimerOne: http://playground.arduino.cc/Code/Timer1
- I copied the folder TimerOne into the arduino Libraries folder
- When the zip-file was unzipped the TimerOne had -78 on it so I renamed it first before copying it into the libraries folder

Next Step: Change up some stuff to get rid of errors
The StepperModel.ccp needs to be adjusted… the Wprogram.h needs to be changed to Arduino.h

Now Gettting the sketch to compile
-Go into Sketch and add file… I made a separate folder for StepperMotor and then added both files to the sketch. This made everything work well.

Other than those changes you can directly follow the instructions on the blog post.

Step 6: Putting it All Together

Picture of Putting it All Together
You might have to do some experimenting to get your stepper motor's working properly. A great wiki for using inkscape with EggBot type creations can be found here: (http://wiki.evilmadscientist.com/The_Original_Egg-Bot_Kit) Other than figuring out how to use hatchings in inkscape running it is pretty straight forward!
smotewar4 months ago

hey in software servo part u said that The SoftwareServo.h file needed to be updated....what changes i have to make then?????/

i dint get the part you told

Sweet! This is awesome! I'll have to make one up for kids events!

metalmick1 year ago

Please could you inform me where I might purchase the printed parts?

kalabog762 years ago
nice! would it help if the pen is spring loaded?
ExperiencingPhysics (author)  kalabog762 years ago
Yeah thats a great idea! I think that if I ever revisit this project I will either look into adding a spring to the pen to keep it steadier of adding more weight on top of the pen.
misan2 years ago
Great job, but you may want to use microstepping to get better results and smoother movement. Just connect MS1,MS2 and MS3 to 5v instead of ground and now you have 16x the original resolution.
ExperiencingPhysics (author)  misan2 years ago
Thanks for the tip! Ill try to get around to implementing this to improve the original design.
hufan2 years ago
You blow my mind
TomGoff2 years ago
Excellent instructable! I think it's great that you have done such a complete build incorporating both mechanical engineering, electrical engineering, software and physics - I totally understand the importance of a never give up attitude especially when getting the machine set-up and ready to work.