PDA

View Full Version : Axis scaling errors - is this just to be expected with C7 screws?



GND
22-11-2016, 04:37 PM
I have a problem that first came to light when making some 150mm diameter gear wheels for a wooden clock on my CNC router. Essentially the gears weren't quite round - one axis seemed undersize and the other oversize - the difference being about 0.5mm, which was enough for the clock to bind after a couple of minutes. I've been using the router for about a year for lots of jobs, but this was the first task Id done that relied on a decent level of accuracy.

Having analysed the problem, it looks like my X-axis works oversize by about 0.22%, and my Y-axis works undersize by about 0.13%. Doesn't sound like a lot for a wood router, but on a 150mm circle, it does work out at about a 0.5mm discrepancy. Surely we can do better than that? My machine is home-made of the gantry style, and uses C7 grade ballscrews directly driven by 4Nm steppers from Mach3 in the usual way. The screws appear to have an accuracy spec of at least 10x better than these errors suggest, especially over a short 150mm run. I have therefore been looking at all aspects of the machine I can think of, assuming there are other issues to be corrected.

First check was backlash, and it measures at no more than 0.04mm on either axis. The error I see seems to scale with cutting size anyway, so it really does appear to be an accuracy issue in the axis drive. Slowing the motors via Mach3 (speed or acceleration) has no effect at all. Swapping the axis drive electronics between the two motors has no effect - the issue remains with the axis, so my conclusion is that the issue is not in the electronics.

I did discover that the X and Y axes were slightly out of square, which meant that the circles were out of round, but the errors were "off axis" - since corrected. I also discovered about 0.1mm of runout on my Kress spindle - which isn't ideal, but surely wouldn't cause this issue. Just oversize width cuts.

I did feel that the Z-axis assembly is not as rigid as I might have liked. I can flex the router side to side along either axis by maybe 0.5mm without excessive finger pressure, so for a while I wondered if this was my issue. However to try and prove this, I cut simple 150mm diam circular slot in MDF with a clockwise cut and a second one with a counter clockwise cut, and the two circles were essentially identical in their distortion. I should explain further - the X and Y diameters are in error as described, but the "45 degree" diameters are slightly different to one another. This strongly suggested to me a rigidity issue, such that cut direction mattered. With the two cut directions I had therefore expected the errors to be mirror images if you like, but they weren't! I think this suggests it isn't a rigidity issue, but I'm ready to be shot down on that, as this feels like a strong contender to me.

However, I am wondering if the absolute error of a C7 ballscrew is such that you would expect to have to enter a measured rather than calculated "steps per mm" setting in Mach3? I suspect I could null out these errors by entering something other than the current 320 "steps per mm" entry I am using, as it seems you can use any number - doesn't have to be an integer. And you can use the inbuilt calibration button to help you do this along with precision measuring kit. But that seems like a cheat and potentially just covering the real issue, which I can't believe is simply a ballscrew error.

The forum's thoughts and comments would therefore be much appreciated.....

Cheers
Graeme

GND
22-11-2016, 04:46 PM
PS. With the rigidity concern in mind, I did run a little "marker" cut - to put a 20mm long slot in a piece of MDF to act as a place marker. I then MDI for 100mm along an axis. Then run a second marker cut, and measure the distance between the two markers. This meant that the axis being measured was completely stationary during cutting. The measured error between markers was very much present. So again this suggested to me that the less than ideal rigidity was not my main issue here......

magicniner
22-11-2016, 06:20 PM
Other than with maths how have you checked that your axis Step settings in Mach3 are correct?

cropwell
22-11-2016, 06:48 PM
Hi Graeme,

My first thought was - Is there any set-up error. Has the problem always been there or has it crept in over time.

You make a great play on rigidity issues, but give us no info on the construction of the machine apart from C7 screws. Let's have some pictures of the machine and we might be able to suggest something.

I have a MD machine and it has rigidity issues (please no jokes here !). I found that the gantry rails (unsupported 16mm rods) were mounted on the twist (or had moved due to cutting forces). It took me a long time to realise why my squares came out as parallelograms, and you may have a similar problem.

Cheers,

Rob

GND
22-11-2016, 07:08 PM
Thanks for the initial thoughts, gents - to cover them in order;

How did I check the Mach3 setup? I have used a plunger type DTI to check that a commanded movement of 1mm equates to 1mm of actual movement. It did, with no more than 0.03mm error each time - which wasn't cumulative, and so seems to be within typical C7 expectations. So 1mm might have come out as 1.03mm actual, and 2mm might have then been 1.99mm, if you see what I mean. These are therefore spot errors of perhaps 3%, but they average out over working distances. I also checked longer distances using digital verniers, and they showed the type of errors I have described in my initial posting. But I had difficulties getting repeatable readings using these, as a degree or two of skew made the numbers change by a lot!

