Hello Guest it is May 08, 2021, 05:31:54 AM

Author Topic: Mach4 positioning error  (Read 2374 times)

0 Members and 1 Guest are viewing this topic.

Re: Mach4 positioning error
« Reply #20 on: December 13, 2019, 08:43:05 PM »
Dead serious! I have more metrology equipment in my shop than I do machines to use it on. That was a really bright catch to double check the parallelism. Another issue could be the flex arm. They're quite rigid but if you've used a tenths indicator, you will know that they can move on you, even from the return spring pressure on the indicator.

OP is commenting on the final dimension of a machined component which is very different from measuring table movement. I would first validate the machine one axis at a time, then later look into the machined component. Differences in the cutting path, cutting parameters, or even variability in the stiffness of the head of the machine with respect to the X and Y axes can make a difference in the final machined size.

Based on the evidence collected, Mach 4, the signal path, and the servos themselves don't seem to be the culprit. That leaves the shaft coupling, ballscrew, end supports, and machine rigidity. Also servo tuning can be done wrong to give great positioning during static measurements, but aren't configured to maintain position well during a cut.
Re: Mach4 positioning error
« Reply #21 on: December 14, 2019, 05:41:06 AM »
Hi guys,

the steel part that the indicator touching was the spindle head(a machined bulky steel cube which i mount the BT40 spindle) its outer face may or may not be perpendicular with the indicator, the indicator is parallel with the moving axis since the touching point is a sphere the surface will always stay tangent to it so the indicator will only show the moved distance. There is no that much machining error on that touching surface in reality its mostly the camera's optics doing the distortion.

For me,

to get this kind of readings in linear movements and machined squares and rectangles being 10-20micron accurate is weird,
machined squares and rectangles being 20micron accurate but circles being like an ellipse in 30-60 degrees to both X and Y +60microns is weird,
sometimes getting 1-2micron positioning accuracy and mostly get 30-50micron positioning error in every axis during the measurements is weird,
in full 1 turn reading the actual pitch and in small increments reading this error is weird,
getting this positioning error in small movements and seeing that every axis return to zero after moving 500mm within couple of microns is weird,


At first i also thought that this looks like an mechanical error thats why i took apart the moving components(motors, ballscrew supports, ballscrews, nuts, couplings, etc) and realigned/fixed them all over again. Linear rails in every axis are schneeberger and aligned/paralleled within 15microns, of course there is an error in every guideway when u move the axis but it does not result a total error more than 10-15microns(in high speed movements).

But there are things which proves that this is not mechanical error(other than being checked all of the mechanical aspects), mechanical error should always be there and should be repeating. If it was ballscrews it would add with the distance moved but its not adding, it reaches to 50-60micron error in 10mm and stops, it does not add more to it.

i was sure that this is because of the pulse signal loss and differential drive gonna fix it when Russ suggested that but seeing the actual pulse reaching the driver and drivers performing the commanded pulse without loosing even 1 digit in 10000 pulse per revolution made me more confused.

Regards,

Hakan
Re: Mach4 positioning error
« Reply #22 on: December 14, 2019, 06:20:24 AM »
Hi,
have you read the zero error window setting? With a 10000cpr encoder I would set it to 4.

Craig
My wife left with my best friend...
     and I miss him!
Re: Mach4 positioning error
« Reply #23 on: December 14, 2019, 08:52:27 AM »
Hi Craig,

I think in this driver they call it "positioning deviation out of tolerance detection" but i am not sure, check the attached page, there is 2 settings related with this as far as i can see and 11 is related with an output signal if i understood correct, 12 must be the setting u are talking about but its factory default looks like 20000 which may show that its not the setting u are talking about  ;)

Regards,

Hakan
Re: Mach4 positioning error
« Reply #24 on: December 14, 2019, 01:13:58 PM »
Hi,
parameter 11 is the 'zero error window' and parameter 12 is the 'following error window'

Different manufacturers use different names but they mean the same thing.

In this case parameter 11, the zero error window, is set to 20 counts as default. Thus if the actual (encoder)
position gets to within 20 counts of the commanded position the drive ceases to try to get any closer. Is this what
you want?. I think its too high, I set mine (8000 cpr) to 4 counts.

The reason for having a zero error window is to that the drive does not 'hunt'. If the drive attempts to reduce the error
to zero counts then it will overshoot by one count, and then reverse until it overshoots by one count in the other
direction, and keep repeating, called 'hunting' or 'dithering'.

Why don't you try setting parameter 11 to zero, and see what happens?

Parameter 12 is the following error window and its way WAY WAY too wide. Its factory default is 30000 counts,
that's three revolutions!!!. It should be something like 20 counts.

