An update to the RoastLogger to version 1.7.6 is available for download. This update only affects the Arduino Controller. It fixes a bug in the previous version, removes the serial tab which is no longer necessary, adds an experimental PID and PID autotuner and rearranges the menus to suit.
The bug which has been fixed could, in some circumstances, prevent the loading of action table settings from a template. Loading settings from a file was unaffected.
The serial tab was intended to help in debugging serial communication between the Arduino Controller and a TC4 or Arduino and is no longer necessary.
An experimental PID and autotuner have been added to the Arduino Controller to explore the suitability of PID control of small electric coffee roasters. I want to make it very clear that these are experimental only and they may be removed from future versions of the program if they are not found to be useful.
I have very little experience of using PID control of a coffee roaster but, from my tests to date, I am not convinced that using a PID is the best way to control a small electrically heated roaster where a consistent bean mass can be used for all roasts. I believe that the current action table approach produces better control and superior roasts on Hottops and similar roasters. Despite my tests so far being unconvincing, I have decided to leave the PID in place for the time being in the hope that others will experiment with it and prove me wrong and advise how it should be used. Leaving the PID in place should not causes problems for people who do not wish to use it as, when the PID is turned off, everything is controlled by the action tables as in previous versions of the RoastLogger.
The action table approach relies on reasonable consistency in the relationship between the heater power setting and the RoR for any given bean temperature. With digital control of an electric heating element and reasonably consistent mains voltage this works very well and allows for rapid and accurate transition between one RoR and another in a way that PID control can not match, at least in my tests. I find that the PID either overshoots the required setting to an unacceptable extent, if aggressive tuning parameters are used, or takes an unacceptable number of minutes to achieve the required setting, neither of these is good for a coffee roaster. PID control would be beneficial where the bean mass varied significantly from roast to roast or for roasters where accurate digital control of the heater power was not possible such as gas heated roasters.
Anyone who wishes to experiment with the PID is encouraged to do so. Hopefully, others will be able to achieve better results than I have and/or be able to suggest better controls/ways to use the PID. The RoastLogger help file and other documentation will not be updated to include information on using the PID at this stage. Some initial
information is available here.l A brief summary of the facilities provided is included in the version information below.
If anyone lets me know they find the PID useful and provides information on how they use it or suggestions on changing the controls provided to improve control I will consider making the PID a permanent feature and document it's use. Otherwise I may remove the PID in future versions of the RoastLogger. My email address is available in the feedback section of the RoastLogger website.
To test the PID and autotuner you must have a roaster fitted with a TC4/C loaded with the RoastLoggerTC4 sketch, reading bean and environment temperatures and controlling the heater.
For further information see the following version information and the
RoastLogger website. Version 1.7.6 30/10/2012 Arduino Controller: Fixed a bug which, in some circumstances, prevented the loading of action table settings from a template.
Removed the serial tab as it is no longer required.
Rearranged the menus for clarity on which apply to the Action Tables an which to the PID.
Added an experimental PID to test the suitability of PID control of small coffee roasters. When the PID is off the action tables control the roast as in previous versions of the RoastLogger. If the user turns the PID on then all action tables are used as before except that, after the beans are loaded, the action table settings for heater power will be ignored and the PID will be in control of the heater power. The PID can be set to use bean temperature, environment temperature or RoR on bean temperature as the control variable. A PID settings table is provided to allow setpoints to be set in up to 30 segments. Each segment runs for the set number of seconds. When a segment is entered any setting in the "Setpoint" column is immediately applied and the adjacent checkbox checked to show that the segment is now active. If the "Ramp to" column has a setting then the setpoint is ramped in a straight line from the previous setting to achieve the "Ramp to" setting by the end of the segment.
Added an experimental PID autotuner. It calculates suggested tuning parameters using the standard relay method which is general purpose, not specific to coffee roasters. Better settings will be found by manual tuning but the autotuner suggestions may be useful as a starting point.
Screen shot showing the PID tab and menu:
Screen shot showing the PID settings dialog: