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
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:
- When paused during a print, the homing button should home XY but not Z. Some symbol change on the screen could indicate the fact.
- 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]
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ā¦
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! 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.
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.
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.
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
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.
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ā?
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?