Let me know if you have any questions or suggestions! I designed this plotter in SolidWorks and 3D printed the parts. All the CAD and .STL files are freely available on my GitHub page here:
Using what I learned from my last pen plotter, I wanted to design a much faster plotter using inexpensive off-the-shelf parts. The hardest part to get working reliably was the grit roller system for the Y-axis. Using rollers has the advantage of decreased moving mass, but it was tough to get working. I’m not aware of any existing DIY plotter designs that use a grit roller system, so all I had were photos of vintage plotters as reference.
I ended up using 120 grit Dremel sanding bands with a 3D printed adapter for the grit rollers. I used a small 5mm shaft as the grit roller driveshaft to keep rotational inertia to a minimum. The less mass the Y-axis motor has to accelerate, the higher higher the acceleration parameters can be.
Grit rollers also allow a plotter to feed the paper reliably without coordinate drift over time. The abrasive particles on the surface of the grit wheel leave small impressions in the edges of the paper, which then act similarly to a rack and pinion. Because the abrasive particles are irregularly shaped and oriented, the paper impressions and abrasive particles key into each other very reliably. My previous plotter design used rubber rollers, which caused some coordinate drift.
To work properly, the grit pinch rollers need quite a bit of pressure. I used a pair of 6:1 class II levers with a 0.5“ steel bar acting as a weight. The lever is lifted by hand to load a new sheet of paper.
It uses 1/16th microstepped NEMA-17 stepper motors for X and Y movement as well as for pen lifting. The electronics are an Arduino Uno, a V3 CNC shield, three A4988 (or equivalent) stepper motor drivers, a 24v PSU, and a 24v 40mm fan for cooling. The cooling fan allows the drivers to run at a higher current, which in turn allows the plotter to draw faster.
For software, I’m using Inkscape to generate G-code from vector images. That G-code is sent using Universal G-code Sender (UGS) over serial communication to the Arduino running stock GRBL.
I spent a lot of time trying to make the plotter’s frame as rigid as possible. The more rigid the frame is, the more accurate the resulting drawing will be. A frame that’s not very rigid will flex when accelerating the printhead, causing corners in the drawing to become rounded.
81 view
336
85
1 month ago 00:11:14 1
[PREVIEW] PS1 - Ayrton Senna Kart Duel (HD, 60FPS)
1 month ago 00:08:01 1
MACH SPEED Comparison: 3D Simulated
1 month ago 00:20:57 1
Battle Arena Nitoshinden [PS1] Longplay Walkthrough Playthrough Full Game (HD, 60FPS)
1 month ago 00:05:06 1
Sands of Speed - Game Video - Ans32 Game
1 month ago 00:09:29 1
Facehugger 3D (ALIEN) - Speed Sculpt - Zbrush
2 months ago 00:09:09 1
NFS Most Wanted REDUX V3 | Ultimate Overhaul, Cars & Graphics Mod in 4K
2 months ago 00:08:13 1
D5 Render interior in 8 minutes Tutorial Starter
2 months ago 00:20:08 1
DIY Laser Image Projector (100ft+ Range!)
2 months ago 00:02:01 2
HUENIT - AI camera & modular robot arm
2 months ago 00:22:43 1
Lets make Self detail - up with ELEGOO mars5 ultra