Ugh… they really should sell a manual for this thing.

On my way through the I2C problems I downloaded the PIC32 Family Reference Manual from Microchip. I was looking things up and it wasn’t so bad due to it being broken into different sections. There was one section on I2C so I mainly focused on it. I then started figuring out that perhaps it would be nice to search around for things across the whole manual. At that point I discovered that you cannot join each chapter/section together to form a big master PDF file.

I then started considering actually just printing it out instead but realized it was kind of big. I then decided I wanted it to be bound together and began looking at Staples to have them just do the whole binding thing into a single book with a stiff cover on it. I started uploading files one at a time (because they don’t have a bulk upload function)… and then discovered that they don’t have all the chapters/sections written yet. There is probably like 4-5 sections that simply don’t exist. You have no idea what they talk about because there is no master index yet. Reading through the manual there are sections that have been revised in 2007, 2008, 2009, etc. They’ve been working on writing the manual for almost 4 years now and STILL are not done yet.

I decided if it wasn’t complete I wasn’t going to take it to Staples and have them bind it together. Instead I’ve now been printing it out for the past few days on my laser printer and binding it using those plastic coils. I’ve now made it to section 20 printing duplex pages. I think there’s about 10 more sections to go. It’s getting pretty close to a ream of paper it looks like. I’m going to do the 5/6/7xx family data sheet too I think since I reference that a lot. That’s another 230+ pages (130ish double sided… not sure the exact number of pages it is off the top of my head)

I’m also considering getting the pin out graphic (or making my own) and colorizing it and having it blown up to print on a wide 30-40 some inch color plotter. It’s really difficult to program all these things without looking up which pins are being used on the starter kit. It’s FURTHER complicated not knowing how the starter kit hooks to the header pins and the various accessories. There also seems to be several pins that probably do not connect at all making things even more fun!

I’m “taking a break” from coding for the moment. I’m trying to use SPI to get it talking to one of the temperature sensors. I’ve got it initializing the SPI area and it SEEMS to be talking to the sensor. I had worked on another sensor earlier and it downloaded calibration data from the eeprom but none of it seems to mathematically make sense. Everything seems to be off pretty significantly. The only thing I can think of is I’m off a few decimals or something somewhere in the process. I think I really need to start printing out more sensor data sheets and start comparing them side by side with the manuals for the PIC32. There is something wrong with the reading process where it seems to hang sometimes and not others. The eeprom read comes back with the same numbers each time when I randomly bounce around in any order so it SEEMS to work but I can’t really get anything usable out of it yet.

I also discovered another problem at the end of last month. Apparently on the 30th and 31st of the month the real time clock doesnt show the right date. I can set it into the clock chip and back out. When it goes into the PIC32’s clock it converts it back to a 1. It is my guess now that there is some sort of Decimal / Binary / BCD / Hex conversion problems.

More ordering

I have now ordered a series of parts from Mouser. This includes some lead free solder (ouch that stuff is expensive), flux, several different crystal oscillators and what I THINK to be matching capacitors, as well as a ton of headers for jumper cables. I entered a ticket for Microchip more than a week ago and have received no response whatsoever from them regarding the oscillator. Reading the instructions there was no mention of a type of crystal to use beyond 32khz. They mentioned 11pF capacitors of 0603 size. From what I can understand it SOUNDS LIKE in a properly designed board if you have a 6 or 7pF crystal you install an 11 to 14pF capacitor when it has short runs for the wiring etc. HOWEVER yesterday I found on the ethernet board they explicitly defined the crystal as a 12.5pF crystal. In my observations it appears that if you use 12.5pF crystals you should use 22-27pF capacitors, though.

The unfortunate problem is some people report using 11/12 capacitors with 12pF crystals and other report needing to use 27 etc. I’m thinking it MAY depend on the manufacturer of the crystal as to how sensitive it is and needing more or less power from the caps to be held up to trigger the oscillations of the crystals in addition to the variables of the individuals circuit layout. In other words some times it works no matter what and others it does not.

