3.4.5 Homing moves really slow
-
Using Duet 3 mini 5+ board on cartesian style printer
Issue after upgrading to 3.4.5 during the homing sequences occurred on the axis being told to travel back a few mm. The movement would happen normally during the H1 home, but move at a snails pace during the H2 portion.
On X and Y:
G1 H1 X-265 F3600 ; move quickly to X axis end <-- MOVES NORMALLY
G1 H2 X10 F6000 ; go back a few mm <-- HERE IS WHERE THE AXIS MOVES AT A SNAILS PACE.On Z homing:
G30 ; <-- LOWERS Z AT NORMAL SPEED FIRST TIME, BUT SUBSEQUENT RAISES AND LOWERS ARE SO SLOW I COULD BARELY TELL THE GANTRY WAS MOVING. RESULTS IN FAILED Z PROBE.Downgraded to 3.4.4 which works a treat. Just thought I'd let you know in case this is the first you've seen the issue.
config.g file attached for reference in case you need it.config.g -
Can you post your homeall.g please?
-
-
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Feb 27 2021 22:01:46 GMT-0600 (Central Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Prusa Bear" ; set printer name ; Network M551 P"" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; ##### 12864 Menu M918 P2 E4 M150 X2 R255 U255 B255 S3 ; set all 3 LEDs to white ; Drives M569 P0.0 S0 D3 V0 ; X 0.0 goes backwards M569 P0.1 S0 D3 V0 ; Y 0.1 goes backwards M569 P0.2 S0 D3 V10 ; Z 0.2 goes backwards M569 P0.3 S1 V0 ; E 0.3 goes forwards M569 P0.4 S0 D3 V10 ; Z 0.4 goes backwards M584 X0.0 Y0.1 Z0.2:0.4 E0.3 ; set drive mapping M671 X-50:305 Y0:0 P2 ; define dual driven z-axis with 8mm pitch for leadscrews M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z400.00 E140.00 ; set steps per mm M566 X800.00 Y800.00 Z48.00 E300.00 ; set maximum instantaneous speed changes (mm/min) Z12.00 M203 X8000.00 Y8000.00 Z1000.00 E7200.00 ; set maximum speeds (mm/min) M201 X1250.00 Y1250.00 Z1250.00 E2000.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z900 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-8 Y-8 Z0 S1 ; set axis minima M208 X250 Y210 Z210 S0 ; set axis maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; Filament Sensor M591 D0 P2 C"io2.in" S1 ; sensorless homing ;M915 X Y S8 F0 H82 R0 ;H=200*1.68*.43/(1.41*3.14*.4) 50% reduction M915 X Y S18 F0 H112 R0 ;H=200*1.68*.59/(1.41*3.14*.4) 70% reduction ; Z-Probe M558 P5 C"^io3.in" H2 F1000:120 T6000 A5 ; set Z probe type to unmodulated and the dive height + travel speeds and number of probes G31 P1000 X0 Y0 Z1.4466 ; set Z probe trigger value, offset and trigger height with steel TEXTURED sheet ;G31 P1000 X0 Y0 Z1.2172 ; set Z probe trigger value, offset and trigger height with steel SMOOTH sheet M557 X13:217 Y1:198 P3 ; define mesh grid M376 H5 ; Fade height 5mm ; Heaters M308 S0 P"temp0" Y"thermistor" A"Bed" B4725 C7.060000e-8 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" Q25 T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.236 K0.254:0.000 D15.51 E1.35 S1.00 B0 ;PID tune for bed M307 H0 B0 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" A"Nozzle" B4725 C7.060000e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C M302 S170 R120 ; allow extrusion starting from 170°C and retractions already from 120°C ; Fans ;part cooling fan M950 F0 C"out5" Q100 ; create fan 0 on pin out5 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ;hotend cooling fan M950 F1 C"out6" Q5000 ; create fan 1 on pin out6 and set its frequency M106 P1 S1 H1 T55 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; 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 ;M572 D0 S0.06 ; Pressure Advance M207 S1 F3600 ;Z0.6 ; firmware retraction ; Custom settings M501 ;Enable config-override M593 P"zvd" F40.5 ; use ZVD input shaping to cancel ringing at 40.5Hz M18 XYE ; release / unlock X, Y, and E axis
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Feb 27 2021 22:01:47 GMT-0600 (Central Standard Time) M400 M913 X70 Y70 ;Reduce motor current to 70% M400 G91 ; relative positioning G1 H2 Z5 F6000 S2 ; lift Z relative to current position M400 ;Home X G1 H1 X-250 F3600 ; move quickly to X and Y axis endstops and stop there (single pass) G90 ; absolute positioning G1 X0 F6000 ; go back a few mm M400 ;Home Y G91 ; relative positioning G1 H1 Y-215 F3600 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 Y8 F6000 ; go back a few mm G1 H1 Y-215 F3600 ; move quickly to X and Y axis endstops and stop there (second pass) G90 ; absolute positioning G1 Y0 F6000 ; go back a few mm G91 ; relative positioning ;G1 H1 X-290 Y-249 F360 ; move slowly to X and Y axis endstops once more (second pass) M400 M913 X100 Y100 ; Increase motor current to 100% M400 G90 G1 X13 Y1 G30 ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
-
This is happening to me too! I'm having a number of issues with corexy homing on the 3 mini 5+ after updating to 3.4.5, including the issue you described. It's also not stopping when an endstop is triggered during a simultaneous xy home move (it seems to work if I home a single axis though... aside from the slow H2 move). I haven't had the time to experiment with what exactly was causing these issues though. Only thing I changed was upgrading the software
edit / update: downgraded to 3.4.4 and everything works fine.
-
@rainy Thanks for the report. Could you share your config.g and homing files?
-
This is a fairly standard corexy setup with dual leadscrew z axis:
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 15 2021 08:37:37 GMT-0700 (Pacific Daylight Time) ; General preferences M550 P"rcxy" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; PanelDue M575 P1 S1 B57600 ; enable support for PanelDue ; Coordinates G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; select CoreXY mode ; Drives M569 P0.0 S1 D3 ; physical drive 0.0 goes forwards M569 P0.1 S1 D3 ; physical drive 0.1 goes forwards M569 P0.2 S0 D3 ; physical drive 0.2 goes backwards M569 P0.3 S0 D3 ; physical drive 0.3 goes backwards M569 P0.4 S0 D3 ; physical drive 0.4 goes backwards M584 X0.0 Y0.1 Z0.3:0.4 E0.2 ; set drive mapping M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z800.00:800.00 E815.8 ; set steps per mm M566 X1000.00 Y1000.00 Z20.00 E300.00 ; set maximum instantaneous speed changes (jerk) (mm/min) M203 X7200.00 Y7200.00 Z500.00 E3000.00 ; set maximum speeds (mm/min) ;Old accelerations 2022-04-15 M201 X2000.00 Y2000.00 Z20.00 E2000.00 ; set accelerations (mm/s^2) ;Old accelerations 2022-04-22 M201 X1800.00 Y1800.00 Z20.00 E1800.00 ; set accelerations (mm/s^2) M201 X1000.00 Y1000.00 Z40.00 E1000.00 ; accelerations M906 X1200 Y1200 Z1200:1200 E900 I60 ; set motor currents (mA) and motor idle factor in percent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z-0.5 S1 ; set axis minima M208 X308 Y218 Z240 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin io0.in M574 Y2 S1 P"io2.in" ; configure active-high endstop for high end on Y via pin io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe M950 S0 C"io3.out" ; create servo pin 0 for BLTouch M558 P9 C"^io3.in" H5 F240:120 T4800 A5 S0.02 ; set Z probe type to bltouch and the dive height, speeds, travel between speed, max probe tries, max deviation between probes G31 P500 X0 Y26 Z2.26 ; set Z probe trigger value, offset and trigger height M557 X5:302 Y28:213 P6:4 ; define mesh grid M376 H8; ; taper mesh compensation over 10mm Z ; Manual bed leveling ;M671 X11.5:296.5:296.5:11.5 Y213.5:213.5:4.0:4.0 P0.5 S3.0 ; screw points for bed thumb screws - define screw points, thread pitch, max correction ammount M671 X11:296 Y109:109 S8.0 ; lead screw points for automatic Z leveling - this assumes the bed pivots about the mounting point, not the lead screw ; Heaters ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 R0.827 C650.4 D7.42 S1.00 V24.5 ;bed M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; Hot End M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 ; run this to PID tune: M303 T0 S255 F0.4 tune tool 0 at 255c with part cooling fan at 40% M307 H1 B0 R1.683 C207.6:194.5 D6.24 S1.00 V24.5 ; pid tuning M143 H1 S286 ; set temperature limit for heater 1 to 280C ; Chamber temp sensor (passively heated by bed) M308 S2 A"Chamber" P"temp2" Y"thermistor" T100000 ; add thermistor on pin temp2, 100K, ; Fans ; Hot end ;M950 F0 C"out3" Q220 ; create fan 0 on pin out3 and set its frequency (use this for 2-pin fan) M950 F0 C"!out3+out3.tach" ; Fan 0 uses out3, but we are using a PWM fan so the output needs to be inverted, and using out3.tach M106 P0 C"Hotend" S0 X60 H1 T45 ; set fan 0 name and value. Set max power to --%. Thermostatic control is turned on ; Part cooling M950 F1 C"out4" Q250 ; create fan 1 on pin out4 and set its frequency (part cooling) M106 P1 C"Part" S0 H-1 ; set fan 1 name and value. Thermostatic control is turned off ; LED strips M950 P1 c"out5" Q500 ; ; Pressure advance for extruder M572 D0 S0.09 ; set pressure advance on extruder ; Tools M563 P0 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 ; Miscellaneous T0 ; select first tool ; One-time use Wifi setup (delete pw after using) ;M552 S0 ; disable network ;G4 P500 ; wait half a second ;M587 S"ssid" P"pw" ; configure WiFi ;M552 S1 ; enable network
homeall.g:
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 15 2021 08:37:37 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F3000 ; lift Z relative to current position G1 H1 X-313 Y223 F1800 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-313 ; home X axis G1 H1 Y223 ; home Y axis G1 X5 Y-5 F3000 ; go back a few mm G1 H1 X-313 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y223 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X154 Y83 F3000 ; go to first probe point G30 ; home Z by probing the bed G1 X0 Y215 Z10 ; G30 leaves Z value at probe trigger height + 5mm. Resetting to Z10
my homex is where I was seeing the slow movement issue, but I was messing with the script and forgot to save the original. It was essentially what @Nate-Nygren had though.
On homeall.g, the carriage would only move in the x direction until it crashed (normally it would move x and y simultaneously until either hit an endstop). The x homing move did seem to react to the endstop though - if I triggered the endstop by hand while x was homing, it would actually increase its speed towards the x home until it, again, crashed. My homeall.g doesn't use any H2 moves for the x or y axes, but I suspect this is linked to what @Nate-Nygren described, because downgrading to 3.4.4 fixed it.
-
Thanks. We're investigating.
-
Just wanted to add that I'm seeing very similar homing issues on coreXY as what @rainy sees. I just updated to 3.4.5 (from 3.4.0) and now when homing all axes the printer doesn't stop after it hits the endstop but instead starts stalling out the motors trying to push past the end. Works fine if I home the axes individually though.
I think my homeall macro is unchanged from what the RRF Config Tool generated.
-
Adding to this discussion a little. If I manually post each line from my homeall.g command to the console and execute them in sequence, they seem to work properly. However, if I generate a macro with the 3 commands:
G1 H1 X-625 Y605 F3800 G1 H1 X-625 G1 H1 Y605
the board seems to no longer pause when each endstop is triggered, almost like it's executing them all instantly. The endstop monitor plugin shows each endstop being triggered, however when X is triggered, for example, the feed does not stop in the X direction and continues until the full move has been completed.
This was after an upgrade from 3.4.4 to 3.4.5
-
@Chorca thanks, that's useful data. I am currently investigating these issues with RRF 3.4.5. Which board are you using? Please post your config.g file.
-
-
@Chorca @JennToo @rainy @Nate-Nygren this has been resolved. Please see https://forum.duet3d.com/post/302699.