What would cause print to be slower than displayed?



  • I made two changes recently.

    • Switched X&Y to 256 micro-stepping
    • Upgraded from 3.0 to 3.1.1

    I don't remember when I started seeing the issue, but I'm seeing 200+ mm/sec "actual" speed on the DWC but the carriage is moving more like 40mm/sec. You can see in this video.

    Those long moves are roughly 200mm and they sure are taking longer than 1sec.

    Screenshot_20200623-161442.jpg

    The DWC is lying to me.

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Mon Jun 15 2020 10:26:09 GMT-0700 (Pacific Daylight Time)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"RailCore II ZLT"                            ; set printer name
    M669 K1                                            ; select CoreXY mode
    
    ; Network
    M552 P192.168.1.201 S1                             ; enable network and set IP address
    M553 P255.255.255.0                                ; set netmask
    M554 P192.168.1.254                                ; set gateway
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S1                                         ; enable FTP
    M586 P2 S1                                         ; enable Telnet
    
    ; Drives
    M569 P0 S0                                         ; physical drive 0 goes forwards
    M569 P1 S1                                         ; physical drive 1 goes backwards
    M569 P2 S1                                         ; physical drive 2 goes backwards
    M569 P3 S1                                         ; physical drive 3 goes backwards
    M569 P4 S0                                         ; physical drive 4 goes forwards
    M569 P5 S0
    M569 P6 S0
    M569 P7 S0
    M584 X0 Y1 Z2 E3:4                                 ; set drive mapping
    M350 X256 Y256 Z32 E64:64 I0                         ; configure microstepping without interpolation
    M92 X3200.00 Y3200.00 Z1600.00 E3120.00:3120.00      ; set steps per mm
    M566 X1500.00 Y1500.00 Z18.00 E120.00:120.00       ; set maximum instantaneous speed changes (mm/min)
    M203 X18000.00 Y18000.00 Z500.00 E6000:6000  ; set maximum speeds (mm/min)
    M201 X2000.00 Y2000.00 Z500.00 E2000.00:2000.00    ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E1000:1000 I30                 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X300 Y286 Z610 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"xstop"                                ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
    M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M950 S0 C"duex.gp1"                                ; create servo pin 0 for BLTouch
    M558 P9 C"zprobe.in+zprobe.mod" H3 F120 T6000      ; set Z probe type to bltouch and the dive height + speeds
    M558 H30                                           ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
    G31 P500 X0 Y45 Z3.6                               ; set Z probe trigger value, offset and trigger height
    M557 X5:300 Y45:285 S16                            ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 R4700 B3950 H0 L0       ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0 Q100                         ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M143 H0 S160                                       ; set temperature limit for heater 0 to 160C
    ;M308 S1 P"spi.cs1" Y"rtd-max31865"                 ; configure sensor 1 as thermocouple via CS pin spi.cs1
    M308 S1 P"e0_temp" Y"thermistor" T100000 B4725 C7.06e-8
    M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    ;M308 S2 P"spi.cs2" Y"rtd-max31865"                 ; configure sensor 2 as thermocouple via CS pin spi.cs2
    M308 S2 P"e1_temp" Y"thermistor" T100000 B4725 C7.06e-8
    M950 H2 C"e1heat" T2                               ; create nozzle heater output on e1heat and map it to sensor 2
    M307 H2 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
    M106 P0 C"Left Blower" S0 H-1                      ; set fan 0 name and value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 and set its frequency
    M106 P1 C"Right Blower" S0 H-1                     ; set fan 1 name and value. Thermostatic control is turned off
    M950 F3 C"duex.fan3" Q500                               ; create fan 2 on pin fan2 and set its frequency
    M106 P3 C"Cold Section" S0 H1:2 T60:160  L0
    
    ; Tools
    M563 P0 S"Left" D0 H1 F0:1                         ; 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
    M563 P1 S"Right" D1 H2 F0:1                        ; 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
    
    ; Custom settings
    G10 P0 S-273 R-273                                 ; Set tool 0 operating and standby temperatures(-273 = "off")
    G21
    G90                                                ; Send absolute coordinates...
    M140 S-273 R-273 
    M501
    M555 P2
    M584 X0 Y1 Z5:6:7 E3:4:8:                          ; U5 V6 W7  ; Map Z to drivers 5, 6, 7. Define unused drivers 3,4,8 and 9 as extruders
    M671 X-10:-10:333 Y22.5:277.5:150 S7.5             ;Front left,(-10,22.5) Rear Left (-10.,227.5) , Right (333,160) S7.5 is the max correction - measure your own offsets, to the bolt for the yoke of each leadscrew
    M83                                                ; ...but relative extruder moves
    M929 P"eventlog.txt" S1                            ; Start logging to file eventlog.txt
    
    
    ; Miscellaneous
    M591 D0 P7 C"e0stop" S1 E25 L1.466 R50:150
    M591 D1 P7 C"e1stop" S1 E25 L1.466 R50:150
    
    M98 P"config-user.g"                    ; Load custom user config
    
    M501                                               ; load saved parameters from non-volatile memory
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    T0                                                 ; select first tool
    
    

  • Moderator

    That is a little odd.

    Couple things to check.

    Is DWC also updated to 3.1.1?
    Can you double check that 3.1.1 is actually installed? M115 to check.
    Have you tested with x16 microstepping?
    If you send M122 do you see any hiccups?



  • @gnydick Were your original steps per mm using 16X microstepping really 200? It's an odd number unless you were using 16 tooth pulleys and 0.9 degree motors. But if I divide your current 3200 steps per mm by 256 and multiply by 16, then 200 is what I get.



  • @deckingman yep, that's the case. RailCore II.

    Turns out that changing it back to 16x brought the speed back.



  • @gnydick Sounds like you exceeded the maximum step pulse frequency. Nobody has yet told me what that is with rrf3. But if my maths serves me correctly, 3200 steps per mm X 200 mm per sec would be 640 kHz. Try running M122 and look at the hiccup count. Then try 32x and run M122 again. Then 64x etc. You don't have to do a complete print. A few long moves should be enough. Hiccups should be at or very close to zero. When you get a high count, you know that you've exceeded the limit.


Log in to reply