Re: EMC INI File MIN_FERROR and INPUT_SCALE





Asim Khan wrote:

> hi!
>
> I have already tuned my dc servo drives with EMC. I am now able to 
> achieve around 200 inches per minute, maximum jog speed.
>
>
> Here are some of my machine settings:
>
> MACHINE resolution = 0.03 mm or 0.001 inch (as depicted in machine' 
> smanual)
> Encoder resolution = 200 (lines) x 4 = 800 counts per revolution (CPR)
>
> lead screws of my machine take 5 revolution for 1 inch therefore i 
> have in my ini the setting of INPUT_SCALE parameter to 4000. (INPUT_SCALE)
> MIN_FERROR value in my ini is 0.01
>
> I want to know what minimum value i can set for MIN_FERROR ?
>
I've already answered this twice for you.  It depends on the open-loop 
gain of your
servo amps, for the most part.  This value should be set a little larger 
than the normal
error of a few encoder counts plus whatever error the offsets in your 
servo amp
produce.

>
> so that my machine gives maximum accuracy
> i've observerd that decreasing the MIN_FERROR severely affects the 
> tuning of beds and causes all time famous and bad "following errors", 
> if it is set to low values
>
No, I've tried to get this across to you, MIN_FERROR has NO EFFECT on 
the servo loop
at all.  it is simply a limit beyond which an emergency stop is called 
for.  MIN_FERROR
and FERROR are exactly the parameters which cause a following error. 
 They DEFINE
what is considered a following error - hence their real names, 
minimum_following_error
and Following_Error.

>
> Please put some light over super tuning of machine for acheivement of 
> maximum possible accuracies. What are the things that limit it and 
> what things must be done to get an EMC based system running at maximum 
> possible accuracy
>
> And also please tell me the relation between INPUT_SCALE 
> and MIN_FERROR. How do we can know what minimum value we can select 
> for MIN_FERROR if we are given with the INPUT_SCALE parameter?
>
You can't.  There is no real relation between INPUT_SCALE and following 
error.  the only thing
that comes close is that in a positioning system, you can't ever get 
closer than +/- 1 encoder count
to the desired position, since you can't resolve below the encoder 
quantization.  Therefore,
MIN_FERROR must be AT LEAST equal to 1.0 / INPUT_SCALE.  but, in 
practice, because
it takes the servo loop some time to detect and respond to movement 
beyond one encoder count,
MIN_FERROR has to be several encoder quanta.  In your case, the encoder 
quanta is 1 / 4000 Inch,
or .00025".  A good first try for MIN_FERROR is .001, but you might have 
to set it higher.

Really, you have to start up the graphing function and make plots of 
actual vs. commanded position,
and adjust the servo parameters under dynamic conditions so that the two 
lines come as close as
possible to each other.  THEN, you can set MIN_FERROR and FERROR based 
on what you
see in your graphs as the practical bounds that won't cause following 
errors during normal
operation.

Jon




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact