details, testing, & performance of my CNC Router
As I use my machine the past couple months I realize I have a knowledge gap when it comes to setting speeds and feeds for a particular cut. I use G-Wizard software to determine the settings and then typically modify the output with the tortoise/hair slider bar because I ‘feel’ the machine can’t handle that setting or ‘think’ it won’t produce a good surface finish. The problem is that I don’t have a good enough knowledge base in machining nor in this particular machine to make these judgments. In addition, I don’t think I’ll be able to gain this knowledge easily as I only use the machine intermittently in a hobby sense which would take forever to develop a knowledge database on cut history. So my end goal in the testing outlined in this post is to develop an understanding of when my structural machine components deflect enough under load to cause performance issue in the cut. Another way to say this is to study my machine rigidity/stiffness based on the input of my spindle power. The resultant of the test will then be used to adjust/limit the spindle HP rating in G-Wizard software to produce overall more accurate feeds and speeds for my particular machine. I’ll be referring to the G-Wizard software developed by CNCCookbook along with some relevant article from that site.
First off let’s take a look at the G-Wizard machine setup for my particular router.
Notice that my Spindle HP Max is set to 2.7 HP, working envelope entered in as 25”x29”x5.5”, and a Machine Weight of 1100 lb. There is three ways to refine the performance of the machine. First is to simply set the maximum HP and leave it along. Second and third you’ll need to click on the “Adjust” button in the Spindle HP column which will bring up the following options.
You’ll notice that 2 additional options are presented in this popup window. The “Weight Adjusted HP” option will task G-Wizard software to estimate an adjusted HP based on the weight and working envelope sizes you entered on the main machine. The “Curve Compensate” option will use the spindle power curve data (if you have it) to adjust the feeds and speeds data. As you can see I have a 2.7 HP spindle and G-Wizard is suggesting an adjustment of 1.41 HP for the weight adjustment option. The actuality of the machine limiting performance is someplace in between 1.41-2.7 HP and I hope to determine that in this test.
Before I go any further I have to say that if you still have interest at this point you must head over to CNCCookbook and read up on the articles related to this topic – it’s packed with invaluable information and I simply cannot do this subject justice myself. This post is simply to walk you through my method and show you some results for my particular machine (plus video of the event of course).
So the main article from CNCCookbook which got my butt in gear to perform this test was “Set up G-Wizard for Small CNC Machines”. After reading this post I had a brief correspondence with the author Bob Warfield and he helped clarify some key points for performing this test. In particular this test should focus on machine rigidity so we want to avoid any other influences which might lead to performance issues – any good test should attempt to remove all extraneous variables. To achieve this we want proper chip clearing, good lubrication/cooling of the tool, minimized tool deflection, and to hopefully avoid any natural resonance characteristics of the machine.
I’ll use a 1/2” two flute TiAlN coated end mill in a profile milling operation straight along a piece of aluminum. I’ll keep the cut width set to 40% of the cutter diameter and only vary the depth of cut to gradually increase the spindle power from a low value up to the spindle maximum.
Below is a screenshot from G-Wizard of the last test I’ll attempt at max spindle hp (Case #11 in table below).
So now off to the shop…
Setup is shown below. I want to make sure I have a nice big chunk of aluminum bolted down to the fixture plate securely to avoid any influence from stock deflection (thin walls) or deflection in the clamping. Again making sure to remove those pesky variables from the testing. I also ran around and made sure I had no loose connections in the machine giving all the bolts a nice tightening. Hmm … what else to consider… collet chuck tightened onto the tool, tool stickout ok, mist on. You’ll notice that I’ve placed the stock directly onto the fixture plate as this moves the spindle in the lowest position on the z-axis representing the worst case but probably typical cutting scenario.
Just before starting the test I realized that I want the resultant cuts on this chunk of aluminum to give me a nice easy way to compare the surface finishes but if I simply pass at the same axis location and only increase depth I’ll potentially scuff up the previously cut surface. To remedy this I’ll need to prep the stock by creating preliminary steps of 0.004” for each test case (see figure below). In addition, after this prep step I’ll machine the opposite face square and take initial measurements. I’ll be able to squeeze in the first 7 test cases into my 1” thick aluminum stock and will take passes in both the X and Y axis. If I need to go past case #7 I’ll use the opposite side to get #8-10 and if I get to pass #11 I’ll gladly pull out a new piece of stock – unlikely.
Note: After performing the test I realized this whole stepping 0.004” per test was overkill. If performing this test I suggest simply offsetting each test case by 0.001” to make sure you don’t “spoil” the previous test cut surface finish and simply live with the fact the last cut will be x thousands wider a cut (probably little impact).
SANIFY CHECK and more ramblings before I start testing.
I’m just about ready to perform the test and realize that I never considered using a ½” end mill to make a 0.2” wide by 0.348” deep cut in aluminum at a feed rate of 220 IPM with this machine. I really don’t think the machine can do this and will be amazed if I come close. I’ll take a guess here and set my expectations…. Well I went back to G-Wizard and setup some scenarios with different cutters which I remember entering as goals during the build – some basic setups which I used to get a feel for what I wanted the machine to do during the design phase. Most of my entries resulted in a MRR between 3 to 7 ci. Looking at my table above I’ll guess, or hope, I can do case #6 which would slightly exceed my expectations at a MRR of 8.27 ci – A half inch cutter taking a 0.188” depth of cut with 40% stepover – not too shabby for a DIY router build – we’ll see!!
Sorry – I know I should simply get on with the testing but I can’t stop drawing conclusions before I start. First off I glanced back up to the table and see that case #6 has a HP rating of 1.43 – wow, that’s exactly what G-Wizard estimated HP would be for weight compensation in my router setup at 1100 lb. Is it coincidence that my initial development which used G-Wizard to estimate my expectations now matches up perfectly – probably not as I used the CNCCookbooks article “Ultimate Benchtop CNC Mini Mill” as one of my guides were in Part 4 Bob lays out this exact approach to get an initial idea for the performance you want and to help size components.
OK – so I suggest simply clicking on the video before reading anything further. I’ve tried to keep everything as consistent as possible for each cut including the location of the microphone. Try to pick up on which cut should be my last attempt.
Partial Conclusions – test is not complete yet:
Well as you can see in the video I had issues twice now. Both times the cutter stopping had less to do with reaching the limit of spindle/rigidity and more to do with simply running into the fact that the steppers can’t handle the cut – I THINK! As I post this I’m still thinking about the whole situation and have a post over at cnczone forum to clarify if this could be a different issue. I’m fairly confident my overall machine could have taken a bit more – the surface finish looks absolutely fine to me and I didn’t hear anything spectacular which indicated an issue. The steppers seemed to be my limit.
The first test at 220 IPM was actually run at 250 IPM (dumb mistake). I then modified the feed rate in an attempt to get steppers more torque. Changed to 180 IPM and got a couple more cuts out of her. The table below shows my actual test cuts from the video.
I’m a bit surprised the stepper failed at about the same spindle HP input with 180 IPM then at 250 IPM. I would have expected it to perform better as the torque available at the reduced stepper RPM should have allowed a bit more headroom. So is about 1 HP my limit for the steppers? I still think I have headroom available in the machine rigidity as the surface finish looks ok to me – The pictures below show the surface finish for tests 1-4 and 6 & 7 were identical but I mistakenly took a finish pass off those cuts so you can only see in the video (no pic).
I spent the entire day reviewing the stepper specifications and what type of draw on the steppers could have taken place during that cut. Looked at cutting force, current draw, and even did a test where I hooked a force gauge up the axis and measured the amount of force required to cause the stepper to stall & miss steps. The force on the gauge was about 55# while the software calculated 27# for the first stop cut – it’s a bit too close at the 220 IPM setting but somethings fishy here. If it was simply a stepper issue I would think I’d hear the whining of the missed steps which I didn’t and Mach4 became flaky after the cuts on the video which is not typical when the steppers are pushed enough to miss steps.
Maybe someone out there will indicate that the surface finish is in-fact not ok?
For now, that’s all I’ve got. Will still post this and follow up later as have more information, solve this issue, or get some servos and have at it again.
This test, although not the expected results, will prove very valuable if the outcome is new axis motors. As it stands this test has shown that I'm only using about 1.2 HP from the spindle and machine rigidity is holding up well. This gives me a nice justification that improvements in the axis motor will be put to good use. The question now is how much bigger do I go!
The design of the router fixture plate went through a few iterations in my mind and during this time I've left the plate a simple solid aluminum table and mounted all my jobs up to this point onto an MDF spoiler board attached to the plate. I've done this because I don't have much experience in part setup, the use of CNC machines, nor the use of CNC software to locate parts and wanted to first get a feel for how a fixture plate can best be used prior to drilling a bunch of tapped holes. In this post I'll walk through each aspect of "how to setup and start a job" on a CNC router and explain my decisions and final design. Warning: This post if filled with my assumptions without extensive experience running a CNC machine.. Also of note is the fixture plate is 5083 Aluminum 29" x 23.5" x 0.63" at a cost of $161 from MidWest Steel & Aluminum.
First, the simple operation of finding, and then more importantly re-finding repeatably, a zero location for the X & Y axis.. I was very surprised to see that my simply toggle type limit switches which double as home switches in Mach4 are re-finding the absolute machine zero position with a repeatability of under 0.001". BUT I don't have extensive data yet and still don't trust them so will likely still use some very accurate mechanical switches which I purchased specifically for finding home (once Mach4 and/or the smoothstepper get there act together with home offsets). These switches do not actuate from the ramp angle of the stop block as the toggles do which eliminates a point of error, are connected to the structure in a stiffer manner, and cost ~$75 bucks vs the toggle switch $7 (not sure how this cost is justified but I'll assume it's something otherwise I'm just a boob). This has given me a high level of confidence that the absolute machine position can be found, and re-found from cold start, emergency stops, etc. In addition to that confidence gained, I've specifically located the switches to actuate and read zero at a location which I feel most of my part setup will coincide with. Further, at this zero point, my ball screw nut is at the very end of travel along the screw shaft and at the motor drive end so as not to worry about thermal growth of the shaft influencing the zero from a cold to warm machine. It's surprising how much a ball screw nut location along the screw shaft can be effected by thermal growth during operation. THK lists 5 deg Celsius variation during operation, dependent on loading, which results in 0.002" over a meter - not drastic but why not simply design out the error when finding zero. I've tried to show this last point in the picture below focusing on the table axis but all 3 axis are set up with the same approach.
Second, I want the fixture plate to play an accurate role in the router operation. This is not simply a wood spoiler board and will have accurate machined holes which I want to use to confidently locate a job (same as a vise on a mill). Therefore the fixture plate must have a relationship to the previous step of finding machine zero in an accurate and repeatable way - not to mention squareness to the linear motion.
To this end I've machined two pocketed features into the fixture plate to create accurate edges which will represent the X/Y axis zero point of the fixture plate and together will allow me to 'tram' the plate along the table motion axis. To find the edges I'll use an electronic edge finder ($25 bucks) as my typical spindle speeds are simply too fast for a traditional edge finder (thing freaks out at very high RPM). The resulting offset of these edges to the machine absolute zero found by the limit switches will then become my home offset entered into Mach4 to set the starting machine (or work) zero upon startup. Now I expect that in the beginning I'll verify the location of the fixture plate zero to the software zero with the edge finder on a regular basis but expecting this operation to eventually be a periodic maintenance check.
Now that the software, via the electrical switches, can repeatably find the fixture plate location and orientation properly it's time to drill some holes. Of course the hole pattern on the fixture plate will be located relative to the machined pocketed edges to the best ability of the machine I have available for such a large part... which of course is my router.
So now to the grid pattern I've chosen. First up is the tapped holes which I'll be using 3/8"-16 threads to match the set of hold down tooling I already have from the mill. I'll be spacing the threaded holes on a 1.5" grid with some locations missing due to the linear rail mounting locations from below. I'll also be substituting 17 of these locations with a 5/16" precision hole to be used for accurate location of subplates (CarrLane CL-3-RP, CL-3-DPX) or used as edge alignment features. I'll be adding a precision 0.500" precision counterbore feature to 31 of the threaded holes to be used together with a shoulder bolt (CarrLane CL-32-SS) for semi-accurate locations... not sure if this is useful yet. Two independent 3/8"-16 outside the standard grid are required to allow mounting a 4" Kurt vise which I have. And lastly I'll be engraving letters and numbers along the axis.
I've started off with a set of already owned 3/8"-16 standard hold down clamps and added to this a set of CarrLane 'Tiny Vise Edge Clamps' CL-6-TVR & CL-6-TV. The below picture shows the current hardware I'll be using to setup jobs onto the fixture plate including the Kurt 4" vise, pins, etc as mentioned above.
Update 8/7/16: The standard hold down clamps shown in the figure have proved to cause issues with machining around the edges of parts due to the height of the clamp above the part - the spindle collet and mist nozzle start to interfere with machining path. I've since purchased some more CarrLane parts to remedy this situation by attempting to utilize a low profile side clamping hold-down. Part were a bit expensive but I think will be worth the cost.... CarrLane part numbers CL-15-SAC and CL-10-SAC.
I used a 3/16" carbide 2 flute end mill to helical mill the 3/8" tapped and precision holes to a 0.3025" diameter with a 5.5 ramp angle. I then used a 0.3135" carbide reamer on all these holes running it at 1800 RPM and 10 IPM. I had to use carbide because my spindle had 0 hp with the RPM required for a HSS reamer. I thought even with a carbide reamer I'd have issues at 1800 as this is way off the charts for this spindle (calculated 0.3 hp at 1800 RPM) but it went rather well without the spindle getting warm at all as it has an electric fan cooling. Engraved letters and numbers along the edge of the plate was done with an Amana Tool 45733 60 deg carbide engraving bit. As for tapping the 3/8" holes...... Believe it or not this operation took over 3 weeks!! I planned to use a Micro-100 TM-250-16 carbide thread mill and although it took some time to figure out the programming it worked beautifully .... FOR 5 HOLES !!!.... before it snapped the bit. At $65 bucks I wasn't about to try this technique again, didn't even care what I could have done better, and immediately started to hand tap the holes. Got about 15 holes done the first night... back at it for 15 more the following day, and then woke up the next morning and had debilitating back pain! I hate tapping - always have and know the twisting motion isn't good for an already deteriorated disc situation. So 4 days on my back to think about the alternatives. I couldn't use the router spindle for ridged tapping because of the low torque available at the required RPM in addition to not really knowing the exact RPM to match with z axis feed as it has a VFD. I considered purchase of a Tapmatic for the milling machine but the plate is simply too large to put on the mill and the cost of these units is quite high.
So.... I ended up purchasing an Articulating Tapping Arm - and LOVE IT! The catalyst came from a video blog by NYCCNC covering the Flexarm A-32 unit but I couldn't justify the cost of this production unit in a hobby shop. I ended up buying a 'budget' unit new off Ebay (also available on Amazon) made in England by "Machine Tapping" and distributed by SRA in MA (exact unit at this Link). There are other low cost options on ebay but I think this unit is superior at $999 as it comes complete with a full set of ANSI clutch tapping collets and allows the head to pivot 90 deg (the Chinese models on ebay do not have either of these items or come with ISO collets - watch out as these don't match american purchased taps both inch and metric). The unit runs fantastic and the flexibility to use all around the shop will generate far more use than a Tapmatic type chuck for me. I currently have the unit mounted directly to the router base and it has full range to cover the entire Fixture Plate and a nearby vise. As the unit can be simply lifted off the mounting post I'll likely add additional posts at the mill and the workbench and move this tapping arm to wherever I need it. I was impressed with the quality of this unit including the tapping collets and pneumatic driver and would certainly recommend if a grand is burning a hole in your pocket - or you hate tapping as much as me. The only thing I can say slightly negative about this unit is that it sucks the air down rapidly - it works so we'll that you want to keep the button depressed, immediately start tapping the next hole, and with my little 30 gallon reciprocating compressor this simply isn't possible (2 holes then pause about 60 seconds).
Below image gallery shows some in-process manufacturing of the plate and some shots of the tapping arm.
Some parting thoughts:
One of the first things I realized after the machine started cutting was the amount of mess created. Chips were not only flying around the shop but creating a major problem by littering the table X-axis rails and ball screw. In this post I’ll describe my recent addition to my router by detailing the machine enclosure. I’ll start with the list of requirement, get into the design, pics and video of build, and then offer some alternatives which I investigated along the way. "Enclosure" is a term used loosely here as you'll see it's not your typical containment box approach.
OK ... enough of that. It's just that this list proved extremely helpful for me to write down as I found myself struggling to come up with a sufficient design for my specific router build.
Below you'll see the complete CAD design. It's a bit unconventional for a "Machine Enclosure" as it's split into a combination of multiple approaches. The design can be broken down into three main sections: 1) The 'conveyor' protection for the table linear rails and ball screw, 2) The rear guard/shielding, and 3) The front/spindle shields.
The protection for the X-axis Table is the odd ball design here. I haven't seen this approach used yet and as I write this post, although I'm parts complete and ready to assemble, I've yet to verified it works (fingers crossed). .... well, just ran the table with conveyor attached - works much better than expected for first try. Will post a video at the end of this post - kinda cool.
You may say, "why not just mount 4 walls directly to the moving table".... First, the Y-axis gantry motion is allowed to move the spindle beyond the extent of the table which would then crash into the side walls. Ok, then make the side walls static by attaching them to the base and only attach the end walls to the moving table. I played around with this design for awhile but the drawbacks were.. a) obstructed part loading with the walls, b) used more material $ then the 'conveyor' approach, c) I didn't think I'd like the looks of the end wall on the table moving around, d) I didn't really think it wise to mount any guarding to the moving parts.
So the result is a 'conveyor' design using.... ready for it.... PVC schedule 40 pipe and a window shade. A 1-1/2" PVC section makes up the two end rollers and are mounted to the base table. They don't actual roll but I'm expecting the window shade to slide freely over the PVC. As my linear rails on the X-axis table extend about 1" over the extent of the table (I was trying to utilize every last bit of material to maximize stroke), I needed to make some cutouts for the rail and truck to move to the end position. I think the roller end position will actually 'clean up' the visual appearance of the table end. A 1" PVC section is then 'slipped' into position utilizing a slot in the PVC together with the Base 1/4" leg sections. I'm expecting this sudo-mount to be enough to retain the 1" PVC in place (again does not 'roll'). As for the conveyor material, I simply had the hardware store cut a cheap $10 window shade to width and will attach 2 pieces to each end of the moving table, wrap around the rollers, and connect them with a spring for tension. Four (or more) things can go wrong here.... 1) acceleration of the table causes the conveyor belt to buckle and flap enough to cause issues, 2) the conveyor does not ride straight and possible slips off one side, 3) the tension of the belt causes too much friction between the PVC and window shade, 4) the window shade material does not hold up to the abuse from aluminum chips and continuous rolling back and forth. Time will tell.
Below are some more details of the CAD design for the conveyor.
The rear guard is a nylon conveyor stip brush (74405T9) from McMaster Carr with a compatible holder (8813T52). I'm not concerned about visual in the rear so decided to try a brush. It's a 4" long 3/16" width with diameter 0.014" general purpose nylon bristles. It's a bit stiff and I'd probably choose the 0.010" diameter if done again. Mounting is simply to the backside of the uprights and allows 2 positions of mounting, one which allows brush to lay flush with table and another 3/4" up to accommodate a thick spoiler board. The bristles will allow about 1/2" part interference to go thru the entire length ok but any higher than this and I think it may bend the aluminum mounting strip. So it will probably allow a 2" tall part at a reduced width (~4") thru without issue as the overall force from the bristles will not come from the entire length.
The front shields are made up of Impact-Resistant 1/4" Polycarbonate sheet (8574K43 - blue in pics) & 0.04" thick Chemical-Resistant PVC Type I Film (87875K61 - yellow in pics) both from McMaster-Carr. The side shields have 4 magnets bonded in to allow mounting to the steel upright and post and allow quick removal. It also has a cutout where a single piece of film is bonded which allows the spindle to pass. The main front shield film is mounted to a 3/8" rod which is then attached to a vertical 1"-3/8" post mounted into the table with a 3/8" universal clamp to allow adjustment and quick removal. I should be able to remove all the front shields in <30 seconds for cleanup etc.
Below slideshow has some pics of the final results and in process manufacturing ....... and below that is a youtube video of the 'conveyor' in action.
I have cut multiple parts and below is some observations and things I might change if doing again.
Added a Mist Coolant system:
I absolutely needed to add a mist system - spraying wd-40 from a can was not fun. I just happened to have purchased 2 Wesco mist systems at an auction some time ago on the cheap to I went about to use as much hardware as possible from one of these units to make a custom mist to fit my router build.
The Wesco mist unit works by delivering compressed air and mist to the nozzle tip with two small separate tubes which run through the braided sleeve. The mist is then mixed with compressed air only after it exits the nozzle tip - this can be seen in photo below - focus on the brass tip end of the nozzle. A flow valve controls both compressed air and fluid independently with a manifold block which I mounted onto the z-axis. The close proximity of this flow manifold to the exit nozzle allows fast response to flow changes.
To position the nozzle I opted for a small Noga model NF1033 articulated holder which has 51mm and 56mm arms. At $75 bucks this is not a very economical solution for holding a mist nozzle but I've wanted to pick up one of these small Noga arms for the shop anyway, so "two birds". The unit comes with a 360 deg fine adjustment base attached with a dovetail to a permanent magnet which is all removed to expose a simple M6 thread to mount directly to the spindle column mounting bracket on the router. The NF1033 also comes with a 3/8" clamp holder on the business end which fits the Wesco misting nozzle perfectly.
Below are some in photos showing the original Wesco mist unit and the modifications to adapt this to the router.
The articulating arm of course moves the nozzle into position with ease and locks to exact location. The reach of the arm allows the nozzle to be located around the spindle about 270. I opted to replace the original Wesco SS coolant tank with a simply 2 liter plastic bottle which is located on the base and out of sight behind the gantry. The elevation of the coolant for this style mist unit must be below the nozzle outlet to avoid dripping when compressed air is removed and I also found that placing the tank too far below the nozzle (on the floor of the base) created too much lag time to get the mist flowing and operation was sporadic.
This post will not be about the electrical details of home and limit switches but rather on my choice of hardware and how I incorporated them into my fixed gantry design. Due to lack of experience in limit switches and the unknown accuracy they give for repeatable home position I decided to include in the X & Y axis both a set of limits and a separate (more expensive) home switch. An overview of the added hardware and location is shown in the below CAD picture. Note that v03 on the download page now includes this design.
For the Z-axis (pic below) I used a roller lever type micro switch manufactured by Renew, model #RV-125-1C25. These guys are a bit on the cheap side in quality but I wanted to limit the size mounted onto the z-axis. The toggle rail rides on the edge of the Z-axis moving plate while the limit switches are mounted onto the rear permanent plate of the z-axis. Adjustment is made with some slots in the switch brackets and the cables are routed thru the cable tray.
For the X & Y axis I was able to package a much larger limit switch and the quality of those units far exceed the Z-axis. The X-axis table (pic below) used a roller lever style limit switch from CNTD, model #CZ-7141, which is mounted directly onto the Brute machine table with an adjustable bracket and a toggle rail mounted on the underside of the aluminum fixture table. I could have located both switches inline and avoided the need for two toggle rails but this would have resulted in one of the limit switches mounted at the extreme forward location of the machine and I simply did not want to look at the switch when the table was in the extreme -X location so opted for 2 separate toggles which pushes the hardware out of view. Update: After installing the 'conveyor' to protect the ballscrew and rails from chips I got rid of the second toggle ramp on the right side and re-positioned the 2nd switch inline with the 1st on the left side.
The Y-axis gantry limit switches are button depress style switches from CNTD, model #CZ-7110. I chose this style due to the lack of space between the Z-Axis assembly and the gantry rails for a toggle style and the fact that I could 'hide' the entire switch inside the gantry rectangular beam. The button of the switch is the only part exposed into the moving path of the Y axis gantry and is actuated by a toggle ramp mounted to the back side of the rear z-axis plate. One drawback is the limited adjustability of the switch location due to the hole restriction in the tubing; therefore, adjustment is made by carefully locating the elevation of the button to the toggle ramp.
The home switches are higher quality precision contact switches purchased from Misumi (model #MSTKD-EL) at a cost of $60 each. I wasn't certain of the repeatability of the cheaper limit switches (~$7) so decided to use both on the X & Y axis and compare them. The home switches are mounted onto a simple mount made from 1" steel round machined to include both the switch and a stop screw to insure I don't damage these expensive units. Unfortunately at this time Mach4 together with my ESS (smoothstepper controller) does not fully function with both home and limit switches so I've yet to have a comparison for you - I'll update when software is fixed. At this point the limit switches seem to be very repeatable leading me to believe I don't need the separate home switch.
You'll notice that the home switch (and one limit which currently acts as home) is located directly at the fixed end of the ball screw. This is because the ball screw incurs significant thermal expansion in operation therefore for the most precise repeatability is obtained at the fixed end of the screw shaft. I was surprised to learn that ball screws typically see about 2-5 deg C thermal change in operation and this results in an expansion of 0.02-0.06 mm (0.0008-0.0023") at my maximum extended position. Also of interest is that precision machines avoid this thermal error by 'stretching' the ball screw to the estimated maximum displacement from the thermal expansion and fixing both sides of the screw shaft. This shaft now loaded in tension will simply reduce the tension load as the temperature increases and have zero overall length change due to thermal expansion. They also adjust for that stretch of the shaft by manufacturing the pitch to incorporate that stretch... Neat! They talk about how to load the shaft in tension preload and set into the fixed ends but I was discussing this with a colleague and we came up with a simpler (more diy) approach.... all you have to do is heat the shaft to a set temperature (maximum expected) and then mount 'hot' into the fixed ends and when it goes back down to 'shop' temperature it will be in tension. Just need to make sure your end supports are directly connected together with a stiff enough connection to accommodate the tension load. Oh and then have a special pitch manufactured.... ok, definitely not a diy item typically considered.
Some pictures below of the manufacturing and build (slideshow format)
Two major aspects of my fixed gantry router were left incomplete prior to making a few first cuts and taking some basic performance measurements. One was the anti-backlash ball nut design, which this blog post will focus on, while the other was Home/Limit switches which will come in a later post. I’ll be updating the download section to v0.2 which will incorporate both designs above.
As for the performance, my first impression of the accuracy was uplifting but the backlash was something which needed controlling. This was a bit expected because I hadn’t fully included an anti-backlash ball nut design into the x y axis. What I’ll do in this post is fully document the performance “as is” without any improvements and then step through the changes and eventually record the final performance results with respect to positioning.
All measurements are taken with a 1” B&S Dial Indicator with 0.0005” graduations. The resolution of this indicator is ~0.00015” as I can determine positions between the graduation markers and this, as it should be, is better resolution of my positioning system which is 0.00026”. As I want to also measure backlash I will take measurements by approaching the position in both the positive and negative directions. I will then repeat the process with a load against the moving axis in both pos. and neg. directions. Motors speed will be set to 74 IPM which is 35% of rapid speed.
Test01: No Load; Positioning Pos. & Neg. Directions
Positioning Test Results (Test01 & Test02):
Table 1 – Position Raw Data (Pre Anti-Backlash)
The tabular data is grouped into 3 separate tests. Blue/Black without Load, Orange/Red with a load in positive axis direction, and Purple/Green with load in negative axis direction.
Graph 1 – Positioning (Pre Anti-Backlash)
Conclusion (Pre Anti-Backlash):
0.0002” (+/- 0.0001”)
Backlash (no load):
Backlash (with load):
The repeatability looks tight as expected. The accuracy of the unloaded Blue/Black set is a bit larger than expected and hopefully this comes into better control when backlash is addressed. The backlash of the Black/Blue unloaded set doesn’t look to bad at 0.0005” but when comparing a loaded positive to negative Red->Purple combination it’s quite apparent improvement needs to take place. Checking the manufacture data on this ball screw shows it’s actually within spec (0.1mm/0.004”). Note that this is a rolled general purpose ball screw from NSK.
Anti-Backlash Nut Design:
The axis used for the positioning data above actually has my original anti-backlash design incorporated into it using a Smalley wave spring. The load exerted between the nuts is about #10 proving to be too low and doesn’t accomplish much. The new design is shown below and will use disc springs to increase the load to about #100 +/-25. I’m using Misumi #SRBN-28-A Disc Springs which exert 1127 N (#253) over 0.6mm (75% deflection). I’ll stack 4 pieces in series and target ~30% deflection yielding #100 at a deflection of 0.96mm. As my ball screw has a 4mm lead, this results in rotating the secondary nut 90 deg to achieve the target load. At assembly I’ll need to check the orientation of the primary and secondary nuts when the disc springs start to contact and add shims behind the disc springs until the resultant angle is 90 deg.
Edit 1/9/16: I finally found documentation for recommended preload on the ball nuts - both THK and NSK document this very well in their technical docs..... "The optimum preload is one third of the maximum axial load from the system. However, as an excessive preload adversely affects service life and heat generation, the maximum preload should not exceed 10% of the basic dynamic load rating (Ca) of the ball screw."
So I have 3 types of loading to consider.
hmmm.... this may also be why I saw the top IPM feed rate drop from 190 to 170 IPM on final tuning.
Off to make the new secondary mount and try out the increased load. I'll update this post with final position results soon... And back .... below is a picture of the new anti backlash assembly for the X axis (table).
And before we get to the results a note on aligning the ball screw with the linear rails to insure it rides parallel to avoid any type of binding. My approach is to use Gage blocks stacked on either side of the linear rails to precisely position the ball screw to the center of the rails within 0.001". The assembly is very easy and thought worth passing along.
And now for the linear positioning results with the anti backlash design installed. I repeated the exact same tests as above. First I'll show an overlay of the original test result this time colored gray with the new results in color.
Graph 2 – Overlay graph, Gray=original data, Colors=With Antibacklash
You can easily see the improvement on the above overlay.
Below is the raw data.
Table 2 – Position Raw Data (With Anti-Backlash)
And the data graphed below. Note that the scale needed to be reduced to +/-0.0004 to show the plots better. That's a full range scale of <0.001" !!
Graph 3 – Position Raw Data (With Anti-Backlash)
Conclusion (WITH Anti-Backlash):
0.0001” (+/- 0.00005”)
Backlash (no load):
Backlash (with load):
LOTS of zeros..... Needless to say I'm happy with the results. I'll need to ponder the results a bit and be back with some observations etc.
Update 01/29/2016: One aspect I've failed to include in this post is the performance aspects of my drive system. For the above tests I was driving a 4mm pitch screw with a speed reduction ratio of 0.66 from a NEMA23 1.8 deg motor at 2 microsteps (0.9 deg per step). The resulting accuracy predicted for this system is 0.00026" (0.66 * 1rev/400steps * 4mm/25.4"). This accuracy is based on the resolution of 0.9 deg (+/-0.45 deg) of the motor only and does not take into account the screw belt etc. Results of the above test look to be spot on at 0.0003".
What's next? Well I'm a bit unhappy with the top speed I can achieve with my current setup so I'm going to be changing the speed reducer pulley setup to a speed increaser. I'll be going fro 0.66 to 1.33 ratio. This will of course reduce my positioning accuracy at the current microstep of 2. Therefore I will also be increasing the microstep setting of the motors to try and maintain the original accuracy. Luckily this was already required when I did my final tuning of the motors as I found that the X & Y axis moved more smoothly at an 8 microstep setting. It is my understanding that although you are requesting the motor to achieve lower values of resolution with microstepping you soon come to a point which the error in the motor to achieve a given step is simply larger than the resolution you've requested. As this error in step position is most commonly about 10% of a step, you can improve accuracy up to about 10 microsteps. Once you pass the 10 microstep point the improvement in step 'size' resolution is simply the same as the error in step position. So with that said, I'll be running the above test once more with 8 microstep setting and a 1.33 ratio - accuracy prediction for this setup is 0.00013" (1.33 * 1rev/1600steps * 4mm/25.4"). Wow - better accuracy with more speed? Ok... I'll be conservative here and assume that although I'll be at 8 microsteps the accuracy of my motor will be about half that. So 0.00026" which is exactly the accuracy I targeted in the begining.
Results will follow - it will be curious to see if the above holds true. I hope to have the new pulleys next week and post those results around end Feb. Cheers.
I've created this blog post specifically to capture general comments for the custom CNC Router project. Please leave comments and suggestions below.
To return to the main 'CNC Router Build' page please click the link below.