Unwanted decelerations during travel moves



  • I have noticed that long travel moves are not smooth. If a G1 command is sent to quickly move a long fistance, the print head decelerates and accelerates several times during the move.

    What could be causing this? Z axis movement settings too conservative for mesh grid compensation?

    Here's a video of the phenomenon:
    http://imgur.com/a/6sdqtUv

    Here is my config file:

    ; Configuration file for Duet Maestro
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 P"Printer of Theseus" ; Set machine name
    M555 P0 ; Set gcode flavor to RepRapFirmware
    M551 P"reprap" ; Set password
    M552 P192.168.2.2 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives (X=0 Y=1 Z=2 E0=3 E1=4)
    ; Equations for StealthChop/SpreadCycle transition feed F (mm/s), where V is the parameter given in M569 command and S is the steps/mm:
    ; V = 1.5E6/(SF)
    ; F = 1.5E6/(S
    V)

    M569 P0 S0 D3 V2500 ; Physical drive 0 goes backwards
    M569 P1 S1 D3 V2500 ; Physical drive 1 goes forwards
    M569 P2 S0 D3 V187.5 ; Physical drive 2 goes backwards 1875
    M569 P3 S0 D3 V1000 ; Physical drive 3 goes backwards
    M569 P4 S1 D3 V1000 ; Physical drive 4 goes backwards
    M569 P5 S0 D3 V333.3 ; Physical drive 5 goes forwards
    M350 X32 Y32 Z32 E32:32:32 I1 ; Configure microstepping with interpolation
    M92 X200.00 Y200.00 Z800.00 E300.00:300.00:900.00 ; Set steps per mm
    M566 X300.00 Y300.00 Z24.00 E40:40:40 ; Set maximum instantaneous speed changes (mm/min)
    M203 X15000 Y15000 Z360 E6000:6000:6000 ; Set maximum speeds (mm/min) 7200
    M201 X1250 Y1250 Z1000 E1000:1000:1000 ; Set accelerations (mm/s^2)
    M906 X1400 Y1400 Z800 E500:500:600 I30 ; Set motor currents (mA) and motor idle factor in percent
    M84 S180 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y-5 Z0 S1 ; Set axis minima
    M208 X256 Y225 Z201 S0 ; Set axis maxima
    M564 H0 S1 ; Allow movement before homing and disallow movement outside of axis limits

    ; Endstops
    M574 X1 Y1 S1 ; Set active high endstops

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M558 P5 H1 I1 F300 T15000 ; Set Z probe type to switch and the dive height + speeds
    G31 P500 X22.5 Y0 Z0.40 ; Set Z probe trigger value, offset and trigger height
    M557 X25:231 Y20:200 P5:5 ; Define mesh grid

    ; Heaters
    M305 P0 T100000 B4725 C7.06e-8 R2200 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S110 ; Set temperature limit for heater 0 to 110C
    M305 P1 T100000 B4725 C7.06e-8 R2200 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S290 ; Set temperature limit for heater 1 to 290C
    M305 H100 P101 S"Duet MCU Temp" ; Configure MCU thermister
    M305 H101 P101 S"Duet Drivers Temp" ; Configure driver thermister

    ; Fans
    M106 P0 S0.0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1.0 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1.0 I0 F500 H100:101 T40 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0:2 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    M567 P0 E1:1 ; Set mix ratio 1 to 1
    M563 P1 D1:2 H1 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets
    G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
    M567 P1 E1:1 ; Set mix ratio 1 to 1

    ; Automatic saving after power loss is not enabled

    ; Custom settings
    M572 D0 S0.02 ; Enable pressure advance for extruder 0
    M572 D1 S0.02 ; Enable pressure advance for extruder 1

    M501 ; Load stored settings

    Thanks!


  • administrators

    I suspect it is because you are using mesh bed compensation but you have a very low Z jerk limit set in your M566 command. When the head crosses a ridge or valley in the height map, the Z motor has to reverse direction. It's slowing down to keep the change in Z motor speed within the jerk limit.



  • @dc42 Thanks for the explanation, that makes a lot of sense. When I have access to my machine again I'll try that out.


Log in to reply