In terms of the machine, I have some rather poor pictures - see below - which hopefully at least show you how each axis is made up. It is an unwieldy thing, with a too-high gantry and uses unsupported rails throughout. I could make many excuses for this - but the one I'm sticking to is that it wasn't designed nor made by me - I took it on as an unfinished project. And it wasn't originally supposed to be a router - it was a welding machine! Hence not ideal, but hopefully I can do something with it, which doesn't involve starting again....

As for how the errors have come in - I measured a circular item I made right after commissioning a year back, and it turned out to have the same error in it. So it was only when my application required accuracy, that I noticed this sub-millimetre error - it has always been in there.

Cheers
Graeme

19684

19683

cropwell
22-11-2016, 07:28 PM
Hi Again,

If you have any twist in those gantry rails it will be magnified by your lanky gantry. If you clamp a large engineers square to the gantry side, you will see by running a DTI fixed to the Z, along the edge of the square whether there is any twist you could shim out.

Cheers,

Rob

Neale
22-11-2016, 08:50 PM
I wonder if it would be possible to do a repeatability check over a longer distance? Set the DTI to zero against a fixed block (allowing for backlash), move off a fair distance, then move back. Repeat many times and see if there is any drift. I'm wondering if there are any lost steps due to pulse timing issues (dir/step pulse timing, in particular) or maybe even triggering on the wrong pulse edge which can give cumulative errors after significant numbers of reversals or start/stop motions. As you didn't build it yourself, then someone else might have just fiddled until it kind-of worked without really understanding what they were doing.

Interesting - mechanically-minded folk go for mechanical issues, electronics types go for the sparky bits! Anyway, that's a relatively quick one to try out with a bit of hand-written gcode.

GND
23-11-2016, 12:41 AM
Hi Rob,

Many thanks for the suggestion - I think I may have checked and shimmed that already, but in a slightly different way. I cut two 6mm diameter holes in an MDF scrap board, along the X-axis. I then inserted two precision 6mm metal dowels in the holes, and set an engineer's square against them. I then fixed a DTI to the router bracket and ran it along the other edge of the square in the direction of the Y-axis to check for squareness. Initially it was out but some strategically placed shim washers got it to within 0.02mm over a 150mm run. This is what aligned my circular errors to the X & Y axes, such that one is oversize and the other undersize. The max and min diameters were previously off axis. Does this achieve the same result as you were suggesting? If not, then please feel free to clarify!

Hi Neale,

A good suggestion and one I had considered. However, since one axis runs over and one under, I assume missing steps can't be my issue? Surely they would be both undersize if I had missing steps? Also, I see the error with a single MDI move, hence the wrong edges setting is unlikely I think, as that only comes into play as you do reversals as you say. I have played with pulse widths and polarities anyway, but with no effect.

Worth adding that I was the one that set up the Mach3, so it is all my own work - it was just the mechanics that I took on. I take all the blame therefore for the electronics and software, but I'm currently pretty comfortable that it is OK, having seen the issues remain unchanged with a swap of the drive cables to the motors. But I am here to be proved otherwise!!

Any more bright ideas most welcome! Or I re-pose the initial question. Could it be C7 ballscrew accuracy, where I need to tune the steps accordingly?

Cheers
Graeme

cropwell
23-11-2016, 03:33 AM
Hi Graeme,

I have that sneaky feeling that you need to check the whole geometry of the machine making sure the rails are set parallel and at 90 deg everywhere they should be, if you follow that rather contradictory sounding statement.

It doesn't sound like an electrics problem to me as it is consistent, so I understand. I doubt it is ball screw accuracy. You could do a 3,4,5 triangle and move x and y the 3 and 4 then measure the hypotenuse and with a bit of swapping x,y, 3,4 directions, you might work out which axis is inaccurate (proportionately) and then alter steps per to compensate.

Hope it is a hobby and not a source of income for you !

Cheers

Rob

magicniner
23-11-2016, 11:35 AM
Could it be C7 ballscrew accuracy, where I need to tune the steps accordingly?

You should always start with a calculation that should give you correct movement per step, then accurately measure moves of various lengths in various places to see if you need to tweak your settings and if necessary adjust and re-check.

Assuming you don't have backlash or lost steps then if you cut a rectangle and it's corners are square then your machine is cutting square, if it's square but the width and/or length is off then it's axis movement calibration, just tweak your steps settings to give the correct moves and then check at several points along the axis travel that it's right.

Nobody Expoects The Spanish Inquisition ;-)

- Nick

