Friday, March 22, 2013

Alarms




Sometimes it is hard to get up in the morning. Alarm clocks may help with this. The Artisan alarms feature instead can help you in keeping the focus while roasting. There are triggers and actions. So assuming we would like Artisan to show a popup once the BT (bean temperature) raises beyond 180C, reminding us to turn down the heat on approaching FCs (First Crack Start). Here BT raises beyond 180C is the trigger and showing a popup is the action.


See also More Alarms and Talking Alarms.

Let's establish this alarm now. First we open the alarm dialog (select menu Config/Alarms) and press Add. Now we have a new line in the alarm table with some columns that we should fill now. Let's put BT as Source, above as Condition and 180 as Temperature. This defines the trigger of our alarm. As action we want to have Pop Up Window and add "Temp down!" as Description. If we would now start a roast we would get the pop-up already on CHARGE (assuming to charge at around 200C BT). So let's restrict the trigger by setting From to TP (Turning Point). That way, the trigger is active only after the turning point has been detected by Artisan. Now we are set and as long as the alarm status flag is ON this alarm will be triggered once per roast.



Alarm Actions


But wait a moment. Why not have the roaster turn down the heat automatically? Easy if you have a TC4/HRI controlled Hottop. Just define a corresponding slider for the heater (see the post Controlling a Hottop) and change our alarms Action to Slider Power as well as its Description to 51. Once triggered this alarm will now move the slider to 51. This will result in the associated slider action to be triggered, sending out a command to the Hottop to turn down the heater to 51%. We just saw how to send serial commands on alarm triggers via slider actions. It is also possible to trigger button actions using the Event Button action in a very similar way. We just have to indicate the extra event button by its number as specified in the Events dialog. Finally, it is also possible to directly call your external program as trigger action in the obvious way (see spoken alarms for a use case).



Time-triggered Alarms


Excellent! But now we want more. Let's turn the fan speed to 72% 2min after FC automatically. For this we need a second alarm that moves our Fan slider to 72 based on a temporal criteria. As From value we select FC START. Further, we set the Time of this on to 02:00 and it's temperature Source to the empty entry, just to be sure that this alarm is not triggered by any temperature change.



Alarm Chains


My roaster has a temperature probe in the air stream of the bean cooler. With Artisan v0.6 I can now add a COOL event once my beans are cooled down enough (hopefully within 4min after DROP) what translates in a temperature drop below 35C for my probe placement. Let's define alarms to automate this. Setting an alarm triggered as soon as the temperature of my cooling probe drops below 35C after DROP will not work as it will be trigger immediately on DROP. This is because the cooler probe reports still room temperature when that event is detected. A case for alarm chains. Let's define a second alarm that triggers once the cooler temperature rises above, say 40C and select the empty alarm action for this. Now let's our original drop-below-35C alarm be guarded by this one, by setting its If Alarm value to the column number of our alarm guard. That way we are building a chain of alarms. An alarm in a chain is only triggered after its guard, eg. the Alarm specified by its If Alarm value, has been triggered before. Finally, we set the alarm Action here to Event Button and the description to 0 (a special case which triggers the COOL button).




So we saw time and temperature triggered alarms with various actions as well as the powerful feature of alarm chains. All of this taken together allows you to automate your roasts via simple alarm "programs". How are you using alarms?


See also More Alarms!

Remarks

  • time triggers set to 0:00 are ignored
  • alarms with guards, i.e. the If Alarm attribute, set to 0 are not guarded by any other alarm
  • not all events that you can select to restrict the active period of a roast via the From attribute, like DryEnd, are set automatically by Artisan during a roast. Therefore, the corresponding alarms depending on those events are triggered only after those events are entered manually by pressing the corresponding event button
  • an alarm is triggered only once even if it has both, an alarm time and temperature set

Thanks Kalle for all suggestions on how to generalize the original alarm tables of Artisan to make them that powerful!