[Emc-users] Deadband, FF1 and FF2

2009-11-23 Thread Pat Lyons
Hello-

I'm having some difficulty tuning my P, I, and D variables.  I've used PID
before in school, and understand how they are calculated, but I wanted to
ask about the three terms I don't really understand...

I found in the wiki these explanations:

*FF1 = 2.000 a velocity feedforward, helps reduce following error
proportional to velocity
*
* FF2 = 0.25 an acceleration feedforward, helps reduce foll. error when
accelerating*

However I dont quite understand them-  would someone be willing to maybe
define the math behind these concepts?

and also-  is deadband the window over and under 0 volts that yields no
movement?  does this mean that you can kill steady-state oscillations by
increasing deadband?

Thanks again!!!
-pat
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Deadband, FF1 and FF2 (cont'd)

2009-11-23 Thread Pat Lyons
Also- if you guys dont mind- please gimme an Idea of what you have these
variables set to and what kinda results they gave you.

Thanks again!!!
-Pat
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Deadband, FF1 and FF2

2009-11-23 Thread Leslie Newell
FF1 adds a percentage of the commanded velocity to the output. Ideally 
in a steady state FF1 should be high enough that P doesn't have to do 
anything.
FF2 adds a percentage of the commanded acceleration to the output. 
Ideally FF2 should be high enough that D doesn't do anything.
Basically they are creating a rough mathematical model of the motor and 
machine so that emc can calculate the motor's needs in advance. If the 
model was perfect you would not need any P or D but in practice you 
still need them reasonably high.

Here is how I set them up. First set I to zero and set the following 
error limit quite high (say 1 or more). Set P and D as low as possible 
while not tripping the following error limit. Now do long moves at your 
average feed rate and keep turning up FF1 until the following error 
during steady state movement is as low as possible. If you go too high 
the following error will start going up again. Next do a series of short 
moves and keep turning FF2 up until the following error during 
acceleration is as low as possible.

Once you have FF1 and FF2 set up, play with P and D to get rid of the 
remaining errors. Test P and D over a range of feed rates and at rapid 
rate. Finally tweak I to get the steady state error down. Afterwards you 
may need to adjust I and D up a bit more. Expect to spend around 1 day 
per axis to get it spot on.

 and also-  is deadband the window over and under 0 volts that yields no
 movement?  does this mean that you can kill steady-state oscillations by
 increasing deadband?

Only use deadband to stop I from continually tripping between two 
encoder counts at idle. Normally 1/2 of one encoder count is enough 
deadband. You cannot use deadband to stop oscillation. I would set this 
to 0 until the axis is properly tuned.

 Also- if you guys dont mind- please gimme an Idea of what you have these
 variables set to and what kinda results they gave you.
How long is a piece of string? These values are VERY dependent on your 
setup. There are no fixed values that you can use. On my lathe I can get 
0.001 following error at all times with rapid up to 4m/min or 160IPM. 
At feed rate or stationary it is much lower.

Les

Pat Lyons wrote:
 Hello-

 I'm having some difficulty tuning my P, I, and D variables.  I've used PID
 before in school, and understand how they are calculated, but I wanted to
 ask about the three terms I don't really understand...

 I found in the wiki these explanations:

 *FF1 = 2.000 a velocity feedforward, helps reduce following error
 proportional to velocity
 *
 * FF2 = 0.25 an acceleration feedforward, helps reduce foll. error when
 accelerating*

 However I dont quite understand them-  would someone be willing to maybe
 define the math behind these concepts?

 and also-  is deadband the window over and under 0 volts that yields no
 movement?  does this mean that you can kill steady-state oscillations by
 increasing deadband?

 Thanks again!!!
 -pat
 --
 Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
 trial. Simplify your report design, integration and deployment - and focus on 
 what you do best, core application coding. Discover what's new with
 Crystal Reports now.  http://p.sf.net/sfu/bobj-july
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users
   


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Deadband, FF1 and FF2

2009-11-23 Thread Jeff Epler
Basically, at no load, a servo amplifier has a characteristic
relationship between the voltage in and the velocity.  If the
relationship is (close to) linear, then FF1 will give an approximately
correct speed even before specifying P, I, D.

On an inch machine, if you set the OUTPUT_SCALE so that a PID output
(PWM/DAC input) of 1.0 makes the axis move at 1.0 inch/second, then the
correct value for FF1 is 1.  More generally, the value of FF1 should be
the PID output (PWM/DAC input) that gives a speed of 1.0 inch/second.

FF2 is like FF1 but for acceleration instead of velocity.  However, I
don't know of a simple rule of thumb for setting FF2.  Instead, I used
halscope to look at the error during G1 moves and tweaked it until the
errors in the accel/decel phase were minimized.  In the case of my own
system, the magnitude of FF2 is about 1% of FF1.

Jeff

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Deadband, FF1 and FF2

2009-11-23 Thread Jon Elson
Pat Lyons wrote:
 Hello-

 I'm having some difficulty tuning my P, I, and D variables.  I've used PID
 before in school, and understand how they are calculated, but I wanted to
 ask about the three terms I don't really understand...

 I found in the wiki these explanations:

 *FF1 = 2.000 a velocity feedforward, helps reduce following error
 proportional to velocity
 *
 * FF2 = 0.25 an acceleration feedforward, helps reduce foll. error when
 accelerating*

 However I dont quite understand them-  would someone be willing to maybe
 define the math behind these concepts?
   
Commanded velocity is computed by differentiating position, multiplied 
by FF1 and
then added to the PID routine's output.

Acceleration is then computed from commanded velocity, X FF2 and added to
the PID output.
 and also-  is deadband the window over and under 0 volts that yields no
 movement?  does this mean that you can kill steady-state oscillations by
 increasing deadband?
   
Yes, that is exactly it, measured in user units, not volts.  So, if 
actual position differs by
up to 10 ^ -5 inch, and deadband is set to 10^-5 inch, then the P output 
will remain zero.

Deadband doesn't COMPLETELY kill oscillation, but it does serve to 
reduce it and allow it
to settle into the deadband.  You usually set it to 1.5 X the dimension 
of an encoder
count.

Jon

--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users