EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CSS BOY and Raspberry Pi?
From: "Pearson, Matthew R." <[email protected]>
To: Ryan Pierce <[email protected]>
Cc: "[email protected] list" <[email protected]>
Date: Wed, 23 Dec 2015 15:29:54 +0000
Hi Ryan,

> 
> I'm guessing the initial overshoot happened due to a number of reasons. (Residual heat in the stainless steel base of the keg needing time to transfer to the water? With 10+ gallons of water in the keg, convection to equalize temperature may not be efficient? Lag time in the thermal probe?) I'd think an ideal control algorithm should anticipate that with a large commanded temperature change, cutting off the burner early is necessary to prevent an overshoot, but that would be unnecessary with just a small 0.5 degree F change. I'm guessing this is a common control systems problem, so rather than reinvent the wheel, is there a standard algorithm that handles this? Or can PID be used in a situation like this?
> 

One way would be to have different deadbands that depend on the size of the setpoint change. Then have a delay after the deadband is satisfied before changing it to a smaller value. So on the initial ramp from 70F to 120F, the deadband could be 3F. The burner will cut off at 117F, and the heat will continue to rise up to 120F. After 10 minutes the deadband can be changed to 0.5F to keep the temperature within the desired range.

If you control the needle valves via stepper motors, then the burner can be controlled at various points in the ramp. So the needle valve can be closed down the closer you are to the setpoint. Not sure a PID loop will add much advantage in this case, unless you have different conditions that might make it more suitable than a fixed table of needle valve setpoints.

If you try using a PID then the Epics ePID record would be the way to go. Although you would still need to use some deadband logic along with the ePID. 

Cheers,
Matt





 



 



References:
CSS BOY and Raspberry Pi? Ryan Pierce

Navigate by Date:
Prev: CSS BOY and Raspberry Pi? Ryan Pierce
Next: Re: CSS BOY and Raspberry Pi? Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: CSS BOY and Raspberry Pi? Ryan Pierce
Next: Re: CSS BOY and Raspberry Pi? Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 23 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·