DrawBot – Why are you crying?

Starry Night by Van Gogh, drawn by a freakin’ robot with ADD

Starry Night by Van Gogh, drawn by a freakin’ robot with ADD

After about half an hour I noticed my drawing robot was not making the low scritchy scratchy humming drawing noise.  I’ve started the drawing again…  It looked like it should have been working, the controller software indicated it was still connected, the command queue was still loaded, the Arduino + Motor Shield were still lit up, but it just wasn’t moving.

In retrospect, I should just have hit the reset button on the Arduino.  I think that would have made it pick up with the last command.  But, then I wouldn’t have the lovely picture above to show you!

Actually, I’m really really happy with the drawing quality.  Check out what it looks like when overlaid the subject image:

Starry Night by Van Gogh, drawn by a freakin’ robot with ADD, overlaid the subject image

Starry Night by Van Gogh, drawn by a freakin’ robot with ADD, overlaid the subject image

Default Series Title

DrawBot – Printing, Part II

After actually calibrating my machine, the results are MUCH better.  I still need to adjust the settings a little, but otherwise I’m very very happy with this result.  As you can see, the drawing is flipped.  Once flipped back, I think it is reasonably apparent this is Van Gogh’s Starry Night.  Here are a few things I’m going to try:

  • The pen I was using seemed to stop working in certain regions of the drawing.  I bought a few new pens on my lunch break today.  Both are art marker pens – one blue and one red.  Unfortunately, both are too wide to fit in my current gondola.  For now I’ll use a thin sharpie.
  • There is a slight curvature on the top and bottom of the drawing.  This is probably due to a miscalculation in the mm per rotation.  The downside to using a spool, rather than a sprocket/ball chain or gear/toothed belt, is that as the spool contains more cord, the diameter of the spool actually grows larger.  This means that when there’s a lot of line on the spool each rotation releases more line and when there’s very little line left on the spool, each rotate releases less line.  However, given the diminished space requirements, I don’t think this is going to be such a big deal.
  • I mostly measured the machine width.  Basically what that means is that I did measure it, but then got distracted, then used what I recalled the width to be inches to calculate the width in mm.  Clearly, there is room for increased precision.
  • For weights I’m using a bunch of spent batteries in a ziplock baggie tied with a wire to the gondola.  Too many batteries were causing the line to be too jagged.
Default Series Title

DrawBot – Printing!

I’ve actually printed something using my DrawBot!!!  Would you like to see it?!

DrawBot test print #4

DrawBot test print #4

As you can see, this is a print of Van Gogh’s Starry Night.  It has a few problems.  First, the pen was non-ideal.  This will take some experimentation.  Second, the image, as anyone can tell you, is mirrored.  Third, the image was supposed to be much larger – almost as wide as the entire A4 page I’ve scanned in above.  I fiddled with some settings last night, but didn’t accomplish much.  I’ll try again tonight.

However!  I’m really very encouraged!  It actually drew something that roughly corresponds to the thing I’ve asked it to draw!  I’m looking forward to playing with the settings.  The robot is fairly quiet – it’s propped against a wall about seven feet from where I’m sitting and the sound of operation is barely noticeable above the television.

Default Series Title

DrawBot – The Breakdown, Part II

Since my prior cost breakdown post, I’ve invested a little more in this project.  Thankfully, this hasn’t been a project where I’ve been throwing money at the end goal.  Overall, it’s been incredibly cheap with the cost of failure at the most delicate points being quite low.this help in choosing the steppers and power adapter.  Here’s what I bought and from where:

Right now the robot is probably close to its final form and I don’t anticipate any further expenditures.  Someone who has a box of electronic stuff could almost certainly build this robot for next to nothing.  Many other people have spare Arduinos, steppers, stepper controllers, and power supplies.  If I just purchased the bare minimum for this project and used scrap stuff from around the house, I probably could have built this robot even cheaper.

Default Series Title
  1. I couldn’t think of anything else I couldn’t live without!! []

DrawBot – The Assembly, Part VIII

Well, my newly designed motor mounts, while cool, just aren’t working.  If I were committed to using that long pine box, I could probably make a go of them.  I’ve tried several variations on this robot, and nothing has really worked so far.  Here’s what I’ve tried:

  1. In a box, mounted to the wall
    1. This just didn’t work.  The spot I found on the wall was in our robot room, behind my monstrous card catalog.  It was difficult to get to, the laptop I had it hooked up to wasn’t really talking to the robot, and I didn’t even get it fully hooked up in that location before I decided it just wasn’t going to work.
  2. In a box, under an easel
    1. In a fit of inspiration I realized that I had a painting easel, a rather nice one at that.  I took an old new canvas1 , put it on the easel, put the easel’s feet inside the long pine box, ran the monofilament line from the motor, through holes in the pine box, up behind the canvas, through an eyescrew on top of the canvas, and down over the front.  This was terrible.  It creaked, shuddered, and the pen sputtered around the front.
  3. In a box, on an easel
    1. Not ready to give up on Project Easel, I tried to put the pine box on top of the canvas and hold them together in the easel.  This really didn’t work.  Because of the location of the motors in the pine box, the canvas was either going to block the holes for the monofilament line or I’d have to run the line through the top of the box, which would have resulted in the same creaky, shuddering, sputtering problem of using the line through a hole in the box as if it were a pulley.  Either way, the entire assembly just wasn’t stable on the easel which did not want to hold it together.
  4. Bolted to a chunk of wood
    1. I actually have some spare plywood, but it’s been in the garage for a while and has a weathered look to it.  It also has a large 1.5 foot radius quarter circle cut out of it.  I figure if I’m going to keep this inside, I might as well spring for a new piece of wood.  A bit over $14 at the hardware store and I was in business.  Now that I’ve given up on my nifty motor mounts, I designed and printed a dead simple motor mount.  I could have accomplished much the same result by just drilling some holes in a piece of scrap wood. 2  I’ve also abandoned a gondola of my own design. 3
    2. The final result is essentially as follows – a 2’x4’x0.5″ piece of plywood, wrapped in butcher paper, two steppers bolted to mounts and screwed to the left and right sides at the end of the plywood.  The steppers are wired to the stepper motor in the center, and the Arduino and stepper motor controller are in an ill-fitting plastic holder which is duct taped to the front top of the plywood.  The plywood is then propped up against our built-in on which my most useless laptop is sitting, ready to run the robot.
