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
03/25/2024 12:38 PM
coffee drink, Ramper?

allenb
03/24/2024 12:10 PM
Siam3D Welcome

renatoa
03/23/2024 3:02 PM
welcome cup, andrewg

allenb
03/21/2024 5:10 PM
TRH629 Welcome

allenb
03/21/2024 5:08 PM
marimohead Welcome

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: 3

Members Online: 0

Total Members: 8,165
Newest Member: Ramper

View Thread

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

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
/Henrik
 
greencardigan
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.

http://brettbeaur...asurement/

I am yet to try Proportional on Measurement so I can't really provide any first hand advice.
 
renatoa
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:
https://books.goo...mp;f=false
 
Sinobi
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.

/Henrik
 
renatoa
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



      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:
http://www.flight...node3.html
... and the original source code:
http://home.fligh...urce-code/
.../src\Autopilot/pidcontroller.cxx

Even fixed, I still don't recommend using a PID of any flavor to control a roast process.
More on this in another post.
 
Sinobi
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 11:58 AM
 
renatoa
Check this project, it contains an implementation of that flight PID:
https://github.co...etech/popc
 
Sinobi
wow cool thanks
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Finally Switching to Artisan Roasterscope Dataloggers/Controllers/Rate of Rise Meters 17 02/28/2024 7:19 AM
Artisan 2 vs Roastime 4 R1 Bullet Roaster 3 01/08/2024 11:53 AM
Another Propane Gas Control Method Electric and Gas Heat Sources 31 10/14/2023 6:48 PM
Renatoa can you walk us through a roast based on Heat power control vs PID? Roasting Coffee 32 08/21/2023 12:41 AM
Unable to get Artisan Scope's PID to control heating Dataloggers/Controllers/Rate of Rise Meters 4 08/01/2023 9:11 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 © 2024 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX
Hosted by skpacman