Re: cnc,linear encoder design question
Posted by
mariss92705
on 2002-03-15 18:53:51 UTC
Bill,
The viability of your approach depends on two factors, backlash and
motor gearing. Let me take them one at a time.
Backlash:
A position servo is never really stopped. It bounces between adjacent
encoder edges when no steps are being sent. This is because the "I"
term in a PID servo will take a vanishingly small error (always
present), and with time multiply it to where the motor moves.
A digital encoder has feedback only on its line-count edges; it can
only give position feedback on those edges. Thus the motor ping-pongs
or dithers between them.
Any backlash exacerbates this "dithering" since the motor now has to
move over the backlash distance as well. In doing so it can build up
decent speed if the backlash is large. This will cause it to slap
back and forth with vigor (not a good thing).
Keep the backlash to within 1 encoder count to keep it from being a
factor. The current G3XX drives go a long way to help in this regard
by throttling the gain and damping (P and D of the PID) to 10% of set
value when the motor is within +/- 2 counts of its command position.
Gearing:
DC servomotors have a much different speed/torque curve compared to
step motors.
Step motor torque is the inverse of speed. In many ways this ideal
for machining applications because the motor has lots of torque at
the low speeds (feeds) where work gets done and little torque at high
speeds (rapids) where the motor is unloaded and is re-positioning.
DC servomotors have a negative linear (as opposed to inverse)
relationship speed and torque. In other words their HP curve vs. RPM
is "peaky" compared to a step motor's flat HP vs. RPM curve.
When compared to step motors of the same physical size, a DC
servomotor has much less continuous rated torque. Its ace in the hole
though is it develops this torque at a much higher speed compared to
a step motor.
Since machining applications usually need high torques at relatively
low speeds, gearing is usually essential to to change the DC
servomotor's speed/torque mix.
Here's an example of two similar sized motors, one a triple-stack
size 23 stepper and the other a similar size 23 DC servomotor. To the
specs:
Stepper: 250 oz-in @ 2,000 full steps per second (600 RPM).
DC servo: 60 oz-in @ 6,000 RPM
The stepper puts out 111W mechanical (600 * 250)/1351 = 111W
The DC servo puts out 266W mechanical (6,000 * 60)/1351 = 266W
Advantage DC servo, 2.4:1
The DC servomotor has an additional trick up its sleeve, a stall
torque of 400 oz-in. From its speed/torque curve this means the peak
power is:
DC servo: 200 oz-in @ 3,000 RPM is 444W mechanical.
Advantage DC servo, 4:1 (The stepper has no "peak" power).
Now, this peak power can only be used for short periods of time
(<10%), but it is just perfect for acceleration or busting thru a
momentary obstruction.
Now to the gearing. Steppers are usually direct drive (1:1). This is
ideal since no cost and complexity of gearing/reduction is involved.
Let's set up a practical example of a real-world application where
both drive a 5 TPI leadscrew:
Stepper: Direct drive. 250 oz-in @ 2,000 FS/sec results in 120 IPM at
a "push" of 490 lbs, neglecting leadscrew efficiency. Not bad.
DC servo: Direct drive. 60 oz-in @ 6,000 RPM results in 1200 IPM at
a "push" of 118 lbs. Way too fast, miserable "push".
What's needed here is gearing. Let's fix it so the "push" is the same
as the stepper's. That requires a ratio of 490/118 or about 4:1. Now
we get 470 lbs at 300 IPM; four times better than a stepper.
Finally, how about reserve or "peak" power. Say you are moving at 150
IPM (peak power speed). The peak "push" is now 1570 lbs!
Steppers run open-loop, servoes do not. Prudence dictates an open
loop system should have a reserve torque of twice what the load
requires. This ultimately makes the servo's advantage as much as 8:1
over a stepper system.
Mariss
The viability of your approach depends on two factors, backlash and
motor gearing. Let me take them one at a time.
Backlash:
A position servo is never really stopped. It bounces between adjacent
encoder edges when no steps are being sent. This is because the "I"
term in a PID servo will take a vanishingly small error (always
present), and with time multiply it to where the motor moves.
A digital encoder has feedback only on its line-count edges; it can
only give position feedback on those edges. Thus the motor ping-pongs
or dithers between them.
Any backlash exacerbates this "dithering" since the motor now has to
move over the backlash distance as well. In doing so it can build up
decent speed if the backlash is large. This will cause it to slap
back and forth with vigor (not a good thing).
Keep the backlash to within 1 encoder count to keep it from being a
factor. The current G3XX drives go a long way to help in this regard
by throttling the gain and damping (P and D of the PID) to 10% of set
value when the motor is within +/- 2 counts of its command position.
Gearing:
DC servomotors have a much different speed/torque curve compared to
step motors.
Step motor torque is the inverse of speed. In many ways this ideal
for machining applications because the motor has lots of torque at
the low speeds (feeds) where work gets done and little torque at high
speeds (rapids) where the motor is unloaded and is re-positioning.
DC servomotors have a negative linear (as opposed to inverse)
relationship speed and torque. In other words their HP curve vs. RPM
is "peaky" compared to a step motor's flat HP vs. RPM curve.
When compared to step motors of the same physical size, a DC
servomotor has much less continuous rated torque. Its ace in the hole
though is it develops this torque at a much higher speed compared to
a step motor.
Since machining applications usually need high torques at relatively
low speeds, gearing is usually essential to to change the DC
servomotor's speed/torque mix.
Here's an example of two similar sized motors, one a triple-stack
size 23 stepper and the other a similar size 23 DC servomotor. To the
specs:
Stepper: 250 oz-in @ 2,000 full steps per second (600 RPM).
DC servo: 60 oz-in @ 6,000 RPM
The stepper puts out 111W mechanical (600 * 250)/1351 = 111W
The DC servo puts out 266W mechanical (6,000 * 60)/1351 = 266W
Advantage DC servo, 2.4:1
The DC servomotor has an additional trick up its sleeve, a stall
torque of 400 oz-in. From its speed/torque curve this means the peak
power is:
DC servo: 200 oz-in @ 3,000 RPM is 444W mechanical.
Advantage DC servo, 4:1 (The stepper has no "peak" power).
Now, this peak power can only be used for short periods of time
(<10%), but it is just perfect for acceleration or busting thru a
momentary obstruction.
Now to the gearing. Steppers are usually direct drive (1:1). This is
ideal since no cost and complexity of gearing/reduction is involved.
Let's set up a practical example of a real-world application where
both drive a 5 TPI leadscrew:
Stepper: Direct drive. 250 oz-in @ 2,000 FS/sec results in 120 IPM at
a "push" of 490 lbs, neglecting leadscrew efficiency. Not bad.
DC servo: Direct drive. 60 oz-in @ 6,000 RPM results in 1200 IPM at
a "push" of 118 lbs. Way too fast, miserable "push".
What's needed here is gearing. Let's fix it so the "push" is the same
as the stepper's. That requires a ratio of 490/118 or about 4:1. Now
we get 470 lbs at 300 IPM; four times better than a stepper.
Finally, how about reserve or "peak" power. Say you are moving at 150
IPM (peak power speed). The peak "push" is now 1570 lbs!
Steppers run open-loop, servoes do not. Prudence dictates an open
loop system should have a reserve torque of twice what the load
requires. This ultimately makes the servo's advantage as much as 8:1
over a stepper system.
Mariss
--- In CAD_CAM_EDM_DRO@y..., "docholliday01201" <whollid1@m...> wrote:
> I have read recently the post regarding the concept of using linear
> encoders for a do-it-yourself CNC conversion. It didn't seem to me
> that I saw clear answer to the questions I have had, myself,
> regarding this concept. Let me state my idea here in detail and
> solicit some specific answers to specific questions.
>
>
>
> My design principle is this: I have a Rong-Fu 35 milling
> machine that I wish to convert to CNC operation. My prior
experience
> is with an open loop stepper system on a Sherline CNC machine.
What
> I wish to do is to use a PM servo motor which drives through a belt
> reduction system, to turn a zero backlash precision ballscrews to
> move the X, Y,Z axes of the machine. Directly to the table will
be
> mounted a linear incremental encoder. my intention is to use a U.S.
> digital system which is composed of a 360 line per inch Mylar
encoder
> strip and read head. I am likely to use gecko drivers and as a
> result the encoders will tie directly to the servo drivers of each
> axis.
>
> I heard much talk regarding resolution and accuracy. As I
> see it from an engineering standpoint the accuracy of any given
> system is equal to or less than the most inaccurate part in that
> system. In a system of a servo motor, a belt drive, thrust
bearings,
> ballscrew, and ballscrew Mount, the most inaccurate part in this
> system is likely to be the ballscrew. From the specifications I
have
> seen ballscrews range in accuracy from approximately 0.004 inches
per
> foot, to significantly more accurate. However in the world of do-
it-
> yourself CNC the more accurate ballscrews are significantly out of
> the price range of the average user. The ballscrews I had
> entertained using were Thompson units available through Reid tool
and
> had a lead screw accuracy of 0.004 inches per foot. That means
that
> no matter what I drive the ballscrew with, the accuracy of the
system
> can be no greater than the inaccuracy of the screw. Any attempted
> extremely high resolution servo motors and encoders is a waste of
> time, as they will very accurately locate an inaccurate part
> (relatively speaking). For instance in the above example of a lead
> screw accuracy of 0.004 inches per foot the lead screw accuracy is
> approximately 3/10,000 of an inch per inch. A servo motor with a
> rotary encoder of 1024 counts per revolution is capable of
resolving
> approximately 2/10,000 of an inch per inch assuming a five turn per
> inch lead screw. If this servo motor where to be running and 5 to
1
> belt reduction the accuracy of the system has not increased by a
> factor of five, but because of the fact that the lead screw is no
> more accurate than 3/10,000 of an inch, then the system regardless
of
> any engineering prior to the ballscrew, can never resolve greater
> than this
>
> The highest order of accuracy, it would appear, in the world
> of CNC would be the use of an encoder to directly measuring table
> movement. In a system such as this the inaccuracys downstream from
> the actual table movement are irrelevant, as what is finally
measured
> is table movement as opposed to lead screw rotation. As I see it
> only one significant problem exists and that problem is a backlash
> since table movement and the servo motor movement are not
> specifically and directly tied together as they would be with a
> system where a rotary encoder is mounted to the servo motor. then a
> situation of oscillation could potentially exist where a driving
> voltage to a motor would not immediately result in table movement
as
> backlash in the screw would need to be absorbed prior to actual
> encoder movement. The logical counter this problem would be to
> design a system with zero backlash therefore any movement of the
> motor would be table movement itself.
>
> The question I have is: in the actual operation on the
> milling machine will the physical shaking on the machine induce
> sufficient jumping of the encoder signal to induce oscillation.
This
> question could likely be restated as: is a ballscrew driving a
table
> sufficiently rigid so as to allow one near zero actual table
movement
> even when forces are applied assuming that the ballscrew is
> completely incapable of rotation. If indeed this system is
> sufficiently rigid then the system will assume that the linear
> encoder being read is indeed the rotary encoder mounted to the back
> of the servo motor. Now the resolution of the system is purely a
> function of only one variable and that is the resolution of the
> encoder. With the encoder I intend on using the resolution is; 360
x
> 4 (as this is a quadrature encoder), or approximately 7/10,000 of
an
> inch. If my part is one inch long, or one foot long I should be
able
> to hold this resolution regardless of length of the part because
the
> cumulative error of the ballscrew does not exists and the final
> feedback to the hardware is indeed actual table movement and not
> encoder movement tied to a servo motor. I realize that of course
any
> error in the encoder will be replicated in the part, however
encoders
> are known to be of extremely high resolution and accuracy.
>
> Any questions, comments, or general gripes with this overall
> design scheme ,I would be interested in your opinions. Especially
if
> you give them to me fairly soon as I intend on amassing the parts
as
> soon as possible.
>
>
> Bill H
Discussion Thread
docholliday01201
2002-03-15 16:47:54 UTC
cnc,linear encoder design question
Dave DIllabough
2002-03-15 18:22:11 UTC
Re: [CAD_CAM_EDM_DRO] cnc,linear encoder design question
mariss92705
2002-03-15 18:53:51 UTC
Re: cnc,linear encoder design question
Deon Styger
2002-03-17 23:58:39 UTC
RE: cnc,linear encoder design question