M221 - Request for help for proper extruder drive mapping DWC
-
@code7 What @Phaedrux said plus can you explain what hardware you are using?
By that I mean what board and any expansion boards.
I'm making a guess from you signature and the config.g file that you only have a Duet Wifi. In which case you only have 5 drivers (0 to 4). You might have a Duex 5 but it doesn't look likely from the config.g. A Duex 5 would give you 5 additional drivers which would be drivers 5 to 9.
So driver 10 would need to be somehow connected to an expansion board or the expansion header. But although it would driver 10, it can't be extruder 10 because XY and Z take up the first 3 drivers (0 to 2). So what I think you are trying to do is connect extruder 0 (the only extruder) to driver 10 which is an external driver connected to an expansion board or the expansion header.
But this all conjecture and deduction on my part so we need some more information about the hardware. A picture or two might help.
-
Thanks, I removed this line.
This was created in RRF3 to automatically speed up the extrusion feed rate based on an external trigger for closed-loop control. I was hoping to do this within the firmware, but Danal said the FW and Controller would not be able to react quickly enough.
-
Yes I am using a Duet Wifi with the external controller and motor driver wired through the expansion header. I am no longer using the E0 pins on the board so maybe it would be simpler to not use the expansion header pins for the external controller/motor driver?
-
@code7 said in M221 - Request for help for proper extruder drive mapping DWC:
Yes I am using a Duet Wifi with the external controller and motor driver wired through the expansion header. I am no longer using the E0 pins on the board so maybe it would be simpler to not use the expansion header pins for the external controller/motor driver?
Probably. But I have zero experience of using external drivers so personally, I am unable to help. If you can connect the motor directly to the onboard driver, then it becomes a piece of cake.
-
Do you know why sending either M221 S150 D0 or M221 S150 D10 has no effect on changing the feedrate?
-
Well D10 wouldn't work because there is no 10th motor driver. Not sure why D0 wouldn't work unless it is working, just not being reflected in DWC. What do you get if you just send M221 D0 by itself? Does it report the currently set feedrate?
I have to admit, I'm still pretty lost on what your setup is and what's going on. sorry.
-
Sending M221 D0 returns the current set feedrate: Extrusion factor for extruder 0: 150.0%
But sending G0 E10 F100 still feeds the extruder forward 10mm at a feed of only 100mm/min as verified with an external timer. -
I'm not sure if M221 will modify a G0 command in the way that you're expecting since it's not being detected as a coordinated print extrusion move with an X Y E value. I could be wrong, but if you're sending G0 E10 it will give you G0 E10 regardless of the M221 set.
Try giving it a G1 X Y E command instead and see if it then applies M221. I'm not sure, but that might also need to be executed from a print file.
@dc42 would have to clarify.
-
You are correct and this explains everything. M221 will only modify a G0 or G1 if it contains a coordinated print extrusion move with an X Y E value.
Would it be OK to remove most of the intermediate posts on this topic to save future users from having to read through them?
Sure appreciate your help.
-
No need to delete. I can mark the answer to show up at the start.