Monday, December 14, 2020

Supporting Between Batch Protocols



Here is our response to Scott Rao's call out to makers of roasting software to offer structures supporting the tracing and managing of BBPs (Between Batch Protocols) and warmups.
We agree with Scott's assessment that without a precise and successful BBP, it is impossible to replicate roast curves exactly. This holds especially for drum roasters where the stored heat of the machine contributes significantly to the total energy input during a roast, but cannot be controlled any longer once the roast has started.

Between Batch Protocols


The goal of any Between Batch Protocol (BBP) is to bring the machine into a defined thermal state before starting to roast the next batch. If successful, one can easily roast succeeding batches with identical gas and airflow changes to the identical roast profile. There are two common methods used. One method raises the temperature after the beans are dropped, then allows the temperature to ramp down to the CHARGE temperature, all within a defined temperature and time window.  The other method lets the temperature fall well below the CHARGE temperature in a certain time window to a chosen temperature and then ramps the temperature up to the CHARGE temperature, again within a time window. Note that the exact temperature and time ramps depend on the intended CHARGE temperature and the physics of the machine. In some cases it might also be of advantage to guide the BBP by a temperature signal different from the bean temperature probe (which reads air temperature at a fixed point in the empty drum). An alternate to estimating a machine’s stored energy might be the temperature of the exhaust air or the temperature of the drum. 

With more than just a timer, Artisan supports BBP on all roasters regardless whether they are totally manual or equipped with remote burner control.  This article will show you examples of how to manage your BBP temperatures and times.  If your roaster is fully manual you should use alarms as shown in the first example. If your roaster’s burners can be controlled remotely the example using Ramp-Soak patterns demonstrates how to completely automate your BBP.

Please be aware of the additional energy use caused by running between batch protocols and consider to minimize its environmental impact by a design that avoids waste!


BBP Using Artisan Alarms - For Fully Manual Roasters

Artisan can help roastmasters manage their BBP when the roaster controls are fully manual.  The following example shows how to manage temperature and time to execute a between batch protocol using  Artisan alarms.

Before diving in to the example, let’s review how alarms work in Artisan. Alarms have two primary parts: a trigger and an action. A trigger is a set of conditions that must be met. Once the conditions are met the alarm “triggers” and executes the defined action. An example trigger might be " when bean temperature is above 300°F." The corresponding action might be "put a pop up window on the screen to tell the user the Maillard phase has begun." This is a just a simple alarm example. Artisan alarms can do quite complex tasks including clicking event buttons, changing sliders, and even having the computer to talk to the roastmaster.

Any single alarm can be triggered only once during a roast. This is important to know because an alarm will not trigger every time the trigger conditions are met. It will trigger only the first time the conditions are met. Another important point, Artisan checks the trigger conditions for each alarm only once each sample period. That means that an alarm qualified using “If Alarm” or “But Not” will not trigger in the same sample period as the alarm used in the qualification.

With this brief introduction to alarms we will now look at an example using alarms to manage BBP.


Example BBP

Let's assume the CHARGE temperature will be 380°F. Our BBP protocol after dropping the beans of the previous roast, is to lower the bean temperature (BT) to 40°F below the CHARGE temperature. Thus the bottom temperature will be 340°F. Once the bottom temperature is reached we will increase the temperature with a fixed gas setting of 0.75kPa until the BT reaches the CHARGE temperature.

The BBP runs with Artisan in the ON mode so that the roastmaster can set up the next roast and make any necessary entries in the roast properties window before the roast itself starts. An alarm will automatically press the START button so Artisan will begin recording shortly before the CHARGE temperature is reached.

The following set of alarms implements the protocol just described. This example uses pop ups to alert the roastmaster however  talking alarms can be used just as easily and perhaps more effectively.




Details of Each Alarm

Alarm 1 triggers on CHARGE. Is is used to qualify the subsequent BBP alarms so they do not trigger after CHARGE when the BT falls and rises through the turning point.

