Skywalker roaster... | [275] |
Skywalker, the AL... | [195] |
Dereks 1-2Kg drum... | [115] |
Skywalker Roasts | [92] |
SR800/SR540 Fan C... | [82] |
PID control help and Artisan
|
|
Sinobi |
Posted on 02/13/2019 4:47 AM
|
Newbie Posts: 18 Joined: October 21, 2018 |
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 Please, help /Henrik |
|
|
greencardigan |
Posted on 02/13/2019 11:25 PM
|
1 1/2 Pounder Posts: 1185 Joined: November 21, 2010 |
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 |
Posted on 02/14/2019 12:19 AM
|
Administrator Posts: 2980 Joined: September 30, 2016 |
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 |
Posted on 02/14/2019 3:28 AM
|
Newbie Posts: 18 Joined: October 21, 2018 |
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 |
Posted on 02/14/2019 8:35 AM
|
Administrator Posts: 2980 Joined: September 30, 2016 |
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 Code Download source
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 |
Posted on 02/14/2019 10:54 AM
|
Newbie Posts: 18 Joined: October 21, 2018 |
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 |
Posted on 02/14/2019 1:11 PM
|
Administrator Posts: 2980 Joined: September 30, 2016 |
Check this project, it contains an implementation of that flight PID: https://github.co...etech/popc |
|
|
Sinobi |
Posted on 02/14/2019 1:15 PM
|
Newbie Posts: 18 Joined: October 21, 2018 |
wow cool thanks |
|
Jump to Forum: |
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 |