Re: [CAD_CAM_EDM_DRO] machine inaccuracies fixed by software compensation
Posted by
Jon Elson
on 2001-09-04 22:39:12 UTC
Doug Fortune wrote:
said this was 5% of ONE STEP, not per revolution!
I find it pretty hard to believe that is actually the case,
though, as it implies extremely careful matching of
tolerances inside the motor. it seems to me a VERY
slight imbalance in the force of magnets on the
A and B phases in the motor's rotor could easily
cause MUCH more error than 5% of that one step.
If it is really per step, that implies an accuracy per
revolution of .025% for the whole revolution, which is
awfully good. On the other hand, 5% of one revolution
is 10 steps, which sounds quite a bit too much.
Assuming the mechanical part is completely accurate
(poles on the rotor and stator) and the only variation
was magnetics, then an error of 1% of a revolution
equals 2 steps, and the motor would have no reason
to go one way or the other, in other words, it would have
lost a step. So, the magnetic error has to be less than
1% of a full revolution. But, adding mechanical tolerances
back in, it could add up to close to 1% of a revolution.
have a set of high precision ground screws that are more
accurate than I can measure them wih gage blocks! Plain
cumulative error can be compensated for easily, by changing
the calibration factor (steps/inch).
they are called ball-bar testers. They have a telescoping bar with
balls on each end. One ball socket mounts to the spindle, one to
the table. One ball socket also has a rod that allows an encoder
to measure rotation. You program the CNC to make a circular
move, and the rotary encoder and a mechanism on the bar to
measure the telescoping length simultaneously record their
data. This is plotted in an exaggerated fashion on a reference circle,
so you can see the deviation from a true circle. You can easily
spot backlash, leadscrew errors, non-orthogonality of the axes,
bad encoder counts, you name the machine defect and it will show
up with a characteristic pattern. I have been thinking about trying
to make such a device, and I don't think it would be real hard. I
suspect a really simple version could be made with a dial test
indicator, and read by eye as the machine moved very slowly.
Jon
> Lets presume we have a CNC mill whichI got yelled at over this calculation. Several people
> we'd like to make more accurate (this
> includes open loop systems, and closed
> loop with rotary encoders).
>
> Part of the motivation for this is the
> fact that (in open loop) steppers, the
> mechanical step acurracy varies up to
> +/- 5% or down to +/- 2% on the better
> motors.
>
> Assuming the ballscrew/acmescrew/threaded rod
> is perfect (its far from perfect), then
> a 5% motor inaccuracy on a 5 TPI thread
> means .05*.200 == 0.010 inch. This is
> not inconsiderable. And total error might
> get to be twice that measured between certain
> spots (where the motor is +5% off and -5%
> off somewhere else) in one dimension
> (and in more dimensions it gets worse...).
said this was 5% of ONE STEP, not per revolution!
I find it pretty hard to believe that is actually the case,
though, as it implies extremely careful matching of
tolerances inside the motor. it seems to me a VERY
slight imbalance in the force of magnets on the
A and B phases in the motor's rotor could easily
cause MUCH more error than 5% of that one step.
If it is really per step, that implies an accuracy per
revolution of .025% for the whole revolution, which is
awfully good. On the other hand, 5% of one revolution
is 10 steps, which sounds quite a bit too much.
Assuming the mechanical part is completely accurate
(poles on the rotor and stator) and the only variation
was magnetics, then an error of 1% of a revolution
equals 2 steps, and the motor would have no reason
to go one way or the other, in other words, it would have
lost a step. So, the magnetic error has to be less than
1% of a full revolution. But, adding mechanical tolerances
back in, it could add up to close to 1% of a revolution.
> Compounding the above problem is thatThey are available in all sorts of tolerances. I got lucky and
> screws have varying cumulative errors.
have a set of high precision ground screws that are more
accurate than I can measure them wih gage blocks! Plain
cumulative error can be compensated for easily, by changing
the calibration factor (steps/inch).
>Well, there are machines that actually do this, but much better.
> And lets not forget the table axes are sometimes
> not sufficiently square to each other.
>
> - - -
>
> What I propose is that a reasonably non-stretchable
> wire is attached to the spindle nose at HOME, and
> the other end of the wire goes around a pulley
> attached to a high resolution encoder (USDigital
> has a 2048 CRP == 8192 counts/rev in quadrature
> rotary encoder) which theoretically does not
> have much angular error.
>
> Now the spindle nose is sent around the table
> 0,0 -> maxX,0 -> maxX,maxY -> 0,maxY -> 0,0
>
> all the while (say every 1/1000") the wire
> spools out (giving in effect a distance), and
> a recordis kept of the theoretical position vs
> actual (distance from 0,0). For a large
> 5'x10' table, that is only 360,000 samples.
they are called ball-bar testers. They have a telescoping bar with
balls on each end. One ball socket mounts to the spindle, one to
the table. One ball socket also has a rod that allows an encoder
to measure rotation. You program the CNC to make a circular
move, and the rotary encoder and a mechanism on the bar to
measure the telescoping length simultaneously record their
data. This is plotted in an exaggerated fashion on a reference circle,
so you can see the deviation from a true circle. You can easily
spot backlash, leadscrew errors, non-orthogonality of the axes,
bad encoder counts, you name the machine defect and it will show
up with a characteristic pattern. I have been thinking about trying
to make such a device, and I don't think it would be real hard. I
suspect a really simple version could be made with a dial test
indicator, and read by eye as the machine moved very slowly.
Jon
Discussion Thread
Jon Elson
2001-09-04 22:39:12 UTC
Re: [CAD_CAM_EDM_DRO] machine inaccuracies fixed by software compensation
Doug Fortune
2001-09-04 23:02:51 UTC
Re: [CAD_CAM_EDM_DRO] machine inaccuracies fixed by software compensation
Brian Pitt
2001-09-04 23:41:38 UTC
Re: [CAD_CAM_EDM_DRO] machine inaccuracies fixed by software compensation
Ian Wright
2001-09-05 08:45:28 UTC
Re: [CAD_CAM_EDM_DRO] Re: machine inaccuracies fixed by software compensation
vrsculptor@h...
2001-09-05 10:37:03 UTC
Re: machine inaccuracies fixed by software compensation
Jon Elson
2001-09-05 10:48:13 UTC
Re: [CAD_CAM_EDM_DRO] machine inaccuracies fixed by software compensation
Jon Elson
2001-09-05 10:52:29 UTC
Re: [CAD_CAM_EDM_DRO] Re: machine inaccuracies fixed by software compensation
Ray
2001-09-05 12:39:25 UTC
Re: machine inaccuracies fixed by software compensation
Jon Anderson
2001-09-05 13:02:12 UTC
Re: [CAD_CAM_EDM_DRO] Re: machine inaccuracies fixed by software compensation
Jon Elson
2001-09-05 17:44:16 UTC
Re: [CAD_CAM_EDM_DRO] Re: machine inaccuracies fixed by software compensation
Jon Elson
2001-09-05 18:00:01 UTC
Re: [CAD_CAM_EDM_DRO] Re: machine inaccuracies fixed by software compensation