Shop OBEX P1 Docs P2 Docs Learn Events
SX Coffee Roaster — Parallax Forums

SX Coffee Roaster

DunnseptDunnsept Posts: 115
edited 2006-07-23 02:03 in Robotics
Finally got revision 1 of the coffee roaster put together last night. This version does not have PID like I wanted because I ran out of code
space on the sx28. This version does not have all of the bells & whistles I want and it basically is ON/OFF control for the heater.
The other thing I need to work on is the LCD display.. it was updating so fast it was illegible.
You can see in the pics how things are wired up, I split the feed for the heater and put it on the SSR, the SX tech board then drives
the SSR and uses a DS2760 for the thermocouple.
The big green "thing" is a Salton popcorn popper. These are typical for home coffee roasters for small batches. with a non-modded one
I can roast enough coffee for a pot in about 3 1/2 minutes. The problem with roasting so quickly is that the acid stays high and the flavors
don't develop as much. Hence the sx28 mod.
I have it set now to bring temp up from room temperature to 150C, then up to 180 and hold for 3 minutes, then to 195
and hold for 3 minutes then up to 212 and hold for 4 minutes. Then it shuts down the SSR and just lets the fan run in the popper to cool down.
The LCD displays temp as it goes and at the end shows total elapsed time.
The buttons on the LCD are (from left to right) Add Time, Subtract Time,Start, ABORT
Yes, that is my BOEBOT providing power to the SXtech board as I left my wallwart at work
attachment.php?attachmentid=42367 (you can also see my next project.. anybody wanna help?)
All of the little "flakes" you see are the chaff from the coffee bean. As it heats up and expands the skin/chaff comes off and gets blown all over the
place by the roaster

attachment.php?attachmentid=42368 The beans are starting to brown as the sugars begin to caramelize. I really need to poke a hole
through the side and put in a thermowell for the thermocouple.

attachment.php?attachmentid=42369 Hard to tell because of the flash, but it shows TEMP: 165

attachment.php?attachmentid=42370 Beans are starting to darken.. This is approaching what is called First Crack. The coffee sounds like
Rice Crispies on steroids.. water in the beans turns to steam and starts to fracture the cellulose walls.. This is just about where the roaster shuts down
and begins its cool-down cycle. YUM YUM coffee!

Still lots to do, but boy does it feel good to finally have a project semi-completed.. or at least working. I still need to mount things in an enclosure.
I dont mind the open SSR too much, but it really needs to be covered. might need a heat sink too. I also dont like everything getting covered in chaff.
And roasting produces copious amounts of smoke. I also really need to slow down the updates to the LCD and want to get my PID routines in place.. so.. more to come!
stay tuned, same time, same channel!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
stand back! I have a slide rule and I know how to use it!