Default Series Title
  1. Old because I’ve had it for about 10 years; new because it’s still in the shrink wrap.  Now, to my credit, I have actually painted on my other canvases – this is just the last one and I completely forgot about it. []
  2. These will probably have been the very very last thing I’ll have ever printed with my black ABS. []
  3. While cool, it just did not work well at all – I made the pen holder so large it would only hold the largest sharpie made by man, it didn’t do a good job of holding the pen against the paper, and it held the weights rather awkwardly. []

DrawBot – The Assembly, Part VII

Yesterday I accomplished a little more with my DrawBot.  Here’s what I did:

  1. Drilled holes in my project box1 for running mounting wires through the box.
  2. Drilled holes in my project box for the power cord and USB cable.
  3. I added several yards of monofilament line to each spool.  The way I have the motors mounted into the box I had to add some filament line to it on the spool.  Obviously, I had no way of knowing how much line I would need, so I just added a few feet.  Today I cut off several additional yards, tied the new section to the shorter section already attached to the spool2 , cut off the little loose ends, and rolled the spool with a finger.
  4. Found studs in the wall, put two huge screws into two studs3 for holding the box on the wall.
  5. Ran some sturdy steel wire through the box for mounting on the wall.
  6. Cut a huge sheet of cardboard out of a box we had in the garage.  I wrapped three edges of it in packing tape, so that it would remain flat and not shed little bits of cardboard paper.  The fourth edge I covered with duct tape for a sturdier hold.  This was then mounted on the wall underneath the pine box using more huge screws going through the side with the duct tape.  The purpose of this is to give the DrawBot a flat surface to draw on, rather than the textured wall.
  7. I then plugged the power cable and USB cables in and tried to fire up the Polargraph software.  Since this is all being done in a different room, I’m connecting all of this to a totally different laptop using different software.  I have an older laptop running Windows Vista that is connected to my Thing-O-Matic and Cupcake.  Now it is attached to my DrawBot as well.
  8. At this point the only physical components of the DrawBot missing are the gondola which I haven’t installed and blank paper.
  9. Unfortunately, that laptop I connected the DrawBot to is having some kind of problem communicating with the Arduino.  But, that’s another problem for another day.
Default Series Title
  1. A long pine box []
  2. Square knot []
  3. True story:  My wife heard the new electronic stud finder going all wacky from the family room.  She called back, “If it’s making that beeping noise, you’re doing something wrong.”  I replied, “Yeah, I’m just running it over my belly just to see what it will do.”  My daughter ran over in disbelief and then called back to my wife, “Mom!  Daddy’s rubbing the finder on his tummy!”  Say what you will, that damn thing is accurate. []

DrawBot – Printed Parts

So far I’ve got three types of printed parts:

  1. Spools
    1. These spools hold the monofilament and are friction fit onto the motor shaft.  You can check out the designs on Thingiverse.
  2. Motor Mounts
    1. The Thingiverse page actually has a lot of information about the motor mounts.  They’re designed in OpenSCAD and are mostly parametric.  Since I’m mounting these motors inside a box, the mounts are designed to go into the corners of the box.
  3. John Abella’s Gondola
    1. I haven’t hooked everything up yet, so I don’t know how well this will work.  I can’t wait to find out!
  4. Arduino Mount
    1. I’m kicking around some ideas for how this would work.  Ideally, I’ll end up designing a bracket that the Arduino and motor shield can just snap into.
Default Series Title

DrawBot – The Assembly, Part VI

Okay!  It was a good day for drawing robots in the MakerBlock household!  Here’s what we got accomplished:

  • I designed some motor mounts, printed one… and had to redesign it.  Gotta love having a 3D printer!
  • I selected a long shallow pine box to hold the motors and electronics.
  • I tried a variety of sound insulating materials.  Bubble wrap was easily the most effective, but least practical.  I settled on some corrugated cardboard.  I placed some cardboard between the motor and the motor mount and between the motor mount and the wood.
  • I soldered some longer wires to the motor leads.
  • I drilled holes in the wooden box, attached some monofilament line to the spools, put the spools on the motors, mounted the motors, ran the leads to the Arduino, powered it up… and it moved around and stuff!

As this point the next step is to mount it on the wall and actually attempt to draw stuff.  Yay!

Default Series Title

DrawBot – The Assembly, Part V

I just finished soldering the Adafruit Motor Shield … this time with all the bits in the correct places.  The Adafruit directions are incredibly detailed, I just soldered a few parts in wrong like an idiot last time. This time it went much smoother and much quicker.

I just wired up the two steppers, plugged in the power adapter, plugged in the USB cable, uploaded the Polargraph firmware, fired up the Polargraph software, and asked it to try to draw something.  And it started to twitch away in what appeared to be a meaningful pattern!!!

Huzzah!

Now… for sleep!

Default Series Title