topbanner.gif
November 21, 2017 12:46 AM
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Navigation
bullet2.gif HOMEROASTERS.ORG
bullet2.gif Active Forums
bullet2.gif FORUM INDEX
bullet2.gif Downloads
bullet2.gif News
bullet2.gif Forum FAQ
bullet2.gif Contact Me
bullet2.gif Photo Gallery
bullet2.gif Search
bullet2.gif User's Voice
bullet2.gif Facebook Connect
bullet2.gif Videos
Forum Threads
Newest Threads
bullet2.gif 3d Printed Fluid Bed...
bullet2.gif K type Screw-in Ther...
bullet2.gif Looking for advice o...
bullet2.gif Smoked Coffee Beans
bullet2.gif Getting Accurate Tem...
Hottest Threads
bullet2.gif My 1kg Electric A... [244]
bullet2.gif Bobby M15's drum [95]
bullet2.gif Dereks 1-2Kg drum... [81]
bullet2.gif Baby George Forem... [63]
bullet2.gif Hybrid Drum Roast... [51]
Users Online
bullet2.gif Guests Online: 4

bullet2.gif Members Online: 0

bullet2.gif Total Members: 5,122
bullet2.gif Newest Member: alex1
BotSlap Panel
bullet2.gif Last check: 11/21/2017 12:40
bullet2.gif Slap count: 0
bullet2.gif Last checked ID: 6253
View Thread
Homeroasters.org » DATALOGGERS - CONTROLLERS - RATE OF RISE METERS » Dataloggers/Controllers/Rate of Rise Meters
Who is here? 1 guest(s)
 Print Thread
PID TUNING HELP - Artisan
keving
I just uploaded version 1.0 Artisan and decided to try out it's PID controller. It worked but in a wild and crazy kind of way. Need some tuning suggestions. Please see attached graph. Temp deviating WAY to much as seen by ET. Power goes from 0 up to 99 each cycle and I don't think or should or needs to. Also seems like only PID adjusting a couple of times per minute (calling this a cycle). Seems like I need to increase sampling / PID reaction time, limit the amount of temperature swing allowed, etc... but haven't a clue.
I am using my home made air roaster with 270 gram batches.

I used:
Background Follow (which it did)
P = 15
I = 0.04
D = 0.0
Look ahead was set to 10 seconds
Artisan Sampling was set at 3 seconds
I set Target Positive to "power" and Target Negative to "none".

Any suggestions appreciated. thanks
keving attached the following image:
pid_auto_roast_1.jpg
 
greencardigan
Try making the sample rate quicker? Temps in a small air roaster can change a lot in 3 seconds.

And I'm fairly certain you will have to decrease the values. Maybe try halving both P and I values.
 
keving
Thanks Greencardigan!

So I cut the sampling to 1 second and changed PID parameters to the following:
P = 0.6
I = 0.01
D = 6.0

This is not completely FINE tuned, but it is giving a pretty good overlay of the original curve. Drying is lagging a little bit but once into dry stage following within a few degrees.

For those with a fluid bed roaster that plan on using PID to control a roast, this might be a good starting point. I started with everything at zero and increased P until it began to oscillate then backed off a tenth. At this point response was sluggish. I increased D and saw better response. Finally I increased I and saw it doing pretty good getting to temp at charge from ambient. So that is what I did, right, wrong, or indifferent. No two machines will be exact.

Plot is attached
 
keving
Plot
keving attached the following image:
pid_auto_tuned_pid_roast_2.jpg
 
PhilH
Suggest leaving "D" till last or just leaving it at zero

- Increase P till it oscillates, then back off a little
- add small increases to I until you get satisfactory control
if temperature variable is at all noisy then Derivative will probably be more troublesome than helpful
Dalla Corte Mini, Compak K10F, 1.2kg FB LPG/PID FB, 5kg FB LPG/PID
 