Post Edited (Dunnsept) : 7/6/2006 1:14:49 PM GMT
450 x 338 - 39K
450 x 338 - 40K
450 x 338 - 25K
450 x 338 - 39K

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-07-06 14:28
    Interesting Project...That SSR looks like a Crydom H12D4850 or similar.· We used one in our Solder Pot controller, which is running a 600W heating element.· We didn't heatsink that SSR, but it is mounted to a metal case.· I wouldn't guess yours even gets warm.· In any event the part I wanted to offer some advice on is that you said the display updates so fast it is unreadable?· Are you clearing the LCD at the beginning of each update?· If you simply home the cursor and redraw the screen it shouldn't do that.· You can always pad the end of the text with a few spaces to erase trailing characters.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • DunnseptDunnsept Posts: 115
    edited 2006-07-06 14:50
    what I am doing is printing "TEMP: " and then the temp from the TC. Then I back the cursor up 3 spaces and print the temp again. I was trying to avoid re-printing the entire text again, but might because I'd like to add time to the display either as elapsed time or time remaining in that stage (or both). but I'm letting the code loop through full speed and when the SSR is on, the temp climbs rapidly. The numbers change so fast you can't read them. In the third pic you can read the temp (sort of) but only because the camera had a fast enough shutter speed.
    the SSR is a Watlow 25A that I borrowed from one of my watlow temp controllers. no, it didn't even get warm, but it doesn't hurt to put a sink on it.

    "interesting project"? is that as in: WOW interesting.. or "what the? why on earth would anybody do something as ridiculous as that?" I guess it only really becomes interesting when you are a coffee geek/addict like I am
    Also this project is a prelude to the next.. a RIMS brewing setup. RIMS = Recirculating Infusion Mash System. The SX will control mash temperature, flow and whatever other parameters I find to control wink.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!

    Post Edited (Dunnsept) : 7/6/2006 3:11:34 PM GMT
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-07-06 15:16
    I'm not sure if backing up the cursor at high speed would do that.· You don't have the cursor on, I assume?· As for interesting, I guess I never really thought of a popcorn machine as a coffee roaster...So I found that interesting.· My wife is away for the summer, but when she gets back and sees that she'll probably ask how long before I build her one!· Then I will be posting, "See what you started?"· =)·· As I said, we used many of the same components in our Solder Pot controller...

    http://www.parallax.com/html_pages/resources/catapps/cat_solderpot.asp

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • DunnseptDunnsept Posts: 115
    edited 2006-07-06 15:26
    check out Sweet Marias for more info.. I don't order from them any more because shipping is too high since they moved out to california (they used to be in ohio and I'm in Michigan)
    once you get started, there's no stopping. the coffee is so much better. when I first started roasting my own coffee, my wife thought I was an idiot (still does btw) but now she's mad at me if I dont roast often enough. The major problem with this is that "regular" coffee just tastes nasty.

    anyway.. no the cursor is off. I think part of the problem with the display is also how I am calculating the temp. the ds2760 returns 12bits for the temp, but on the SX I have to split it up into 2 bytes. I then have to sort of cobble things around trying to display correctly AND make comparisons with 2 bytes.
    Without problems it can go up into the 180/190 range and displays just fine, but when the temp goes above about 220 it starts display odd characters. That's one of the other things I have to fix. I'm going to put a few pauses in just to see the display better and see what's coming out and then go from there on the fix for it.
    Obviously this would have been easier on a stamp since I could have just used words. sure can't wait for the next version of SX/B with word support, would make these types of projects so much easier.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!

    Post Edited (Dunnsept) : 7/6/2006 3:29:57 PM GMT
  • steve_bsteve_b Posts: 1,563
    edited 2006-07-06 16:32
    I'm thinkin the missus would be interested in that....

    any chance of a code post?

    Cool idea!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • DunnseptDunnsept Posts: 115
    edited 2006-07-06 17:28
    as soon as I get it cleaned up (it's awful right now) I'd be happy to post the complete code. Most of what I have is already in the forums in various pieces/parts as I've asked for help getting it to work. I'm hoping to get the PID version working on the SX48 soon. as soon as I get it cleaned up, I'll post the complete code for the roaster as it stands now (that is, non-PID, on/off or maybe differential gap)

    paul...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!
  • tperkinstperkins Posts: 98
    edited 2006-07-07 18:16
    Could you post the pseudocode or actual code for the PID that wouldn't fit? I'm sure it could be made to fit is why I'm asking.

    Yours, TDP, ml, msl, & pfpp
  • steve_bsteve_b Posts: 1,563
    edited 2006-07-07 19:08
    tperkins, there's some PID related "lessons/tutorials" in the 'Stamps In Class' forum page. Andy did quite a good job laying it out for the newb!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • tperkinstperkins Posts: 98
    edited 2006-07-07 19:17
    Thank you Steve, I know PID.

    I was just looking to fit it into the SX28 along with the rest of his app.

    Yours, TDP
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-07-07 19:45
    Now that it has been mentioned I am actually quite surprised that it wouldn't fit myself.· The actual routines shouldn't take up that much space.· There may be a way to condense the program and/or subroutine reptetive commands/groups of code.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • DunnseptDunnsept Posts: 115
    edited 2006-07-08 13:10
    the PID stuff isn't too big in and of itself. I was trying to make it a full-fledged app. with LCD display, where it prompted you for each stage's time and temp and a whole bunch of other stuff. It then would bring up from room temp and once it hit about 350 it started the pid routines.. Now that sx/b 1.50 is out, I'm going to re-write the whole thing. I had to do lots of wierd stuff to deal with a 12bit temperature in 2 bytes. word support should make it much easier and remove quite a bit of code.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!
  • tperkinstperkins Posts: 98
    edited 2006-07-08 14:24
    I'll bet you could have just Prop control plus a minimum output when roasting (manual reset for the old temp control hands). And I do wonder if all the dwell temps are needed, perhaps you could go to one roasting temp and stay there? Maybe integrating the temp over time over a certain temp and then dump? If the process is well mixed/stirred, that could work out. I'm sure you don't need derivative.

    Yours, TDP, ml, msl, & pfpp
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-07-08 20:40
    For such things as Soldering Stations, Solder Pots, Temperature Control for heating, etc. Differential Gap is fine.· I am not a Coffee person, but perhaps PID would be desireable for that perfect roast.· Of course, PID needs to be tuned to some degree and I found that results vary on how fast/slow the device under control responds to changes (hence tuning).· I haven't done much experimentation with it, although Andy Lindsay has a nice tutorial for doing it with a BASIC Stamp 2 in the Stamps In Class Forum.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • DunnseptDunnsept Posts: 115
    edited 2006-07-09 01:29
    yeup.. I read that tutorial. The main thing for roasting is that you want to follow certain 'profiles'. That is, bring the beans up to say 350 or so and hold there for a few minutes. this allows the moisture to begin to leave and makes the beans lighter thereby improving fluid bed movement and heat transfer (at least that's what others tell me).
    then raise temp up, hold for a while, raise again and hold for a while to allow the sugars to caramelize (I think this is around 390F bean temp)
    I had a post in the SX forum the other day about my code. Bean answered that first my SUB declarations were in the wrong spot and then the other error I was getting (same memory location will be overwritten) was due to being out of space.

    let me re-write my temp routines with word vars and I'll go from there. I probably don't really need "full PID" but was putting it in just for the hell of it. P would probably be enough although the heater does react very quickly, I and maybe D .. who knows..
    time to play around and find out!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-07-09 01:33
    Dunnsept said...(trimmed)
    sure can't wait for the next version of SX/B with word support, would make these types of projects so much easier.
    Aren't you just in luck?!

    http://forums.parallax.com/showthread.php?p=595125

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • DunnseptDunnsept Posts: 115
    edited 2006-07-10 12:53
    yea.. I have it downloaded already.. but now I have to go fix-up my code because it won't compile anymore. Also have to figure out which routines have to stay & which have to go since I don't yet know if things like OWRDBYTE will be replaced with things like OWREAD or something more like pbasic.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!
  • bsparkybsparky Posts: 52
    edited 2006-07-17 01:29
    Dunnsept ; looks like a great project so good a friend of mine want me to make him one, he's a coffee nut . But we were both wondering about the fan and heater coil if you had them seperated or if you were turning them both on and off with SSR. My friend thought that the fan should stay on all the time then after the beans are done the fan could stay on to cool the beans down. Would think that the lower voltage for the fan was being derived from the heater.

    Post Edited (bsparky) : 7/17/2006 11:55:51 PM GMT
  • SuperwormsSuperworms Posts: 118
    edited 2006-07-17 19:01
    nice job, been away for a wile but i am back.btw last week was my half birthday
  • DunnseptDunnsept Posts: 115
    edited 2006-07-20 16:46
    superworms: half birthday? what the heck is that?
    bsparky: There are two coils inside the popper. One provides the majority of the heat for popping (roasting) and the other mainly provides voltage drop for the fan. The fan stays on all the time as does the small heating element because of the voltage drop. The fan is somewhere around 24V, and is DC. I am only controlling the larger heating element. There are a couple ways to do this too. I split the wiring harness apart to do mine but there are others with instructions online who have used the thermal overload switch as theirs. I think I'd rather leave the overload in place even though I do have code in place to shutdown if temp goes too high.
    I've been without power at home for a few days and haven't touched the code, now that it's back on, I'll clean up the code and post it along with a crude schematic. With just the on/off control now, temp fluctuates about 5-10 degrees above and below setpoint.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    stand back! I have a slide rule and I know how to use it!
  • bsparkybsparky Posts: 52
    edited 2006-07-23 02:03
    Thanks for the reply Dunnsept, now I understand, have not had a look at one of these poppers . My friend uses them too he has a couple of them. we plan during the winter months having two of them connected to one stamp. He says he usually does two batches at a time. So while one is cooling the other is roasting. Will let you know how we make out and share any insight we find tackling this project. Regards Bill
Sign In or Register to comment.