Not a member yet?
Click here to register.

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

12/07/2019 9:29 AM

11/27/2019 11:44 AM

11/27/2019 11:04 AM
Nice! I know Netrix is going through things and tweaking as he see's issues

11/26/2019 1:35 PM
I got an email that I had a PM. So, that is working for me again. greenman

11/26/2019 1:33 PM
Howdy Howdy!!

Users Online
Guests Online: 3

Members Online: 0

Total Members: 6,285
Newest Member: thirdguess
In Memory Of Ginny

Latest Donations
Jared Brunette - 5.00
Daniel Boozer - 5.00
renatoa - 2.00
JitterzZ - 2.01
renatoa - 2.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
Breville Dose Control Pro GRINDERS 23 12/03/2019 11:07 PM
Gas Control advise needed Drum Roasters 5 11/26/2019 12:28 AM
Artisan won't recognize yoctocouple Roasting Coffee 4 11/18/2019 3:52 AM
Getting Center 301 to connect to Windows 10/Artisan Dataloggers/Controllers/Rate of Rise Meters 2 11/07/2019 12:04 PM
Automated propane gas control? Electric and Gas Heat Sources 5 11/03/2019 10:53 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