I'm writing this article because of the massive frustration that I had when trying to design my own CNC machines. There is not a lot of good information out there, and what exists is scattered between forums, obscure manufacturer data and specialist articles. My hope is that after reading this, you'll have a better idea of which technology to use and why.
Where applicable, I'll be using 2Nm/ 280 oz-in nema 23 size steppers in worked examples, as these are the cheapest, easiest and most common solution - but generally the same principles apply to all drive systems, such as servo motors. A quick aside, my own personal preference is for either closed loop steppers, or second hand high end servo motors from dy-global on ebay, where you can also find many other excellent components on the cheap. Closed loop steppers have come down in price a lot in the last few years, here is an example of a 2.2Nm closed loop stepper on Aliexpress.
Also before we get started, I am British and trained in engineering, so although I will include imperial numbers, they will be calculated (or sometimes approximated) from metric. If you read me talking in metric and are confused, generally you'll be able to scroll down a little and see an imperial table showing all the relevant figures.
I will not pretend to be an expert in all these systems, as that would be a lifetimes work, but I am confident my knowledge and experience with them is well above the average hobbyist at this point. Still, if you think I've made any mistakes, then please leave a comment at the end! All that said...
TL:DR: Use belts for rough cutting wood or MDF
Use leadscrews/ballscrews to cut metal or when very high accuracy is required.
For belts, calculate size based on run length and stretch. Don't be stingy. Keep them clean of dust.
For screws, preload all drive side bearings and be careful to consider screw critical velocity.
Leadscrews are robust and don't care about dust/chips, but have higher friction and wear on the nuts.
Ballscrews come in a range of specs, can be sensitive to misalignments and need to be kept clean, but are low friction.
For best performance with longer screws, choose a high lead option, then gear it down and drive with a servo.
Try not to go on a rage fuelled rampage of destruction when things inevitably go wrong.
What are you Cutting?
The main consideration when choosing which system to use, is not about how “good” each system is, but what materials you are intending to cut, and what tolerances you will require. At the heart of it, do you want to cut softer materials like wood or MDF, or are you trying to mill metals like aluminium or steel? Each has very different cutting requirements, so lets start with basics like surface speed, spindle RPM and how this translates to linear velocity requirements - see last column below, for the actual result. For this example, we'll use 4mm and 8mm cutters with 2 and 4 flutes just to give us some useful data on the linear velocity that the cutting head will have to move along the driven axis.
|Mill End Diameter mm||Flutes||Surface Speed (meter/min)||Chip Load (mm)||Spindle RPM||Linear mm/min|
|Mill End Diameter in||Flutes||Surface Speed (feet SFM)||Chip Load (in)||Spindle RPM||Linear ft/min|
Highlighted RED are values that I have input. Values in black are calculated.
All numbers are rough and intended to get the point across, they are not recommendations! Especially with metal, the surface speed and feed per tooth can vary a lot with the type of tool used. Also note that I have used different input fields for wood or metal, because....
For wood, surface speed is irrelevant and left blank. Consider a craftsmen using carving tools - clearly there is no minimum surface speed. With wood, it's always a pure cutting action, and if this it not the case then your surface finish will suck! Even scrapers cut using the metal burr on the edge. Most people will be using a high speed spindle motor, probably a Chinese one such as this which maxes out at 24,000 RPM. You'll want to be able to actually use something close to that speed and power, so I've plugged in a reasonable 20,000 RPM. And while chips loads are not as important for wood, if you go too slow at high RPM you are going to burn the surface.
With metals, the surface speed is useful because the cutting action needs to be fast and hard enough to causes micro-fractures in the material ahead of the cutting edge. That said, the above surface speeds should be considered minimums, faster is possible if you have the right setup (power, machine and tool stiffness, cooling) – or if you take a smaller depth of cut. In practice most metal mills top out at around 5000rpm. Anyway, for metal I have used the surface speed to calculate what we would need for RPM.
More details on chip load for wood and aluminium (in metric) can be found on this page
The takeaway from the above calculations, is that for cutting wood / MDF you want the mill end to be able to move fast enough to make best use of your spindle. For metals, you will likely want your axis to move at a considerably slower speed.
Now, that said, compare the above velocity requirements with what you might be able to achieve using a stepper motor directly driving a leadscrew or ballscrew, compared with belts. For the former, we are interested in the lead (movement forward per revolution), while with belt drive pulleys I have shown diameter, from which we calculate circumference (not shown) i.e. movement forward per turn. For a point of reference, D10mm corresponds roughly to a 16 tooth drive pulley with 2mm pitch, while D20mm is closer to 20 tooth 3mm pitch (actually closer to 21 tooth but hey, its just an example size). I've used 250rpm and 450rpm as two example values – above 450rpm you'll generally start seeing significant torque losses, although this does depend on setup. Closed loop can go faster without suffering such issues, but still, below is useful as an example.
Output values (italic) are all in mm/min:
|Leadscrew / Ballscrew||Belt Drive D|
|RPM||2mm Lead||8mm Lead||10mm||20mm|
Table 3 - mm/min linear velocity for given stepper RPM
|Leadscrew / Ballscrew||Belt Drive D|
|RPM||2mm Lead||8mm Lead||25/64"||25/32"|
Table 4 - ft/min linear velocity for given stepper RPM (note: keeping mm values for lead/ballscrew as as these are typically still sold in metric)
Realistically, we are unlikely to actually want out our 4 fluted 8mm mill end to move at 30 m/min or almost 100 ft/min (from graph 1), however a 20mm drive pulley could actually give us this speed!
Of course, as noted these figures only apply for direct drive systems, and big, powerful CNC machines driven by belts may require larger sizes with a bigger pitch, which means larger pulleys. If these larger pulleys were direct drive, it would likely result in unacceptably low linear force. In this case the stepper could be geared down relatively easily, however with screws you cannot easily increase the speed as you are severely limited by critical velocity (see below section on whip).
Lets also compare the cutting tolerances using a standard stepper motor with 210 steps/revolution. I have included ½ and ¼ microsteps, although there is some discussion about whether microstepping actually increases accuracy or just leads to smoother and quieter operation. My understanding is it is unlikely to significantly improve accuracy, so the first line is the most relevant and the only one I will discuss, but I have included microstepping data anyway for those who might disagree. Output is in mm/step for first table, and inches/step for second (ie for each step movement of the motor, how much linear movement this translates to on the axis).
This is of course again only relevant to direct drive systems, however while you could in theory gear down belts you will inevitably hit accuracy limits due to stretch. And if you gear up screws, you are again likely to have to deal with whip if your axis has any significant length. That said, it is useful to look at anyway, if only to get a general feel for the different systems.
|Leadscrew / Ballscrew||Belt Drive D|
Table 5: mm/step accuracy
|Leadscrew / Ballscrew||Belt Drive D|
Table 6: in/step accuracy
Again, as we can see a 2mm leadscrew will give us a resolution of 9.5 microns, pretty nice when milling steel but useless for MDF or wood. Just pushing on the calipers will cause more compression in soft materials than this. Even if using high density woods, and ignoring material movement due to moisture content, who needs precision milled lignum vitae?! Unless you're doing very fine relief work, this kind of accuracy is overkill. And even if we wanted to use an 8mm leadscrew, we're still seeing 38 microns, tighter than many soft materials could actually maintain. Belt tolerances are absolutely acceptable for such materials. Of course, we are ignoring the effects of belt elongation under load, which could potentially blow tolerances to unacceptable levels in a poorly designed system, or when using too aggressive tool paths. Stretch is covered in its own section below (see Stretch / Elongation)
Next, we need to consider the actual force that the different drive systems can deliver. This is more complicated for belts, and there are multiple factors to consider, but lets start by looking at pure linear force due to torque from the stepper, direct drive again. I've listed the figures in terms of mass-weight rather than newtons to make it more tangible. I'll also use our standard Nema 23 value of 2Nm for the calculations, which is of course maximum torque – drive force will decrease as speed increases. Finally I have added an estimate for force after efficiency losses in brackets (see notes below):
|Leadscrew / Ballscrew||Belt Drive D|
|2mm||8mm||10mm (25/64")||20mm (25/32")|
Table 7: Linear force produced by 2Nm stepper
- For those interested in how to do the calculations with lead screws, we can use work done as an intermediate to convert between rotary to linear. So calculate work for a full turn (torque*2*pi), and then divide that by the linear length travelled (lead). Very simple
Drive efficiencies: Belt drives suffer from negligible efficiency losses, running at around 98% efficiency (which is what I have shown), while ball screws are >90% efficient. Leadscrews however can be quiet inefficient, especially with smaller leads, as obviously more turns equals more surface area travelled and so more friction losses (plus, not sure, how does the surface area of a 8mm lead 4 start screw compare to the surface area of a 2mm lead 1 start screw?? If you have an answer, let me know in the comments!). Efficiency can be as low as 20%, although it will also vary by design and circumstance (nut material, whether it is oiled, dry, or covered in oil soaked dust, how rigidly clamped it is with anti-backlash systems, etc). I have used values as taken from this page to give very rough estimates of 50% efficiency for 2mm lead, and 70% for 8mm lead, and used these values in the above table. Note also that efficiency varies with diameter of the screw, although not in a simple linear manner.
- An aside on efficiencies of various nuts, there is unfortunately very little information on the friction co-efficient for Delrin nuts (typically used in anti-backlash blocks). With metals, brass or bronze on an oiled shaft has the lowest friction co-efficient at around 0.1 to 0.16, while the extremely limited amount of manufacturing data on high quality plastic nuts tend to state friction co-efficient "as low as 0.1", sometimes claiming also that lubrication is not needed. Here is an article from a manufacturer which mentions friction, and goes into other design considerations on friction, vibration etc.
For people who are unfamiliar with the forces that a single relatively small stepper motor can produce, this can be quite surprising! I know I was surprised when I realised that a lead screw with a 8mm lead could easy lift me off the ground.
The levels of force produced by screws are great if you want to mill hard metals like steel, but as we have seen many times already, completely pointless when milling softer MDF or wood. If anything it is a drawback – for instance, if your router is having to push this hard to drive forward, you have probably messed up with your tool path and are about to break a bit, or have your machine tear itself apart. There may also be the safety aspect to consider. Having the machine stall at over 20Kg of force is an extra fail safe. If you are using closed loop steppers then the driver will go into error condition when position is outside of range, and can easily be made to communicate the error to your CNC controller (e.g. via the e-stop circuit). This will still work with lead or ball screws, but it likely to do some damage before the motor realises anything is wrong.
Design and Implementation
Our final topic of consideration is how easily each technology can be implemented in a CNC build, and what unique problems you might have to deal with.
A quick aside, because there is no relevant section to say it, but belts have the additional advantage that when the motors are powered down, you can move the gantry around by hand.
Backlash on the drive nut and bearings constraining the shaft is inevitable and something that needs to be properly designed for. Anti-backlash nuts are one easy solution, with the off the shelf “block” from Openbuild being a good option - note however that plastic nuts like this WILL wear over time, so you need to keep an eye on them! I would even say that checking whether leadscrew nuts have developed play and need to be tightened, is one of the major drawbacks of using leadscrews in CNC machines. Smart implementation is very important, and it's generally better to make your own system than trust a pre-built one.
I did buy a few cheap Chinese anti-backlash nuts with springs on them to play with (see below), but decided the spring was much too weak for real world implementation, and it would never be as rigid as the block (solid vs sprung preloading). Of course, you could make a system with a more powerful spring in it, in which case it will only flex when external load is greater than the spring force, but higher force on the nuts also means higher friction. Unfortunately there aren't any easy solutions that I would trust in sizes other than 8mm, which leads to options like cutting and tapping you own delrin block, or 3d printing something up like I did (see below). In this picture, the long screws are pulling the smaller nut/block on the right in towards the larger block on the left. Both sides of this have threaded brass nuts/blocks (bought from Accu.co.uk) set into the 3d printed housing (hidden on the left hand side) - it may be possible to 3d print this threaded female section as well, but I am not sure what the resistance/wear would be like. Probably pretty horrible, even in Nylon. In this design, I wanted to have good separation of the two nuts while allowing them both to be rigidly held against the MDF, in order to help minimise leadscrew whip. As an aside, when designing these types of solutions, prioritise ease of adjustment and access! Another solution I have not used yet, but will probably swap to next rebuild, will be to separate the two nuts by a strong spring, but keep them both solidly clamped to the gantry. Adjustment is then easy, just loosen screws on one side, let the spring push to zero backlash, and re-tighten. I find that currently, even the system below needs regular checks as it can develop looseness over time - perhaps clamping is not tight enough, or the brass is wearing slightly.
Cheap Anti-Backlash Nut
Next, the bearings holding the leadscrew shaft in place needs to be preloaded to eliminate play. There are different ways to do this, a quick and dirty one of mine is shown below. Here a clamp collar is sandwiched between two bearings, located into the router frame one side and held the other by a piece of plywood. The two large wooden blocks are cut slightly too small, so that when the whole assembly is screwed down (four screws coming in from the right, not shown), the central plywood plate (red/mahogany colour) is forced to flex slightly and compresses the bearing/collar/bearing assembly. This creates the preload - not exact, in any way, but it works well enough for this application. Stepper is joined to the 12mm lead screw with a flexible plum coupling, just shown here as a red block and not modelled properly. This or other solutions are not too hard, but can take a bit of thinking about to do right.
Bearing Preload system
Same requirement to preload bearings on the drive site, but much less backlash on the ball nuts. See section down below for a small run down of ball screw specifications. Preload is done in a more professional manner to the above lash up, with the ends of the screws machined to allow them to recess into bearing blocks. The blocks contain two bearings, preferably angular contact, which are preloaded by the locknut via the spacer. You could probably manage a similar solution with unmachined lead screws, but using clamp collars on either side of the bearing blocks.
Ball screw end machining and bearing block assembly
Ball screw assembled
Some sort of pre-tensioning system. In its simplest form, a U bracket with the idler pulley in the middle of the U and a bolt screwing in at the bottom, pulling the belt tight. You can also add in a third idler pulley as a tensioner pulley. All very simple, however the main cause of backlash in belts is stretch. This is covered in its own section below.
Whip / Whirl
A problem unique to long screws which are being rotated to move a rigidly constrained nut (see below for alternative implementation with stationary screws, that eliminates this issue). Essentially, when driven at high speeds the shafts can reach critical velocity and start bouncing (resonating) from side to side, this is generally known as whip but is also called whirl. The effect can be reduced by using larger diameter screws, or making sure each end has more than one point constraining its location. So for instance, a lead screw where the floating end passes though one bearing, then a second, say 100mm later. In terms of beams, this would a fixed support rather than a simple support – or the difference between having a beam cemented strongly in a wall, rather than held to the wall by a pivot. The same concept can be applied to the anti-backlash nut, by separating the two halves and making sure each is rigidly constrained. All these approaches will better constrain the screw, and increase the whip frequency. A higher frequency means you can drive the screw faster before whip takes place, and you cannot realistically drive a screw when it is experiencing whip - it is quite a violent phenomenon!
There are charts and equations for determining the critical velocity for lead and ballscrews, however these are covered elsewhere and are generally beyond the scope of this article. But to get a flavour for the issue, here is a chart showing approximate critical velocities for a few values with 8mm and 12mm lead screws (approx 5/16" and 15/32"), although the important dimension is the root diameter which here is 6mm and 10mm respectively (not shown, and approx 15/64" and 25/64"). Rigid-Rigid or Rigid-Simple refers to how well constrained the screw is at each end (see above).
Because this is a function of the unsupported beam resonating, it is essentially the same for ballscrews and leadscrews.
Table 10: Critical Velocity in RPM for 8mm and 12mm leadscrews (root diameter not shown)
Of course, to get higher linear speeds, you need either high RPM or higher leads. High RPM is out the question for long screws, but higher leads can give reduced performance with accuracy or force. One solution is to keep the high lead on the screw, but geared down the motor via reducing belt pulleys or a planetary gearbox, and drive with a high speed servo, see this section for more detail.
A few years ago I noticed a new design of stepper motor with the lead screw running through the middle of the motor, and a nut inside the motor itself which rotates - the screw then does not need to and it can be firmly clamped in place. Haydon in the US seem to be the company that developed these, copied of course by the Chinese. They are typically called captive or non-captive linear stepper motors, depending on whether the motor also has an attachment to stop the screw from rotating (captive type) or not. This is a very useful development, as since the screw doesnt rotate, there is no whip, and no need to consider the rotational inertia of the screw, which can be dominant on long axis. It also gives flexibility on whether to attach the motor or the screw to the gantry, in case of smaller axis where space or access is limited. Backlash is a bit more difficult to remove however, although Haydon include sprung anti-backlash nuts off the back of some of their motors I am not sure what the normal way is with Chinese clones. This approach also extends into ball screws, where driven ball screw nuts - that is, nuts that are designed to be rotated, generally by a belt - are available from some manufacturers.
For an example product check out Precision Linear Actuator Nema 17
Elongation / Stretch
Unique to belts, there will always be a degree of stretch when placed under load, and this needs to be brought to within acceptable levels given the length of each axis. While this is the main consideration when designing for belts, stretch can also be negated by using finishing passes when programming tool paths, removing a small offset left by previous operations.
More and thicker belts are the clear design solution. Again, Gates do not publicly provide any useful data here (and don't respond to e-mails asking for data), so we have to rely on the same third party source as linked above, with this document which shows us the tension in lb to create 0.1% stretch - or 1mm over a 1m axis. However, be warned! These figures are misleadingly simple. There is a big difference between taking a simple length of belt and measuring the stretch under load, compared to the same length of belt in a CNC machine when preloaded. Both the preload in the belt and the flex in the teeth as they are meshed into the pulley, will act to counteract externally applied force. This is because as the belt stretches, it releases tension from the slack side while increasing it on the tight side. It is the difference between these two forces that acts to counteract externally applied loads. Imagine it as a spring, if you were to take a spring from neutral position and try to stretch it, this would be very different to linking two such springs together, stretching them out and then trying to move the mid point. The resultant stiffness is much greater than the simple case would imply, and is further complicated by where the force is being applied, i.e. the relative lengths of the tight and slack sides. There are equations governing all of this, but they are beyond the scope of this article - if you want to get a better feel for it, check out the bottom of this article Timing Belt Theory from the Gates Mectrol website (Mectrol were another belt manufacturer, purchased by Gates), or this article on Drive Calculation from drive manufacturer Stemin Brietbach. But to simplify, we see that the effectiveness stiffness of a belt is at its minimum at the center of each axis (tight and slack sides equal length). In this case, stiffness is 4x the specific spring rate (natural stiffness) of the belt. It may be actually be higher due to extra forces from the teeth, but lets just use x4 for now.
So! We now have elongation data, and a rough extra stiffness factor. Lets get into the numbers.
For a 2mm pitch, 6mm wide belt (2MGT, commonly used on 3d printers), the force for 1% elongation is just 3.8lb or 1.72Kg - multiplying in our extra stiffness coefficient, that gives us a real number of 15.2lb or 6.88Kg. For a 3mm pitch belt, 15mm wide (3MGT) belt our simple number is 16.5lb or 7.5Kg, multiplying up to 66lb or 30Kg. Pretty good, and if we then use two such 15mm belts, for instance one on each side of a Y axis, we get 132lb / 60Kg, which is quite respectable. Third party belts and pulleys are cheap on Aliexpress, and it is easy to double or even triple them up for extra stiffness. Sticking to these smaller pitch size belts is also useful as it means you can keep the pulley size down, and use direct drive from the motors rather than having to gear them down in order to keep linear movement within a reasonable range. Unfortunately, the Chinese sellers do not provide much in the way of stretch data, however again it is not hard or expensive to just add more belts as a safety factor. Given very the high efficiencies of belt drives, there really is little to no drawback in doing so.
Alternatively, if you want to go with Gates 5MGT, i.e. 5mm pitch, and again use a 15mm wide belt, then 0.1% stretch only occurs at 50.8lb / 23Kg, which translated to a real world figure of 203.2lb / 92kg. Official Gates belts in this size can be purchased on various third party websites, but only in set sizes and not in continuous reels, and they are more expensive. An alternative are the HTD belts, which can be purchased in the 5mm pitch, 15mm width size on Aliexpress and have exactly the same stretch characteristics (if not as good in other regards).
Temperature changes in screws causes them to expand and contract, this can be due to changes in both ambient temperature and from friction in the nut if run hard (mostly for lead screws). This mean that screws should only ever be fully rigidly constrained at one end. The other should be floating, but located within a bearing or a pair of bearings, and free to move linearly as the shaft expands and contracts. The shaft can be pre-tensioned on the floating end, with e.g. with wave spring washers, but I am not sure if this will do much. With belts, the problem becomes a little loosening on hot days, which can be remedied by a few turns on the tensioner.
Torsional Flex / Twist
Mostly a problem with longer lengths of thinner leadscrews, such as the classic 8mm diameter TR8 flavour. If you were to use a 1m length (about 3ft), and torque it with our classic 2Nm / 280 oz-in stepper motor, and you'd see about 6° of twist. If you're running 8mm lead, that gives an error of 0.13mm / 5 thou. Now, whether you're screw will actually experience the whole 2Nm of torque is another question - but if you're running a double nut anti-backlash system, it's quite easy to over-tension the nuts so they are stiffer than they need to be, or if you're pushing a very large load then perhaps again the screw could twist. Of course, this is less of a problem for ball screws, since they are generally larger in diameter, and being free to rotate the force on the screw with be more linear. I can only think it would be an issue with smaller diameter, high speed / high lead screws.
Dust and Chips
Firstly, ideally you should have good extraction, and design the system so that the moving parts are not exposed to dust, wood chips, etc. Add bellows to rails, or design with moving surfaces that slide against each other so there is no space for dust to enter, etc etc. That said, this isn't always possible, or worth doing. With lead screws then, the nuts are surprisingly unconcerned with such things. My first attempt at leadscrew anti-backlash blocks was poorly designed, to the extent that the space between the two preloaded nut blocks actually because a solid mass of wood dust, chips and oil. Incredibly, it didn't seem to affect performance in the least. This is not true of ball screws, you really need to make sure they are kept clean. Belts are somewhere in the middle, they're still going to function mostly, but you really dont want chips getting into the pulleys, and dust can build in them over time. Perhaps add brushes, vacuum or blowers to keep them clean in you cannot stop debris from getting to them in the first place.
Side note, bellows for HGR style rails are inexpensive and easy to source, and are profiled to clip into the shape of the rail itself, making implementation trivial. For the rails themselves, if you are happy with the cheap Chinese mass produced units, then prices have dropped crazy low in recent years. Check this listing on Aliexpress, where you can buy rails that ship from warehouses in US, UK, Australia, and Czech Republic, in sizes up to 1500mm - e.g. two HGR15 1500mm rails, with 4 carriages, shipped local for under £100 / $135 / €120. The carriages are pretty good at keeping dust out by themselves, and are easy to clean if they get gunked, so while you should add bellows if you can, you don't have to be too precious about it. All together I would consider HGR rails as a no brainer in DIY CNC builds.
Leadscrews have enough flex in them that they can cope with small misalignments, and the nuts themselves are relatively unaffected by such issues, but there can still be problems at the ends of travel as the misalignment forces steeper angles into the screw. Of course, this shouldnt be a problem, but accidents happen!
Ballscrews are more sensitive to misalignments, and this problem gets worst the higher the tolerances you are looking for. See section below for a full rundown on specs, but ballscrews come in different classifications of axial clearance or backlash. Lower backlash is a good thing, but means that there is less clearance inside the nut to account for misalignments. And the smaller the diameter of screw, the easier it is to bend - at which point even very small amounts of flex can cause problems. Similarly, the shorter the screw, the greater the potential problems - longer screws, with larger distances between bearings and the nut, will "spread" the misalignments out. In my last machine upgrade, I switched to a 210mm long, D8mm zero backlash ballscrew for the Z axis - total pain to fit. Larger diameter, cheap Chinese nuts have lower tolerances and will likely be more forgiving.
Belts are, of course, entirely forgiving to any such misalignments. They can have their own problems though, especially in high speed applications, or when using smaller and tighter belts - I've had enormous difficulties sourcing good quality GT2 pulleys. Those that are available are almost universally cheaply made and assembled, with loose tolerances, press fit parts that are badly aligned, and set screws to hold them in place (which adds to the imbalance). Moving to HDT belts will give a better range of pulleys, still cheaply available, but with clamp type fittings and hopefully better tolerances. Example here HTD 5M clamp pulleys.
Belts are the cheapest of all solutions, and look increasingly cheaper on longer runs where you would otherwise have to deviate away from standard 8mm leadscrews. Even given the need to use more and/or heavier belts, non-standard sized leadscrews and their respective nuts can be very expensive. Ball screws vary a huge amount, from cheap mass produced units from China up to, well, whatever you want to pay! See below. All in all, belts are the simplest and cheapest to implement.
OK, going to run down the specs for ball screws, and what you can expect to pay for different solutions...
First, there are two ways that the ball screws can be manufactured, they can be rolled or ground. The cheapest of these is rolled, which is when a plain bar of steel is pushed through dies that literally press it into a given shape. The alternative is to grind them, this gives higher accuracy and tolerances but is more difficult, and costs more.
In terms of performance, there are two main criteria to consider, accuracy and axial clearance. Accuracy is the deviation from ideal condition as the screw moves it's way up the nut, whereas axial clearance is the backlash, essentially the potential for loose movement of the nut on the screw. Accuracy is listed as a C number, from C0 to C10 as defined by JIS B 1192 (ISO 3408) standard. Rolled ball screws can be found from C6 to C10, but the most common is C7, defined as a flat accuracy of at most +/-52 microns per 300mm movement. For accuracies of C6 and below, deviation is specified for given length ranges, for instance C5 is 27 microns of culminative error and 20 microns of fluctuation for screws between 400mm and 500mm of length. See tables here from TKH (second page) or here from hiwin (page 15). C5 is probably the most common ground screw size, although they can be found from C0 to C7. In terms of pure price, you should expect to pay at least twice as much for a C5 ground screw as compared to a rolled C7 screw, and much more again if you want C3 or better. A final criteria for accuracy, the K number, is stiffness, or flex for a given load, specified in product tables by the manufacturer.
For axial clearance, or axial play / backlash, different manufacturers specify this in different ways. For instance, in the above linked Hiwin document "axial play" is specified based on the accuracy C number between C0 and C6, e.g. 5 microns and 25 microns respectively. They don't specify C7 at all, and advise that if zero backlash is needed then "preload should be added" (buy two nuts?!). Other manufacturers give a preload or P number, such as on page 6 of this document by TBI. Preload is then the tightness of the balls inside the nut (...), with P0 being no preload and having axial play values given on page 7 (e.g. 50 microns max for D4 to D14mm rolled screws). P1 is no preload, and no axial play, above that P2 to P4 have increasing preload, which will increase the stiffness of the nut but will also add friction, heat, and reduce lifespan. Preloaded, i.e. P1 and above, is not available for rolled screws because their accuracy is not sufficient. Therefore, if you want to buy a ball screw without any backlash all, you'll need to buy ground - this is common across manufacturers. To give an example of price, TBI are relatively affordable, and I was recently quoted for C7 P0 rolled 250mm long 1002 sized (D10mm, 2mm lead) as US$122, or the same size but C5 P1 at US$274 (email quote from Panstar Motion on Aliexpress). Another example of axial play specification is from TKH, page 15-19 in the document linked in previous paragraph, who provide classification G0 for zero backlash, then GT, then G1, G2 and G3. Why? No idea! But G3 is the most loose, with 0 to 50 microns of play. In other cases, a typically more expensive solution is for manufacturers to supply single nuts, which are actually two nuts with preload between them.
Typically all the above specs will be visible in the product part number, somewhere, although since backlash specifications vary between manufacturers you'll need to know what to look for, but the C number accuracy should jump out. Also, the size and lead will be easily visible, with the part number typically having a format something like manufacturer - product line - size - details including length. So for instance:
TBI manufacturer, SFK range, 10mm diameter, 2mm lead, you can see a C7 accuracy and a P0 backlash, 250 is length. Or:
THK NNB BNK1404-3RRG2+
THK BNK range, D14mm, 4mm lead, G2 axial clearance, 430mm length, C7 accuracy. Of course part numbers vary between manufacturers, check documentation for details!
I've been talking about high end details on professional ball screws so far, however super cheap screws can be bought these days from China, albeit in limited sizes. Typically SFU1204, 1605, 2005 and 2505. Accuracy and axial play are not generally stated, but I've seen people measuring 30microns backlash on cheapo parts they have bought, which is pretty good and sufficient for many users, but I cannot comment on accuracy. Of course, since they don't comply with any standards, there really is no way to guarantee the specifications you are going to receive. Motion is, as you would expect, not particularly smooth, but again sufficient in many cases. All together, I'm not too sure about how useful these are compared with lead screws. The only real use case I can think of is to reduce cost in systems where the screws are going to be run hard, at high speed with high loads, and the increased friction of lead screws would be unacceptable. But even then, since they do not conform to any specifications, who knows what you will actually receive. You dont get the other benefits of quality lead screws, that is known tolerances on accuracy, potentially zero backlash, and extremely smooth movement, but you do get all the drawbacks. That is, sensitivity to misalignment, and they have to be kept totally clean of dust and chips. Lead screws dont care about such things, can be preloaded to completely remove backlash, but will have higher friction.
If you do buy one of these cheap screws and want to improve performance, some people have found that cleaning out the old grease can help, as there are probably particulates etc in it - not assembled in clean rooms then. However, unless you know what you are doing, you should not attempt to disassemble a ball screw! Putting them back together again is rarely easy. If you need to remove the nut, e.g. for maintenance, then make sure to slide it over a rod sized to the root diameter of the screw. This will stop the balls falling out, and make re-assembly considerably easier. You may be able to do this to replace the grease, if you are careful, but I have never tried. Generally replacing grease on ball screws is done by injecting into the lubrication hole on the nut, so try to make this easy to access during design phase!
Belt Failure Modes
When designing for belts we need to consider the force required for actual failure, here defined as the force required to make a belt jump on the pulley, or even to break the belt itself. So for the latter, we're going to look at thin, flimsy, 6mm (1/4") GT3 with 2mm pitch, a minuscule thickness around 0.7mm (not including tooth height). With such tiny numbers, you might expect low breaking strength, however from the document linked below, we get a working tension of 39lb or 17.7Kg and a minimum breaking strength of 125lb or 56.8Kg. Of course, for a real CNC machine you would have some unpleasant stretching issues if you used such a belt, see Stretch section above.
A quick aside on the terminology, construction etc of these belts:
The GT3 is roughly identical to the GT2, only they are constructed with carbon tensile cords rather than the aramid cords of the GT2. However, from the manufacturers own documentation we know that "Aramid tensile cords used in rubber synchronous belts generally have only a marginally higher tensile modulus in comparison to fiberglass" (see page 172 here). With regards to the actual tooth profile, there may be minor changes to the design but since they both fit same pulley profile, these are unlikely to be significant. GT stands for “Gates Pulley” after the manufacturer, Gates. The belts are a part of their “Powergrip” line, and are successors to HTD belts. Gates claim the GT3 can transmit 30% more power than GT2!! However I have never seen independent verification of this, and especially in light of previous statements it does sounds a bit suspect... Original Gates company parts are more difficult to find for independent makers than their Chinese counterparts, but again I have not seen any comparisons in mechanical properties between the real deal and knock offs.
Perhaps more importantly however, when analysing belt failure we need to visit the maximum torque rating for a given profile, for a given number of teeth on the pulley. This is the torque required to make the belt jump or slip on the pulley. Here are a few numbers for 6mm (15/64") wide GT3 belts, with both 2mm pitch and 3mm pitch profiles - note maximum torque decreases with rpm, but that't not such a problem because so does stepper output torque. Data taken from Gates Powerbelt Characteristics Datasheet (note: this and last datasheet provided by Rodavigo, an industrial design company in Spain - unfortunately, the Gates website itself is not especially helpful).
|2mm pitch||3mm pitch|
Table 8: Torque in N-m required to make a 6mm GT3 wide belt jump on a pulley with given number of teeth, at specific RPM.
|5/64"mm pitch||1/8" pitch|
Table 9: Torque in lb-in required to make a 15/64" GT3 belt jump on a pulley with given number of teeth, at specific RPM.
- The values are for a minumum of 6 teeth meshing, and a belt length of between 294mm to 345mm (11.6" to 13.6"). There is a "length correction factor" that must be applied for different lengths, downrating for shorter belts (e.g. x0.7 for 120mm / 4.7" belt) and uprating with longer (e.g. x1.4 for 1150mm / 45.25")
- Maximum torque does NOT increased linearly with belt width, presumably due to edge slippage. The multiplication factor from 6mm to 9mm, 12mm and 15mm are 1.64, 2.32 and 3.03 respectively. So for example, a 12mm wide belt will be able to hold 16% more torque than two 6mm belts (calculation: (2.32-2)/2).
So to conclude with belt failure modes, you are not going to break the belt but it is conceivable the teeth might jump in certain conditions, although this is only going possible if the CNC machine has been badly designed and the tool is forced into a failure condition (like trying to cut without turning the spindle on).
Better yet.... do both?!
The benefit of screws is their accuracy and rigidity. The benefit of belts, is they give you speed. But longer screws cannot rotate fast, or they develop whip. A solution is to take a screw with high lead and gear it down, either with belt pulleys or a planetary gearbox. Then drive it ideally with a high speed motor, such as a servo or perhaps a closed loop stepper. You'll get high accuracy, high cutting forces, can move the axis at a decent speed, and using a high lead system reduces friction losses, as these are determined by surface area travelled.
I think the absolute best implementation would be driven nuts, with belt teeth on the outside, located between two bearings and free to rotate. Lead screws would need two have two nuts build in for preload (eliminating backlash). The screw itself is then clamped solid, i.e. the nut rotates instead of the rod, you can gear it with the belt and get all the benefits of high accuracy, high speed, lower friction (lower than e.g. a 2mm lead screw anyway), and no whip. The driven nut could be on the gantry, or if travel is small then the screw could be added to the gantry side. I am going to use such a system on a build I am putting together right now. Small problem, nobody makes such a component for lead screws, so I'm going to have to mill it myself!!I have read that driven ball screw nuts can be bought, but I am unsure of their availability.
Anyway, the downside to these options is increased complexity and a little extra cost, plus perhaps a slight loss in rigidity due to the belt, but this should be very small. I will also say I've had problems with cheap Chinese servo's in the past, developing vibrations I couldn't filter out when connected to a very small belt, so you might want to avoid cheap servos, but cheap steppers will work if maximum speed is not an issue (although generally I find steppers often have more room for higher RPM than you might expect, just not a lot of torque when run fast). I reviewed and analysed on a cheap Chinese JMC servo here, which will give both an idea for the problems that can arise by buying on price, and alternative manufacturers you might want to look at.
If you want to accurately mill metal, you would be better off with leadscrews or ballscrews. For cutting of wood or MDF, use belts! They are simpler, cheaper, and faster. Or if you want both modest speed and high accuracy, take a high lead screw, gear it down, and drive with a motor capable of higher speeds.
If you want a machine that can do both, then consider which material is your priority. Belts can cut metal if you keep the cuts shallow enough, although you will struggle to get tight tolerances. Leadscrews and ballscrews can easily cut wood and MDF but will be limited to slower speeds.
A final side note - because this article just isn't long enough already! If you are trying to decide on which rails to go for in your build, then you can either roll the dice and buy cheap Chinese rails, or spend a little more to get new or second hand branded parts. I can highly recommend DY-Global on ebay (UK link), where you can find a range of quality rails, made in countries like South Korea and Taiwan, sometimes for not much more money - they ship from South Korea too, which is nice because they have a free trade agreement with UK, EU, US etc, so no import fees, but postage costs are a little high. Get in touch with the seller if you need other sizes, for instance he sells new TBI TRS15 rails at $50/m and $15/carriage. Also a range of other second hand equipment, like servo motors, high end ball screws etc. Super helpful, very high quality parts, my favourite shop on ebay! Send me a message if you want his email address to take it outside of ebay.
If you decide on the cheaper route though, be aware that it really is pot luck what you'll receive. No exaggeration, probably 50% of the time when buying cheap Chinese rails I've had problems, mostly but not exclusively due to non-matching carriages and rails. So they literally wobble when installed. And then having to prove they are defective and wrestle a refund from them, very annoying. For serious CNC systems, you'll want the HGR series clones, and on the plus side they really are very cheap! When they fit, the carriages are pretty good. The seals do a decent job of keeping dust out by themselves, not perfect but are also not too hard to clean if they get gunked, so while you should add bellows if you can, you don't have to be too precious about it. However, bellow are also easy to source and inexpensive, and are profiled to clip into the shape of the rail. Performance is passable, in that they will sometimes stick a little, but this will have little impact on the performance of the system. Just one question - are you feeling lucky?!
This page took days of work to put together, and was make entirely to help others avoid the headache I went though. And while I am happy if I have achieved this, it is also true that I make no money from doing so! I have a few affiliate links, but only about 5 people per day land on this article and almost nobody clicks though to buy something. So if you found this information useful, please consider donating!