From Manual Roast to PID Roast

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

#1: Post by djbetterly »

I've heard great things about using a PID for repeatability, so I picked up a used Fuji PXG-4. I had a heck of a time getting it to communicate with Artisan, but now its talking, and now I'm struggling with the roasting.

The way I roasted previously, manually, was I would charge, soak for 1min, then pump my gas up to about 90% of max. When BT would reach 300-f (fahrenheit) I would start to lower my gas pressure, and I'd continue to lower gas pressure, basically a reverse ramp and soak. I'd get good roasts, but never perfect roasts but good enough for my skill level. BUT, I'm always trying to improve., with the PID, I setup Artisan to follow my background profile, either one from a previous roast, or one from the designer (which I'm not sold on yet), but the problem is, once the ET reaches its the SV in the background curve, it just kills the gas and then my ROR drops out... I need that continuous heat on the drum to keep the roast alive. I'm sure I AM DOING SOMETHING WRONG...but I'm not sure where to go. I need to find some cheaper beans to play with, cause its hurting me to see so many good greens being wasted.

Can anyone help me out?


#2: Post by rgrosz »

I know nothing about using PID in artisan. But I remember reading about it here:
https://artisan-roasterscope.blogspot.c ... ntrol.html
LMWDP #556
Life is too short to drink bad wine - or bad coffee


#3: Post by rgrosz »

Here is another page that is linked from the artisan blog: ... sting.html
LMWDP #556
Life is too short to drink bad wine - or bad coffee

User avatar

#4: Post by MaKoMo »

Sounds to me like your p-i-d parameters are off. Try higher values for d.


#5: Post by renatoa »

D amplifies process noise, any process tuning first attempt should start with D = 0.
D factor equivalent in real life is as brake in a car. P is throttle, P and D together = ... drifting, you guessed :)
I don't see the reason to use D in a coffee roasting process, it shows the effect when rapid changes happens, while the typical roasting curve has a gentle slope, and nowhere it is necessary to brake something sudden.
For example, a value of 1 for D led to 1% power variation when the temperature change with one degree in a second, which means RoR 60, which is crazy, only at load we have RoR in such range.

Regarding thread subject, imo gas is not a machine frendly to be PID-ed. On other roasting site I seen this task described as "fool errant" :D
The process model of a gas machine is not linear, with huge thermal inertia delays, that requires only some 4-5 gas changes during the whole roast.
These are much easier and better done with Artisan events, Record an event for each gas change then simply playback them.


#6: Post by aabud »

For what it's worth, I found setting Artisan alarms that trigger gas changes based on BT (with maybe one or two time based changes), to produce better curves than PID. I use PID for pre-heat and between batch, though.

User avatar
Team HB

#7: Post by another_jim »

djbetterly wrote:Can anyone help me out?
I used to run a PIDed airroaster, so my observations may not be directly applicable. I found that cycling temperatures in the ET ruined the roast, so I detuned the PID parameters (slowed them down) so the actual BT was always a little behind the target. That way the ET rose steadily or stayed steady. The problem is in a heavy gas roaster, there is a lot of lag in how the BT responds to a change in ET, so the ET is usually dropped after the first crack.

Several manufacturers in the aughts, who I won't name, tried to PID large roasters, ran into the same set of problems, unstable ETs and wonky BTs, and had very costly failures. Willem Boot looked at this and teaches roasters on large machines not to worry about precise BT profiles, but to profile the ETs for a steady rise in the early roast, followed by a straight line or a easy and steady drop. The ET should be a smooth curve. This is something that can be PIDed, using three segments (an early rise, a middle steady phase, and a late drop or more steady phase). You would have to set up a BT trigger level to drop the roast, either manually or automatically, and the BT curve may be a minute off either way. But you will always get a smoothly executed roast.

In my experience, a "perfect profile" achieved with incessant control actions is always worse than an "about right" profile reached with no oscillations or jumps in the thermal management.
Jim Schulman


#8: Post by renatoa »

The fastest is the roaster response, the easier is to PID.
With fluid bed being the top, and solid drum the last.

The P value choice should be determined mainly by the level of noise/variance in your temperature.
If your temperature change with +/- one degree in a second, which can be experienced in many FB machines, you have to lower the P to 1, from the 5 default, in order to limit the power jumps due to P term to maximum +/- 1%
The value of 5 as default for P is simply not realistic for anything than machines with very low airflow and/or very thick probes, like 6 mm.

Anyway, you can set P value as low as you feel to have a stable machine, in all scenarios the main term that drives the power is the I term.
This means the I term value have to be big enough to ensure temperature drive in all scenarios.
Assuming we have a typical Ku (ultimate gain) value of 3 of the roaster machine, i.e. 3 C degrees increase for every power %, and an average RoR of 10C/min, this means the I term have to be capable to push output power by a percent every 18 seconds. With one degree acceptable error, this means an I term value of 1/18 = 0.055 as a minimum.