.

# Measurement-based Feedforward Tuning:

## Open Loop Feedforward

To calculate the velocity feedforward, you will need to make a plot showing the relationship between the DAC output and the motor velocity. The velocity feedforward measurement can be taken by commanding several closed loop velocity moves and collecting the DAC values or commanding many open loop DAC offsets and observing the velocity. The example below was taken with open loop DAC offsets.

The following procedure was used:

 Set the DAC offset  Wait 5 seconds for the velocity to stabilize  Measure the velocity by collecting the encoder position twice (one second apart).  Convert the velocity to counts/sample  Record the velocity and DAC offset  Increase the DAC offset  Repeat until you reach the maximum velocity or torque offset you are comfortable with  Repeat for the opposite DAC offset polarity

Velocity feedforward on the XMP is calculated as follows:

Velocity feedforward contribution to DAC
= commanded velocity (counts / sample) * Kvff

Note the deadband from friction. The friction feedforward value is the average of the positive Y intercepts and the negative of the negative Y intercept.

In this case, it is (717 – -450) / 2 = 583 = friction feedforward value
This motor drive has an offset that can be calculated by taking the average the Y intercepts (717 + -450) = 267.

Excel was used to get the trendlines in the forward and reverse directions. Two things about this drive are strange:

 The velocity feedforward values are slightly different in the different directions. This is likely a commutator misalignment issue. In this example, we are using a brushed motor, so there is no cancelling adjustment available. The friction feedforward values are different in the forward and reverse directions. This indicates a drive offset. We can adjust this offset in the filter parameters. The drive offset is the forward friction deadband minus the reverse friction deadband.
 Legal Notice  |  Tech Email  |  Feedback        Copyright © 2001-2021 Motion Engineering