I still need to get some solder paste in addition to the rolled wire solder. I had issues identifying this on the Mouser website in the search except for a couple versions that had more than five tubes as a minimum. I do not have need for / ability to consume more than one syringe/tube right now so I need to find a vendor to procure some from that does one at a time. I stumbled across one a few nights ago that sells one at a time but I’ve not had time to dig through the browser history to find my way back there yet.

Once I have the solder paste and after the parts arrive mid week I can solder in the crystal and caps to see if they work for the timing functions and continue my efforts at programming the interface. Most of my programming is going to wrap around being able to gauge time changes happening so I need to wait for that to happen.

Currently I have a thermocouple breakout board that I will be attaching to some of the IO lines. I also have on order a relay board that has not arrived. Once the relay board arrives I can attach it to the development board and configure it to turn on the fan when the program run starts and not to turn it off until after the heat drops to a safe level. The heat will trigger on and off to maintain the desired ramp at this time. I will eventually replace it with a variable “dimmer” once I work out the other kinks in the system to give it finer control.

Early July Update. Observation on SR500.

Having been offered full time employment starting the middle of July after approximately 2 years of unemployment things are looking good for getting some progress on this project. LOL! While this may sound odd this is actually good due to the fact that I’m building (if all goes properly) a somewhat professional-esque coffee roasting computer. It takes a lot of money and resources to design this thing. I’m already into the project around $300-400 worth of circuit development kit gear and need a lot more stuff. In the end I’ll have a complete system that will be significantly cheaper to build but still have all the development kits to make other projects. I chose that route because of the “other projects” for down the road instead of only buying the things I need right now. While having full time employment will limit my available time it DOES however allow me money to keep purchasing all the parts.

Most projects you find on the internet for a coffee roaster use something like a Basic Stamp or some other very limited processor. It also usually involves hooking together a few things someone finds off eBay hooked together with some various wires and connectors salvaged off some old computer equipment and other devices abandoned in the garage. By the time it’s done you get a picture on the internet of some “finished” popcorn popper that looks like it’s about 30 seconds from taking out a corner of your house into a huge crater or like it’s some sort of industrial wiring project of conduit and electrical boxes.

I’m intending on making this thing as small as I can make it and sealing it up inside a electronics case with a single cord or perhaps a cord and a sensor wire that plugs into the back of the case that leads to the roaster. I don’t want 50 million little cords and sensors and clunky switches and other doo-dads spread across my counter. I also want to be able to pick the whole thing up and move it somewhere else without accidentally cracking off a wire and needing to re-solder it. I don’t know about you but I love my coffee. I don’t love having to re-solder the wiring just to roast some more or being unable to use my kitchen for anything else.

My Kitchen is not that big. It cannot accommodate a lot of “stuff” strewn around it. so the entire thing will need to be compact. As a result I intend on having a case that has a LCD touch screen installed. It will probably have a LED or two and at most probably a single power switch on the front edge or side. I will likely try to design the circuitry so that it fits onto one or more circuit boards stacked on top of one another. The LCD will be mounted on top with various connectors and other items stacked below it. I’m reasonably sure I can shrink the majority of this down into a space about 4″ by 6″ and about 1.5 to 2″ tall.

As mentioned I recently purchased the PIC32 development gear. At the moment I’ve been working on the GUI. This is a lot more complicated programming than I’m used to. Additionally I’m having a few “weird” situations where LED’s on the starter kit are lit that I don’t seem to understand why. When I turn on an LED that is normally off things work fine but then when I programmatically turn that one off the LCD turns off too though they shouldn’t be connected at all. The other LED works fine turning it on and off the same way. One of these LEDs simply stays on all the time no matter what.

At the moment I now have a “splash screen” functioning. I touch the screen and it continues to a “Home” menu. From there it offers several buttons to run the manual or the automatic roasting menu. There is also a provision for a Setup menu. I am still waiting for the ethernet to arrive that will allow me to download roasting data out of the system or pre-configure a roast from a web page. It currently draws temperature onto the screen from some “made up numbers” I have the thermocouple and the chip that will convert the sensor reading to numbers but need to solder it to a board that I can connect to the processor. I also need to do the same with the clock chip that I have as well. The processor has built in clock routines but they only work while the system is turned on. As soon as you cut power that clock loses it’s data. As a result I will program the system to read the clock chip every time the system turns on.

