What types of move should the speed factor affect?
-
Currently the speed factor set by M220 affects all types of move except homing moves and firmware retraction moves. However, I think it would be better if it didn't affect the following types of move:
- Retractions and reprimes
- Travel moves
- Z lift
Do others agree?
-
@dc42 said in What types of move should the speed factor affect?:
M220
Given that there is a psuedo-standard for M221 to override speed factors on extrusions, I agree with any/all type of extruder movements to be excluded from M220 and included in M221.
Travel Moves? Just an opinion... I think they should be affected. My mental model of M220 is "Speed up or slow down the print" and that includes travel.
Z Lift? I'd need to think about this one a lot more. Abstain for now.
-
@Danal said in What types of move should the speed factor affect?:
Given that there is a psuedo-standard for M221 to override speed factors on extrusions
Is there? It's not mentioned at https://reprap.org/wiki/G-code#M221:_Set_extrude_factor_override_percentage.
-
@dc42 said in What types of move should the speed factor affect?:
@Danal said in What types of move should the speed factor affect?:
Given that there is a psuedo-standard for M221 to override speed factors on extrusions
Is there? It's not mentioned at https://reprap.org/wiki/G-code#M221:_Set_extrude_factor_override_percentage.
Perhaps I'm not reading something correctly.
That link points at M221 and say it sets extrude percentage. It does not use the word "speed", but given "coordinated linear movement", if the extruder is going to emit, say, 125% of what it would emit without the override, it must move further in the time that the overall move takes*. I.E. speed.
Yes?
No?* Unless the planner hits the upper limit of the extruder itself, in which case it slows down all other parts of the move, just like hitting the limit on any axis during a coordinated move. Usually, this is not the extruder. Agreed?
-
My personal preference would be that the speed factor should only affect XYE print moves. So yes I agree.
The reason is that I always use a high speed of about 350mm/sec for non print moves regardless. So if I sliced something at say 50mm/sec then later on decided to do a quick print at 100mm/sec, the non-print moves would end up at 700mm/sec which is too high for my machine. For that reason, I don't/can't use speed factor override in it's current form. Z axis speed is also set to it's maximum although the acceleration is low so this effectively limits layer change speed.
-
@deckingman said in What types of move should the speed factor affect?:
the non-print moves would end up at 700mm/sec which is too high for my machine.
it wouldn't violate
M203
methinks -
The purpose of M221 is to change the extrusion amount, not the speed.
-
@dc42 said in What types of move should the speed factor affect?:
The purpose of M221 is to change the extrusion amount, not the speed.
Stand alone extrusion, I agree, that probably shouldn't be called anything to do with 'speed'.
When extrusion occurs in coordination with other moves, how can one change the amount without changing the speed?
M220 is for dynamic adjustments during printing, and E moves on the same line, like G1 Xnnn Ynnn Ennn, are the most common thing during printing. And those moves must change the speed of something, if more filament is to come out during that move.
-
My vote would be speed up travel moves, leave retraction/unretraction, and z-hops. Ensure that maximum speeds from config can't be overrided.
-
Perhaps a parameter on M220. Default (with no parameters) as it stands with the option to change its behaviour with an optional parameter.
Of course that would mean the behaviour would have to be set in config.g if you wanted anything other than default and it would have to maintain that behaviour when M220 is sent without parameters to allow changes from DWC. -
@dc42 I agree. +1
-
Are moves during the tool change prcedure also travel moves? In that case it would be very useful not to include them, because a tool change using for example a T-lock is a speed sensible process.
-
I agree to @dc42 's proposal
-
@TC said in What types of move should the speed factor affect?:
Are moves during the tool change prcedure also travel moves? In that case it would be very useful not to include them, because a tool change using for example a T-lock is a speed sensible process.
Yes, they are. But I can exempt them separately.
-
So the following seem to be agreed:
- Printing moves (i.e. moves containing both XY movement and extrusion) should be affected by M220
- Extruder-only movements (retract/reprime) should not be affected by M220
- Movements within tool change files should not be affected
- Homing moves already are not affected
Not yet decided:
- Should all moves generated by any macro files (not just tool change files) be unaffected?
- Should non-extruding G1 moves be affected (i.e. travel moves when 3D printing)? For CNC machines and laser cutters, the answer is obviously yes.
I am leaning towards the following:
- Moves generated by commands in a macro file should not be affected
- Other travel moves should be affected
-
@dc42 I agree, that sounds like a good way to do it.
-
@dc42 I agree
-
I'd be tempted to exclude z only moves so z hop can be dialled-in, in a similar way to retraction and the speed up not effect it. Negligable effect on overall build time in most builds.
-
@DocTrucker said in What types of move should the speed factor affect?:
I'd be tempted to exclude z only moves so z hop can be dialled-in, in a similar way to retraction and the speed up not effect it. Negligable effect on overall build time in most builds.
Perhaps M207 could be extended to include Z hop speed?
https://duet3d.dozuki.com/Wiki/Gcode#Section_M207_Set_retract_length
-
Does the speed factor override also override the acceleration rate or just the speeds after the acceleration phase? Because if it doesn't affect the acceleration rate, then short moves like Z hop are likely to be unaffected because they will either be accelerating or decelerating and never attain the set Z speed in any case.