It’s taken a while, but I finally have my JGRO CNC machine built and running. I spent a bit of time investigating a lot of ground noise on my stepper drivers. I’m using three Gecko G251 stepper drivers for the 3 axes of the machine. Turns out their step and direction inputs are not isolated, so with 3 drivers sharing the same logic ground, decent currents can flow between them. The fix involves adding a 100 ohm resistor in series with each logic ground connection, which reduces the unwanted ground currents. In hindsight, it would have been better to use drivers with isolated inputs, or a specifically designed 3-axis driver board.
One of the first projects I wanted to try was engraving a circuit board. I used Eagle PCB to design the board, then the marvellous PCB-GCode scripts to generate the instructions for the CNC machine. A few things I learnt from the process:
- A 30 degree V-Bit with a 0.2mm flat bottom works great for engraving the traces.
- Pour a ground plane fill to cover the entire board. I also turned off thermals around pads, to reduce unnecessary engraving.
- Make traces and pads larger than normal, which gives extra tolerance for machine inaccuracy. Also makes through-hole parts stronger as there’s a larger pad to stick to.
- Look at all the parts and their hole sizes before exporting to GCode. Because I used parts from several different libraries, each one had difference hole sizes. Consequently I ended up with 6 different drill sizes and tool changes, when I only needed two.
I’m very pleased with the results, it’s a great tool for prototyping and it sure beats etching with messy chemicals!