Over the next few days I will program the roasting screens to change certain display areas based on the simulated temperature numbers and then integrate the “control” portion where it then stops the increase in temperature and then tries to increase it appropriately. I still need to figure out the timer stuff… it doesnt seem to run on the demo and I was thinking it had to do with an oscillator being missing but this seems to be related to USB stuff in the documentation for the starter kit. This doesnt seem right though. I need to figure that out and then the next step is to start ordering all the pin headers and not included on some of the other boards. I’ll try to figure out a few more of the parts that I’ll need and order those in the next few days as well so I can keep working on this. Assuming I’m right that the crystal is required apparently Microchip decided to save 83 cents by not including the oscillator.

Also as a side note. Due to the job offer I completed a move to Northern California from Central California which has kept me from messing with the coffee much until now. A variety of coffee that I roasted here with the Fresh Roast +8 took approximately 6 minutes to hit second crack. Using a SR500 where I used to live took about 6 minutes as well while running the fan at half speed for the first two minutes. To do the same thing here with the SR500 appears to take around 7-8 minutes with a lot more slowing down the fan to around the 25% setting once movement starts to flow more easily and first crack was reached.

Ordered parts this weekend for roaster controller.

I’ve ordered some parts from Maxim/Dallas as well as from Microchip this past weekend. The stuff from Maxim is supposed to be coming US Postal Service so I don’t really know when they will arrive. I forgot to add a temperature sensor (ambient) to the order though so I will need to come back to that later. I need to compare it with a similar chip offered by Microchip to see which one I want to use. I believe the chips by Microchip are actually smaller and more accurate but I will need to confirm later.

According to Microchip’s website / my invoice the IO board, graphics board and LCD touch screen, Prototype cards, and a 9V Power Supply will ship sometime in the next couple days. They are scheduled for arrival on the 17th. The Network Card and PIC32 Starter Kit is not due to be available for 2 weeks and is supposed to arrive on the 30th.

Roast temperature probe sweet spot in Fresh Roast

As I mentioned previously there appears to be a “donut” shaped sweet spot in the roast.  I had been testing my SR500 with a K type thermocouple in various spots.  Most of the time people run their roasters with the thermocouple shoved straight down the middle in a lot of the photos I’ve seen.  With the SR500 I’ve found this region to be very sparse with beans due to the high flow of air up the middle.

As shown in this diagram the center portion at the bottom shoots up the middle in the air column grabbing beans on the edges of the two green zones.  They are then tossed outward in the orange circular zone represented on top.  The beans that sit out on the purple areas on the bottom tend to burn due to low circulation.  Ultimately I would expect some sort of triangular slanted chute sealed to the edge would allow beans to be directed away from this burn zone and closer to an area where movement would be possible will help improve this.

I have not written much lately because I’m currently not at home using my roaster.  Prior to leaving I did some testing of the sweet spot ultimately getting pretty close to the middle of that sweet spot.  No matter which beans I roasted and the length the beans were being roasted I always noticed, while adjusting fan and temperature settings on the controls, that the beans always had first crack at the expected temperature +/- 1 degree Fahrenheit.    The same with second crack seemed to hold true as well.

Based on those readings and the reproducibility of that it is my opinion that the ideal thermocouple position in the SR500 and probably the SR300 is as I described earlier.  The height seems to be just below the surface of where 120 grams of beans fills the roasting chamber to for the tip.  This keeps it from the bottom where the heat is somewhat higher and allows it to be centered in contact with the main mass of beans once they expand slightly and begin to float more easily in the air column above his position.

Regarding the coffee’s I’ve roasted.  I previously mentioned some by name and certain characteristics of the roast as I was roasting them.  I had decided until I can track the actual temperatures and accurate times to share it was probably best not to continue posting the resulting curves as I roasted them.

Experimenting with a thermocouple.

So now that I have a faster responding thermocouple I’m finding that the  sensor works better closer to the edges of the roaster.   When thinking of the bean mass on the SR300 and SR500 you probably need to consider the bean mass as if it is a donut at the bottom of the chamber.  You want to get the tip of the probe centered in the middle of the donut and not the middle of the chamber.

