Page 1 of 2

Differences in Rate of Rise curve

Posted: Sun 15 Sep, 2019 5:14 pm
by Sam.law
Hello all,

First post here. Been using the Kaffelogic Nano close to a month and am quite impressed with its functionality. :) I am posting here instead of emailing Chris/Support in case the answer can be helpful for others (this forum has been an extremely valueable resource for my learning curve so it makes sense to build on it).

As I am getting to know the Nano 7, I notice that in some of my roasts the ROR (in the first few minutes) appeared very differently. In some roasts they are very wavy, and some less so (in many cases they are the same beans/roast profile so i don't think that's the cause). Is there a reason for this and what setting should I look into?
Log20.jpg
Log20.jpg (53.56 KiB) Viewed 6274 times
Log 24.jpg
Log 24.jpg (50.81 KiB) Viewed 6274 times

This next one I may know what's going on. I was doing back to back roasts to pump out samples for an upcoming cupping session. Did I overheat or exceeded the roaster's capacity?

Speaking of which, is there a maximum number of back-to-back roast allowed?
Log 28.jpg
Log 28.jpg (54.41 KiB) Viewed 6274 times
Many thanks,
Sam

Re: Differences in Rate of Rise curve

Posted: Mon 16 Sep, 2019 2:00 pm
by BenN
I'm sure Chris will give you more precise answer, but I've seen some variations in first few min even with same profile and beans.

I recall, in my case, it most likely with back to back roast and not quite enough resting time between or when ambient temp changed like coll air get in from open window etc. I do not recall now is what extent it was...

I tend to wait 3 to 5 min in between for back to back roast or roaster drop to below 35 degree on display.

Re: Differences in Rate of Rise curve

Posted: Mon 16 Sep, 2019 10:23 pm
by Angela
I would guess it's something to do with the PD controller. To function properly P(I)D controllers need tuning to the system within which they are used. Tuning (in our systems) involves adjusting the feedback quantities for proportional error and the differential (rate of change) of error.

There is an heuristic called the Ziegler-Nichols method that causes a perturbation, (an oscillation), in a system to allow fine tuning of the feedback loop. I would imagine the controller is tuning itself and setting up parameters to lead to stable profile following.

Chris will be along shortly.... but on the other hand we may be talking about 'trade secrets'!

Re: Differences in Rate of Rise curve

Posted: Wed 18 Sep, 2019 5:18 pm
by kaffelogic
Your log 20 shows a distinctive waviness that points to an incorrectly tuned PID controller. I am aware from other correspondence we have had that you are roasting 60g batches. What this tells me is that the PID values need some retuning for these small batches. The settings that need changed are the specific heat adj multipliers (engineer-level settings). These numbers need to be smaller to allow for the smaller thermal mass of the load. I would suggest the Kd multiplier might need to be 3 and the Kp multiplier √3.

Also with smaller batches fan speed and preheat power will need to be adjusted.

We are planning better support for 60g roasts. This will take the form of customised profiles to the 60g batch size, and also we are considering introducing a half-batch option that will automatically apply the transforms to a regular profile allowing the one profile to serve both full and half batches.

An additional factor with 60g batches is that the cool down time is so short that the roaster itself is not getting cooled, it gradually heats up over a series of roasts and this puts the initial part of the roast further and further off the profile curve. This is something that we are also addressing with future firmware upgrades. For now, the best option is to wait 5 or 10 minutes between roasts.

Your log 28 is unusually jagged. I think this may be related to the temperature of the roaster itself after a sequence of roasts. Being hotter it does not buffer the temperature of the bean mass so well (this is speculation on my part.)

Re: Differences in Rate of Rise curve

Posted: Wed 18 Sep, 2019 5:30 pm
by kaffelogic
Angela wrote: Mon 16 Sep, 2019 10:23 pm I would imagine the controller is tuning itself and setting up parameters to lead to stable profile following.
Sadly, no. The controller is human-tuned. Lots of test roasts. Lots of logs compared. So many variables. Perhaps you could say the controller has been tuned by good fortune! Self tuning would be a very good thing, but when it comes to roasting coffee by the time you have done the calculations you have already missed the boat. With drying changing the specific heat of the beans, chemical reactions providing additional heat now and again, state changes removing heat in varying patterns such as first crack, you have to hold to a few general principles. Some theoretical approaches have been taken, and some modelling done, but ultimately, like cupping the end result you have to experiment and then keep doing what works.

