SOLVED Issue with G10 firmware retraction speed - mixing hot end
deckingman last edited by deckingman
Currently running RRF3, one Duet gen 3 main board and 3 duet 3 expansion boards. I suspect the issue is with RRF 3.0 though it may pre-date it. Hot end is a Diamond, 5 input one output. All tools are defined to use all 5 extruders though the mixing ratio is different for each tool. Extruders are connected to expansion boards but I think this is irrelevant regarding the issue.
I've been struggling to get my retractions right since upgrading to generation 3 hardware and firmware. In fairness, the upgrade involved many mechanical modifications, including altering the lengths of Bowden tubes. But I've been running 6mm retraction distance which is pretty insane given that I use high pressure advance and have relatively short Bowden tubes (about 200mm). Even with those settings, I have been struggling to eliminate blobs and stringing.
After extensive testing, I have now discovered that the issue is to do with G10/G11 retraction speeds. This speed varies in accordance with the number of extruders assigned to a tool. So for example, a tool defined to use a single extruder will retract and un-retract twice as fast as a tool defined to use 2 extruders. So my 5 extruder tools actually retract at 1/5th of the speed I set using M207. As far as I'm able to tell, the G10 retraction distance is the same for all extruders and does not change regardless of how many extrudes are assigned to a tool. It's just the retraction speed which varies (as far as I am able to "eyeball"). Mixing ratios have no effect - simply the number of extruders assigned to a tool.
This is undesirable behaviour. For a mixing hot end, the firmware retraction speed should be agnostic of the number of extruders assigned to a tool. Now that I understand what is happening, I can work around it by defining all tools to use exactly the same number of extruders and set mixing ratios to zero for those "unused" extruders. Then to use values for F and T in M207 which are multiple times higher. e.g. to retract at 60mm/sec with a 5 extruder tool, I need to set F and T to set them to 18,000. Previously I had been using up to 3,600 thinking that this was 60mm/sec when in fact it is 12mm/sec! Hence my problems......
I think this is related to the way that extruding via DWC works. So for example, if I select 1 extruder drive and extrude say 100 mm at 5mm/sec, that's what I get. But if I select select 2 drives and do the same, I get 100mm from each drive but at half speed. Obviously it is trying to maintain the speed through the nozzle at 5mm/sec. If it didn't do that, then if I selected 5 drives and extruded 100mm at,5mm/sec, the flow rate through the nozzle would be 25mm/sec which is too high.
But for G10/G11, we can't unretract unless we have first retracted. So we never try to push filament through a nozzle. Therefore whatever mechanism is applied when extruding multiple drives through DWC, should not be applied to firmware retraction.
I agree with your diagnosis of the cause. I'll add fixing it to the RRF3 work list.
@dc42 Great........and Merry Xmas!
I can confirm that the latest RRF3 fixed this issue. I've amended the title to mark this as solved.