Most modifications people have shown put the probe drilled straight down the middle.  This has the advantage of clearing the “chaff grate” on the sides down a natural hole in the roaster.  The problem with this is that the very center is actually a sort of “fountain” of beans and hot air.   The probe has very little contact with any of the roasted beans and is mostly picking up the air put out by the roaster.

Many people who have sensored this middle area report temperatures in the 420 to 425 degree range.  At the very end all of the beans are very fluid and filling almost the entire chamber area moving freely.  Once this finally happens the temperature readings then reach the 440-450 range showing a typical second crack area that coincides with actual second crack occuring.  Often second crack ACTUALLY happens while the probe is showing 400 degrees when placed in the middle.  This is likely due to the bean mass thermic reaction being hotter than the air rushing up from below and only a few minutes later does the air column catch up.

I’m starting to get low on beans from the samplers  with only a pound or two left of all the varieties.  I’m feeling that the probe placement I used initially in the middle helped stall a few roasts due to inaccurate temperatures of the bean mass that I responded to.  I’m testing a roast where the probe was moved closer to the “donut” range to see what sort of tastes develop but this one is pretty close to a standard roast.

My feelings are there is a “donut” sweet spot.  In the diagram below there is a Orange region [1] that is the normal plume of bean being pulled from the middle area on the bottom and [2] tossed up on top to the left and right.  As you descend into that area you enter part of the sweet spot [Green].  In the far left and right corners [Purple] you have a “burn” zone due to very low circulation of the beans.  This is caused by the more central area of the donut [3] falling towards the middle and then being jetted to the top [1] repeating the cycle.  Only when the beans have sufficiently roasted does the bean mass begin to rise above the initial [Yellow] fill line.  As the mass makes it above the silver metalic band there is enough movement to cause beans to leave the “Burn Zone” and make it easily into the column.  This initial burn area is where the stray first cracks are likely to originate and the uneven roast occurs.

Freshroast "Sweet Spot" created in roasting chamber.

I would thus interpret the space where the D on the left donut and the t on the right donut would be the approximate ideal locations to sample bean mass temperatures due to the piling on of beans from the fountain [1] above it.

Freshroast SR500 apparent “safety” mechanism. Adding new thermocouple.

Due to the microprocessor installed and the sensor mounted at the top of the roaster base where you install the roasting chamber.

NTC Thermistor mounting

It appears that when you turn the roaster on to High and lower the fan knob to the lowest setting the roaster will reach (unloaded) 430 degrees.  At that point the fan automatically revs up slightly (possibly due to the heater being off)  and the heat stops climbing at 433 degrees.  Occasionally it drops sooner but always between 430 and 433.  It then drops from 430ish degrees down to approximately 420 degrees and then resumes climbing again.  The heat appears to always stop at 420 and then goes back up.  The highest it stops dropping at is 422.

Temperatures were measured with a new K type thermocouple mounted approximately where the center of the bean mass would be.  I obtained this at OSH (Orchard Supply Hardware) since I needed some sort of multimeter for the moment.  They had one inexpensive “Craftsman” model with the ranges I need for measurements with the Digital Multimeter side with an included K type thermocouple mode.  I’m expecting the thermocouple to not last very long due to the temperature rating they put on it.  I will likely get one from eBay or something that is compatible with the K thermocouple sensors in the meter.  I’m guessing the protective covering they put on the tip end insulation area to keep the insulation from unraveling is not able to withstand the high temperature for very long but the insulation looks like it can take a lot more.   I’m going to probably get some high temperature silicone and put a little dab right at the end above the tip to hold the insulation better so it won’t fray.

Ultimately I’ll source out a thermocouple that can do more properly as I get further into this.   I’m going to switch to using the previous thermometer as a timer (was a secondary feature… you get one or the other on screen at any point in time) and the thermocouple as the new temperature sensor since it actually responds faster on temperature changes.

Modified Thermometer Test w/ Rwanda Gkongoro Nyarusiza

