Experimental Physics and Industrial Control System
|
Has anyone been able to run CSS BOY successfully on a Raspberry Pi?
My original plans for an EPICS-based computer controlled beer brewing
system involved a control box with no user input except for an e-stop
button. The operator interface would either be a laptop running CSS BOY,
or an iPad with a WebOPI backend. But with the significantly faster quad
core Raspberry Pi 2, and the availability of inexpensive panel mount
touchscreen displays that work with Pi, I'm wondering if I could take
advantage of some spare panel space on my control box and run CSS BOY on
the same Pi that runs my Soft IOC? I believe you can run Java and
Eclipse on a Pi, so I'm wondering if CSS BOY would work, and if it would
perform reasonably well? Has anyone had any experience with this?
In other news....
I was quite fortunate to meet with Ralph Lange and Michael Davidsaver
when they passed through Chicago on their way to an event at Argonne.
They toured the makerspace where I was constructing this system, and we
had a late night EPICS hacking session where they helped me fix some
issues I'd been having with CSS BOY, a calcout record that wasn't
updating like I thought it should, and they showed me some neat tricks
with alarms. Thanks so much!
A friend and I did some redesign and fabrication to solve the problem of
directing waste heat from the burner to keep it from damaging the frame
or the actuated valves and sensors on the kegs. This past weekend I did
my first test with the control box connected to the actual brewing
hardware. I was using CSS BOY, a Soft IOC on the Pi, StreamDevice and
asyn, and software I wrote on the Arduino Mega. For this test, I
connected one propane burner, which heats one of the kegs, and a single
DS18B20 temperature probe to the Arduino. While the test worked, I've
now got a control algorithm question about preventing overshoot that is
unrelated to EPICS.
For now, the system just has on/off control of the propane burner. (I do
have a needle valve on each burner's propane supply, and I am
considering putting stepper motors on them.) I didn't think PID would be
terribly useful with a binary control output, so I coded an extremely
simple thermostat algorithm: if temp < setpoint - deadband then turn on
the burner; if temp > setpoint then turn off the burner. The results are
here: http://elna.mackenziegems.com/20151220/20151220-2.png
I originally had a 70 F setpoint and 0.5 F deadband. Then I changed the
setpoint to 120 F. The burner cut out at 120 F but the temperature
overshot by 3 degrees F, and it took over 80 minutes to fall back down
below 119.5 F which triggered the burner. That's more than I'd like. But
from that point, everything happened as I expected. It took less than 30
seconds to heat the kettle by 0.5 F, it overshot by about 0.4 F, and
took about 25 minutes to fall back to 119.5 F. Those numbers are
perfectly acceptable.
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?
Hopefully over the holidays I'll be able to make some blog posts with
pictures of all this. Still, I'm glad I'm getting closer to being able
to brew my first batch of beer with this system. (Would that be an IOC
IPA? ;-)
Thanks,
Ryan
- Replies:
- Re: CSS BOY and Raspberry Pi? Pearson, Matthew R.
- Re: CSS BOY and Raspberry Pi? Eric Norum
- Navigate by Date:
- Prev:
EPICS synApps installation ERROR. Please, Help me. [email protected]
- Next:
Re: CSS BOY and Raspberry Pi? Pearson, Matthew R.
- 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
- Navigate by Thread:
- Prev:
Re: EPICS synApps installation ERROR. Please, Help me. Mark Engbretson
- Next:
Re: CSS BOY and Raspberry Pi? Pearson, Matthew R.
- 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
|
ANJ, 23 Dec 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|