Re: Differences in Rate of Rise curve

Posted: Wed 18 Sep, 2019 8:02 pm
by Angela
kaffelogic wrote: Wed 18 Sep, 2019 5:30 pm The controller is human-tuned.
To say I am surprised is an understatement. Where is all the look-ahead the controller is supposedly doing in the PID then?

Re: Differences in Rate of Rise curve

Posted: Wed 18 Sep, 2019 11:22 pm
by kaffelogic
Angela wrote: Wed 18 Sep, 2019 8:02 pm
kaffelogic wrote: Wed 18 Sep, 2019 5:30 pm The controller is human-tuned.
To say I am surprised is an understatement. Where is all the look-ahead the controller is supposedly doing in the PID then?
Good question. The look-ahead is a method that specifically accounts for the known time delays in the control system and also allows future goals to be used as PID set points. However the parameters of both the look-ahead system and the PID system are ultimately human-tuned after using theoretical and modelling methods to start the ball rolling, so to speak. As it stands there is a form of gain scheduling, but no actual self-tuning. Future information cannot in principle be used for self-tuning.

Re: Differences in Rate of Rise curve

Posted: Thu 19 Sep, 2019 1:59 am
by Angela
kaffelogic wrote: Wed 18 Sep, 2019 11:22 pm ... As it stands there is a form of gain scheduling, but no actual self-tuning. Future information cannot in principle be used for self-tuning.
There was me thinking you were doing some spectacular maths using the rate of change of the rate of rise. I'm deflated.

So in computing terms the profile x,y points are queued, then you use aggressive feedback in the PID comparing existing temperature to profile temperature to reduce the error and then consider the next queued point until they are all done. The system can surely look ahead several places in the queue as it progresses, to compare actual with future to make a decision on how to alter the power to the heater. Looks like an application for AI's weighted synapses and threshold neurons. Future would have increasingly less weight than next.

People could do this with an Arduino and a bog-standard PID controller coupled to a hair dryer.

If the parameters are human tweaked it would be helpful to have a crib sheet detailing all the 'Engineer' functions for all idiots like me who enjoy playing with things they don't understand.

Re: Differences in Rate of Rise curve

Posted: Sat 21 Sep, 2019 6:12 pm
by Sam.law
kaffelogic wrote: Wed 18 Sep, 2019 5:18 pm Your log 20 shows a distinctive waviness that points to an incorrectly tuned PID controller. I am aware from other correspondence we have had that you are roasting 60g batches. What this tells me is that the PID values need some retuning for these small batches. The settings that need changed are the specific heat adj multipliers (engineer-level settings). These numbers need to be smaller to allow for the smaller thermal mass of the load. I would suggest the Kd multiplier might need to be 3 and the Kp multiplier √3.

We are planning better support for 60g roasts. This will take the form of customised profiles to the 60g batch size, and also we are considering introducing a half-batch option that will automatically apply the transforms to a regular profile allowing the one profile to serve both full and half batches.
Thanks Chris for chiming. You're spot on! I wasn't aware of the side effect of half-loading the roaster. I went back to my logs and all of the waviness can be attributed to the half batch I was doing (in some cases it was only a 50g-batch as it's a nice split size for 200g green sample that I got at the time).

I will try the suggested changes. Having that half-batch option would be superb!


The technical discussion on how the PID calculation is a bit beyond me. :oops: To me it is impressive that it even works given that from my past roasting experience every beans do respond differently to heat application...

Re: Differences in Rate of Rise curve

Posted: Mon 23 Sep, 2019 10:30 am
by kaffelogic
Sam.law wrote: Sat 21 Sep, 2019 6:12 pm Having that half-batch option would be superb!
We are on it! We have started development of the half-batch mode. Will let you know when it is ready.