Alarm 2 is the start of the BBP. It triggers if the BT is above 340°F. Following a completed roast this alarm will trigger when ON is pressed. The pop up prompts the roastmaster to begin BBP by dropping the gas to zero.

By selecting from the menu  Config >> Sampling >> Keep ON, Artisan will automatically shift from OFF back to ON at the end of a roast. This works really well with the BBP protocol.

If START is pressed without first pressing ON, this alarm will trigger and the  pop up will still appear but it can be ignored. The subsequent BBP alarms will not trigger once CHARGE has been marked

Alarm 3 tells the roastmaster that the bottom temperature for BBP is near and the gas should be increased to heat the roaster towards a charge. This alarm triggers only after alarm 2 has previously triggered and BT is below 340°F. Said another way, this alarm happens only when the BT is decreasing and CHARGE has not been marked.

Alarm 4 alerts the roastmaster to get ready to charge the beans when BT reaches 380°F.

Alarm 5 automatically presses the START button so Artisan will begin recording the roast as we near the CHARGE temperature. We now shift from BBP to roasting.

Alarm 6 is used to automatically turn OFF the scope a fixed time after DROP. This saves the roastmaster from having to remember to click OFF. It is completely optional.

You can add additional alarms for use during the roast. Further, you could define similar alarm sets for BBP with different CHARGE temperatures.


How Does It Look in Operation?

A background curve is displayed in the following images to show you the entire roast cycle including the BBP beginning before CHARGE. Normally you would not record the BBP as the roaster would be in the ON state while you set up the next roast and enter data for it in the Roast >> Properties window. 



In this first image the previous roast has just finished and the ON button pressed. Alarm 2 has triggered and displayed the prompt for the roastmaster to turn off the gas to start BBP.




The bottom BBP temperature was reached and alarm 3 has triggered. 




The temperature has risen and will soon reach the CHARGE temperature.




Alarm 5 automatically pressed START at 376°F to start Artisan recording the roast.  In this image we see that the CHARGE is recorded and we are tracing the background profile.


Machines with Remote Gas, Air and/or Drum Speed Control


Machines that allow the control of the burner, airflow and drum speed, when available, can be operated via Artisan sliders.  The BBP can be fully automated using alarm actions to conditionally modify slider values.  The example above can be extended to support machines with remote control capability.  

The next example shows a way to fully automate BBP via remote control of the burner.



BBP Using the Artisan PID - For Roasters with Remote Burner Control


For roasters with burners that can be controlled remotely by Artisan, a Ramp-Soak pattern can be used allowing a PID system to automate the BBP. This is a bit like the auto parking mode of your car. If your roaster does not have the ability for its burner to be controlled remotely you should use the alarms based method above.

PID Control and Ramp-Soak Patterns


A PID is an algorithm which takes as an input signal (process value, PV) and generates an output signal for an actor such that the input signal is driven towards a given target value (set value SV, sometimes call set point). 



For the use with traditional drum roasters we use the bean temperature as input and allow the PID algorithm to control the burner to reach the SV. For air roasting using the environmental temperature probe signal as input might be more appropriate and in some cases putting the airflow under PID control might be a good alternative to the control of the burner.


To realize a certain BBP using PID control in Artisan, the SV can be manipulated manually using sliders or buttons, by alarm rules using corresponding alarm actions or dynamically via Ramp-Soak patterns. Note that these mechanisms can freely combined. Here we take a look at PID control via Ramp-Soak patterns.

A Ramp-Soak pattern is a pair of two time periods and a SV. In the Ramp period, the SV is increased step-wise to the specified SV from the SV the pattern got started, while in the Soak period the SV is hold constant at the specified SV. Note that both periods can be zero. 

The following picture shows a sequence of two Ramp-Soak patterns to specify a BBP by modulating the SV over time. The first pattern contains just the Soak part and allows the bean temperature to fall down to 170°C within 4min. The second pattern starts with a Ramp to bring the bean temperature up again to the intended CHARGE temperature of 190°C within 3 minutes and a short Soak to hold the SV constant until CHARGE.





