Gcode for prusa i3 (MK2s) ends with mesh bed leveling sequence, crashing the printer into the just printed object

106 views
Skip to first unread message

Davy Landman

unread,
Jan 6, 2018, 8:35:44 AM1/6/18
to IceSL
That was quite scary. After a succesfull print, the printer finished it off with crashing into the just printed model, and completely halting the printer (luckily no permanent damage).

I tried a print with IceSL, must say I quite like the way that even print-speeds can be changed per layer.

So I thought to debug it. In the end, it's because of the G28 generated at the end of the script. On my Prusa MK2s with newest firmware, nothing customized, this invokes the homing sequence, that does a mesh bed leveling of the 9 points on the heatbed. So at the half of this leveling it will pass the center and crash into the printed object. NO GOOD. Looking at the output of slic3r, a G1 X0 Y200; is much safer. it also avoids changing the Z position that the G28 causes.

So I hope this is the right place to post it. And until this is fixed, the workaround is to manually replace the G28 at the end with a G1 X0 Y 200;

This was using the latest release of IceSL for windows.


sylefeb

unread,
Jan 6, 2018, 9:23:24 AM1/6/18
to IceSL
Hi David,

Thanks for pointing this out - sorry this happened. We will fix it asap (this is the right place to report bugs). Strange thing is we do have a Prusa MK2 and did not encounter this (bad!) issue.

Best,
Sylvain

Davy Landman

unread,
Jan 6, 2018, 9:41:09 AM1/6/18
to sylefeb, IceSL
Hi Sylvain,

Just to be sure I also tested it with a 1cm square, nothing fancy enabled in IceSL. and still, the G28 is in the gcode.

Strange you didn't encounter it. The only difference I can think of is that I load the print with OctoPrint, so that's sending the commands line by line over the serial "port". Perhaps if you print it from SD, the firmware detects it and knows it's at the end of the file? I'll run a test tonight.

Cheers,
Davy



--
You received this message because you are subscribed to a topic in the Google Groups "IceSL" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/icesl/yTEToDB6D_g/unsubscribe.
To unsubscribe from this group and all its topics, send an email to icesl+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

sylefeb

unread,
Jan 6, 2018, 9:42:55 AM1/6/18
to IceSL
Would moving to 0,0 be safe on the Prusa? That is : G1 X0 Y0 ?

The reason is that the same profile is used for other "prusa compatible" where Y200 may be too much. I would assume 0,0 is safe but I do not have the printer next to me to verify ...

Sylvain
PS: The assumption with G28 likely was that it would move always up to strike the endstops, doing only homing. This is obviously no longer the case with the bed leveling sequence being done as well. Also, the assumption homing moves up is risky, as someone could use an endstop on minz ... (not likely though as this would badly interact with leveling). In any case, G28 should be restricted to start sequences from now on.

sylefeb

unread,
Jan 6, 2018, 9:53:04 AM1/6/18
to IceSL
> Strange you didn't encounter it.

I just realized we are in fact using the "prusai3_multi" profile (as we have the multi-extruder addon), and this one was doing a "G28 X0". Still, I will also fix it to use G1 X0 instead (I might as well not touch Y).

Sylvain

Davy Landman

unread,
Jan 6, 2018, 10:05:53 AM1/6/18
to sylefeb, IceSL
I think it would be safe, yet (a bit) anoying, as the print would then be at the back of the printer. Can't the printer profile bed-size parameter be used to move to the back corner?


sylefeb

unread,
Jan 6, 2018, 10:15:57 AM1/6/18
to IceSL
Yes, I agree. For now I settled on using "G1 X0" only (Y remains untouched). But using bed size is definitely possible, I'll improve later on. Right now I am releasing a hot fix :-)

2.1.11-beta2 is available and includes the fix, slicecrafter is updated as well.

Thanks!
Sylvain

Davy Landman

unread,
Jan 6, 2018, 10:31:00 AM1/6/18
to sylefeb, IceSL
Nice, thanks!

Steve Yates

unread,
Jan 6, 2018, 10:35:08 AM1/6/18
to IceSL
The wanhaoi13 profile has the same issue.  Using G28 without specifying an axis is dangerous.

On my Monoprice Maker Select Plus, G28 with no parameters seems to home just the Y and Z axis.  Luckily my first print was almost 2D so it didn't have much to crash through.  It did extend all the way to the front of the bed though, so the nozzle did embed into the piece.

I have changed my footer code to move Y to 200, but I like the idea of putting a variable there and modifying printer.lua to set that to the max of the printer rather than hardcoding a number.

sylefeb

unread,
Jan 6, 2018, 10:42:09 AM1/6/18
to IceSL
I'll do a pass on all profiles to fix these.

Btw, just for info, there is a "G28 W" on the prusa to cancel bed leveling during homing: https://github.com/prusa3d/Prusa-Firmware/wiki/Supported-G-codes

Nevertheless I prefer not to rely on this at all.

Sylvain

Reply all
Reply to author
Forward
0 new messages