Who is here? 1 guest(s)
 Print Thread
4-channel TC meter and datalogger project
randytsuch
Based on the data from my air roaster, RoR for ET is not providing any usefull data. On the graph, ET RoR is all over the place.

I am thinking about using input 1 for BT, and 2 for ET (reverse of current setup).

I would also change the program back to only display one RoR, for BT. I had changed it to display both RoR's on the LCD.

It isends RoR for ch1 to the PC.

Any opinions?
 
bvwelch
Hi Randy,

My 'day job' hasn't allowed enough free time to check out your project yet - sounds great though.

If you're interested, we can set up a new 'coffee' top-level directory for you in the source code SVN -- pick a coffee name for your version of the project. Right now, we've got Bourbon and I am planning a Bugisu version.

But zip files are OK if that's your preference. -bill
 
randytsuch

Quote

bvwelch wrote:
Hi Randy,

My 'day job' hasn't allowed enough free time to check out your project yet - sounds great though.

If you're interested, we can set up a new 'coffee' top-level directory for you in the source code SVN -- pick a coffee name for your version of the project. Right now, we've got Bourbon and I am planning a Bugisu version.

But zip files are OK if that's your preference. -bill


How about Kona? (I like short, easy names)

Randy
 
bvwelch
Kona is fine. I'll grab your latest zip file and put it into SVN for you. You can take it from there. If you need help using SVN itself, let us know. thanks!
 
bvwelch
Hi Randy, OK I've added your sketch. I took the liberty of renaming the file to match the existing scheme.
http://code.googl...ches/aKona
Edited by bvwelch on 07/20/2010 4:37 PM
 
JimG

Quote

randytsuch wrote:
Based on the data from my air roaster, RoR for ET is not providing any usefull data. On the graph, ET RoR is all over the place.

I am thinking about using input 1 for BT, and 2 for ET (reverse of current setup).

I would also change the program back to only display one RoR, for BT. I had changed it to display both RoR's on the LCD.

It isends RoR for ch1 to the PC.

Any opinions?


I'm not surprised that the ET signal is too noisy for RoR, especially on an air roaster. Even the BT signal may be a challenge for differentiation on a popper. The Riser class can be adjusted to suit, by changing the number of samples represented in the moving average used for differentiation.

There is some value in maintaining a common format for the stream of data coming from the shield over the serial interface. The receiving program is free to ignore the data it doesn't need.

Jim
Edited by JimG on 07/20/2010 10:33 PM
 
randytsuch
I did swap my inputs, Ch 1 is now BT, and Ch 2 is ET.
I have not posted an updated program yet.


I did a couple roasts, using the PID program, and it seems to work fine. For some reason, the first roast took a little long, and ended with the BT a little lower then expected, so I raised the ET in my 2nd roast a bit, and it came in right about how I'd expect it to.

So, I may have to tweek my profiles a bit, especially at the upper end of things.

I am also running out of time, I basically always get the idle time warning.

So, I am writing my own PID program, my current version uses a PID library I found at the Arduino playground. I think my version will be more effecient, since it is tailored for this application.

Along the way, I am REALLY learning the theory of a PID. I kind of understood it before, now I understand what is happening much more. The P and D terms are actually pretty easy to code, I am still working on the I term (Integral). It basically is there to account for how long the target value doesn't meet the actual value.

For a simplistic implementation, I could just create an Integral term that adds up the delta value forever. I am trying to decide if that will work OK in this application.

Randy
 
Dan
For the relatively rapid response of small electric heating systems like our, the I values will be near zero. I might get by with no integrative function at all, or just a low value constant.

Did you see the PID monitoring front end in the Arduino lilbrary, too? It's a good way to see what the PID values are doing and even adjust them in real time. It eliminates the need for an autotune feature.
 
randytsuch

Quote

Dan wrote:
For the relatively rapid response of small electric heating systems like our, the I values will be near zero. I might get by with no integrative function at all, or just a low value constant.

Did you see the PID monitoring front end in the Arduino lilbrary, too? It's a good way to see what the PID values are doing and even adjust them in real time. It eliminates the need for an autotune feature.


I may do a running average calculation for the integrative function, maybe over 8 or 16 secs. It's just a little more complicated then what I have now.

I looked at the front end this afternoon, I knew it was there, but never bothered to look at it. I may try running it tonight, looks cool, if I get it to work.

Randy
 
allenb

Quote

randytsuch wrote:
I set the PWM output to 4 Hz, and it is working nicely smile.
Randy


It's good hear you're able to achieve a low enough time base to keep your SSR happy. I had read articles stating it wasn't all that easy to get the Arduino to go slow.

I've been using the RoR meter for several roasts now and it's working great.

I used to think my Fuji PID held a real steady rate of rise during the browning phase but the RoR meter is showing otherwise with quite a bit of swing.

As Ed mentioned earlier, it adds a much better perspective to the process.

Allen
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
JimG

Quote

allenb wrote:
It's good hear you're able to achieve a low enough time base to keep your SSR happy. I had read articles stating it wasn't all that easy to get the Arduino to go slow.

The PWM output provided by the Arduino language is locked into a 490Hz time base. This is way too fast for SSR's that switch on the zero crossings of 60Hz mains power. In the PWM16 library, I included the necessary functions to reprogram Timer1 on the ATmega micro in a way that supports time bases from 128Hz to 4 seconds. (Timer0, which supports the millis() function and other Arduino language features, is left as-is).

Quote

allenb wrote:
I've been using the RoR meter for several roasts now and it's working great.

Great news! I'm very happy to know that it is working for you.

Are you using it in "standalone" mode, i.e., not connected to a computer?

Jim
 
