Not a member yet?
Click here to register.

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

07/17/2019 3:46 AM
Almost a year since I donated ... So,I did it again.

07/17/2019 1:54 AM
It seems some like to post here in the shoutbox and never return.

07/16/2019 7:58 AM
drum size

07/14/2019 9:36 AM
BBQ grill

07/14/2019 7:09 AM
I am glad it is working Ken!

Users Online
Guests Online: 4

Members Online: 0

Total Members: 6,044
Newest Member: HduPlooy
In Memory Of Ginny

Latest Donations
Groveland Hill Roas... - 25.00
renatoa - 2.00
JitterzZ - 50.00
John Despres (Scene... - 25.00

View Thread

Who is here? 1 guest(s)
 Print Thread
PID control help and Artisan

For some time Artisan has had internal PID control capability.
The way to tune such a system is described many places around the web.
Personally the Wiki animated gif explained everything for me about how to tune the PID.
Until Now...

In Artisan v. 1.4.0 and 1.5.0 the algorithm has has some modifications to give us the possibility for a better PID method.
The new method is called Proportional on Measurement PID.
I have tried it, but as the functionality is different to the normal Proportional on Error, I can not figure out how to tune it.
Hopefully somebody in here can help?

One of my problems might be the bug Greencardigan discovered (good finding btw.) where PID end parameters from the previous roast is not zero'ed before a new roast, thus resulting in varying behaviour in a new roast. But lacking an understanding of how to tune PID PoM does absolutely not help either Shock

Please, help
Have you seen Brett's blog posts regarding the Proportional on Measurement method? The PID code in Artisan and also the TC4 is based on Brett's code.


I am yet to try Proportional on Measurement so I can't really provide any first hand advice.
The classic tuning methods like Ziegler-Nichols no more work for PoM, because now P is a braking factor, not a driving factor, as before.

You can read some theory here:;f=false
Thank you both of you.

I had read Brett's blog post and one or two other places.
Now I've read renatoa's link as well.
I more or less understand the functionality, just like I do with PoError,

With PoE the methology of tuning is (with a steady or very slow climbing) target:
Zero P, I and D. Turn up P till it's ringing around target. Turn P a bit down so you don't quite reach target. Turn up I to reach target with a bit of overshot. Turn up D until the overshot is eliminated.

With PoM the methology of tuning is: ?
I tried the same as above, but starting with a high P and reducing it. But it's not behaving like I would expect it to from what I have read in the links. As P is a breaking factor I'm not sure that is the way to proceed, but then what is?

My analytical brain just might be too dumb, or I might have misunderstood something, I just didn't take any steps forward in the process, so ended with giving up...
That is why I called out for help.

Looking at Brett code, what I see is that P term is nothing else than another D term, with different coefficient, while I expected to be tied on the measurement value itself, not on input delta. Just look and judge yourself

Download source  Code

      if(!pOnE) outputSum-= kp * dInput;
      /*Compute Rest of PID Output*/
      output += outputSum - kd * dInput;

So I recommend to not use this implementation until this issue is clarified.

Actually, in my roasts I don't use Brett code, but a controller derived from @chaff popc project works, using a different approach, based on code used for platform stabilization in flight simulators, model flying being my lifetime hobby.

Some basics about the algorithm here:
... and the original source code:

Even fixed, I still don't recommend using a PID of any flavor to control a roast process.
More on this in another post.
Hmm, haven't actually looked at the code, as my math knowledge is too limited to program the computation algorithm for this. (Edit: Just looked through both implementations of PID. It's way more simple than I thought)
Good catch!

Interested in the controller derived from the flightcontrol
You don't happen to be willing to share that modified adapted code, or do you?
The Arduino on my roaster is programmed by me and with modbus interface to Artisan, so I could probably just let Artisan send it SV values and experiment with PID functionality in the Arduino sketch...
Edited by Sinobi on 02/16/2019 5:58 AM
Check this project, it contains an implementation of that flight PID:
wow cool thanks
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Preferred Control Method Fluid Bed Roaster Fluidbed Roaster 6 07/02/2019 10:44 AM
Update to my TC4 control box Dataloggers/Controllers/Rate of Rise Meters 16 06/02/2019 4:04 PM
Artisan to Arduino set up help Drum Roaster (Store Bought and Commercial) 8 04/22/2019 3:57 PM
Newbie question - Buttons on Artisan Dataloggers/Controllers/Rate of Rise Meters 3 04/12/2019 10:08 AM
Artisan Roasting to the Nth degree? Other Roasters 3 03/13/2019 6:06 AM
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 © 2019 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX