Using PID to control the heat of a coffee roast in Artisan software

Поділитися
Вставка
  • Опубліковано 23 лис 2024

КОМЕНТАРІ • 73

  • @renatocipriani93
    @renatocipriani93 4 місяці тому +1

    Amazing explanation. I'm studying PID now and you gave me eveything I need. Thanks a lot

  • @erharddinges8855
    @erharddinges8855 11 місяців тому +1

    Very good explanation of the so called crash at C1

  • @BattleAx342
    @BattleAx342 Рік тому +2

    Hi Jason, Thank You for the info on how to save a roast profile and upload the roast to the back ground . You are a Life saver. Thank You

  • @entropy0917
    @entropy0917 3 роки тому +1

    Thanks Jason ! - This is the best explanation of PID parameters I have ever seen. I've had my diy PID setup on a few different expresso machines for many years and can confirm your roaster parameters also worked very nicely on my current small single boiler machine!

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому

      Thank, Rich! I wouldn’t have thought this would work on an espresso boiler, but now that I think about it, that would also be a relatively slow-reacting system. I guess it makes sense… glad this helped!

  • @GoTellJesusSaves
    @GoTellJesusSaves 3 роки тому +2

    Thank you so much for sharing this great info with us! Hoping to be using it one day in the near future!

  • @MikeSlott
    @MikeSlott 2 роки тому +1

    Excellent video, really helpful, thanks Jason!

  • @agungertanto6962
    @agungertanto6962 3 роки тому +1

    Thanks a lot Jason. Excellent work and explanation.

  • @markoluther
    @markoluther 3 роки тому +3

    What an excellent tutorial! Bravo!

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому +1

      Bravo right back to you and your team for the years of effort in creating the Artisan project!

    • @palefire
      @palefire 3 роки тому

      Yes!

  • @nine5359
    @nine5359 2 роки тому +1

    Thank you Jason :)

  • @simonseize
    @simonseize 3 роки тому +1

    Scott, thank you for this! Will try a roast without lookahead today!

  • @steezycruzer
    @steezycruzer 2 роки тому +1

    Fantastic video, thanks

  • @namangoyal1273
    @namangoyal1273 4 місяці тому

    Quite an informative video! I use the Kaleido roaster, and I was sure that the PID could be used to automate a whole roast without being chaotic. Didn't quite understand how to get there, until just now.
    Anyhow, do you think this system would work out for drum roasters?
    Also could it work for a set up where the initial power input might be quite high, but later it would be tapered to quite low?

    • @hermetheuscoffee
      @hermetheuscoffee  4 місяці тому +1

      Thanks for the kind words. I've done this system on a commercial drum roaster, but it's not nearly as flexible and reactive as a fluid bed. Drum roasters are often much slower to respond to changes in heat levels, so the tuning of the PID ends up being MUCH different. Yes, it can be done, but it's an entirely different approach that is still very dependent on getting the basics right. For instance, if your charge temp is way off, you're not likely to recover from that.
      Regarding having high initial power that tapers off later, you can certainly "trick" Artisan into doing this by the design of your background profile. Simply make sure the charge temp of your background curve is well above the actual bean temp. Artisan's PID will see the difference between those two values and apply maximum heat. For instance, if your background roast profile begins at 175 degrees F, your actual bean temp at charge is likely to be well less than this, and you'll get 100% heat that will then taper off as the BT approaches the background curve. Hope this helps!

  • @theIntuitionist
    @theIntuitionist 3 роки тому +1

    fantastic. thank you for this!

  • @sebbelcher2677
    @sebbelcher2677 8 місяців тому

    Thanks this taught me a lot. Is there any way to gracefully transition between the pre-heat phase and the roast (from charge onward?) using Background PID control? The only way I've found is to set PID to Manual mode for the pre-heat phase then charge, then go back into Control settings and set it to Background mode - but this is a lot of clicking.

    • @hermetheuscoffee
      @hermetheuscoffee  8 місяців тому

      PID doesn’t kick in until you hit CHARGE, so prior to that, just drag the burner slider to whatever pre-heat value you want… easy peasy!

  • @minitombo
    @minitombo 3 роки тому

    Great video, whats your thoughts on using the PID and artisian with a popcorn popper?

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому +1

      You’d have some challenges ahead of you, but anything is possible. I’m not sure there’s enough bean mass in an air popper to give an accurate BT reading. But you could still do it… It would just be more of an ET reading like a Sonofresco uses.
      I’m also not sure how you would regulate your temp. Is it simple on/off, or variable? Depending on which it is, you’d have to find the right Phidget or interface to control that, then tune it.

  • @hengkaiwee
    @hengkaiwee Рік тому

    Hi Jason, thks for this wonderful video! How do i configure artisan to output the pid values to the phidget hub? Where is this configuration done?

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому +1

      Thank you for the kind words. Please see my video "Controlling RC Servos with Artisan Software". I cover how to configure Phidgets for this exact purpose!

    • @hengkaiwee
      @hengkaiwee Рік тому

      Thks for the reply! I had watched that video as well! Great video too! So can I apply this setup with Phidgets on Aliexpress Smolo 150g model? I ordered one and is on the way. I am excited to explore the possibilities.

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому +1

      @@hengkaiwee yes, you can use Phidgets on the Smola. The most difficult part will be the coupling attaching a servo to the heat knob shaft. You’ll have to fabricate that.

    • @hengkaiwee
      @hengkaiwee Рік тому

      Hi Jason, I am trying to 3D print a servo to potentiomter adapter and see how it works out. If it goes well I would have an automated roaster!

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому

      @@hengkaiwee great to hear! Yes, you can 3D print a working coupler. I would recommend a 0.2mm nozzle if you have one. The servo teeth are so tiny, a 0.4mm nozzle can’t really create them. Of course, you COULD just make a smooth inner cylinder and kind of smash/force it onto the servo. 🙂
      Good luck!

  • @vadimolshevsky9143
    @vadimolshevsky9143 2 роки тому

    Can I use PID technique successfully with KN-8828B-2K+ ? What would be the best Artisan PID roaster for home use?

    • @hermetheuscoffee
      @hermetheuscoffee  2 роки тому

      I suppose anything is POSSIBLE, but this tutorial will absolutely NOT apply to the HotTop roaster.. A HT Roaster Interface exists (that could use Arduino/TC4) that would allow Artisan to control the heat programmatically, but then extending that to PID would be a complete unknown from my perspective. I don't own or know much about the HotTop, so you'd be on your own to figure it out. I'm also not sure how to define a "best" home roaster for Artisan and PID. Obviously, knowing a budget would help, but even then, I'm not the best person to answer, simply because I don't know much about home roasters. What I know well is the Coffee Crafters Artisan series, so if your budget allows, I would wholeheartedly recommend their Artisan 3e as a home roaster, and there is a plug-and-play PID kit for it. But you're still looking at about $4,000 (USD), so this might take it out of the "home roaster" category. AliExpress has some PID/Artisan air roasters that have a 300g capacity for under $1,000, and those could be worth looking at. I hope this helps.

  • @elmills81
    @elmills81 3 роки тому

    Thanks again for sharing this, along with the previous video on how to install the servo. How do you handle the fan speed? It doesnt look like you have that part automated and if you change the fan speed/loft does that impact the way the machine responds?

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому +1

      I’m working on hooking a servo up to my loft motor right now, actually! It will unquestionably “work”, because it’s the exact same process as getting the heat servo hooked up. The unknown is whether it’s an improvement in usability. It’s a very sensitive potentiometer, so I THINK this will help. But it’s not PID-controlled. It will just be via slider/keyboard commands.
      To answer your other question, changing the loft certainly impacts the heat to the beans (less loft=more heat). The PID accounts for it effortlessly. This is something I never quite got the hang of when manually adjusting loft/heat. PID was a huge improvement there.

    • @elmills81
      @elmills81 3 роки тому

      @@hermetheuscoffee thanks for the clarification. I wouldn't have guessed I the pid would handle changes to air flow as easily. That makes this project seem much more intriguing to try. Ordered my servo and phidget board this evening.

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому

      @@elmills81 great! Did you go with thermocouples or RTD’s?

    • @elmills81
      @elmills81 3 роки тому

      @@hermetheuscoffee I ordered 2 RTDs and a phidget sensor as well, but currently using thermocouples. Will likely do the full install in the next 2 weeks.

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому +1

      @@elmills81 Excellent. That's the right approach. To be clear, though, you'll need TWO Phidget RTD modules. Unlike the Phidget thermocouple adapter, which supports up to 4 TC's, their RTD interface only supports 1 RTD. So you'll need 2 RTD's, 2 TMP_1200's, and a VINT hub. I'd go ahead and get the M12 mounting nut for the RTD as well, since you can NOT use the stock thermocouple mounting location. The top of the RTD is not high-temp capable, so it must be outside the roast chamber. Good luck!

  • @thr3shold
    @thr3shold 2 роки тому

    How would you go about limiting heat source during different phases? E.g. only allow the heater to use up to 50% during the drying phase, but allow for up to 100% thereafter?

    • @hermetheuscoffee
      @hermetheuscoffee  2 роки тому

      Hmmm, I'm not sure how you'd go about doing this (if it's even possible). May I ask why it would be necessary to do that? The main benefit of using PID is that it removes burner control as a variable you need to worry about. The software will set the heat at WHAT IT NEEDS TO BE in order to hit your target SV. To artificially limit the range of heat available to PID seem odd (but it doesn't mean there's not a reason I'm not envisioning).
      For instance, let's say you have a small batch of delicate Geisha (or Gesha) coffee, and you're afraid of blasting it with a massive amount of heat initially. IF we could somehow figure out how to limit the PID to 50% of the available heat, it likely wouldn't be able to keep up with your SV curve. There's not enough heat available to do it. So in essence, it's extending the amount of time it might take to GET TO the point where you allow it to have 100% power. THUS, what you should REALLY do is change your background curve profile! Slow down that first part, which will prevent the PID from needing to dial up more than 50% heat. Again, even if we could figure out how to do what you asked, it would ultimately result in a curve that is different from your SV curve, which means you'd want to go back in and fix that... which in an of itself would negate the need to limit the burner to 50%... it's a circular process! I hope this makes sense.

    • @thr3shold
      @thr3shold 2 роки тому

      @@hermetheuscoffee It does. I also have a homebrew roaster and it is hard for me to translate what I see in videos and such into meaningful techniques and guidelines for me to use on my roaster. I've been frustrated roasting a few dozen pounds and not getting one decent cup out of it. I'll give your suggestions regards the pid values a whirl and see what's what.

    • @hermetheuscoffee
      @hermetheuscoffee  2 роки тому

      @@thr3shold ah, if this is a DIY roaster, then I’m not sure how helpful my baseline settings will be. Probe placement is CRITICAL in getting decent roasts using PID. If it’s too deep in the bean bed and/or in the airflow, you’ll be chasing your tail. I would suggest joining the Fluid Bed Roasters group on Facebook and posting your Artisan screenshots and settings there. You’ll get more perspectives than just mine, including from many people who have DIY air roasters.

  • @erharddinges8855
    @erharddinges8855 2 роки тому

    Understood all, but where and how are the thermocouples to be connected? I have a 204K Voltcraft that works fine when manually roasting. Please give me ideas! I did find the Phidgets for sell, but only in big quantities.

    • @hermetheuscoffee
      @hermetheuscoffee  2 роки тому

      Did you try the Phidgets website? www.phidgets.com/?&prodid=1202

    • @hermetheuscoffee
      @hermetheuscoffee  2 роки тому +1

      The Voltcraft will no longer be used (unless you add a second thermocouple). To connect to a Phidget, you’d cut off the yellow plug at the end of your TC, then insert the wires into the TMP1101 Phidget. If your TC has a yellow wire, that is your POSITIVE (even if the other wire is red). But even if you get polarity backwards, you won’t hurt anything. Your temps will just move in the opposite direction. So hook your TC to the TMP1101, hook a servo to the RCC1000, and hook BOTH of those to the HUB0000. Then the hub will have a single USB connection to your computer to configure from there.

    • @erharddinges8855
      @erharddinges8855 2 роки тому

      So you only use one thermocouple for BT and no other.
      The Hermetheus is very expensive and Phidgets are difficult to get here in Austria- in Canadian shop is a limit =+ 200 $ +transport+customs+long waiting- I first will change my steering, so that the servomotor could be used. Alternativly I should look for ARDUINO-solution. Until now I did not find an instruction for it. Anyway, some claim for manually roasting only, for better results. You seem to be convinced of success in automation!? Thank you so much!

    • @erharddinges8855
      @erharddinges8855 11 місяців тому

      Does the Prometheus Co-Pilot include the Phidged and the steering motor, and what is to be installed on Artisan? I am kind of confused.

  • @jazzloggins1715
    @jazzloggins1715 3 роки тому

    OK so what I’m trying to do is roast my own blends obviously I’m having issues because number one I don’t know how to use an artisan at all please assist me plan and goal is to have my own roasting company in Oakland California I’ll never stop till I get it thank you

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому

      You don’t know how to use an Artisan meaning the roaster or the software? (They’re both named Artisan). In either case, UA-cam comments aren’t the best place to remedy that. Both Coffee Crafters and Artisan software have plenty of guides and documentation on how to use their products.

  • @brianhjmarklarsen5146
    @brianhjmarklarsen5146 3 роки тому

    Hey Jason. Why am I having the heat turning on and off constantly (Pulsing) with a temp difference of like 20°C every 10 sec. How do I get out of this misery?

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому

      Impossible to diagnose without knowing anything about your setup/roaster and seeing the Artisan output. But generally speaking, oscillation means too much P and/or not enough D.

    • @brianhjmarklarsen5146
      @brianhjmarklarsen5146 3 роки тому

      @@hermetheuscoffee I dont know what happened to my previous answer, but its not here anymore. First of all, thanx for answering my question. The project is basically Dan Lawrence's "PID Control of a Fluid Bed Coffee Roaster" Im using a 50-100 Gr. fluid bed roaster. But its not working. If I keep the P low, the curve stays like 30-40°C beneath the target line. If I rise it, it starts oscillate. There must be something wrong with this setup🤔

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому

      @@brianhjmarklarsen5146 what PID values lead to oscillation vs 30 degrees under SV? This would be easier to diagnose on the FB group, not here.

    • @brianhjmarklarsen5146
      @brianhjmarklarsen5146 3 роки тому

      @@hermetheuscoffee Which group?

    • @hermetheuscoffee
      @hermetheuscoffee  3 роки тому

      @@brianhjmarklarsen5146 sorry, you mentioned Dan’s guide, so I thought you were already a member. It’s the fluid bed roasters group on FB. Darren Addy is the admin. Join us! 😃

  • @erwinjuniar87
    @erwinjuniar87 2 роки тому

    how do you determine the value of kp, ki, and kd

    • @hermetheuscoffee
      @hermetheuscoffee  2 роки тому

      I’m confused by the question. This whole video is meant to help answer that very question, including examples/graphs of values that DIDN’T work for me. So your question is SUPER generic… my honest answer would be to watch this video and then ask more specific questions if you’re not getting the results you want.

  • @Gogos0
    @Gogos0 19 днів тому

    This doesn't seem to work on a Drum Roaster.

    • @hermetheuscoffee
      @hermetheuscoffee  19 днів тому

      Yes, you'll need drastically different PID values, but the approach itself can still work on a drum. I use this approach on a commercial 2kg drum before switching to fluid bed.

  • @DelHollowProductions
    @DelHollowProductions Рік тому

    Mr. Scott. First thank you for your contribution. Q1: Why did you not use "Look Ahead" again? Q2: Why didn't you start on drop?
    Just a supportive comment, you do have tracking nicely - and - the program may call the particular settings menu PID; but an observation, you however, are are not doing PID control. You are doing some modified brut-force PD control - which does seem to track with your air roaster/fluid bed equipment. And that value for the derivative is so far out of whack - why? No disrespect to your understanding of controls, but my understanding of each part of PID controls has a purpose. In layman's terms, P: is backwards looking. I: is for error correction and D: is forward looking. Could it be that the massive derivative value you used and no "look ahead" are related. Impressive control of the on screen tracking but I can't quite grasp the plan.
    All seems to be the goal of bean roasting - is the beans. I get it. Roasters are interested in controlling and tracking the beans' passage from START to DROP through time and temperature.
    Repeating, no criticism in performance, I suppose if it's Saturday night and you are itching to ride into Dodge City to see one of Miss Kitty's girls, I don't suppose if you ride a horse, mule, catch a buggy or ride a cow to get there - what matters is getting there. I've not used the software yet which is why I'm combing the internet for software set up videos. This does help. Thank you, and thank you in advance. there's some useful information there.

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому

      Thanks for the feedback!
      For Q1, I'm not OPPOSED to lookahead. It just adds an unnecessary variable in my opinion. Lookahead literally just shifts your entire graph of time/temp pairs by the number of seconds you specify. So if, for instance, you really wanted your temperatures to be 10s higher than your background curve, why not just redesign your background curve. In Artisan, you have full control over the curve.
      Q2: I'm not sure what you mean "start on drop". In Artisan, a roast technically starts on the CHARGE event. It then ends on the DROP event.
      PD vs. PID: Pedantic observation, but TECHNICALLY accurate, so no argument from me. :D FWIW, I've gone back to using a tiny amount of I value, so I'm technically back in the PID club. They didn't permanently revoke my membership.
      You're close on your description of the PID values, but P isn't backwards looking. It's the "P"roportional response to the delta between the desired value and the ACTUAL value... at this very moment. So P is "at this moment". As you say, I is corrective... it DOES look backwards by looking at how long a delta has been present. And yes, D is forward-looking.
      You mentioned not grasping the plan, but then I think you went on to describe the plan quite well... a consistently-controlled coffee roast! :)

    • @DelHollowProductions
      @DelHollowProductions Рік тому

      @@hermetheuscoffee - Is that what "Look Ahead" literally does? Being new to it, I know I drive better when I look a little farther down the road. I'm thinking driving curves, you know, like curve fitting. Are you on the Artisan Development team? If so thank you.
      I admit, what you did made no sense beyond trying to launch PD control "under setpoint" thus keeping a positive difference. You did voice a reason otherwise I could say it was the random difference between your curve and your actual actions.
      I mean, if one goes to all the effort to create a profile and extol the greatness of PID - and then - deliberately miss the temperature?
      When we integrate a function, we effectively sum the area under a curve. Your PD method may not be noisy but it introduced error. Now honestly, its a bit as asinine as sampling every 500ms drying coffee seeds to talk about integration or even PID. It's using a GAU 8 to down a housefly. Wouldn't you agree?

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому

      @@DelHollowProductions Yes, lookahead truly is as simple as replacing the current set value (SV, aka Bean Temp) with the one that is x seconds further into the future. I think people WANT to believe that it's more complex than that. That it somehow still TARGETS our "right now" SV, but has a "future knowledge" of what's coming in the future. It doesn't. It would be great if it did, though, right?
      No, I'm not a part of the Artisan dev team. Like you, I'm simply grateful for their efforts and want to do my part to help the product continue!
      I didn't entirely understand your comment about deliberately missing the temperature, but I THINK you're referring to my suggestion to make sure that your background curve is at a higher temp than the beans at "CHARGE". This is simply a way to get the PID to jump on the heat right at the start of the roast. If your SV is LOWER than your BT, then not only do we have to wait for the SV to rise above that, the PID will inevitably be slow to ramp up to 100% heat (which we very often need at the start of a roast).
      As for the 1/2s sampling rate, that's also fully configurable, so you can change that to whatever you want. From extensive testing, I've found that a really stable temperature device like an RTD doesn't need fast sampling rates. K type thermocouples inevitably have a bit more variance from reading to reading, so I find that having more samples make an "errant" sample less impactful the resulting heat calculation... but here's a trick I use: while I specify 0.5s sampling rates, I set my heat control velocity to a full 2 seconds. This means that whatever heat % Artisan says we should be at, it will take a full 2 seconds to execute that command. So if we get a "noisy" or errant BT reading in one sample and the algorithm cranks the heat, it will correct itself on the next sample well before it ever really had an impact.
      In the end, I'm pragmatic. The settings I arrive at are unique to the specific roaster I'm on. They can be DRASICALLY different from another roaster.

    • @DelHollowProductions
      @DelHollowProductions Рік тому

      @@hermetheuscoffee - why is it there? Do you think? Somebody went to the effort of coding it. I see no explanation in the Artisan documents and only one blogger who "guesses" he knows what it does.
      The thing about controls is - we will have measurement/sampling error. There's no way around that. They say "Close enough for horseshoes and hand grenades." This is coffee roasting, as far as the goals of process controls, your ridiculously high derivative PD control is a total technical failure - BUT!!! close enough for coffee.
      Hand grenades and H-bombs do need a level of precession, but not like a sniper's round. It's just coffee, so the fact your approach ensured error nearly100% of the time with nearly 100% certainty is no big deal. It's adequate. It's good enough. I mean, coffee ages and changes. Brew methods are inconsistent, taste is mostly opinion and always subjective.
      Probe lag can be dealt with, "noisy" probes - really aren't an issue. Consistently undershooting target can be. I mean, not coffee because, you know, it's just coffee. It's not like chemical processing where 0.1 degree makes a difference. But I get it, a jagged plot makes some feel bad.
      You know for a flipping fact, the real temperature the bean sees is not bouncing that much. But in Process Controls we WANT to be on both sides of the line over the entire process. Unless there is some very specific danger, what that does is it negates much of the practical error because, ceteris paribus, we are just as much over and under and over the time - we are functionally - spot on.
      To your defense, It followed a smooth curve well. I was not what anyone would call highly responsive. But, it's coffee and much of the hobby and passion, the debated discussions are.... wait for it... not worth a hill of beans - other than entertainment. Hand grenade close. So the fact that your "PID" method was 100% off most of the time (possibly - 100% of the time, did you ever cross the line or was the closest points just asymptotic)? It just doesn't much matter. I mean, if the drying is different - does it shift the maillard? ...or final development?
      So once again, happy cupping brother.

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому

      @@DelHollowProductions rewatch 12:30 - 14:30 and I address the high D value. Yes, if you are coming from a non-roasting world, the D value here is very high. However, it's the opposite of a "total technical failure". It does exactly what a skilled roasting HUMAN would do to keep the BT on the curve. Gentle inputs to the heat control. There would be NO oscillation and large swings of heat. These are the PID settings that make an Artisan roaster work, and in fact hundreds of other Artisan roasters around the globe.
      My BT IS on "both sides of the line" in this video. BT begins under the curve up until about Dry End. Then at the 14:15 mark of the video when I'm zoomed in, you can see it has edged JUST above the curve. And in both cases, the roaster doesn't make drastic changes to the heat (because they aren't necessary).

  • @stevenreeves4766
    @stevenreeves4766 Рік тому

    that is a big assumption. lots of roasters dont have the control abiltiy without rebuilding the whole thing.

    • @hermetheuscoffee
      @hermetheuscoffee  Рік тому +1

      This was meant to be a tutorial on how the P-I-D parameters function and how to configure Artisan to do so. I make no assumptions that all roasters are capable of this. Anything from Coffee Crafters is golden. Anything else, I don’t know.