If the servos actual position lags the commanded position by a significant amount, called following error, it's supposed to alarm.
As it stands the servo can be miles and miles out of sync without an alarm, good for while you are experimenting with your
drive but absolutely bloody hopeless for CNC.

If you program parameter 12 to a very small value (<10) then the servo will fault frequently because the servo cannot
'stay within the following error window' and yet if the following error window is set too wide then the servo could lag
the commanded position by a large amount and cause bad inaccuracies in your work.

Craig
My wife left with my best friend...
     and I miss him!
Re: Mach4 positioning error
« Reply #25 on: December 14, 2019, 01:18:55 PM »
Hi,
sorry misread the default setting for the following error window, factory default is 20,000 counts or two revolutions.

With a direct coupled 25mm pitch ballscrew that would mean that the X axis could be 50mm out of sync with the commanded
position WITHOUT an alarm!!!!

The factory default is for new users, serious users will shrink that WAY down, I have mine set to 20 counts.

Craig
My wife left with my best friend...
     and I miss him!
Re: Mach4 positioning error
« Reply #26 on: December 14, 2019, 02:38:23 PM »

drivers received exactly 10000pulses(4x2500) for 1 full turn, received and actual encoder pulses are same(10000), so nothing wrong with the pulse signals or signal generators,

 Hakan

Hi Craig, quick questions till the OP gets back here.
Where the OP stated in the quote above that the drive reported the actual encoder counts received for the move, would the  'zero error window' being large not reflect the actual counts that would fit in the window ? ie: where the encoder stopped if not in the exact 1:1 position ?

If the  'zero error window' was quite large and the axis velocity was quite low as well, wouldn't that encoder count be reported as well short of the target ?
Thanks,
Russ
Re: Mach4 positioning error
« Reply #27 on: December 14, 2019, 03:53:09 PM »
Hi again Craig,

well i haven't got in to that much detail yet, most probably they left it like that to give the user space for starting up and tuning the motor/drive without causing any error.

I will adjust p11 to 4 and p12 to 20 as u suggest and check if it makes any difference in measurements or not. Then i am gonna make the test cut to see how machine actually cuts after i tuned the servo and increased the ball quantity within the ballscrew nut.

During the week i took apart the machine components i thought that maybe there is something wrong with the nuts(a broken ball, contaminants, etc) and contacted with the ballscrew manufacturer(gten), then i took all balls out of the nut and check(for the X axis) nothing was wrong but there were a space for 1 more ball in every complete set(there were 2 sets within) so i asked them why they left that empty space and if anything bad may happen when i add 1 more ball to each set, they said they done it for keeping the noise level down, for smoother operation and adding a ball wont harm anything.

I cant say i bought the "smooth operation" thing but of course it may also be true, as u know there are precision classes for these ballscrews, 3 class i think one is regular, one is more precise and one with a preload so it is the most precise one, actually i felt that the nut is more stiffer and has less pitch movement after adding that 2 balls but who knows? we will see if it is going to make any difference after the test cut.

Regards,

Hakan


Re: Mach4 positioning error
« Reply #28 on: December 14, 2019, 04:45:04 PM »
Hi,

Quote
well i haven't got in to that much detail yet, most probably they left it like that to give the user space for starting up and tuning the motor/drive without causing any error.

This NO mere detail, it absolutely fundamental to the operation of any servo or closed loop device. With the
factory default settings you will get very poor results. The following error window is just a joke.

You may recall back in post #3 that I explained that the manufacturers deliberately set both parameters very wide
so that first time users can operate the servo without nuisance alarms but they were never intended to be in use
in a real CNC machine.

Do the calculations....don't just guess.

If parameter 11 (zero error window) is set to 4 counts:

4/10,000 x 25=0.01mm or 10um. This is the effective resolution of your X axis as a result of setting the zero error window to 4,
but your current setting (default) is 20 and therefore your effective resolution is 40um....way less impressive don't you think!

Likewise if you set the following error window to 20 counts then Mach will alarm and Estop if the mill lags the commanded toolpath
by 40um whereas the current (default) setting is 20,000 or 50mm. Would you expect an alarm or Estop before your machine
deviated from the toolpath by 50mm?

Craig
My wife left with my best friend...
     and I miss him!
Re: Mach4 positioning error
« Reply #29 on: December 14, 2019, 05:34:25 PM »
Hmmm..

u are right, i thought that those are detailed tweaking parameters and left them to the end, first i adjusted the main parameters of the drive and when i got these readings dived into mechanical and controller side, well it does not explain why an open loop stepper did the same positioning error in the X axis but i will do the adjustments as u say before i go on.

Regards,

Hakan