Re:
Posted by
Ray
on 2000-10-19 10:47:42 UTC
Ozzie
For following errors with steppers there is one other thing that you might
look at in addition to Jon's excellent response. He is correct that
following error is always defined and will trip up motion if the axis is
beyond what the EMC expects. The allowable following error is set by two
variables in the ini file for each axis. These variables:
FERROR = 1.000
MIN_FERROR = 0.000
and they define a ramp from max velocity to zero velocity with ferror
applying to max speed. What can happen when a stepper is holding an axis
in position is that the step is farther away from the commanded position
than MIN_FERROR allows. This condition will cause a following error.
There are two ways that you can correct for this. Set MIN_FERROR larger
than half the distance moved by one step or set a deadband that is large
enough to accomodate the difference between actual position and
commanded.
Ray
For following errors with steppers there is one other thing that you might
look at in addition to Jon's excellent response. He is correct that
following error is always defined and will trip up motion if the axis is
beyond what the EMC expects. The allowable following error is set by two
variables in the ini file for each axis. These variables:
FERROR = 1.000
MIN_FERROR = 0.000
and they define a ramp from max velocity to zero velocity with ferror
applying to max speed. What can happen when a stepper is holding an axis
in position is that the step is farther away from the commanded position
than MIN_FERROR allows. This condition will cause a following error.
There are two ways that you can correct for this. Set MIN_FERROR larger
than half the distance moved by one step or set a deadband that is large
enough to accomodate the difference between actual position and
commanded.
Ray
> Date: Thu, 19 Oct 2000 01:34:51 -0500
> From: Jon Elson <jmelson@...>
> Subject: Re: EMC error message, etc
>
> Ozzie@... wrote:
>
> > In an open loop EMC stepper system, what is the meaning of:
> > ""Y" axis tracking error" ?
>
> Is that "following error"? EMC really still thinks it is running a
> closed loop servo system, and simulates the motion of the
> servo motors to generate the acceleration and deceleration
> curves for the stepper moves. If the requested acceleration
> exceeds the ability of the simulated servo to accelerate, it
> will lag behind the requested position enough to cause a
> following error. You can either increase the P term in the
> axis initialization parameters, or turn down the acceleration
> parameters in the trajectory section of the .ini file.
>
> > Also when attempting to home with no homing switches, and software
> > set that way, axis sometimes homes at -.00001 ???
>
> That is a combination of roundoff error and the gain of the simulated
> servo
> system. More gain (P) might reduce the error. If it is really .00001"
> (or .00001 mm) that is not much to worry about. (Even .0001" is
> pretty small compared to backlash and accuracy on most stepper
> driven systems.
>
> Jon