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
Rate of Rise (ROR) calculation
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)
ROR is just change in temperature per unit of time (eg minute)

 Supporter ♡
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)
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)
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!
 CarefreeBuzzBuzz
 Supporter
RateofRise
The RateofRise (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://artisanroasterscope.blogspot.c ... ables.html
The RateofRise (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://artisanroasterscope.blogspot.c ... ables.html
 prof_stack
 Supporter ♡
Simple, just take the limit of the difference quotient as the points get close to zero in distance.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!
Actually, I am following the post with great interest. Thanks.
LMWDP #010
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.
This is absolutely helpful. Thank you very much!CarefreeBuzzBuzz wrote:RateofRise
The RateofRise (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://artisanroasterscope.blogspot.c ... ables.html
This thread is the epitome of HB
(Simple) x (HB) = complicated af
This is how I know I'm in the right place.
(Simple) x (HB) = complicated af
This is how I know I'm in the right place.
If you want it complicate, then take a look at SavitskyGolay 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.
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.