My Drawbot, "Death to Sharpie"
This is my drawing robot. Ultra fine sharpies fear this beast. It's really just a very bad printer, but a lot of fun to play with. I hope to get some more pictures up here.
The new chain goes something like this:
- Processing.org code to convert jpeg to gcode file.
- Manual ftp to Raspberry Pi.
- Python on Pi converts gcode to two byte chunks sent to Arduino via 115200 baud serial.
- Arduino reads new serial two byte serial commands and puts them in a FIFO queue (about 900 commands on atmega328)
- Arduino reads FIFO and updates stepper motors and servos.
- Arduino updates a GPIO to the Pi if there is room available on FIFO.
Bit 7 unused
Bit 6 unused
Bit 5 led
Bit 4 servo
Bit 3 motor 2 direction
Bit 2 motor 2 step
Bit 1 motor 1 direction
Bit 0 motor 1 step
Bits 0-7 delay before next command, speed control.
The small FIFO on the Arduino is big enough to keep the motors busy while the Linux on the Pi does its laggy preemptive busy work.
The advantage being, the Arduino never needs re-flashed because its code almost never changes. Its very tight and small and does no math. The real work is now in python land on a Pi instead of an expensive laptop. The only down side is the speed of the serial, which might start being a problem when I get the acceleration code implemented, if ever.
On the physical side of things, I have switched to a ribbed belt with weights hanging down the sides. Its much better in terms of repeatability, but kind of nasty to look at.
Also try to forget that Kinkos can print the same thing at 300 DPI at 16 million shades of color in 5 minutes for $7.00.
Most all the images below were drawn on 40x30 foam board.
Check out the new milled PCB. Tom McGuire took a picture of my bread board and converted it to Eagle, and then milled it on a hand built CNC mill. Very cool indeed. We also added some headers for limit switches, and ran traces for a SPI interface between the Pi and the Arduino. The serial interface is working OK but a little more speed would be very welcome.
My drawbot uses the finest paperclips, coat hangers, painters tape, and fishing string that money can buy.
There is over probally well over 60 cents in nickels hanging off the bottom alone.
Below is the previous version of "Death to Sharpie", back when I used simple take up spools and a PC running processing.org to spit out commands to the semi-smart Arduino. This was before I learned about gcode. The micro processor knew how to make simple line segments. You just had to feed it pairs of coordinates.
All photos have been teaked to adjust persective and color problems. I can't take a good picture to save my soul.
created: Dec. 1, 2013, 1:01 a.m.
modified: April 14, 2019, 12:57 a.m.