keving
Reposting plots of after and before - not showing in my browser in above posts.
Currently PID set as P=0.7 I=.01 and D=6.0 Working well.
keving attached the following images:
pid_auto_tuned_pid_roast_2.jpg pid_auto_roast_1.jpg
 
PhilH
Hi Kevin
I assume Grey line is target profile / Setpoint, What is green line ?
The title on the "after" graph says autotune ?? - Is there an autotune algorithm active on your controller?

With "I" set to 0.01 you are getting virtually no Integral component in the PID algorithm
Suggest you increase "I" value from 0.01 to something like 0.1 - 0.2 range which will incrementally increase/decrease heater output until there is no "error" the higher the value the faster it will increment the heater output. Start 0.1-0.2 and evaluate results.
"D" responds to rate of change of error and will greatly contribute to instability if there is any noise on BT measurement signal

My Hot Air Roaster settings currently around P=10.0, I=0.5, D=0.1
Obviously your roaster will be different and settings will vary

Hope this is helpful

regds Phil
Dalla Corte Mini, Compak K10F, 1.2kg FB LPG/PID FB, 5kg FB LPG/PID
 
RedAce
I will chime in with my recent PID-tuning experience that seems to worked great so it could serve as a "tutorial" for others (with no guaranties of course).

First I tried to use settings I found here or somewhere else on the internet with no luck. I was constantly getting oscilating line with over/undershooting temperature.

Today I found some "scientific" methods of PID tuning and used the simplest one. Wikipedia article on PID tuning helped me a lot - especially the animated GIF showing effects of P, I and D variables.

For testing I bought some beans (navy beans) that let me run the roaster continuously without ruining coffee and the need to work in actual roasting cycles. I set the SV to 100°C and let the TC4 do its thing. This temperature lets you roast without any smell of burning beans and without straining the roaster too much.

First you set I and D to zero and increase P until you get a small overshoot of the first peak and then the temp drops under the SV and slowly oscilates there. I ended up using value of 5.
Then you increase the I (good starting point is half of the P value) until you get the temp to oscilate in shorter period around the SV. I tried value of 2.5 and it worked fine.
Then you add the D to dampen the oscilations and smooth the line to (theoreticaly) copy the SV. This was a big surprise for me as I read in several places that this should be set very low or left at 0. I started at 0.1 and started slowly increasing the value from there. First positive effect showed at value 15 and I finally settled with value 165.0!!! I would never try such a high value on my own but this seems to work fine (see the "test roast" - still with navy beans and a simple background profile). It will need some tweaks for actual roast with coffee but this is a good starting point.

Hope this helps.
RedAce attached the following image:
test_profile.png
 
greencardigan
Thanks. This is essentially the same method I used. But I never ended up playing with the D as it was following the profile OK with it set on 0. I might have to have a play again.
 
RedAce
I tried first actual roast today and it worked OK - I was roasting actual coffee instead of beans, I was outside instead of inside and the batch was also larger. This resulted in a curve that was approximately 5°C under the background profile throughout the whole roast. Adjusting the PID parameters (increasing P and I and decreasing D) to increase the response resulted in near-perfect second roast (see the graph). The last issue is the period around the FC - I have to find out to what degree is the drop after FC just an artifact caused by the crack and to what degree I have to tweak the PID/profile.
RedAce attached the following image:
panama_pid.png
 
Jump to Forum:
Similar Threads
Thread Forum Replies Last Post
Quest M3 Fan Control via Artisan Dataloggers/Controllers/Rate of Rise Meters 7 Nov 15, 2017 02:05 AM
Using a TC4 with Artisan Roaster Scope Dataloggers/Controllers/Rate of Rise Meters 4 Oct 10, 2017 04:54 AM
How to use Artisan PID function with custom controller? Roasting Coffee 10 Oct 03, 2017 01:53 PM
Lets talk hardware choice for automation with Artisan Drum Roasters 19 Sep 12, 2017 09:17 PM
Artisan / Hottop /macbook HotTop Roaster 3 Jul 27, 2017 01:56 PM