Author Topic: roaster control widget  (Read 56419 times)

Offline mp

  • Standard User
  • *****
  • Posts: 16800
  • Nothing like a nice shot!
Re: roaster control widget
« Reply #45 on: January 13, 2009, 09:01:58 AM »
I thought that's why God gave us ears, to hear coffee cracking...

Yes ... of course Peter ... but we are talking about automating process here.

 ;D
1-Cnter, 2-Bean, 3-Skin, 4-Parchmnt, 5-Pect, 6-Pu
lp, 7-Ski

johnr

  • Guest
Re: roaster control widget
« Reply #46 on: January 13, 2009, 11:05:55 AM »
Ha, welcome to the automation rabbit hole mb! ;D As you're starting to discover, interfacing the monitor/control stuff is the easy part - the more challenging part (for me anyway) seems to be figuring out how best to leverage that capability and translate it into predictable, repeatable and - most importantly - *good* roast product (not that I really know what that is but I'm getting pretty good at identifying *not so good* roast product ;D ).

Offline J.Jirehs Roaster

  • Standard User
  • *****
  • Posts: 2613
Re: roaster control widget
« Reply #47 on: January 13, 2009, 11:56:34 AM »
(........ I'm getting pretty good at identifying *not so good* roast product ;D ).

There are quit a few seasoned experts on that subject wondering these threads....   ;)

Offline mp

  • Standard User
  • *****
  • Posts: 16800
  • Nothing like a nice shot!
Re: roaster control widget
« Reply #48 on: January 13, 2009, 12:13:02 PM »
Hey Milo ... seeing as Tex has decided to keep the roaster for himself is this project still a go?

 :-\
1-Cnter, 2-Bean, 3-Skin, 4-Parchmnt, 5-Pect, 6-Pu
lp, 7-Ski

milowebailey

  • Guest
Re: roaster control widget
« Reply #49 on: January 13, 2009, 12:18:20 PM »
Hey Milo ... seeing as Tex has decided to keep the roaster for himself is this project still a go?

 :-\
Of course... but my 2- 3 days will be longer since I have to figure out how to switch between sonofresco and milofresco.. ;D.  I still need a working roaster to roast the Brazil #11 COE on :icon_thumleft:.  I'm sure I'll figure that out.

johnr

  • Guest
Re: roaster control widget
« Reply #50 on: January 13, 2009, 12:39:41 PM »
Hey Milo ... seeing as Tex has decided to keep the roaster for himself is this project still a go?

 :-\
Of course... but my 2- 3 days will be longer since I have to figure out how to switch between sonofresco and milofresco.. ;D.  I still need a working roaster to roast the Brazil #11 COE on :icon_thumleft:.  I'm sure I'll figure that out.

Is the sonofresco's standard profile documented somewhere? If so and assuming you have PID control working, you could dial it in and continue to use the standard profile while you work out additional profiles.

Offline mp

  • Standard User
  • *****
  • Posts: 16800
  • Nothing like a nice shot!
Re: roaster control widget
« Reply #51 on: January 13, 2009, 12:46:44 PM »
Of course... but my 2- 3 days will be longer since I have to figure out how to switch between sonofresco and milofresco.. ;D.  I still need a working roaster to roast the Brazil #11 COE on :icon_thumleft:.  I'm sure I'll figure that out.

Good ... that is a relief ... you've got me hooked on this one.

 :icon_thumleft:
1-Cnter, 2-Bean, 3-Skin, 4-Parchmnt, 5-Pect, 6-Pu
lp, 7-Ski

milowebailey

  • Guest
Re: roaster control widget
« Reply #52 on: January 14, 2009, 05:12:20 PM »
The milofresco controller (aka Roaster Control Widget) is coming along nicely.

I spent about 45 minutes breadboarding and connecting the temperature sensor to the Arduino and wala I have Time and Temperature streaming over the serial port (USB actually) and displaying on my laptop.  Also able to control a relay.... now to work on the profile methodology.

Any ideas??

Offline grinderz

  • Standard User
  • *****
  • Posts: 3442
  • No unjacked threads!
Re: roaster control widget
« Reply #53 on: January 14, 2009, 06:37:47 PM »
Is the heat an on or off thing for a Sonofresco? Or is it variable?
var elvisLives = Math.PI > 4 ? "Yep" : "Nope";

milowebailey

  • Guest
Re: roaster control widget
« Reply #54 on: January 14, 2009, 06:56:32 PM »
It's on - off,,,, but I may add a gas flow valve if I can't get a smooth enough curve with on and off.  I suspect the flame should stay on for some minimum length of time.  Seems the current profile in it is about 15 second on 6 off.  I plan on 1st using the widget to log the factory profile as a starting point

crholliday

  • Guest
Re: roaster control widget
« Reply #55 on: January 14, 2009, 07:40:36 PM »
... I may add a gas flow valve ...

And there went your budget!

Offline mp

  • Standard User
  • *****
  • Posts: 16800
  • Nothing like a nice shot!
