Am 13.02.21 um 13:32 schrieb Mark Rivers:
Suppose we have been at the target position for some time, i.e.
VAL=OVAL, so that E(n)=0 for all n. Then all terms become 0 and the
output is OVAL=0 as well. But shouldn't it be OVAL=VAL instead?
Your statement that "we have been at the target position for some
time, i.e. VAL=OVAL" is also incorrect. When it is at the target
position VAL=CVAL, not OVAL.
Yes, sorry, I have confused OVAL and CVAL here.
I think your statement that "all terms become 0" is incorrect. The
integral term (I) does not become zero even when sitting at the
desired setpoint for infinite time, because it is the integral from
time=T0, where T0 is the time that the feedback was turned on.
So that means if we start the feedback when E=VAL-CVAL=0 then we will
first move the system *away* from the desired VAL (unless it happens to
be equal to zero). Then we accumulate the errors, increasing I at each
step, until after a while I is large enough to compensate our initial error.
That means KI must *always* be non-zero. I find it a bit strange that it
initially has to move away from the correct output value only to arrive
at that value some steps later. Is it possible to preload the I with a
non-zero value if one has a good guess what its initial value should be?
The integral term is what prevents "droop", e.g. it is what supplies
the constant power required to keep a furnace at 500 C even when the
error is 0.
Ok, I think I understand this now. Thanks.
I use the EPID record for lots of tasks and it seems to work fine.
Have you observed an issue which led you to post this message?
Not me personally. Some physicists wanted to understand the behavior of
one of our control loops better, looked at the formula and came up with
the above objection. I agree that with a non-zero KI it should work
(after enough initial cycles).
Cheers
Ben
--
I would rather have questions that cannot be answered, than answers that
cannot be questioned. -- Richard Feynman