topbanner.gif
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Shoutbox
You must login to post a message.

renatoa
08/10/2022 1:56 AM
nguyencoffeesupply
and RoyB, Welcome

renatoa
08/06/2022 1:31 PM
Welcome, oak202, CoffeeNutZ and Mlcharlestonsc

Strangeworth
08/04/2022 9:34 PM
Thank you!

renatoa
08/03/2022 2:09 AM
Strangeworth and BigPalm, welcome to forum

Tamesino
08/02/2022 12:01 PM
Thank you guys and gals !! Exited to be here greenman

In Memory Of Ginny
Donations

Latest Donations
dmccallum - 10.00
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Users Online
Guests Online: 15

Members Online: 0

Total Members: 7,627
Newest Member: nguyencoffeesupply

View Thread

Who is here? 1 guest(s)
 Print Thread
Kona - An Arduino PID roasting program
patf11
Based on Bill and Randy's suggestions I extended the ET probe into the chamber. Previous it was directed behind the chamber wall, about an 1/8 of an inch from the chamber. Looks like this did the trick, ET and BT now make sense.
Sorry for the poor picture quality, perspective looks wacky in picture. ET probe is just above the chamber floor while the BT is about 3/4 way up a 140 gram load of roasted beans.
patf11 attached the following image:
cityplus.jpg
 
patf11
ET probe picture
patf11 attached the following image:
et.jpg
 
patf11
BT probe
patf11 attached the following image:
bt.jpg
 
randytsuch
So I have been struggling with a new problem for the last week.

Every once in a while, I would get a spike in one of the temps. The spike would be 50 or 100 degrees different from where it should have been, so the reading was obviously wrong.

At first, I thought it was another software problem, but I kept rolling back to older sw versions, and the problem wouldn't go away, so I decided it is probably a hardware problem, although I looked a little today, and didn't see anything wrong with any of the wiring.

So, I played with the program a little, to ignore bad readings. I was trying to have it reread the tc if there was a misread, but I couldn't get that to work.

I eventually changed the code, so if any new reading was more the 20 deg different from the previous second's reading, then it uses the previous reading instead.

I did two roasts today, and it seems to work now, with this new code. So, I have a working roaster and program again, after this latest diversion.

There are a few little things that stopped working at some point that I need to look at, but at least I can roast again.

Randy
 
bvwelch
Hi Randy,

I assume its the TC reading that is noisy, and not the Ambient? Our coffee roasting is a noisy environment for thermocouples, which output a very tiny voltage. The ADC chip does an amazing job but isn't perfect. Grounding might help, or a capacitor, or, as you are finding - some software work-around to throw out the outliers. -bill
 
randytsuch

Quote

bvwelch wrote:
Hi Randy,

I assume its the TC reading that is noisy, and not the Ambient? Our coffee roasting is a noisy environment for thermocouples, which output a very tiny voltage. The ADC chip does an amazing job but isn't perfect. Grounding might help, or a capacitor, or, as you are finding - some software work-around to throw out the outliers. -bill


Hi Bill
Thanks for the reply.
You're probably right, it probably is noise somewhere, the question is where.

Ambient is fine when the reading jumps. I just found one in a log, it jumped 600 degrees in one reading.

But, since I changed the software to throw out readings that are more then 20 deg different from the previous reading, I have done 3 roasts with no problems.

I will probably just leave this change in the software, and move on, unless it gets worse.

To anyone waiting for the next version.
I fixed a couple other small bugs today, but I have one display problem left, hopefully I will fix it in the next few days. Then I'll do at least one more test roast before rolling out the next version.

Randy
 
randytsuch
So I did a few roasts today, trying to dial in a new bean for the bean swap.

Since adding the logic to ignore one bad reading, things are working fine.

I think I have everything working now, but will do a little more testing just to make sure.

Is anyone waiting for this new version?

Randy
 
patf11
Randy,

I am interested in trying new version when ready but there really is not any real rush. Current version is working, mostly refining profiles.

thanks
Patrick
 
jsutton

I noticed this multimeter/thermometer/ USB PC interface tool listed on Coffee Snobs and tracked it down to a US Source -- $53.

http://www.dealex..._p1988.htm

VICTOR 86C 3 3/4 Digital Multimeter

Apparently there is a 86B model too that read in Celsius only.
Jim
 
randytsuch
Hi guys
I know it's been a while since I updated this thread.

I have made sure that Kona compiles with the latest Arduino version (22), and that it compiles after a fresh install of aBourbon.

I made a minor change that I want to test out, and then I will post this version of Kona.
I also need to make some major changes to the user's manual, which may take a little while longer.
In this newer version, you have to download profiles with a different Processing program, and I need to describe how to do that.

Randy
 
randytsuch
I finally updated the LONG awaited (I think) new version of kona.
Three files
aKona - arduino part of kona
pKona - processing part of kona
SendProfile - processing program required to send profiles to kona.

In this new version, profiles and PID params are stored in eeprom.
It required a 4x20 LCD, and Jim's new LCD board (or you can make the equivalent which is what I did).
It also needs eeprom.

I am updating the user's manual for this version.

Randy
 
randytsuch
New user's manual is now available
 
randytsuch
I was just looking at the download numbers, and I hope people realize that they need sendprofile, or you can program profiles into this version of Kona.

In the first versions of Kona, the profiles were stored with the program code. In this version, the profile is stored in eeprom, and you HAVE to use SendProfile to send the profiles from a PC to Kona.

I also have an announcement.
I have been working on a "headless" version of Kona, which can be started from a PC, without a LCD or any keys.
I have it working enough at this point so you can start a roast without pushing any buttons, but I need to make some more changes so you can send profiles without keys, and so you can program the PID parameters into EEprom.
I am hoping an easier to implement version of Kona would help it gain more (some?) users.

I know people are following this thread by the number of hits, but some feedback would be nice :)

Randy
 
DavidG
Randy --

Great development!! Following this thread with great interest! I have freed up a PC to be dedicated to my under-development roast station. Cannot wait to start. I have no electronics or programming experience, so will probably need some handholding once I begin.

Cheers,
David


europiccola | yama + coryrod | chemex | AP | clever
wbp1 | wepp1 | bm/hg | co hybrid (still coming soon...)
 
randytsuch

Quote

DavidG wrote:
Randy --

Great development!! Following this thread with great interest! I have freed up a PC to be dedicated to my under-development roast station. Cannot wait to start. I have no electronics or programming experience, so will probably need some handholding once I begin.

Cheers,
David



I think the hardest part will be getting the arduino/TC4 part working. Once you get that working, getting Kona up shouldn't be a big deal, and we're here to help

Randy
 
randytsuch
So I have been making a few other changes.

The biggest change is to SendProfile, which had a VERY bad user interface in the version which is available.

The new version is much improved, and easier to use. It will also allow for reading and changing the PID parameters.

With this new version, I think you could do everything with just an Arduino, TC4 and a PC.

I am trying to also add support for Artisan, I still need to try that, and make sure that everything else still works.

I am shooting for availability of the new version in a week.

One note, I am VERY close to running out of code space now, I think I have 700 bytes left, so except for fixing problems, I think Kona is done.

I am thinking about adding features, but it will be in a different program, and will require a Mega Arduino.
 
jm82792
There is always Sanguino :)
Or the other clones that have more memory and cost around the same as a vanilla arduino.
 
randytsuch

Quote

jm82792 wrote:
There is always Sanguino :)
Or the other clones that have more memory and cost around the same as a vanilla arduino.


I remember looking at the Sanguino before, just looked again. The problem is that it has a different size, so wouldn't support Arduino shields, so you can't plug a TC4 board into one.

There are some other issues with it too, for this project, but the size thing was the deal breaker.

The other thing is I already have a Mega. It's waiting to be used. So that next code I write will be for the Mega.

Randy
 
JimG
Randy -

I have done some reorganizing of the googlecode SVN repository to make it more usable. As part of the reorganization, I created a tree for your Kona application, and populated it with the files from the current released version.

If you want to take advantage of Subversion, the "trunk" folder for each application is where your current working source should live.

Then, as you release versions of Kona, create a release folder in the "tag" folder for each application. I have already done this for the current release. The idea is to leave the tags unchanged so there is a record to return to of that release.

Have a look and see if you can live with the way I set things up for Kona:
https://tc4-shiel...tions/Kona

Jim
 
randytsuch

Quote

JimG wrote:
Randy -

I have done some reorganizing of the googlecode SVN repository to make it more usable. As part of the reorganization, I created a tree for your Kona application, and populated it with the files from the current released version.

If you want to take advantage of Subversion, the "trunk" folder for each application is where your current working source should live.

Then, as you release versions of Kona, create a release folder in the "tag" folder for each application. I have already done this for the current release. The idea is to leave the tags unchanged so there is a record to return to of that release.

Have a look and see if you can live with the way I set things up for Kona:
https://tc4-shiel...tions/Kona

Jim


Hi Jim
I noticed you made a SendProfile branch.
It turns out that SendProfile's life is (was) very short, that one version that is going to go obsolete.

I have integrated the functions from SendProfile into pKona, so you don't have to use two different programs to set up and run kona.

I have also made some changes in both aKona and pKona to make my code more efficient (use less program memory) which basically obsoletes the version I just put up for download.

Randy
 
JimG

Quote

randytsuch wrote:
I have also made some changes in both aKona and pKona to make my code more efficient (use less program memory) which basically obsoletes the version I just put up for download.

It would be great if you used our project's googlecode SVN repository for your code development. Let me know if you'd like to do this and/or need some assistance.

The SendProfile folder can remain in the repository for reference even though no new development is planned. Or I can delete it if you want. Just let me know what you prefer.

