In 2010 I began to think about building a small CNC machine that would allow me to mill PCBs and small parts (wood, plastic). After a lot of searching and reading, I started to design a machine in SkecthUp. To keep costs low, round rails with skate bearings would be used as linear bearings and thick MDF as the structural part. A 2m by 2.5m 30mm MDF plate cut to pieces costs 48 euros at the local DIY shop. Although not very string, this price is impossible to achieve with aluminium or metal. The plan is to be able to upgrade later once I have some more feeling with the requirements and typical problems. Using thick MDF also has the advantage that cross dowels can be used to assemble everything.
Original drawings. The size of the bed is designed to be 800x600mm.
First test with the skate bearings and aluminium 30mm round rail.
Assembling and drilling of the bed.
First test of the X-axis rails. Due to the heavy weight of the MDF, I noticed some sagging in the middle of the round rails. It might be possible to solve this by partially supporting the rails on the bed.
The screws on the side can be used to adjust the preload on the skate bearings.
These are some very cheap jaw couplings from eBay. They were almost impossible to drill as the material was brittle and the drill had the tendency to catch. It seems they are made of steel with a lot of carbon in it?
Conclusion: buy them pre-drilled if you want accuracy.
Anti-backlash nut for the M10 threaded rod, composed of two nylon wheels with very hard spring in between. It worked, but the threaded rods were not straight enough.
First test with stepper motors connected. I'm using 3Nm stepper motors and a controller from diycnc.co.uk.
While everything worked, I wasn't too convinced of the results. Especially the stepper motor drive acted weird now and then; the motor on the X axis randomly juddered or very briefly stepped during operation. Swapping driver boards did not help, but after checking with a scope, it might be related to a ground loop somewhere. Seperate and common grounds for the PC and drive did not make any difference, but disconnecting the DB25 connector from the back of the drive's case solves the situation. This does not seem ideal so I will have to come back at this later.
Because of the sagging and difficulty to achieve decent accuracy when the gantry is in the middle of the rails, I decided to change from a fixed-bed/moving gantry to a moving bed setup. Also, supported linear bearings were acquired for the three axes.
Achieving perfect parallel bearing supports by use of a sliding spacer.
New Y-axis
When fixing the Y-axis, I moved the ballscrew nut too far and half off the balls fell out. Ouch. It took the better half of a day to put everything back in, and I believe one or two ball are still missing...
(And yes, that is an OpenBSD labeled box)
The plate for the spindle holder is temporary, as it is too thin (1mm aluminium plate)
The moving bed will be replaced by a larger piece later on, but this was the biggest piece I had left.
Kress Spindle holder from cnc-plus.de
Kress 530W spindle in position. It seems the distance between the lowest point on the spindle and the Z-axis bearings is too long. This allow for a small amount of play at the lowest point. This can be solved by lowering the whole Y-axis somewhat so the spindle holder can be shortened.
X-axis limit switches
Y-axis limit switch
Z-axis top limit switch
To calibrate the motors and the general movement, a ballpoint was attached.
Milling with the Kress spindle, max speed, using a fishtail bit of 0.7mm: