2
\$\begingroup\$

Let's say we're trying to control the speed of a motor to 20 revs/sec, and we know that our controller output for that speed is approximately 5. We currently have a Proportional controller to drive the motor to our 20 revs/sec setpoint, with some steady state error.

If we included Feedforward, but tuned it poorly, such that it outputs 2 instead of 5, will the following error still be less than it would have been with only the Proportional controller?

I would think that for Feedforward to reduce the following error, the output would need to be able to drive the motor closer to the setpoint than the Proportional controller could do by itself. Is this the case?

\$\endgroup\$
1
\$\begingroup\$

If we included Feedforward, but tuned it poorly, such that it outputs 2 instead of 5, will the following error still be less than it would have been with only the Proportional controller?

If your system can have such a simple feedforward, why not just multiply it be 5/2 and get it to result in an output even closer to the desired value?

I would think that for Feedforward to reduce the following error, the output would need to be able to drive the motor closer to the setpoint than the Proportional controller could do by itself. Is this the case?

Think of it in a different way, if you were to use just the feedforward and get the system to output 2, as you mentioned. If, once you reach 2 you turn on the P controller, what would happen in the system?

Well, instead of having an error of 5 $$ e_1 = r_{ref} - y_1 = 5 - 0 = 5,$$ you will actually have an error of 3, $$ e_2 = r_{ref} - y_2 = 5 - 2 = 3.$$

The error of a P controller for some constant input will be $$ (\frac{1}{s}-Y(s))k_p G(s)=Y(s) $$ $$ \frac{1}{s}k_pG(s)=Y(s)+Y(s)k_pG(s)=(1+k_pG(s))Y(s) $$ $$ \frac{Y(s)}{\frac{1}{s}} = \frac{k_pG(s)}{1+k_pG(s)}.$$ Using the final value theorem, $$ \lim_{s\xrightarrow{} 0} \; sY(s)$$ $$ \lim_{s\xrightarrow{} 0} s \frac{1}{s} \frac{sk_pG(s)}{1+k_pG(s)} = \lim_{s\xrightarrow{} 0} \frac{k_pG(s)}{1+k_pG(s)}$$ $$ y(\infty) = \frac{k_pG(0)}{1+k_pG(0)}$$ So the limit will be a number, and probably one that is less than one (i considered the input being one), that means that the final error is some constant ratio of the initial error.

All that considered. the error without the feedforward would be $$ e_1(\infty) = \frac{k_pG(0)}{1+k_pG(0)} e_1(0) = \frac{k_pG(0)}{1+k_pG(0)} 5,$$ and the one with the feedforward would be $$ e_2(\infty) = \frac{k_pG(0)}{1+k_pG(0)} e_2(0) = \frac{k_pG(0)}{1+k_pG(0)} 3.$$

\$\endgroup\$
1
  • 1
    \$\begingroup\$ This actually occurred to me last night! As feedforward will always form part of the control output, the Proportional output is lower, indicating reduced error. \$\endgroup\$
    – 19172281
    Apr 14 '20 at 17:18
0
\$\begingroup\$

Proportion error is reduced by the value of open-loop error gain in the controller unless the motor load demands more voltage than is possible.

Define how where error is amplified.

How does Feedforward fit into the block diagram? How does load affect speed regulation?

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.