Jim
 
Bhante

Quote

randytsuch wrote:
[Ambient is fine when the reading jumps. I just found one in a log, it jumped 600 degrees in one reading.

But, since I changed the software to throw out readings that are more then 20 deg different from the previous reading, I have done 3 roasts with no problems.

What did it jump to Randy? Not 612 F by any chance? I've just done a roast which had 4 outliers in T2 all within about 0.5 of 392 C (612 F) and one in T1 of 390 C. Seems a bit like a magic number to me, may give some clue as to its cause.

Bhante
 
randytsuch

Quote

Bhante wrote:

Quote

randytsuch wrote:
[Ambient is fine when the reading jumps. I just found one in a log, it jumped 600 degrees in one reading.

But, since I changed the software to throw out readings that are more then 20 deg different from the previous reading, I have done 3 roasts with no problems.

What did it jump to Randy? Not 612 F by any chance? I've just done a roast which had 4 outliers in T2 all within about 0.5 of 392 C (612 F) and one in T1 of 390 C. Seems a bit like a magic number to me, may give some clue as to its cause.

Bhante


I was having this problem last year, and I don't really remember what numbers I was getting, but I am pretty sure they were random. I would remember if they were that consistent. I have also changed TC's for BT in my main setup, and I think that the old TC was giving bad readings some times.

Randy
 
prs16001
Help!

I was hoping to get some guidance on aKona since so far I have been unsuccessful.
The LCD output is different from what I expected and I just want to confirm what each means.
Time CT:xxx CNT
MT:xxx SP:xxx xx
S:x P0 In0 De0
H:xx RoR:0 TT:0

I was trying to do a profile based on TT. So CT and MT are control temps. CNT is the countdown of the step, S is the step, P, In and DE are the PID parameters to control the step, H is??, and RoR or TT is the set point for that step? I'm not sure what H is but I'm guessing it is the heater output.

I ran a profile and my CT reached at 300F and never got higher. P was at 99 and H was consistently at 50. So I'm supposed to put the temp offset in the profile line? So if step 8 was supposed to be 400F I would put in 100 in that line?

I'm a bit confused about the tuning part and how to go about changing things on the fly.

I'm roasting in a poppery1.

Any help would be greatly appreciated.

Thanks,
Pete
 
randytsuch

Quote

prs16001 wrote:
Help!

I was hoping to get some guidance on aKona since so far I have been unsuccessful.
The LCD output is different from what I expected and I just want to confirm what each means.
Time CT:xxx CNT
MT:xxx SP:xxx xx
S:x P0 In0 De0
H:xx RoR:0 TT:0

I was trying to do a profile based on TT. So CT and MT are control temps. CNT is the countdown of the step, S is the step, P, In and DE are the PID parameters to control the step, H is??, and RoR or TT is the set point for that step? I'm not sure what H is but I'm guessing it is the heater output.

I ran a profile and my CT reached at 300F and never got higher. P was at 99 and H was consistently at 50. So I'm supposed to put the temp offset in the profile line? So if step 8 was supposed to be 400F I would put in 100 in that line?

I'm a bit confused about the tuning part and how to go about changing things on the fly.

I'm roasting in a poppery1.

Any help would be greatly appreciated.

Thanks,
Pete


Hi Pete
H stands for heat output. It is the PID output which is fed into the PWM function.
50 means you are getting 50% output (this is time based, so the heater is turned on 50% of the time, and off 50%).

Note that the PID output is
out = ((Proportion + Integral - Derivative)/myPID.PID_factor) + PID_bias;

There are a few things you can do.
There is a variable called "PID_factor"
This is inverse gain, so if you make this number smaller, the gain will increase, and it should help.

You could also increase the bias. This number depends on the segment you are in, I divde the roast into three segments, 0, 1 and 2. You can change the PID_bias independently for each segment.

Since P is at 99, I don't think adding offset will help, I would start by playing with PID_factor (gain).

BTW, what version are you using?
I am hoping to get a new version out soon, but have been sidetracked the last few days working with bluetooth.

In the newer version, I have improved the user interface so you can check and change these parameters on a PC.

Randy
Edited by randytsuch on 04/09/2011 10:28 PM
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Signal cable lengths to / fro to Arduino / TC4+ Dataloggers/Controllers/Rate of Rise Meters 3 08/04/2022 1:32 PM
Roasting with West Bend Poppery I Popcorn Popper roasting 4 06/13/2022 1:01 AM
These are the specifications of the roasting machine that took a year to build Building a Coffee Roaster 25 06/09/2022 12:06 PM
TC4+ Arduino coffee roaster shield (TC4-compatible) Dataloggers/Controllers/Rate of Rise Meters 247 05/18/2022 1:38 PM
Looking for roasting chamber for old freshroast FB-01 MASTER LIST of PARTS and SUPPLIES 1 04/15/2022 4:16 PM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2022 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX