Duet 2 H1 PID Not Keeping Up
-
Hi Friends,
Recently PID tuned by duet 2 Wi-Fi Hotend PID on each of my hotends, including a new Phaetus Rapido. Both the 0.8 E3D Volcano and the Phaetus PID tuned no problem in a few minutes. The Phaetus returned:
;Rapido ;Heater 1 model: gain 325.3, time constant 248.4, dead time 0.3, max PWM 1.00, calibration voltage 12.2, mode PID, inverted no, frequency default ;Computed PID parameters for setpoint change: P469.2, I55.233, D95.4 ;Computed PID parameters for load change: P4
so I put this in cofig:
M307 H1 A325.3 C248.4 D0.3 I0 S1.00 V12.2; set the process parameters for Phaetus heater
Did I do that right? Because it gets up to temp on a reasonable timeline, print starts fine but as soon as filament gets going at a decent speed the temperature absolutely tanks dramatically and throws a heater fault (like 260 to 235 in 20 seconds). The same is true of the Volcano. I haven't tried the v6 yet but may well happen there too. I pause the print, clear the fault and get temp back up, resume, happens again.
This is through a duet smart effector on a delta in case that matters. Each hotend has it's own effector so it's not restricted to one effector.
-
Is it really only a 12v system?
What flow rate are you pushing when it faults? (HxWxmm/s)
-
@phaedrux yeah the power supply to the effector is 12.2v, the bed is 115. Same power supply that worked fine with the volcano for like 5 years until I tuned it though lol. No idea on flow but nothing crazy, 1.75 out of 0.6 nozzle at probably 45mm/s considering it was the first layer. Volcano easily kept up at this speed with a 0.8 nozzle
-
Any thoughts? The fact that it's happening with the volcano which I know has a 12v heater that used to work fine makes me think there's something going on. The phaetus doesn't really specify whether the heater is for 12 or 24v power supplies so maybe swapping to 24v would improve that one? But the volcano has hundreds of print hours with this power supply and immediately after pid tuning hasn't been able to keep up.
-
@clearlynotstef said in Duet 2 H1 PID Not Keeping Up:
Because it gets up to temp on a reasonable timeline, print starts fine but as soon as filament gets going at a decent speed the temperature absolutely tanks dramatically and throws a heater fault (like 260 to 235 in 20 seconds).
High flow rate hot ends will benefit from the new heater feedforward feature in firmware 3.4.0RC1. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes.
-
@dc42 that works on a duet Wi-Fi 2? The config changes seem daunting just to enable a feature I didn't need before I pid tuned these hotends . Figured eventually I'd jump to duet 3 board and figure out the firmware from scratch eventually. I was printing with the same hardware and hotend at the same speed without a problem forever until this pid tune so I suspect something is up that can be fixed. Is there some parameter I can adjust for the pid? Would switching to legacy P,I, D parameters instead of gain, time constant, etc., be worth a shot? Am I translating the tune results incorrectly into my gcode change?
Further, is there an issue running this in a macro? That is one other change that happened around the same time as the pid tune. I moved the delta parameters (m666 etc), the pid gcode, the probe gcode (for the various trigger heights), the motor gcode (for E jerk/acceleration) and firmware retraction gcode into separate macros for each of the swappable hotend/effector sets. I boot, run the macro, home, calibrate, print. Maybe the macro isn't overwriting the pid parameters in the config.g?
-
@clearlynotstef @dc42 Wanted to follow up on this, still can't get it to hold temp after a tune. Does putting the PID M307 in a macro cause a problem?
-
After PID tuning the easiest way to save the results is to send M500 to save them to config-override.g and then add M501 to the end of config.g to load those saved values at startup.
-
@phaedrux I'm using macros because I have multiple effector assemblies with different hotends/different pid parameters
-
In that case, there is no problem with loading different M307 in a macro. config-override.g is just a macro itself.