I have made some updates to my 3d printer and from the parts that remained I though I could make a very simple project. Browsing through the internet I did stumble upon AxiDraw and its cheaper home made clones. I really wanted to get into designing things with FreeCAD and testing grbl so this was a perfect project.

The first ideas

I googled all the plotter projects I could find in order to understand the basic concepts of the design and i put up a list of the mandatory features:

  • grbl firmware - open source, robust and proven by other projects
  • arduino uno based, using the CNC shield and DRV8825 drivers. I would like to create a port to stm32 and eventually design my own pcb.
  • end stops
  • the linear rods/bearings that I salvaged from the 3d printer
  • 12V, 5V, 3V3 available from my power supply
  • printed 3d parts, corexy (both motors stationary in operation)

A great starting point is the awesome plotters on github. Here one can find a lot of concepts, ideas and available SW.

The pen holder

I think the simplest part is the pen holder so is ideal to start designing this in the first place. The design is straight forward and makes use of a small servo motor powered by 5V. This is also a weakness of the plotter as I think is the first part to fail (already at the second motor). The entire pen holder slides on two 3mm rods (old CD parts) and is pressed using a pen spring - 3 brass bushings are used for a smooth movement.

XY center block

The goal for this is to be printed in one go without the need of screws or anything else. I chose to use the same 3mm rods to catch 4 smooth idlers in the middle. The end stops are also mounted here.

CoreXY movement example (top-left X direction, bottom-right Y direction)

The steppers

I have 2 stepper motors with a peak current of 1.5A. These I have bought extra for this project as they might be also useful in the future. The cables I have trimmed to the right length and depending on the driver used the polarity of one of the coil needs to be inverted (can be also achieved by configuring grbl). The first motor support brackets that I have design failed due to the wrong material that I have used for the print - ABS. Since the top part is ment to be squized with the two bolts in order to catch the rods in place the material needs to have a certain elasticity. for this purpose PETG is perfect. The pulley is mounted quite high... this could be improved by lowering the rods a bit.

Motor with bracket

DRV8825 vs TMC2208

I have originally started with the DRV8825 drivers. I think they do work and provide quite a good performance. The annoying part is of course the stepper noise. By replacing them with the Trinamic drivers this problem is not noticeable anymore. There is a light downgrade as high feederates cannot be achieved. A maximum of 10000 mm/min was all that I could reliable and silently obtain. Maybe further tuning of the Vref could improve the performance.

The drv8825 classical stepper sound:

Final notes

For each part that I have design it takes 2-3 iteration to get-it right. I think right now everything matches but if I would have the time I would really touch every part in order to bring an overall optimization.

A few iterations...
Quality hand writing

Project github link: https://github.com/bdmihai/plotter