tuning values
11 Aug 2013 10:19 #37551
by lendrum
tuning values was created by lendrum
I understand how the P, I and D values affect the motion but what do each of the FF values do?
Please Log in or Create an account to join the conversation.
11 Aug 2013 10:57 - 11 Aug 2013 11:01 #37552
by PCW
Replied by PCW on topic tuning values
The FF are feed forward values:
FF0 adds a portion of the command to the output
FF1 adds a portion the first derivative of the command to the output
FF2 adds a portion of the second derivative of the command to the output
I tend to think of feed forward terms being used to center the operating
point of the PID loop.
For example, if linuxcnc is controlling a velocity mode servo, almost
all tuning (on linuxCNC) will be done with FF1 and P (FF1 is velocity feed
forward if the PID command is position)
With a velocity mode servo the PID output is a
velocity command to the drive. This means the PID
output will be near full-scale when doing rapids.
If only P was used, there would have to be enough
position error to generate a near full scale signal when
moving at full speed. Practically what this means is that
the actual position will lag the commanded position
by an amount proportional to the full scale PID output / Pgain,
which is quite significant. FF1 is used here to "forward"
the commanded velocity to the PID output so that the
PID output will be set to the required value for the current
commanded velocity _before_ any P correction is applied,
centering the PIDs operating point around the current velocity
Another example is controlling a torque mode drive. In this case, FF2
(acceleration feed forward if the command is position) is used to
compensate for the system inertia.
No controlled system is a perfect velocity or torque mode device so often a bit of FF2 can be used to tune velocity mode drives error during acceleration, and a bit of FF1 can compensate for velocity dependent drag on a a torque mode system
FF0 adds a portion of the command to the output
FF1 adds a portion the first derivative of the command to the output
FF2 adds a portion of the second derivative of the command to the output
I tend to think of feed forward terms being used to center the operating
point of the PID loop.
For example, if linuxcnc is controlling a velocity mode servo, almost
all tuning (on linuxCNC) will be done with FF1 and P (FF1 is velocity feed
forward if the PID command is position)
With a velocity mode servo the PID output is a
velocity command to the drive. This means the PID
output will be near full-scale when doing rapids.
If only P was used, there would have to be enough
position error to generate a near full scale signal when
moving at full speed. Practically what this means is that
the actual position will lag the commanded position
by an amount proportional to the full scale PID output / Pgain,
which is quite significant. FF1 is used here to "forward"
the commanded velocity to the PID output so that the
PID output will be set to the required value for the current
commanded velocity _before_ any P correction is applied,
centering the PIDs operating point around the current velocity
Another example is controlling a torque mode drive. In this case, FF2
(acceleration feed forward if the command is position) is used to
compensate for the system inertia.
No controlled system is a perfect velocity or torque mode device so often a bit of FF2 can be used to tune velocity mode drives error during acceleration, and a bit of FF1 can compensate for velocity dependent drag on a a torque mode system
Last edit: 11 Aug 2013 11:01 by PCW.
The following user(s) said Thank You: lendrum
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.121 seconds