Jonathan
23-11-2016, 01:47 PM
I think you are asking a lot of a machine with unsupported rails on all axes. Maybe put some better rails on your Christmas list!

Yet another way to check the XY axes are perpendicular is do put some MDF on the bed and drill holes in the corners of a rectangle, then push drill bits in the holes and measure the diagonals with a digital caliper. Size the rectangle to match your biggest caliper.

You should also try measurements on different parts of the bed - e.g opposite corners. This will tell you more about the source of the error.

To make sure it's not something electrical (I doubt it too), you could try zeroing the machine at a known point on the dial indicator, then run some random g-code:

http://www.mycncuk.com/threads/5843-Random-G-code-for-testing-motor-tuning

If anything will cause it to loose position, that should do it.

Edit:
A note on ballscrew accuracy - C7 is up to 0.05mm over 300mm. This doesn't mean the error is distributed over the 300mm, e.g. a screw with a 0.04mm error over 40mm and 0.01mm error over the remaining 260mm would be classed and sold as C7. This sort of error (though hopefully not as extreme as my example) is more likely than an error over a broader distance, as if that were the case the manufacturer could compensate for it similarly to how you might do so in software. That's why I'd be wary of entering anything other than the calculated value for step/mm, as it will compensate only for the portion you measure, on average. You need to be very confident of the measurement accuracy to do this.

GND
23-11-2016, 02:39 PM
Hi Rob,

The geometry has certainly needed some adjustments to be made, so more checks are probably not a bad idea. Recently I have been focussing totally on tweaking the squareness of the X and Y axes, but I must confess I haven't done a whole lot over the Z axis beyond proving that the table is level over the working area to a reasonable margin of error. Something else to add to the job list!

That said, I've convinced myself that this isn't the cause of my measurable axis errors currently. I was initially thinking the out of squareness was the only cause of my non-circular circles - but that just "squared up" the axis errors I am now seeing....

Why isn't this more straightforward?!

Cheers
Graeme

GND
23-11-2016, 02:45 PM
Hi Nick,

Many thanks for your thoughts - certainly something along those lines would be a good plan I think.

I guess I was just sceptical that this tweaking of settings should be required for a C7 screw. Maybe what I have are out of spec - or indeed maybe they aren't actually C7 screws? The guy I acquired the machine from just remembered that they were from Marchant Dice and that they were "not precision ones". Marchant Dice currently only go down to C7, so I have just emailed them to see if they have ever supplied lower spec screws like C10. If that was the case then I have an explanation, and the steps per mm tweaking could be a legitimate way forwards.

We'll see what Marchant Dice have to say....

Cheers
Graeme

JAZZCNC
23-11-2016, 02:57 PM
That's why I'd be wary of entering anything other than the calculated value for step/mm, as it will compensate only for the portion you measure, on average. You need to be very confident of the measurement accuracy to do this.

I don't exactly agree with this but at same time I do.?
Completely agree that not good idea to use over short distance but if done over the full length or large portion of screw then can set the machine up very accurately, much more than working to fixed calculated values which don't account for screw or other factors like belts/pulleys.
However to do this requires very accurate measuring device done over long distance.

I set machines up using Glass linear scales to verify movement and find that if using timing belts/pulleys this is only way to very accurately set machine up as the calculated values often don't get it spot on. Even when direct mounted there can be some error but to much lesser degree.

So case of Yes and No to me also how accurate or Anal you want to get about it.??


However in this case I'm 99% sure the issue is compulation of mechanical and design weakness.

GND
23-11-2016, 03:05 PM
Hi Jonathan,

Many thanks for your comments. As soon as I took on the machine it seemed obvious that the long supported rails under the table for the X-axis in particular were far from ideal. The gantry wallows from side to side mid-travel if you wobble it, especially due to it being too tall and with significant mass on top with the Z-axis motor. It came with NEMA-32 motors - since swapped for NEMA-23 - so it was even worse then!

So new rails sound like a really good move - I presume for the X-axis at least? Do you think I could get away with the other axes as they are for now? I do have a plan to shorten the Z-axis travel by about 100mm - thereby shortening its rails and overhang - whilst still retaining a 150mm Z-zxis movement, which I think is fine for my needs. It also loses 50mm off the gantry height, which must be a plus!

All that said, I am still mystified by the result of my MDI tests. Cut a mark - MDI for 100mm - cut another mark. And the distance as measured with a digital caliper between the marks is wrong by the percentages I have been quoting (+0.22%, -0.13%). In fact the error is clearly visible using a steel ruler! I felt the rigidity was not a factor in that test, hence I'd isolated the error to the screws. Maybe my simplistic understanding of it all is getting in the way here....!

