High-Speed 3D Printed Arduino Pen Plotter

IV Projects
IV Projects
331 هزار بار بازدید - 2 سال پیش - Let me know if you
Let me know if you have any questions or suggestions! I designed this plotter in SolidWorks and 3D printed the parts. If you want to build one, all the CAD and .STL files are freely available on my GitHub page here:

https://github.com/IVProjects/Enginee...

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 for reference were photos of vintage plotters.

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 higher speed and acceleration parameters.

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.
2 سال پیش در تاریخ 1401/03/19 منتشر شده است.
331,035 بـار بازدید شده
... بیشتر