Feature Request. Auto mode that adjusts roast to achieve target end temp+time

I love how the software is coming along, especially recipes! It seems so powerful. Based on the capabilities of recipes, it seems reasonable to make a mode that simply asks for your target end temp and time then it adjusts power and fan dynamically to keep a reasonable curve and achieve the target temp around the target time.

We already do this as humans operators based on a couple signals. I watch the rate of rise, note the amount of minutes it would take to hit my target temp by my target time. I drop off the power some to keep the RoR steadily declining, etc.

It stands to reason this could be done with a clever algorithm, and maybe with some modes (conductive for slower drum programs, maybe a couple different curve options) but ultimately it’s just adjusting drum/fan/power in order to get you to the correct temp at the correct time.

I believe this is sort of how preheat works. You can see the machine adjust some during preheat based on how fast it’s heating. It always seems to take about a half hour but the fan sounds different each time. (Purely speculating)

I work at a large tech company so maybe I’m just crazy with silicon valley optimism but I’d like to see an auto plus mode.

2 Likes

I love your thoughts Josh! And a least this would be an excellent 1st iteration to start from when cupping.

If full auto is too big a bite in one hit, one “small” tweak I would love is the predictive curve that Artisan provides on things like dry end, first crack at various points in the roast. That way mere human brains can be spared the torture of mental arithmetic of “where are we now”, “what’s my current RoR” and “when will we get where I think I want to be and does that match my target/time” - and we can just watch the pretty beans and coloured lines :wink: How about it @jacob?

5 Likes

I think I’m with you Stuart. In my case, full-auto roasting is of no lasting interest to me other than as a technical curiosity. I just want a really good cup of coffee. The more involved I am with its creation the better it tastes. Somehow I can overlook the crutch of s/w imagery but not my replacement thru full-auto control.

For one thing I know my coffee can’t be any better than anyone elses using that fully automated Recipe. Maybe it reflects early childhood when I didn’t want help with difficult things… “I wanna do it myself!” [ OK, I admit it- I was a PITA! :slight_smile: ]

1 Like

I work in controls as a Commissioning Engineer. The big difference between achieving and maintaining preheat temperature and roast temperature is variability. During preheat most I/O’s (Control Inputs and Outputs) are constant (drum speed is fixed, airflow is fixed, and preheat temperature is fixed). The computer then steps between power levels to achieve charge temp.

Trying to achieve this during a roast is a whole different ballgame. In essence the controls would constantly be trying to hit a moving target. This is still possible, but gets tricky. The first thing id do as Aillio, to achieve this, is to increase the number of power level steps. This would allow the controller a much better chance to maintain target bean temp setpoint, likely using a reset schedule. Additional sensors may also be necessary. Ultimately, its quite an engineering challenge but its possible (within a degree of error).

Curious what the next 5 years will bring from Aillio!

2 Likes

I completely respect your expertise and contributions. I think I was viewing this more simpler. I have a pretty basic set of things I’m doing when I roast, and based on what I see I only click one or two buttons to achieve that.

The logic is like this.

I want to end the roast at 225c and I don’t want the rate of rise to increase at any point after the first minute of the roast.

So I’d start it at some predefined high power number with a constant drum and fan (for v1).
Then after 30 seconds just poll the RoR every second. If I see it go up from the previous value lower the power by 1. If I see the value lower by more than 10 percent from the previous reading increase the power by 1. As I get within 30c of target temp I start to ramp down the power by 1 every 5c.

The second version would take into account target time, and do some math based on rate of rise (which is just a calculation of c per minute increase) and project what temp I’ll be at with the current settings at the given time. The complexity comes in on whether to care more about rate of rise always be declining or hitting target temp on time (which could mean intentionally having the rate of rise spike at the end of roast to achieve target temp/time). I’d most likely error on having a good rate of rise rather than finishing a roast within some timeframe.

This is really interesting to me too, but as someone who has done control systems, it seems that before any of this can happen, the ROR needs to be smoothed and based in the IR sensor. The other challenge of course is the lag between control inputs (fan speed, heater current, drum speed) and when something actually changes. Trying to automate that in a system such as this would be really hard.

OTOH - just following a recipe and ending the roast at a preset bean temp (IR of course) should be relatively easy, except of course that all it can do is put up a message “DMP NOW!”… :slight_smile:

1 Like