The Artisan PID allows you to define up to 3 Ramp-Soak sets, each with up to 8 Ramp-Soak pairs. That should be enough to model pre-heat, between batch and even full roast processes.


Artisan PID Setup


To activate the PID Control in Artisan you first need to tick the Control flag in the Device Assignment dialog (menu Config >> Device, 1st tab).



An additional blue Control button will show up in the right upper corner of the main window which opens the PID Control dialog which allows to configure the PID.





Artisan can either operate an external hardware PID via the S7 or MODBUS protocol  that some machines feature  (if configured in the Ports Dialog), the Fuji/Delta PID or the Arduino/TC4 PID if configured as main device,  or the internal Software PID of Artisan. Which PID is operated depends on of your device setup. The PID Control dialog will look slightly different for each of those 3 modes.


The PID Dialog itself allows you to configure the PID algorithm by tuning its p-i-d parameters, chose a source signal to operate on (here the bean temperature, BT), set a target to be operated (here the slider that controls the burner of the roasting machine), set limits on the duty signal (e.g. you might want to limit the minimum level of the burner to say 10%), set SV mode (manual, Ramp/Soak or follow-background), activate the SV button and slider controls and to activate and deactivate the PID (a light blue Control button indicates a running PID).





The BBP Ramp-Soak pattern discussed above can be configured in the second tab of the PID Control dialog.




How Does It Look in Operation?


In the image below you see this Ramp-Soak BBP in action.  Note that here the recording is running to see the progress in the chart and thus the timer increasing as normal during recordings. Usually the Ramp-Soak BBP is run in monitoring ON mode where the timer LCD counts down to indicate the remaining run-time of the Ramp-Soak sequence.  This helps the roastmaster follow the progress of BBP and to get prepared to CHARGE. The SV slider on the left as well as the SV LCD on the right indicate the temperature target at any moment, while the burner slider on the left and the Duty LCD on the right show the duty value computed by the PID based on the current bean temperature and the SV.





The BBP is started here around BT 203°C, my usual DROP temperature. The machines slow cooling speed at -4.6°C/min with the burner turned off doesn't allow to reach the 170°C target within the 4 minutes of the first Soak period. On might want to increase that period to 5 minutes on this machine. Then around minute 5 the Ramp up of the second segment catches the falling BT and the PID immediately starts the burner. Thus the bean temperature BT is able to catch up by minute 7 with the target SV given by our BBP and reaches the 190°C target just in time. At the very end you see that the PID produces a slight over swing which could be prevented by better p-i-d parameter tuning.


Full Automation


Above we showed how to completely automate the BBP. Why not define a custom event button with some Artisan Commands that start this BBP process with one click?  The button defined below will do this.




Previously we configured an action that shows a pop up message that says “Charge!” on completion of the last Ramp-Soak pattern. Instead we can select START as the action to immediately start the recording of the next batch once our BBP successfully completes. But why not also start the BBP automatically after dropping the previous batch? If we want to show a pop up reminder, start the recording and turn the PID off, we can define a corresponding hidden button (button 2 below) with a corresponding Artisan Command action that is activated at the end of the last Ramp-Soak pattern by using and Event Button action. 







We might also want to  have the burner set to 100% automatically on pressing CHARGE. This can be achieved by a corresponding main button action triggering the hidden custom button 3 as defined above. Another such action could automatically turn the recording OFF 30sec after DROP.



The Keep ON feature could then automatically turn Artisan back ON in the monitoring mode after the OFF button is triggered.  Finally, an alarm triggered a second after ON (or alternatively a button action assigned to the ON button) could automatically run again our BBP by calling the corresponding event button 1.



This closes the cycle and fully automates roasting a sequence of batches, including a BBP in between each roast.


We hope that Artisan helps you better manage your BBP to improve your roasting.

Marko and Dave