XY homing when paused

I had a piece of filament break in the bowden to the hotend. When I removed it I must have jostled the hotend as it was layer shifted to the right a bit. I paused and hit home in Bambu Studio. That was a mistake, it tried to home XYZ and ruined a 15 hour print with 30 minutes left to go :frowning:
Is there a way to home just XY when paused so I could have fixed this?

Not that I know of but itā€™s a good feature request:

  1. When paused during a print, the homing button should home XY but not Z. Some symbol change on the screen could indicate the fact.
  2. Perhaps the printer should also initiate an XY homing by itself after a user pause?

This. ^^^

[padding to get over the 20 character response requirement]

1 Like

There is a field in ā€œPrinter settingsā€ - ā€œMachine G-codeā€ for ā€œPause G-codeā€ where this could possibly be added.

Iā€™m not sure if this is only called when the slicer initiates a pause or if it is also called when the user initiates a pause.

Will have to do some experimentingā€¦

4 Likes

Edit: @JonRaymond beat me to it - but here are the details:

NOTE: I have not yet tried this myself. Iā€™m lucky enough to be on a sunny island some 4,500 kms from home. If you try this at all, be prepared for misbehavior until me or someone else (you?) can confirm.

Find ā€œPause G-codeā€ in your printer profile. It looks like this:

M400 U1

Trivially add the gcode for homing XY (and some comments) so it looks like this:

M400 U1 ; Pause for user intervention
G28 X Y ; Home the X and Y axes in case they were upset

Save it as a user profile and use that from now on. EDIT: see caveat about repeatability below.

See @BambuLab I already did half of it for you! :sunglasses: Now please tweak the firmwares so the home button(s) only homes XY when pressed during a printer pause. Must be fixed everywhere: On printer, in Studio and in Handy.

EDIT: Looking at Marlin docs, it says ā€œBy default ā€œG28ā€ disables bed leveling. Follow with ā€œM420 Sā€ to turn leveling on.ā€ and then some exceptions to that statement for newer versions and depending on how it was built. A quick look at Bambuā€™s G-codes indicates such command shouldnā€™t be needed, and that Bambu seem to use ā€œG29.2 S1ā€ for that if it would be.

The fact that Bambu doesnā€™t just provide us a list of what G-codes are supported or not is ridiculous.

The other issue is that sensorless homing isnā€™t known to be that repeatable. On a 3d printer x/y start position doesnā€™t need to be repeatable as it is only used as the initial reference. Testing would need to be done to see how repeatable Bambuā€™s homing sequence is.

4 Likes

Very true. So maybe we only want it done when actually pressing ā€œhomeā€ button.

I see some more caveats. Will amend my post.

A test might be to print a 10mm high cube and insert a custom Pause sequence with a G28 X Y every 1mm and see how repeatable homing is.

4 Likes

Did not expect to wake up to quite a discussion on my, what I thought was, a simple question. Without testing on the repeatability of the sensorless homing, I agree, I would not like it to try to home every time I paused, although in the two months Iā€™ve owned the printer, this is the first time I have paused a print. I agree, the home button during a print should only home XY. I would definitely disable Z homing during a print pause. I can think of no reason why you would ever want to do that. Thanks for the great information.

It is called ā€œCrash detectionā€ where the print head homes itself mid print and goes back to where it wasā€¦ all automatically.

Wellā€¦ Interesting results.

Printing a 25x25x50mm cube with Custom G-Code: ā€œG28 X Yā€ inserted every 1cm yielded very promising results. The printer seems to home very consistently as there are no ā€œstepsā€ in the part. There is the slightest visual layer difference when looked at it in the right light but nothing you can feel with your fingernail. There is a little bit of stringing on the back side when the nozzle comes back from the wiper.

Inserting the "Pause: ā€œM400 U1 G28 X Yā€ in the slicer yielded the same results. The nozzle would wait till the user resumed the print and would then home before continuing printing.

BUT

Pausing using the screen or Handy App would not use the Pause g-code from the slicer. It would pause and resume without homing.

My take away is that Bambu will have to add it to the printer firmware.

5 Likes

Awesome! If you feel curious you could also try this variant:

G28 O X Y ; Home the X and Y axes unless already trusted

Iā€™m not sure it would ever home then, if at all supported by Bambu, and probably not: ā€œNot trustedā€ should mean that steppers have been powerless, which I presume they are not at a user pause. And if they were, I bet the printer would want to auto home XY all by itself (that just gotta be happening when coming back after a powerloss, but Iā€™ve never tested that).

I wonder how OPā€™s layer shift could happen in the first place, isnā€™t it pretty hard to mess a position up by hand if steppers are powered? Maybe it isnā€™t that hard. Maybe they reduce the power a little during a user pause, just not completely.

Anyway itā€™s great that these printers seem to have greati repeatability!

In this post, you said find the ā€œPause G-codeā€ in you printer profile. Not sure how to find it. I looked on Bambu Studio and Iā€™m not seeing it. Could you help with some clarification as to where to look. Iā€™m fairly new Bambu Lab P1S user.
Thanks

Welcome to the forum.

Itā€™s the second last entry in the ā€œPrinter settingsā€ window.

5 Likes

On this note I had the arguable pleasure to try out the powerloss recovery today. My printer probably got a kernel panic or something: It just froze in the middle of some infill (luckily) and stayed there without responding on the network nor to the touchscreen. For a week it has had a few problems like that, Iā€™ve been experimenting with different SD cards and running without one but am still not sure itā€™s about that at all. But anyway this was in the middle of a 30 hour, 922 g print so I just power cycled the printer and prayed.

It booted up normally and almost immediately popped up a notice about an interrupted print, asking if I wanted to resume. I obviously did. So it just homed XY and took off where it had stopped. I can see a very faint line at the layer it happened, not more than a typical mould line. And for the things Iā€™m printing it definitely doesnā€™t matter. Good stuff! I was actually planning to try this out on purpose, powering off right in the middle of printing a Benchy, for being prepared for the future. Turns out the future was faster than me lol.

1 Like

Yes I found it and changed it for each of my Nozzle sizes. Also saw this in a related thread what do you think about this sequence:
M400 U1 ; pause and wait for resume pressed
G28 X ;home XY
M106 S255 ; restart part cooling fan

Reasoning you want to ā€œrestart part cooling fanā€?

2 Likes

A thread that I read implied that the Pause (M400 U1 and or the G28 X turns the part fan off, so this is just turning it on. This might be a moot point, since that fan will probably turn on eventually. What do you think?