So as mentioned previously I took the thermometer probe and used one of those pipe cutters with the “wheel” for cutting things like copper pipe and sliced off part of the probe.  Due to the fact that this sort of cutter “crushes” slightly while it cuts this ended up making it so I could not slide the inner electronics out without fear of not getting it back in or damaging it (without having a soldering iron currently).  I instead slid all of the formerly connected probe upwards and taped it to the probe’s plug using electrical tape.  I then crimped the remaining probe in place at the top against the braided cover.

My initial test seems to have yielded a technically proper heat ramp based on what was happening.  Additionally the cooling cycle appears to have been pretty normal too.  It appears that when the cool cycle halts the beans are approximately 158 degrees and linger there while in the roasting chamber even when removed from the roaster.  They drop to around 130 degrees after being dumped out into another container within about 20 seconds and then they hang around 130-120 degrees for several minutes if undisturbed.

Here is my heat readings for a standard roast.  In this case I was roasting the Rwanda Gkongoro Nyarusiza.

Markers are A= Rolling First Crack, B= Second Crack.  Fan speed is shown as 100% for the knob being set all the way to the right.  50% is fan knob set in the middle position (straight up).

I was not able to keep track of any additional details due to manually tracking the roast on paper.  Cooling with fan speed increased to 100% starting at 6.1 was as follows:

Bean mass started at 120g and reduced to 102g for a loss of 18g or 15%

Problems with thermometer – YAY!

So I finally got a chance to try a roast with the thermometer.  At approximately 3.5 minutes into the roast in the reading it crossed 482 and would no longer read.  This is OBVIOUSLY not a correct reading.  I expected some imperfection in the readings due to this probe expecting liquid/solid meat as opposed to air/dry readings but everything is significantly off.  First crack came as a reading of 449 which puts me a good 50 degrees above where I expect to be and follows about 50 degrees over everything I expected during the roast for the color changes etc.

My theory is that the probe is so long that it has to be inserted through the grate on the chaff collector on top.  The probe is then picking up heat transferred by the chaff collector that it is touching and particularly the metallic disc embedded in the lid being transferred through the plastic.

The cooling cycle lasts approximately 2.5(ish) minutes and it ends at an unusually high number.  With the probe and chaff covered removed and sitting 5+ minutes it still shows a temperature in the 90s so this is certainly picking up the temperature from the cover.  At this point I will need to attempt to remove the probe in some way and see what else I can do to “shrink” the size of the probe and find an alternate place to put it.

[easychart height=”300″ type=”line” title=”Heat Results” groupnames=”Temperature F” valuenames=”0.0,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0″ group1values=”78,222,366,402,413,428,460,482,482,482,482,482″ group1markers=”6.1″ hidechartdata=”true” ]

[easychart height=”300″ type=”line” title=”Cool Results” groupnames=”Temperature F” valuenames=”0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5″ group1values=”482,482,474,402,320,262,240,212,201,183,172,167,158,152,147,141,140,138,138,132,129,127,127,127″  hidechartdata=”true” ]

While the HEATING is flawed with the metal disc and the cooling is most certainly flawed at the end as well it is interesting to witness the significant drop in heat from the cooling cycle.  The beans (by touch) clearly release heat faster than the metal mass does and they are quite cool in the end.  In about 30 seconds the heat has dropped  to around 250 with the metal heat skewing the readings.  It is my guess that all cooling readings are approximately 30-40 degrees higher than actual in the bean mass meaning the real “roasting” has stopped before 30 seconds of cooling are up.

Lesson Learned: The chaff collector gets significantly hot enough that you need to avoid ANY contact to any probe devices with the top and try to steer clear of the metal disc at all costs.

Update: I have used a copper pipe cutter to slowly slice a ring around the metal casing of the thermometer allowing me to shorten the probe.    I googled around and found this article http://brettbeauregard.com/blog/2009/09/anatomy-of-a-digital-thermometer-probe/ which shows the inner guts of a typical probe.  As you will see this is mostly the braided wire until the very end where the actual sensor is.  I’ve sliced off several inches of the casing and slid it up the wire towards the socket.  Once I determine if this seems to work I will try to figure out a way to slide this off without mucking things up too much and permanently removing it and crimping the end of the probe onto the braid.  New article once I get to that stage if it works out.