Re: roaster control widget
« Reply #56 on: January 15, 2009, 05:43:42 AM »
The milofresco controller (aka Roaster Control Widget) is coming along nicely.

I spent about 45 minutes breadboarding and connecting the temperature sensor to the Arduino and wala I have Time and Temperature streaming over the serial port (USB actually) and displaying on my laptop.  Also able to control a relay.... now to work on the profile methodology.

Any ideas??

Good to hear Milo .... you go boy!

 ;D
1-Cnter, 2-Bean, 3-Skin, 4-Parchmnt, 5-Pect, 6-Pu
lp, 7-Ski

johnr

  • Guest
Re: roaster control widget
« Reply #57 on: January 15, 2009, 07:40:37 AM »
.... now to work on the profile methodology.

Any ideas??

I'm not clear on the intended form factor of the milowewidget - are you planning on building a box that you can attach to a pc and drive it from there or are you thinking about a self-contained unit with a simple led display? The answer to that question, I think, sends you down different paths. The pc route gives you a lot of flexibility/capability at the cost of a little more complexity... and this will be important if you want to do things like integrated roast logging, easy profile tracking/manipulation, bean inventory tracking, temp/rate of change visualization, etc.

Seems the current profile in it is about 15 second on 6 off.

Any idea what power level that corresponds to?

milowebailey

  • Guest
Re: roaster control widget
« Reply #58 on: January 15, 2009, 09:19:20 AM »

I'm not clear on the intended form factor of the milowewidget - are you planning on building a box that you can attach to a pc and drive it from there or are you thinking about a self-contained unit with a simple led display? The answer to that question, I think, sends you down different paths. The pc route gives you a lot of flexibility/capability at the cost of a little more complexity... and this will be important if you want to do things like integrated roast logging, easy profile tracking/manipulation, bean inventory tracking, temp/rate of change visualization, etc.


Yes... both... I'm probably going to do the roast logging pc first so I can visually see what's going on with the PID... then once I get that figured out, then I will probably build a self-contained unit with (hopefully) some flexibility but standard curves...

Quote

Any idea what power level that corresponds to?


It's propane 31,000 BTU/hr..... x 71% (15/21 duty cycle) = 22,142 BTU / hour = 6489 watts  but that doesn't include the heat loss from the huge amount of air blowing..

johnr

  • Guest
Re: roaster control widget
« Reply #59 on: January 15, 2009, 03:04:00 PM »
Yes... both... I'm probably going to do the roast logging pc first so I can visually see what's going on with the PID... then once I get that figured out, then I will probably build a self-contained unit with (hopefully) some flexibility but standard curves...

That's a good plan. I'm sure you've already given this some thought but here's my take on monitoring/control and how it relates to the profile methodology problem...

Monitoring is central to just about everything else, so it's probably a good idea to get the thermometry interface up and running before anything else. I don't know what your dev environment is but if you can use C# (mono on linux), there's an open source grapher called ZedGraph that's great for time-temp plotting duties. I don't use Java much these days so I can't give a specific recommendation for a grapher on that side but I know there's a wide selection. Whatever you use, you'll find that a real-time (or near real-time anyway) time-temp plot on screen is invaluable for troubleshooting and visualization. Also, collecting temp samples on a background thread that's independent of the UI is a good idea - it's better to have the UI's representaton of the data lag reality a bit than have artificial delays in the data stream caused by UI latency.

Control: once you have monitoring up and running, a good next step is to add manual control capability to the UI that displays your time-temp plot (the control panel, so to speak). I would start off simple and not worry about PID initially. Think in terms of power level - you could have a slider control in your UI that goes from 0% to 100% and has ticks every 10%, for instance. You already know that the sono control logic uses a 21 second duty cycle so it should be pretty easy to map proportional time to power level - a background thread could periodically wake up and cycle power on-off as appropriate according to the time mapping vs. current power setting. Of course, you could skip the manual control step altogether and go right to PID control but be prepared to spend LOTS of time getting the PID response dialed in. Personally, I prefer to hold off on that sort of fine detail work until the rest of the system is stable - but that's just me.

The nice thing here is that once you've written the code to support monitoring and translating control panel input requests into burner control commands, you basically have 90% of what you need to support automated profile control. The only thing left to do is define "profile" in the context of the automated system. The intuitive approach is to define profile as a series of control segments. There are a handful of commercial examples to draw from here, including the Ambex software and the Hottop P. Each control segment typically represents a time- and/or temperature-constrained instruction for the control system. An inherent weakness of the typical automated profile, of course, is that the segments are fixed and don't accomodate variations or overrides very well. This is mitigated somewhat if you can make simplifying assumptions about the roast environment - for example, the sono stock profile is based on a fixed load size. A more sophisticated, general purpose approach might incorporate rate-of-change instructions and event-based segment transitions (rather than time or temp) to address some of those limitations but, of course, this increases complexity.


Ok, enough rambling... hopefully there's food for thought in there somewhere. :)