1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: EPID Record |
From: | Till Straumann via Tech-talk <tech-talk at aps.anl.gov> |
To: | Ben Franksen <benjamin.franksen at helmholtz-berlin.de>, Mark Rivers <rivers at cars.uchicago.edu> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 15 Feb 2021 09:18:15 +0100 |
On 2/14/21 10:37 PM, Ben Franksen via Tech-talk wrote:
Am 14.02.21 um 03:40 schrieb Mark Rivers:That means KI must *always* be non-zero.No, that's not true. Consider the case of DC motor where the EPID output is a DAC that controls the motor velocity. If the VAL field is the motor position, then when the motor is at the target position the velocity is 0, so the I term must be 0.Right. I should have added "... except in case the output variable should be zero when the target value is reached". I didn't mention it because it seemed like a very exceptional situation, though your example suggests it may not be that exceptional after all.
Hi Ben.It is a well-known feature of PID controllers that if you do not have/enable the
integral term (KI = 0) then a finite steady-state error is always needed todrive the output (if Kp is finite). I.e., your premise is wrong: if your controller has no 'I' then VAL can never truly sit at the target position (unless the system already
sits at the desired target (CVAL = VAL), of course). The steady-state error is reduced by increasing Kp but limits dictated by stability margins and bandwidth limitations have to be observed. This is why an integrator is added: it provides infinite gain at DC to reduce the static error but is not demanding in terms of bandwidth. Its phase shift may affect stability and must then be compensated with suitable Kp and Kd. HTH - Till
Cheers BenAm 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