Change mix ratio without delay?



  • Hey there,

    here's my code:

    T0               
                                                                                                                                                    
    M567 P0 E1:0:1:0:1   
                                                                                                                                              
    g1 x100 y0  z1.8  
                                                                                                 
    g1  Y30 E50 F15000 
                                              
    M567 P0 E1:1:1:1:1 
                                                                                                                                         
    g1 Y150 E200
    
    M567 P0 E0:1:1:0:1 
                                                                                      
    g1 Y250 E100
    

    I want to change the mix ratio of tool 0 in the middle of a Y movement.

    I wish to have the Y movement run smoothly without stops.

    Is that possible?

    Cheers!



  • @CJ-BRAVO Quick answer - no. Longer answer gcode commands are carried out sequentially so you can only run an M567 between G1 moves.


  • administrators

    @CJ-BRAVO said in Change mix ratio without delay?:

    Hey there,

    here's my code:

    T0               
                                                                                                                                                    
    M567 P0 E1:0:1:0:1   
                                                                                                                                              
    g1 x100 y0  z1.8  
                                                                                                 
    g1  Y30 E50 F15000 
                                              
    M567 P0 E1:1:1:1:1 
                                                                                                                                         
    g1 Y150 E200
    
    M567 P0 E0:1:1:0:1 
                                                                                      
    g1 Y250 E100
    

    I want to change the mix ratio of tool 0 in the middle of a Y movement.

    I wish to have the Y movement run smoothly without stops.

    Is that possible?

    Cheers!

    For that sequence of commands, the movement should be smooth if the extruder jerk is set high enough so that the extrusion mix ratio changes you command can be done instantaneously, without having to accelerate and decelerate the extruders.

    If it's a mixing extruder, in normal use you should keep the total of the 5 E values in the M567 command equal to 1.



  • my jerk:

    M566 X500 Y500 Z50 U500 E800:800:800:800:800    ;
    

    how high should I go?
    you say the the extruder jerk affects the smoothness of the Y movement?

    " 5 E values in the M567 command equal to 1" - what happens if it isn't? how will it affect the movement?

    I want to use M567 pretty often with each movement. I really want to turn on/off of the extruders.

    I thought of just using E:0:1:0:1 and/or e:1:1:1:1

    Should I rethink it and go like this:

    E0 : 0.5 : 0 : 0.5
    or
    E0 : 0.33 : 0.33 : 0.33 ?

    thanks



  • @CJ-BRAVO It would help to know exactly what it is that you are trying to do. The E values should equal 1 if you are using a mixing hot end and have multiple extruders feeding a single nozzle. If that is not the case, the the sum of the E values does not matter. One way to "turn on/off extruders" would be to assign extruders to tools, then you can change which extruders are active by changing tools. But without knowing a bit more about the application and what it is you are trying to achieve, it's difficult to advise.



  • "if that is not the case, the the sum of the E values does not matter" - right.
    I am using several extruders with independent properties which aren't feeding a single nozzle.

    I am trying an experimental tool which has to act as a single tool with multiple drivers that can be turned on/off.

    the best way I found is using the mixing ratio.

    if returning to the first question - I want to use the M567 "seamlessly" while moving in the Y direction.

    From a quick test I noticed that the tool decelerates and accelerates at the M567 change.

    by changing the jerk settings, is it possible to mitigate the effect?



  • @CJ-BRAVO said in Change mix ratio without delay?:

    "if that is not the case, the the sum of the E values does not matter" - right.
    I am using several extruders with independent properties which aren't feeding a single nozzle.

    I am trying an experimental tool which has to act as a single tool with multiple drivers that can be turned on/off.

    the best way I found is using the mixing ratio.

    if returning to the first question - I want to use the M567 "seamlessly" while moving in the Y direction.

    From a quick test I noticed that the tool decelerates and accelerates at the M567 change.

    by changing the jerk settings, is it possible to mitigate the effect?

    OK, now I understand a bit more. In theory, when one Y move follows another without any change of direction, then Y jerk should not apply, at least according to this from the Wiki:

    "The default jerk policy is 0, which replicates the behaviour of earlier versions of RRF (jerk is only applied between two printing moves, or between two travel moves, and only if they both involve XY movement or neither does). Changing the jerk policy to 1 allows jerk to be applied between any pair of moves."

    So as long as you have the policy set to 0, then the only thing that can cause the gantry to slow down would be extruder jerk (which is what DC said). But according to DC, the extruders need to change speed instantaneously (or maintain the speed). An instantaneous change in speed is physically impossible and would require an infinitely high jerk speed. But you could get close by using a very high E jerk setting. Try 3600 and see if that does the trick - I use that value on my machine for other reasons, but I can testify that it does no harm.



  • @deckingman said in Change mix ratio without delay?:

    So as long as you have the policy set to 0

    How do I do that?



  • @CJ-BRAVO said in Change mix ratio without delay?:

    @deckingman said in Change mix ratio without delay?:

    So as long as you have the policy set to 0

    How do I do that?

    The default is 0 so if you have no "P" parameter in your M566, then do nothing. But if you have P1 at in your M566, change it to P0.

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M566_Set_allowable_instantaneous_speed_change



  • can my XYZ and U axis work smoothly without a jerk setting?



  • @CJ-BRAVO said in Change mix ratio without delay?:

    can my XYZ and U axis work smoothly without a jerk setting?

    Not sure what you mean. If there was no instantaneous speed threshold (otherwise known as jerk), then every move would start from a speed of zero, accelerate up to the demand speed, maintain that speed (if the move is long enough to do so), then decelerate back down to zero speed. When jerk (instantaneous speed change) is applied, one move will slow down to the jerk speed instead of zero, and the next move will commence at that same speed.

    So with zero jerk, the gantry will work smoothly but very slowly, especially for things like arcs or curves which are made up from a lot of very short straight moves. Each individual move would start at zero speed, then accelerate but probably never attain the desired speed before it's time to decelerate down to zero speed again prior to the next move. Conversely, if the jerk limit was set to the same as the print speed or higher, then there would be no change in overall carriage speed between moves, but if there is a sharp change in direction, say 90 degrees from pure X to pure Y, then there would be an instantaneous change in speed for each axis, which might be quite violent to watch and not what you would call "smooth".

    In summary, the lower the jerk setting, the smoother moves will appear to be, but overal motion might be too slow. Thus the jerk setting will always be a compromise between "smoothness" and print speed.


Log in to reply