My DIY CNC Build Log #3: Build Problems, & G-Code tutorial
NOTE: My blog has now moved. Please visit my new blog where I write about audio apps, diy synthesizers, and CNCs.
Let's learn some G-Code.
I got tired holding down the manual control buttons in KCad to move my CNC about, so I was pleased to learn the G01 G-code command. In KCad you have a dropdown menu of 10 commands you can edit as you please to set up homing or re-tool commands.
As I do not want to re-invent the documentation for the wheel, I looked for premade g-code cheat sheets. Naturally there is a CNCZone thread for G-code cheat sheets. From there I found This G & M Code booklet to be the most complete as it contains examples for most of the commands.Click to read more about more common DIY CNC build problems and solutions.
At the end of Part 2 of my DIY CNC assembly log I ended up unhappy with my CNC's ability to cut a level table in a piece of plywood. I bought a piece of MDF with hope that it would do better. It wasn't much better at all. The table got deeper in corners, had bit marks of different depths, and took over 5 hours to get halfway.
- My Z axis leadscrew was mounted offset on the z spindle carriage. This resulted in the leadscrew giving up for a lot of the Z range instead of operating properly. Removing the leadscrew mount and reinstalling it on the spindle carriage so that the leadscrew remains parallel off the z axis stepper motor, and my z axis now moves much smoother.
- The spindle "wobble" and variance was moreso because one of my parallel bars came out of it's pocket on my y axis! This reduced the rigidity of the X axis quite a bit, which caused the spindle to move depending it being "pushed" or "pulled" by the y axis. it'd cut deeper. Not what you want for a level table bed :(. Thankfully I reinserted this rod and it remained aligned well enough for the y axis to travel smoothly.
- My bit was not big enough for the stepover value I set in CAMBAM. This resulted in too few passes so I got a toothed groove instead of a flat surface. Instead of re-rendering more g-code passes I found a thicker bit. With my reinforced axis I think I can just use the bigger bit with the existing g-code and there will be enough passes for a level bed to result. If not, well, I got more MDF :)
- The default My DIY CNC spindle is a piece of crap. I'm trying a weird solution tonight, mounting a "snake" extender on my Mastercraft rotary tool and sitting the tool itself beside the CNC. It's ugly but if it works I don't care. This means I have to build a new spindle carriage so I'm looking at a way to make this modular so I can swap carriages.