Thank for the massive update about PID TUNING !!!
-
@jay_s_uk said in Thank for the massive update about PID TUNING !!!:
@LB M303 tuning is PID tuning so whenever you have carried that out you'll be using PID.
bang-bang is inferior and can lead to other artefacts on the print surfaceWow - that was fast! THX! Could that be reflected in the doku:
Because if it is inferior, is it still default like written here or is this out of date:
"Bn selects Bang-bang control instead of PID if non-zero. Default at power-up is 0 for extruder heaters, 1 for the bed heater."https://duet3d.dozuki.com/Wiki/Gcode#Section_M307_Set_or_report_heating_process_parameters -
@LB Bang-bang is usually inferior to PID, but there are times when it is preferred. Setting B1 by itself won't automatically put you in PID mode because PID mode requires your heater to be profiled/tuned to function in that mode, so B0 is still the default.
@deckingman My understanding is that when PID values are provided, B0 is assumed, since providing values for bang bang wouldn't make sense, but I'll seek clarification.
-
@deckingman
Yes, you need to addB1. Edit: It's B0 for PID on the bed
The hint at the end of tuning doesn't show it, but M500 does.
Also if you're using a mains powered bed you need the change the V24/12 to V0
I just copied the hint the first time and couldn't figure out why I was getting such erratic temps after tuning. Without B1 it will default to bang-bang.I did report this, so I presume the hint will get updated at some time.
-
@OwenD said in Thank for the massive update about PID TUNING !!!:
Also if you're using a mains powered bed you need the change the V24/12 to V0
I never realized that before. I assume that applies when the bed is powered by AC mains, but controlled by a SSR attached to the duet as well.
Quite a few people are probably running AC powered silicone heaters via a SSR with V23.8 or something like that as a parameter to the respective M307 command.
-
This is new news. When I run an auto tune, the report says to set v to v23.x. I run an ac mains heater bed. Am I reading this correctly that if I’m running ac mains for my bed heater I should ignore the v value and set it to zero?
-
@Nuramori said in Thank for the massive update about PID TUNING !!!:
This is new news. When I run an auto tune, the report says to set v to v23.x. I run an ac mains heater bed. Am I reading this correctly that if I’m running ac mains for my bed heater I should ignore the v value and set it to zero?
That's what it looks like, and it's also stated on the duet gcode wiki page (though I never noticed it before) here: https://duet3d.dozuki.com/Wiki/Gcode#Section_M307_Set_or_report_heating_process_parameters
Check the description of the "V" parameter: "A value of zero disables compensation for changes in supply voltage. Use V0 for AC mains powered heaters." -- that would make sense for something powered on AC mains. No need to send more power to a SSR if the duet measured DC voltage drops.
-
@OwenD said in Thank for the massive update about PID TUNING !!!:
@deckingman
Yes, you need to addB1. Edit: It's B0 for PID on the bed
The hint at the end of tuning doesn't show it, but M500 does.
Also if you're using a mains powered bed you need the change the V24/12 to V0
I just copied the hint the first time and couldn't figure out why I was getting such erratic temps after tuning. Without B1 it will default to bang-bang.I did report this, so I presume the hint will get updated at some time.
On the basis that I've always added the B0 parameter, I've continued to add it after tuning. A moderator thinks it might not be necessary but says he'll confirm.
I know the "hint" doesn't show - I am the one who pointed that out.
Thanks for pointing out the "V0" thing. That is a very recent change to the documentation. A few days ago (when I tuned my bed heater) , it said something along the lines of omitting the "V" parameter for mains powered heaters - no mention at that time of making it V0.
I wish they would add things like this to the release notes, rather than sneaking them into the documentation some time later, after we've studiously read the release notes and implemented any required changes to our configuration files. Looks like I'll have to go back through my configurations yet again, and make further changes........
-
@deckingman
It's self evident that you know the hint doesn't give the B0 setting. Otherwise you wouldn't have added it after all.
You asked if it was necessary and I indicated it is because without it my printer defaulted to bang-bang and gave rise to large oscillations in bed temp.
https://forum.duet3d.com/topic/19761/new-heater-tuning-algorithm/111 -
@OwenD said in Thank for the massive update about PID TUNING !!!:
@deckingman
It's self evident that you know the hint doesn't give the B0 setting. Otherwise you wouldn't have added it after all.
You asked if it was necessary and I indicated it is because without it my printer defaulted to bang-bang and gave rise to large oscillations in bed temp.
https://forum.duet3d.com/topic/19761/new-heater-tuning-algorithm/111Ahh. I misunderstood what you were trying to say which is basically that, yes the B0 parameter is still necessary and should still be added. Furthermore, the "hint" showing the M307 is incorrect because it does not include the B0 parameter. This needs to be corrected IMO.
-
@deckingman said in Thank for the massive update about PID TUNING !!!:
@OwenD said in Thank for the massive update about PID TUNING !!!:
@deckingman
Yes, you need to addB1. Edit: It's B0 for PID on the bed
The hint at the end of tuning doesn't show it, but M500 does.
Also if you're using a mains powered bed you need the change the V24/12 to V0
I just copied the hint the first time and couldn't figure out why I was getting such erratic temps after tuning. Without B1 it will default to bang-bang.I did report this, so I presume the hint will get updated at some time.
On the basis that I've always added the B0 parameter, I've continued to add it after tuning. A moderator thinks it might not be necessary but says he'll confirm.
I know the "hint" doesn't show - I am the one who pointed that out.
Thanks for pointing out the "V0" thing. That is a very recent change to the documentation. A few days ago (when I tuned my bed heater) , it said something along the lines of omitting the "V" parameter for mains powered heaters - no mention at that time of making it V0.
I wish they would add things like this to the release notes, rather than sneaking them into the documentation some time later, after we've studiously read the release notes and implemented any required changes to our configuration files. Looks like I'll have to go back through my configurations yet again, and make further changes........
Omitting the V parameter has the same effect as using V0.
-
@dc42 said in Thank for the massive update about PID TUNING !!!:
Omitting the V parameter has the same effect as using V0.
Thanks for the clarification. It might be an idea if that was added to the documentation too.
-
@deckingman Done
-
@Phaedrux said in Thank for the massive update about PID TUNING !!!:
@deckingman Done
I meant add DC's comment that omitting the "V" parameter has the same effect as using V0. Or maybe you have elsewhere but not here https://duet3d.dozuki.com/Wiki/Gcode#Section_M307_Set_or_report_heating_process_parameters
-
@deckingman Refresh the page perhaps?
Vnnn VIN supply voltage at which the A parameter was calibrated (RepRapFirmware 1.20 and later). This allows the PID controller to compensate for changes in supply voltage. A value of zero disables compensation for changes in supply voltage. Use V0 for AC mains powered heaters. (V0 is the default. Leaving off V is the same as V0)
-
M303 Annn (RRF 3.2beta3.2 and later, optional) ambient temperature - use this parameter if you want to tune a heater that has been on and has not cooled down to embient temperature yet
M303 H0 S230 A40 Error: M303: heater 0 target temperature must be below the temperature limit for this heater (120.0C)
Did is misunderstand something?
-
@MartinNYHC said in Thank for the massive update about PID TUNING !!!:
M303 H0 S230 A40 Error: M303: heater 0 target temperature must be below the temperature limit for this heater (120.0C)
Did is misunderstand something?Yes. You're trying to tune the bed heater to 230c, which is above the max temp limit you've set at 120c.
-
@Phaedrux said in Thank for the massive update about PID TUNING !!!:
@MartinNYHC said in Thank for the massive update about PID TUNING !!!:
M303 H0 S230 A40 Error: M303: heater 0 target temperature must be below the temperature limit for this heater (120.0C)
Did is misunderstand something?Yes. You're trying to tune the bed heater to 230c, which is above the max temp limit you've set at 120c.
Aaaargh. It has to be H1. That's the second time today I totally messed up. Not my day
-
@MartinNYHC said in Thank for the massive update about PID TUNING !!!:
H1
better use T0, if you want tuning with the fan.
-
I've just updated to version 3.2 coming from 3.1.1 and also did the new PID tuning, using the tool as "heater" M303 T0 S240. Everything went okay so far, but the results arent that good.
This was the first print I did, it really took some time to get stable temps (there is a 5 degree drop after the first layer via slicer):
In another print I've got a heater error and a quite spicky graph, forgot to make a screenshoot of it. Cleared the heater fault afterwards and restarted print, which went fine.
This way my old PID tune with RRF 3.1.1:
M307 H1 A735.3 C254.6 D5.2 S1.00 V24.2 B0
And new with 3.2
M307 H1 R2.576 C273.2:173.4 D5.89 S1.00 V24.3
Any ideas what could be the issue?
-
If you have a spiky temperature graph, that indicates a temperature measuring issue.
It's hard to tell much from that graph without seeing more detail, however there is evidently some overshoot at the start. The old gain (A) parameter was 735.3 whereas the new one is 2.576 * 273.2 = 704. The reduction probably explains the overshoot. Try increasing the R parameter by a factor of 735.3/704 to get rid of it.