So what kind of effects would I expect to see currently, based on your experience? Would there be dimensional errors like I have described with these unsupported rails? Reasonably repeatable ones? And can you think of a way I could run a test that proved it was a rigidity issue? I thought my CW and CCW circles did that, but perhaps not? It would be amazing to have a more definitive test that just showed up that the machine was not rigid enough, and that the errors were the direct result. I'd be ready to believe that ahead of the ballscrew errors - especially based on your comments at the end of your post.

Many thanks for the pointer to the test G-code spreadsheet. That looks like a great test - I'll give it a go at the weekend and see what happens....!

Cheers
Graeme

GND
23-11-2016, 03:36 PM
Thanks for your take on this, JAZZ - I certainly don't have a practical way to measure over a significant length of the screw travel to the accuracy I would need! I'd have to base it on short segments, which it sounds would be far from ideal.

I just heard from Marchant Dice and they confirm the ballscrews I have should be no worse then C7. So to me it just feels like my issues are being caused by something other than screw pitch errors. Prime target must be lack of rigidity. But how to prove this....?

Cheers
Graeme

JAZZCNC
23-11-2016, 05:09 PM
Yes I agree on the screw. I think it will be mixture of screw end float ie: End bearings and/or structural weakness. Doesn't take much deflection and can easily be hidden.
Suggets you give the machine a good shake and going over.

magicniner
23-11-2016, 05:51 PM
Sorry Graeme,
Ideally you play with step calibration only on a machine that is as mechanically perfect as you can make it and which runs repeatably but with scaling issues, I was working from the assumption that you'd been through the mechanics.

- Nick

GND
23-11-2016, 06:19 PM
No worries Nick - no, alas mechanically it is far from perfect!! I suspect I just need to address that first....

JAZZ - I also suspected end float on the screws right from the start, but measured it at something around 0.04mm by putting the DTI on the end of the ballscrew and moving the gantry back and forwards. Seemed surprisingly small, considering it just uses twin-row angular contact bearings at the fixed end with no preload. But if I move one of the axes by 1.00mm using MDI and measure with a DTI, and then go back to zero, the gauge zeros repeatedly with very little lash indicated. All seems good. But is it different under a cutting load?

Cheers
Graeme

JAZZCNC
23-11-2016, 06:37 PM
Ok well in that case give us some idea of electrics used ie: voltage, Motor size, etc

GND
23-11-2016, 07:58 PM
No problem. Recently switched to the 4Nm NEMA-23 steppers from CNC4YOU, driven by some pretty basic drivers which I inherited - Motion Control Products MSD980. This is all run at 68v, which is a bit higher than ideal I know, but dates from when the machine was fitted with NEMA-32 "super bricks", which is how it came to me. I had resonance and speed problems, so swapped out to the smaller motors a little while back. They don't seem to run too hot, hence for now I'm assuming they are ok. Otherwise I will need to downgrade the toroidal!

Cheers
Graeme

JAZZCNC
23-11-2016, 08:17 PM
68V is perfect voltage for 4Nm 23 so don't change. The MSD980 where not bad drive and can handle 80V so no issues there provided setup and wired correctly.
So provided setup correctly regards current etc then this shouldn't be your issue and you'll have plenty of power. So can rule out lack of power.

If your sure that you have no mechanical issues and Stiffness isn't so bad and all electricly sound then all thats left is the dreaded parallel port/PC. (I pressume your using PP.?)

First thing to do is change the Parallel cable. Not uncommon for parallel cable to give problems.
Next is control software, if Mach3 then I'd back up your XML file and do fresh install. Again I've seen mach3 do strange things and re-install cure them.
PC would be my next swap out. If possible I'd try another PC.

Best of all is to dump the PP and fit motion control card. Preferably Ethernet based. USB is better than PP but I'd avoid if can afford it.

If Still have problems and does turn out to be stiffness/weakness then I wouldn't try to make silk purse out of sows ear. Just sell it on and build another better machine.

GND
23-11-2016, 11:19 PM
Thanks for the thought process, JAZZ. Actually I feel the last line is probably the way it will end up going, and getting used to the idea sooner rather than later will likely save me a lot of grief. I can of course re-use many of the components - especially the electronics and motors - as they are likely not letting me down.

Just as a point of note, I am using the Parallel Port, but via my own design BOB. And before any alarm bells start to ring, I'm an electronics engineer by profession and did it all properly. AFAIK it is rock solid, and just to back up that rash assertion, my weird axis behaviour does not change if I swap the X & Y motor wires over. More specifically the axis behaviour remains unchanged, despite the X and Y drives and therefore BOB signalling and Mach3 paths are swapped.

And that's why I think your last line probably applies!

Cheers
Graeme