3.5.0-rc.4 Z (print head) crashes into bed at end of print
-
Expected result
At end of print, my GCODE is:
...
G28 X
...
G90 ;absolute positioning
G1 Y200 ;move Y forward to present printObserved result
DWC displayed "Error: G1: intermediate position outside machine limits" in Console
G1 Y200 was never executed, print head crashed into bed after homing X.Steps to reproduce
Type in G28 X into DWC command line produced same result.Config.g
; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3+2 on Fri Apr 05 2024 23:17:08 GMT-0500 (Central Daylight Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"Prusa Bear" ; set hostname M911 S19.8 R22 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss ; Accessories ;M918 P2 E4 F2000000 C30 R6 ; configure direct-connect display ;M150 X2 R255 U255 B255 S3 ; set all 3 LEDs to white ; Network M552 S1 ; configure network M586 P0 S1 ; enable HTTP ; Smart Drivers M569 P0.0 S0 D3 V10 ; driver 0.0 goes backwards (X axis) M915 P0.0 S6 ; set StallGuard threshold M569 P0.1 S1 D3 V10 ; driver 0.1 goes forwards (Y axis) M915 P0.1 S1 ; set StallGuard threshold M569 P0.2 S0 D3 V38 ; driver 0.2 goes backwards (Z axis) M569 P0.3 S1 D2 ; driver 0.3 goes forwards (extruder 0) M569 P0.4 S0 D3 V38 ; driver 0.4 goes backwards (Z axis) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.0 Y0.1 Z0.2:0.4 ; set axis mapping M671 X-50:305 Y0:0 P2 S10 ; define dual driven z-axis with 8mm pitch for leadscrews M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X1200 Y1200 Z1200 ; set axis driver currents M92 X100 Y100 Z400 ; configure steps per mm M208 X-8:250 Y-8:210 Z0:210 ; set minimum and maximum axis limits M566 X480 Y480 Z480 ; set maximum instantaneous speed changes (mm/min) X and Y can be 600 M203 X9000 Y9000 Z960 ; set maximum speeds (mm/min) ;M201 X500 Y500 Z20 ; set accelerations (mm/s^2) M201 X500 Y500 Z250 ; Extruders M584 E0.3 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E800 ; set extruder driver currents M92 E140 ; configure steps per mm M566 E360 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E500 ; set accelerations (mm/s^2) ; Kinematics M669 K0 ; configure Cartesian kinematics ; Probes M558 P5 C"io3.in" H2 F800:300 T6000 A3 ; configure digital probe via slot #0 G31 P1000 X0 Y0 Z1.0966 ; set Z probe trigger value, offset and trigger height with steel TEXTURED sheet ;G31 P1000 X0 Y0 Z0.9003 ; set Z probe trigger value, offset and trigger height with steel SMOOTH sheet ; Endstops M574 X1 S3 ; configure X axis endstop M574 Y1 S3 ; configure Y axis endstop M574 Z1 S2 ; configure Z axis endstop M574 Z2 S3 ; top end Z ? ; sensorless homing M915 X S6 F0 H112 R0 ; set X axis Sensitivity M915 Y S1 F0 H112 R0 ; set Y axis Sensitivity ; Mesh Bed Compensation M557 X13:217 Y1:198 P3 ; define grid for mesh bed compensation M376 H2 ; Fade height 2mm ; Sensors M308 S0 P"temp0" Y"thermistor" A"Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 ; Heaters M950 H0 C"out0" T0 ; create heater #0 M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0 ;M307 H0 R2.43 D5.5 E1.35 K0.56 B1 ; configure model of heater #0 M950 H1 C"out1" T1 ; create heater #1 M143 H1 P0 T1 C0 S280 A0 ; configure heater monitor #0 for heater #1 ;M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1 M307 H1 R2.203 K0.332:0.243 D6.51 E1.35 S1.00 B0 V24.2 ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"out5" ; create fan #0 M106 P0 S0 L0 X1 B0.1 ; configure fan #0 M950 F1 C"out6" ; create fan #1 M106 P1 S0 B0.1 H1 T55 ; configure fan #1 ; Tools M563 P0 D0 H1 F0 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool ; Accelerometer for Input Shaping ;M955 P0 C"spi.cs2+spi.cs1" ; all wires connected to temp DB connector ; Custom settings M572 D0 S0.045 ; Pressure Advance M207 S0.65 F2400 Z0 ; firmware retraction M593 P"zvddd" F61 ; use input shaping to cancel ringing
-
@Nate-Nygren I think we would need to see your homex.g file as well.
-
@gloomyandy
Using the Home X button in DWC works fine, no Z crash.homex.g
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3+2 on Fri Apr 05 2024 23:17:10 GMT-0500 (Central Daylight Time) ; lift Z G91 ; relative positioning G1 H2 Z2 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home X var maxTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm G1 H1 X{-var.maxTravel} F6000 ; coarse home in the -X direction G1 H2 X5 F6000 ; move back 5mm G1 H1 X{-var.maxTravel} F3000 ; fine home in the -X direction G1 H2 Z-2 F6000 ; lower Z again
-
@Nate-Nygren I'm not sure you correctly understand what the H2 parameter to a move is doing. So for instance it looks like you expect that the final G1 H2 Z-2 move to be a relative move, it will not be. Instead it will be moving Z to -2 (which is probably what is causing your crash). So for many of those moves you need to be setting relative mode before you make them. I'd also suggest removing the H2 parameter from most of those moves, it probably is not needed.
-
@gloomyandy I agree the H2 doesn't need to be there, but this homex.g file was generated by the RepRapFirmware Config tool, and like I mentioned above it works fine if it's called by the Home X button in DWC, so I didn't edit them out.
-
@gloomyandy Well something is wrong with it, look at the first Z move it is relative, but the second one isn't. I'm pretty sure that last z move is what is causing your problem. Why not try making the changes and see if it fixes the problem?
-
@gloomyandy I'm already on it I commented out the last G1 move in the homex.g file, which isn't really necessary anyway, and am heating up for a quick print test.
-
@gloomyandy Bingo, commenting out the last G1 move was the key. Thank!
-
@Nate-Nygren You might be better off moving the G90 to the end of the file, it looks to me like all of those moves are intended to be relative moves.
-
@gloomyandy I'll suggest that in the report to the ConfigTool repo.
-
@Nate-Nygren Thanks for reporting this, I just fixed it in the configtool.