allenb
Yes, standalone and using 9V battery.
1/2 lb and 1 lb drum, Siemens Sirocco fluidbed, presspot, chemex, cajun biggin brewer from the backwoods of Louisiana
 
farmroast

Quote

allenb wrote:

Quote

randytsuch wrote:
I set the PWM output to 4 Hz, and it is working nicely smile.
Randy


It's good hear you're able to achieve a low enough time base to keep your SSR happy. I had read articles stating it wasn't all that easy to get the Arduino to go slow.

I've been using the RoR meter for several roasts now and it's working great.

I used to think my Fuji PID held a real steady rate of rise during the browning phase but the RoR meter is showing otherwise with quite a bit of swing.

As Ed mentioned earlier, it adds a much better perspective to the process.

Allen

I've continued to watch the progress and it's nice to hear of the usefulness of the live time RoR numbers. I'm totally sold on it.
Ed B.
DreamRoast 1kg roaster, Levers, Hand Mills http://coffee-roa...gspot.com/
 
rama
Can anyone share suitable part number(s) to run the device stand-alone, namely:

1. the 9V to barrel jack adapter

2. suitable LCD

thanks-
Rama
 
JimG

Quote

rama wrote:
Can anyone share suitable part number(s) to run the device stand-alone, namely:

1. the 9V to barrel jack adapter

2. suitable LCD

thanks-
Rama

Hi, Rama -

I am using this 9V battery adapter from Adafruit:
http://www.adafru...5950b22867

...and this LCD, also from Adafruit:
http://www.adafru...cts_id=181

The LCD is fine (white on blue), but requires the backlight to be on. Next time I would probably look around a little and see if I can find an LCD that has good readability without the backlight. Any 16 x2 LCD that is HD44780-compatible should work for you.

Jim

EDIT: Just tried a bare-bones black-on-green LCD from Lumex (model no. LCM-S01602DTR/M) and it is working well. Available from Digikey (item no. 67-1781-ND, $7.79 ea).
http://search.dig...67-1781-ND
Edited by JimG on 07/26/2010 1:13 PM
 
randytsuch
I just uploaded a revised instruction set, and a revised PID program.

The PID program now contains a PID algorithm I wrote, instead of one from the Arduino playground.

I am still tweaking my PID, and I think it may be complicated for others to use. I have had to add many tuning parameters, to get the performance I wanted.

Randy
 
JimG
Hi, Randy -

I browsed your PID code and was impressed by the customization you've added for fine tuning your roasts! I doubt you could ever accomplish the same level of control using an off-the-shelf controller.

You and I are working on parallel efforts (although my PID library is being written for espresso machines).

FWIW, I find/found it easier to express the P, I, and D parameters this way:

For proportional term, I use "Pb." This has units of degrees (can be F or C). Proportional gain, Kp, is 1 / Pb. This is nice because it demonstrates that proportional output goes to 100% when the error is larger than (i.e. outside of) Pb.

For the integral term, I use rE (resets) which has units of 1/minutes. Integral gain becomes Ki = Kp * T * rE (where T = cycle period, minutes). This is nice because rE = 0 corresponds with no integral action (as compared to having to use a giant value for I to accomplish the same thing).

For the derivative term, I use rA (rate). This has units of minutes. Derivative gain becomes Kd = Kp * rA / T.

Obviously, it makes no difference internal to your program how you define the P, I, and D parameters. But the above is used in the Watlow controllers, as well as several others. Tuning is a lot easier for me when using parameters defined this way because I have a pretty good feel for the ranges of Pb, rE, and rA that work on different heating systems.

Jim
 
bvwelch
Hi Jim, this is great info. I see that Watlow makes a bunch of different controllers. Can you mention one or two that might be appropriate for coffee roasting? Perhaps they have documentation that is freely available for downloading?

I found the Watlow 96 manual online, and section 5 of the manual seems to have some good info on their terminology.
Edited by bvwelch on 07/28/2010 12:27 PM
 
JimG
Hi, Bill -

Just about any Watlow model will do a good job controlling a roaster at a constant setpoint (SV). The discontinued models (935A, 93, 965, and sadly 96) can usually be found for a reasonable price on eBay.

If you require a controller that can handle a ramp/soak profile, things get expensive in a hurry in the Watlow line. At that point, you'd probably be better off with a less expensive brand in a non-professional setting.

I have a model 93 and a model 965 in my roaster controller. I use ET as the control variable and make manual step changes in SV as the roast progresses.

Recently, I have been experimenting with fully manual control, using the front controls on the PID to change the output power based on what I am seeing on the profile. I plan to explore this a little further.

Jim
 
rama
Thanks Jim. Unfortunately I can't find the MCP3424 anywhere now. This must be a popular project. ;)
 
JimG
I got my last batch from AvnetExpress. But I see they are out of stock now, too. I wonder what's going on?

Jim
 
bvwelch

Quote

rama wrote:
Thanks Jim. Unfortunately I can't find the MCP3424 anywhere now. This must be a popular project. ;)


If you've most all of the other parts, and you're itching to build the project, I may have an extra part or two I can spare so you don't have to wait for parts to be re-stocked. -bill
 
rama

Quote

bvwelch wrote:
If you've most all of the other parts, and you're itching to build the project, I may have an extra part or two I can spare so you don't have to wait for parts to be re-stocked. -bill


Very generous of you Bill, but I've only got the shield board and Arduino so far. Digikey has a ship estimate of 8/24/2010, which is acceptable. You guys will have ironed out all the kinks by then. ;)
 
rama
Adafruit just released an Arduino enclosure with a space for a 16x2 LCD. Sounds ideal for this project: http://www.adafru...cts_id=271
 
randytsuch
Allied has the part in stock, if you want in now.
They seem to have all of the other parts too, I was working on a PL from them today, but didn't finish it.

Randy
 
Jump to Forum: