I debated with myself over how best to lay out my build log for this DrawBot. 1 Is it better to post the build process as I’m working on it, so that it would span numerous posts, or is it better to try to keep posting all the major steps into one post so that it is easy to follow? At the cost of appearing repeatedly repetitious over and over again, I think if I were following along at home I’d want to read either one long post that covers everything or a small series of posts that cover the few major steps. It’s easier at this stage to put all the information into one long post, revising it as I go along and pruning the ubiquitous2 nonsense out as I go.
Here’s what I’m adding in this iteration:3
- A section about optional hacks to the Adafruit Motor Shield
- More detail about the various libraries and the sketch necessary to upload the Polargraph source code
- Instructions for uploading the Polargraph source code
- Slightly better organization of my build outline
Now that all the parts have arrived, I’ve finished soldering the Adafruit Motor Shield, it’s time to figure out what the hell I’m doing.
- The Parts
- 9 VDC 1000mA regulated switching power adapter – UL listed
- Stepper motor – 200 steps/rev, 12V 350mA
- Micro servo
- Arduino Uno R3 (Atmega328 – assembled)
- Adafruit Motor/Stepper/Servo Shield for Arduino Kit v1.0
- Assembly
- Adafruit soldering and assembly instructions for the Adafruit Motor Shield
- Hint: Don’t try to put the L293D into the 16-pin sockets before you solder the socket into place.
- Hint: While preparing to solder the header pins into the motor shield, I found that the motor shield would not sit flat on the Arduino Uno because the leads from the motor shield’s reset button were in the way. I crimped the leads slightly and then motor shield sat flat.
- Optional: Hack the Adafruit Motor Shield
- Sandy Noble added three small hacks/modifications to the Adafruit Motor Shield. These are optional, but could make your robot easier to assemble, tune, and operate.
- Add heatsinks to the L293D chips aka the “H-Bridges”
- Add breakout boards to connect the terminals to the clips for the motor leads.
- Use the extra pins for hooking up a cooling fan. Sandy says he doesn’t use them any more, but it really wouldn’t be a bad idea given that it would take hours for even a simple print.
- Download and read the Polargraph Instructions
- Polargraph build instructions on Instructables
- Latest Polargraph Build Instructions circa 11/28/201145
- Install the Processing environment
- Processing environment download page
- It’s necessary to run the Polargraph controller software
- Update the Arduino Uno’s firmware
- Go to Arduino.cc and download the latest software (Version 1.0 is 85.9MB for Windows)
- The latest version of Sandy Noble’s Polargraph software requires the Arduino 1.0 firmware
- Install the Arduino drivers
- Plug in your board and wait for Windows to begin it’s driver installation process. After a few moments, the process will fail, despite its best efforts
- Click on the Start Menu, and open up the Control Panel.
- While in the Control Panel, navigate to System and Security. Next, click on System. Once the System window is up, open the Device Manager.
- Look under Ports (COM & LPT). You should see an open port named “Arduino UNO (COMxx)”
- Right click on the “Arduino UNO (COmxx)” port and choose the “Update Driver Software” option.
- Next, choose the “Browse my computer for Driver software” option.
- Finally, navigate to and select the Uno’s driver file, named “ArduinoUNO.inf”, located in the “Drivers” folder of the Arduino Software download (not the “FTDI USB Drivers” sub-directory).
- Windows will finish up the driver installation from there.
- Download Sandy Noble’s Polargraph Controller v2.0
- Add the AccelStepper Arduino Library
- Direct download
- Extract these files into a folder named “AccelStepper”
- Drop that folder into your Arduino libraries subfolder located “arduino/libraries/”
- Add the Adafruit Motor Shield Arduino Library
- Direct download
- Extract these files into a folder named “AFMotor”
- Drop that folder into your Arduino libraries subfolder located “arduino/libraries/”
- Add the Polargraph source code to the Arduino Sketch folder
- Direct download to the version I’m using now, which is “a1.” The latest version will always be at here.
- Create a folder inside your Arduino Sketch folder with the same name as the prefix of this source code file. At the time of this post, the source code file is is called “polargraph_server_a1.ino”, so the folder should be named “polargraph_server_a1”
- Upload the Polargraph source code to the Arduino6
- Connect the Arduino (without the motor shield attached to it) to your computer with the USB A to B cable
- Start the Arduino software
- Click “Open” or “Ctrl-O” or “File -> Open”
- Navigate to your “polargraph_server_a1.ino” file, select it, and click “Open”
- Click “Upload” or “Ctrl-U” or “File -> Upload”
- Wait for the sketch to be uploaded. You should see, “Compiling sketch…” then “Uploading…” and finally “Done uploading”
I haven’t built much at this point. As of right now, I’ve really only been trying to see if I can get the Arduino programmed properly. The next thing I’m going to do is design a spool to attach to each of my two steppers. I’ll work on that and then continue on with this big build log. Stay tuned!
Default Series Title- FYI, I was explaining this DrawBot to a friend at a party yesterday. He suggested I create a wipe board robot instead, similar to the Lady Ada and Matt Metts robots, and call it the BotWiper. [↩]
- Don’t you just love that word? [↩]
- Since this information is 95% stuff you would have seen from the prior Assembly post, I’ll put it after a little “More” tag. [↩]
- Polargraph Instructions circa 10/20/2010 [↩]
- Polargraph Instructions circa 10/9/2010 [↩]
- Adapted from the Arduino Getting Started Guide [↩]