Klipper3d / klipper

Klipper is a 3d-printer firmware
GNU General Public License v3.0
9.41k stars 5.3k forks source link

Move out of range #1024

Closed YaronSoffer closed 5 years ago

YaronSoffer commented 5 years ago

My guess this is happing if you have done BED_MESH_CALIBRATION ( my bed is not level at all). somehow the calculation leads to a value of Z below zero. Here is an example of a failure : Move out of range: 165.313 85.200 -0.531 you can work around this by setting the following to negative value. I had set mine to almost minus one millimeter. Add the following to Z section e.g [stepper_z]. position_min: -0.99 my guess this can be done in the software ( taking the lowest value from the BED_MESH_CALIBRATION).

cosminr86 commented 5 years ago

Try something like position_min: -2

KevinOConnor commented 5 years ago

In order for us to assist, you'll need to attach the klipper log file from the event - see: https://github.com/KevinOConnor/klipper/blob/master/docs/Contact.md

YaronSoffer commented 5 years ago

klippy.log Here is the log as requested . In this case the error occur on the folllowing: "Move out of range: 180.791 16.605 -1.021 [28.758]" cosminr86 - you are right need to put it on -2 . I had to RESTART the system ,hope that this did not initated the log from the start. I can recreate if needed.

KevinOConnor commented 5 years ago

As noted, the log indicates you need to change the position_min to allow a move below -1.021 .

-Kevin

YaronSoffer commented 5 years ago

You are correct but the question remains? why does it happen ? in the gcode there is no indication of a move below zero levels? my wild guess is that the BED_MESH_CALIBRATION result is added to the z height and then you get a negative value as the height. Can the warning take into consideration that the values are not real?

KevinOConnor commented 5 years ago

Yes - the position_min/position_max checks are done relative to the linear rail, not relative to the gcode parameters.

-Kevin

YaronSoffer commented 5 years ago

Is it possible to notify the user what is the lowest value ? Maybe set the "position_min" in the config file ( with some added safety value )?

On Thu, Dec 27, 2018, 19:33 KevinOConnor <notifications@github.com wrote:

Yes - the position_min/position_max checks are done relative to the linear rail, not relative to the gcode parameters.

-Kevin

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/KevinOConnor/klipper/issues/1024#issuecomment-450196902, or mute the thread https://github.com/notifications/unsubscribe-auth/Aoqzk3epJ7JIU0gL36D16Zt5qsSpx1Okks5u9QRagaJpZM4Zdqgk .

KevinOConnor commented 5 years ago

I'm going to close this as I think the original question was answered. I agree that better documentation on bed levelling is needed.

-Kevin

Tjiaepbu commented 5 years ago

Send: N52604 G9120 Send: N52605 G1 E-1 F3000 Recv: ok Send: N52606 G1 Z+0.5 E-5 X-20 Y-20 F900070 Recv: ok Send: N52607 G9022 Recv: !! Move out of range: -0.553 36.071 52.132 [44137.946] Changing monitoring state from "Printing" to "Cancelling"

What this means? Got always this error after print, and the hot end stops and melts a crater to the print.

jakep82 commented 5 years ago

It looks like your end gcode is telling the printer to make a move out of range. It's generally not a good idea to move X or Y with relative positioning (G91) at the end of a print. You're telling the printer to move -20mm in X and Y, regardless of where the nozzle is at the end of the print. If the nozzle is less than 20mm from your X or Y min_position, it will cause this error. You should only move Z and E after the G91, then switch back to absolute positioning with a G90 before moving X and Y.

Tjiaepbu commented 5 years ago

Thats just the cura end code. Do i need to chance it somehow?

pe 22. helmik. 2019 klo 22.17 jakep82 notifications@github.com kirjoitti:

It looks like your end gcode is telling the printer to make a move out of range. It's generally not a good idea to move X or Y with relative positioning (G91) at the end of a print. You're telling the printer to move -20mm in X and Y, regardless of where the nozzle is at the end of the print. If the nozzle is less than 20mm from your X or Y min_position, it will cause this error. You should only move Z and E after the G91, then switch back to absolute positioning with a G90 before moving X and Y.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/KevinOConnor/klipper/issues/1024#issuecomment-466532922, or mute the thread https://github.com/notifications/unsubscribe-auth/AertR13BtyBuRqow-box4DFUk6vVAQX8ks5vQFBkgaJpZM4Zdqgk .

jakep82 commented 5 years ago

Yes, you need to change your end gcode.

YaronSoffer commented 5 years ago

I found another work around except setting the value to -2 . Try installing the bed visualizer plugin from octoprint plugins. Youcan try to achieve better bed leveling manually. Or you can see the lowest value of your bed in the visualizer and set it accordingly.

On Fri, Feb 22, 2019, 22:24 jakep82 notifications@github.com wrote:

Yes, you need to change your end gcode.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/KevinOConnor/klipper/issues/1024#issuecomment-466535008, or mute the thread https://github.com/notifications/unsubscribe-auth/Aoqzk538gBODnMy1xs5cVfRL8p9ZC-jIks5vQFHzgaJpZM4Zdqgk .