Rate of Rise (ROR) calculation

Discuss roast levels and profiles for espresso, equipment for roasting coffee.
mr2andy

#1: Post by mr2andy »

Hey all,
I'm sure there are a few math geek here. If I recorded the bean temp for a roast every second, what is the proper way to use those data to calculate the ROR?

Thanks
Andy

mtbizzle

#2: Post by mtbizzle »

I think this can be done. It might be easiest to manually enter your data into Artisan scope (free software). It will plot ROR for you.

ROR is just change in temperature per unit of time (eg minute)

MNate
Supporter ♡

#3: Post by MNate »

Artisan is a great way to go. I did that a bit. It's free! Takes a little setup.

Otherwise rate or rise is just degrees per minute so if you had one reading every minute your change in temp would be the rate of rise. For any shorter interval you have you just have to multiply it out to sixty seconds. So... if a 5 second interval, 5*12 is 60 so multiply your temp change by 12 and that would be your rate of rise. Right? Doing that for each interval sounds tedious to me, but if your interval is consistent it wouldn't be too bad.

(At least I think I have this right)

mr2andy

#4: Post by mr2andy »

Hey all, thanks for the input. I was also thinking the easy route which is the temp different between two interval.. I have a Aillio Bullet and I pulled the data from roasttime and I looked at the ROR curve, the ROR seems to be the first derivatives of points. It should be the tangent line of the curve at that particular point.... then... I got stuck! :lol:

User avatar
CarefreeBuzzBuzz
Supporter

#5: Post by CarefreeBuzzBuzz »

Rate-of-Rise

The Rate-of-Rise (RoR) of a temperature curve is defined as the first derivative of a temperature curve over time. Thus the unit of RoR signals is by definition the temperature unit over time (C/min or F/min). Interestingly, some prefer some wired RoR "units" (which are in the strict sense not proper units), like C/30sec or F/15sec. Artisan does not allow the use of such "interesting" units, but one can easily use a symbolic function to adjust the RoR values by putting it into the the corresponding "Rate of Rise Symbolic Assignment" field (menu Config >> Curves, first tab RoR). Dividing the computed RoR values by 2 using the symbolic formula "x/2" results in readings showing temperature changes per 30sec and dividing them by 4 using the symbolic formula "x/4" results in readings showing the temperature changes per 15sec.

From :

https://artisan-roasterscope.blogspot.c ... ables.html
CarefreeBuzzBuzz
___
Artisan Quick Start Guide
http://bit.ly/ArtisanQuickStart

User avatar
prof_stack
Supporter ♡

#6: Post by prof_stack »

mr2andy wrote:Hey all, thanks for the input. I was also thinking the easy route which is the temp different between two interval.. I have a Aillio Bullet and I pulled the data from roasttime and I looked at the ROR curve, the ROR seems to be the first derivatives of points. It should be the tangent line of the curve at that particular point.... then... I got stuck! :lol:
Simple, just take the limit of the difference quotient as the points get close to zero in distance. :lol:

Actually, I am following the post with great interest. Thanks.
LMWDP #010

N3Roaster

#7: Post by N3Roaster »

There are already some answers here, but I'd just like to point out that one of the main problems when working with this kind of information is that the rate calculation tends to amplify noise in the input (most of the graphs on this forum have rate series that I'd consider basically worthless). If you take a sliding window (ideal window size is very much dependent on the quality of the data acquisition hardware, the less noisy your input signal, the smaller the window you can use) with all measurements over a small amount of time and instead use the slope of a least squares fit line (linear regression) over the window, that can still be very responsive to real rate changes if it's being calculated live during a roast while being far less susceptible to input noise. That slope would give you results in degrees per second, but it can be scaled out to however you want to think about it.

mr2andy

#8: Post by mr2andy »

CarefreeBuzzBuzz wrote:Rate-of-Rise

The Rate-of-Rise (RoR) of a temperature curve is defined as the first derivative of a temperature curve over time. Thus the unit of RoR signals is by definition the temperature unit over time (C/min or F/min). Interestingly, some prefer some wired RoR "units" (which are in the strict sense not proper units), like C/30sec or F/15sec. Artisan does not allow the use of such "interesting" units, but one can easily use a symbolic function to adjust the RoR values by putting it into the the corresponding "Rate of Rise Symbolic Assignment" field (menu Config >> Curves, first tab RoR). Dividing the computed RoR values by 2 using the symbolic formula "x/2" results in readings showing temperature changes per 30sec and dividing them by 4 using the symbolic formula "x/4" results in readings showing the temperature changes per 15sec.

From :

https://artisan-roasterscope.blogspot.c ... ables.html
This is absolutely helpful. Thank you very much!

Rickpatbrown

#9: Post by Rickpatbrown »

This thread is the epitome of HB :lol:

(Simple) x (HB) = complicated af

This is how I know I'm in the right place.

renatoa

#10: Post by renatoa »

If you want it complicate, then take a look at Savitsky-Golay filtering I am using in TC4ESP...

Better than most rolling average formulas, has the best preservation of data peak height and width, without amplifying noise.
And less delay introduced than averaging.
Both of the above being important in the development phase.
For a 12 seconds window, which is standard for 0.1 degree resolution aquisition, SG filtering signals a peak 3 seconds earlier than averaging.
★ Helpful