Monday, 2 September 2013

Building a CNC Router/Milling Machine

As my next big project, I am going to be designing and building a CNC milling machine. I am aiming for something that will have a working area of at least 700x700mm, be able to cut steel and still maintain accuracy on small scale objects such as is needed for PCB milling.

For the machine's electronics I am going to use four, possibly three NEMA 17 stepper motors driven using StepSticks on a Sanguinololu. I decided on a Sanguinololu over an arduino and GRBL shield because the Sanguinololu has more memory and came out at the same price (self-assembled) as an arduino and GRBL shield. The Sanguinololu also has a lot of expansion capability with four motor drivers and two fairly high power MOSFETs to name a few. This will all be powered at 12V using an ATX power supply. I wouldn't use an ATX on a 3D printer due to the high-current heated bed which needs a very large 5V ballast to get an acceptable 12V line, but since this one will just be driving some motors which don't need much torque, it won't matter if the voltage dips a volt or two.

I am going to go with a gantry design which moves the X axis to allow Y positioning while having a stationary bed, unlike a 3D printer. As for movement, I am going to use ACME leadscrews, probably only single start to save money at the cost of speed and I will definitely be using some anti-backlash nuts. Once again, single-start nuts are much cheaper and more widely available than multiple start ones. Also, there is a place locally which can supply ACME threaded rods.

The frame will be made of MDF, but once the machine is up and running I will use it to re-create some parts in aluminium if I'm not happy with them. 

The ways will have to be very sturdy to meet the requirements, but linear rails and bearings get very expensive, especially when they have to be thick, so I will create my own linear rail system using 608 size bearings (sometimes known as skateboard bearings) and steel which can be had from local steel suppliers. There is a local supplier in mind that sells in qualities ranging from structural-use to precision-ground engineering metals. The idea will be to get the sturdiness in the rails from  much cheaper, slightly less accurate square tube steel which may not have the best surface finish. Then mounted to this less well-finished square steel tube will be some much more precisely finished flat steel bars which don't have to be all that substantial as they will just act as a good quality surface for the bearings to roll on. Obviously the supporting steel tube cannot be absolute garbage which varies a whole lot over its length (unless I look into a shimming system which can still keep the rigidity). I am hoping that this approach will both save some money and also allow the contact surfaces to be replaceable if they wear out.

As a spindle, I will start off using a rotary tool/Dremel. Later on I will use my lathe to create a much better spindle with a good quality collet and bearings and be powered by a brushless motor and ESC, perhaps an RC car one if I can get away with it not overheating. This may require a power supply upgrade depending on the size of the motor I choose, but regardless has an extra advantage of being able to control the ESC using a spare Sanguinololu pin.

Will I be using the Mendel90 to create any parts for this machine? Probably not anything critical, as the machine has to be as rigid as possible. Perhaps I will use it make some vacuum attachments and an electronics enclosure.

Here is some of my progress so far:
I bought 5 low resistance NEMA 17 motors for about $60 off AliExpress from Wantai motors, shipping was quick (about a week because I chose Fedex IE) and communication was pretty good, but be very vigilant when shopping on AliExpress. For example, always try to make sure, by choosing fast shipping and taking into account a seller's dispatch time, that the item will arrive well before your credit card dispute window closes. If the seller charges an exorbitant fee for anything but default, slow shipping (which can take over a month), don't buy from them. This was one reason I didn't buy a cheap Sanguinololu from some other seller on the site.

A close-up of some StepSticks off eBay, all soldered up and ready for testing. It cost about $30 - 40 for four of them. In the previous photos you could see five, as I had a spare one from a previous purchase.  I will now have two spares for the CNC and 3D printer once done as the CNC will only use three.

The stepper motor and StepStick testing and calibration set up. Every motor and driver worked and there were no problems.

A Sanguinololu from Think3DPrint3D on eBay. I bought it un-assembled to save money and because I wanted to play with a new (budget) soldering station I had bought. I replaced the 2.54mm pitch molex connectors which are supplied for the motors, hot end and bed connections with 2.54mm screw terminals. These screw terminals have the advantage of being able to carry more current (good for a heated bed) and also of removing the need to assemble a connector onto the wires you want to connect. Due to the need of crimping to assemble these connectors properly, which requires an expensive tool, or a painful and slow hand-assembly method, I do not like them. The end-stops were the only ones on which I kept the molex connectors. For the thermistor connections I put headers instead of the 90 degree molex connectors in case I ever have to use this board for my Mendel90 where there is not enough space when mounted for the 90 degree connectors.

The board went together fine in a few hours of soldering (split up over bits of my free time), and I managed to solder the whole thing with no bad joints (yay!), although I soldered a MOSFET a bit wonkily.
I haven't fully tested the board yet, other than having tested the USB and FTDI chip early on during assembly, then later checking for shorts with a multimeter after which I looked for solder bridges, all I have to do now is bite the bullet and plug it in.
Well, that's it so far! As I progress with the design I will post updates.

No comments:

Post a Comment