It’s not uncommon to find us doodling on paper as an aid to thinking, for recreation, or simply because we’re bored. But, this kind of manual labor is so last century. It’s 2019, and we should have robots to fill our notebooks with cross-hatched illustrations. Well, [Alex Weber] is way ahead of us on this account: the outstanding SCARA drawbot he created can be unleashed to draw all manner of things at his command.
The robot, named Mechpen, and pronounced “McPen”, is of a SCARA (Selective Compliance Assembly Robot Arm) design, with two parallel axes controlling the x-y movement of the arm. Robot design is always a series of trade-offs; in this case, [Alex] has sacrificed some accuracy to achieve a long reach. Two NEMA 23 stepper motors reside in the base, along with all the electronics. This makes the base a heavy 15 kg, which is good as it helps stabilize the arm during movement. The arm uses a mix of off-the-shelf and custom hardware, most of which is dotted with holes drilled to reduce the mass of the moving parts. Two 700 mm sections of the arm made from carbon fiber tubes give the drawbot a 140 cm reach — long enough to fill an A0 paper with its beautiful mechanical doodling.
The brains behind the arm are two-tiered. An Einsy RAMBo board, designed for 3D printers, controls the stepper motors. Above that, a Raspberry Pi runs Octoprint to control the ‘bot. This choice turned out to be very convenient for working around a mechanical issue: the elbow flexes too far in the Z-axis. The difference in pen height between the elbow at 90 vs 180 degrees was 20-25 mm; too much to fix with just a spring-loaded pen. The solution: use a bed-leveling algorithm designed for 3D printers. A VL6180X distance sensor measures the distance to the paper over a number of grid points, then the software moves the servo up and down accordingly while drawing to keep the pen on the paper.
Some custom-written software converts SVG graphic files to gcode suitable for printing, allows selection of different stroke and fill types, and separation of different colors into individual gcode files to be plotted with different pens.
Definitely check out the video of Mechpen in action, after the break.
We’ve seen our share of drawbots around these parts, like this pi-based drawbot perfect for drawing on walls.
Great Job. For more accuracy, I suggest to cut joints backlash with simple mechanical techniques; also maybe spaghetti bridge techniques can cut the weight of arms.
I would have the pen tip close to the platform, not hanging way below it. I can see it wiggle. I can’t tell if it causes the straight lines to start out with waves or not.
It certainly is not helping; @0:25 in the video you can see the vertical section of the arm distort and torque as the pen is pushed against the paper leaving the arm slightly askew.
Well done! I wonder why the choice was made to use an “arm” configuration. Was this just to prove it can be done?
Possibly but the different styles also have different trade-offs; for example, this setup only requires a single, small footprint which allows for easy access (and oversized) material in both axis but with the downside that the ‘head’ (the pen+raising mechanism) needs to be very light.
Sheldon is right. :)
I love the ‘sense the distance’ workaround. But as long as you have a non-contact sensor in the arm, you don’t even need to do a probe-once calibration. You could sense the distance every time you put the pen down!
Overkill? Sure. That’s the point.
An A0 sheet takes a lot of desk space. But I’m sure this would work just as well on a wall.