After install Eddy coil printer error "Move out of range"

Basic Information:

Printer Model: Ender 3 Pro
MCU / Printerboard: SKR 3 + EBB42
Host / SBC: Raspberry Pi 5
klippy.log (5.0 MB)

Describe your issue:

Printer was working perfectly with BLtouch. I wanted to change to Eddy Coil (since I have an EBB42 board).
I configured everything, I calibrate the Eddy. Everything is ok in that regard. I tried to print a 20x20x20 mm³ cube in the middle of the bed (I sliced with PrusaSlicer with the exact same configuration as I sliced everything). And after the Purge Line I have the error: Move out of range: -0.019 4.973 10.513 [29.000]

I commented out the Purge Line machro, and then the printer starts to print, it prints the skirt, and then prints the inner wall and continues with the outer wall, but before it can finish that, the same error appears: Move out of range: -0.018 4.974 10.231 [14.549]

Has anyone any idea what I am doing wrong? Just in case I am attaching also the GCode Shape-Box_26m.gcode (269.4 KB)

Shortly before the “Move out of range” there is a pause event. Judging from the MOOR values it seems a wrong pause position.

I think I found the issue.

There is a filament runout event before the MOOR that is not reported.

I checked and apparently, you can not trust the BTT pdf manual of the EBB42, since the pin is incorrect. I plug my SFS into the BLtouch connector, according to the pdf that is the PA4, However, the pdf Schematic, shows that the pin “Servos” is connected to PB9. I simply declared the correct pin and it didn’t fail again

Not quite the solution.

You found the reason that issued the move that caused the MOOR.

But when you have a real filament runout, you again will have a MOOR.

[filament_motion_sensor SFS]
detection_length = 10.00
extruder = extruder
switch_pin = ^EBBCan: PA4
pause_on_runout = False
event_delay = 3.0
pause_delay = 0.5
runout_gcode = 
	M300 S1 P10
	M300 S1 P10
	PAUSE   # <---------
	M600
[gcode_macro PAUSE]
description = Pause the actual running print
rename_existing = BASE_PAUSE
gcode = 
	
	{% set z = params.Z|default(10)|int %}
	
	{% if printer['pause_resume'].is_paused|int == 0 %}
	SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE={z}
	SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target}
	
	SFS_DISABLE
	SAVE_GCODE_STATE NAME=PAUSE
	BASE_PAUSE
	{% if (printer.gcode_move.position.z + z) < printer.toolhead.axis_maximum.z %}
	G91
	G1 Z{z} F900
	{% else %}
	{ action_respond_info("Pause zhop exceeds maximum Z height.") }
	SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=zhop VALUE=0
	{% endif %}
	G90
	G1 X{printer.toolhead.axis_minimum.x} Y{printer.toolhead.axis_minimum.y+5} F6000  # <-----
	SAVE_GCODE_STATE NAME=PAUSEPARK
	M104 S0
	SET_IDLE_TIMEOUT TIMEOUT=43200
	{% endif %}

Be sure that printer.toolhead.axis_minimum.x is not larger than position_max of the bed

Thanks a lot! I was completly lost! I will correct that

I checked again, and the X min is 0 and X max is 254, how can this happen? do you have any idea?

A bit of a long shot here but I noticed similar “rounding issues” in other places as well. As you can see from the error message, Klipper tries to reach X=-0.018 (for whatever reason, maybe minimum step resolution?), where it should be plainly X=0.

Typically to avoid such effects, you would do something like:

G1 X{printer.toolhead.axis_minimum.x + 0.1}

Thanks! I think that will do the trick. I don’t understand why is that happening, but most of the time it is around that value -0.018 or -0.019.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.