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.
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
-
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.