Hello
I have been searching for a couple of days but cant find the dive hight after a completed print.
ATM i print pretty large prints almost max hight and every time de dive hight is giving troubles stopping the bed at lowest point making terrible noises from belt and motor.
Any clue where to find this setting.
Thx in advance for some advice.
The gcode that controls where the bed goes after a print finishes is in the “Printer settings” / “Machine G-code” / “Machine end G-code”. I’ve included it below.
To summarize what’s happening here the code takes the max layer height of the model, adds 100mm to it and compares it to 250mm. If it is less then it will drop the bed another 100mm, otherwise it’s supposed to drop the bed to a Z distance of 250mm.
It seems like your printer is somehow messing this calculation up and trying to send the bed down an additional 100mm when it obviously can’t.
Thx this looks exactly what is hapening.
I will check if there is an error in the gcode.
@ woogie Dive height is when the bed goes down to a stop position.
when printing is this only the layer height after printing this can be more then just layer height.
I’m new at this forum (also in 3D printing scene) and just got my first printer, A1 Mini. I have similar question about “Machine end G-code”, that you have pasted here. In A1 mini, there is following conditions:
moves Z motor to max_layer_z + 100 mm as 600 mm/min (10 mm/s). Then next line:
G1 Z{max_layer_z +98.0}
keeps the Z motor at that position. Did I understand correctly? If yes, why there it says 98.0 instead of 100.0? And why in “else” -block there is same value in both lines, 180 (instead 180 and 178):
G1 Z180 F600
G1 Z180
Thank you for your time. I tried to create own post about this question, but can’t (maybe because I’m new user).
First just for clarity, the P/X series machines are different than the A series in how Z operates. In the A series the head moves up and down while the P/X the table moves up and down.
The difference with the 100 vs the 98 is that in a P/X series machine it drops the bed and then lifts slightly. Which makes sense.
On an A series machine it doesn’t really need to do this. The g-code for these machines does need some optimization. Currently it is lifting the head to 100mm over part height and then dropping it 2 mm if the part plus 100 is under 180. It looks to me like someone started to edit the g-code but didn’t finish it? The g-code for this should be
Code that I copied is straight from Bambu Lab A1 Mini preset settings. That why I am surprised if the finished product has such a clear error.
The reason I’m researching this g-code is because I want to place my printer on a shelf where the max height is a bit too low for the A1 Mini to be able to raise the Z axis to the max position. Because of this, I thought of setting the print max height to 150mm in the printer settings and using this code to ensure that the Z axis would never rise above the 150mm value.
I thought of doing this by modifying the code as follows:
And that is the reason, why I’m confused about those two lines mentioned before.
However, do you think that setting the max print height to 150mm and editing the “end G code” as mentioned above would be enough to prevent the Z axis from going beyond that limit I want? Could there be a situation where the printer would drive the Z axis to the max position (180 mm) by itself? Some automatic calibration, etc.?
Editing the end gcode would be one way to stop the machine from going above 150mm at the end of a print. Ideally it would be done in the machine limit perimeters but there isn’t away currently to access or adjust them.
One thing you would have to be very careful about is not printing anything over 150mm as this would drive the head into the part at the end of the print.
I don’t have an A series printer so I’m unsure if the calibration process runs the head past 150mm. Other printers do as they use this to square the gantry.
I will test and try. Currently I haven’t noticed any calibration process that would do that, but well, I have had this printer for a week now…
For now, I will leave those two lines in the code, event it sounds like they are somehow useless (as you said):
{if (max_layer_z + 100.0) < 150}
G1 Z{max_layer_z + 100.0} F600
G1 Z{max_layer_z +98.0} ; THIS
{else}
G1 Z150 F600
G1 Z150 ; And THIS
{endif}
It was pleasure to talk with some professional like you! I have to say that I’m not totally satisfied with Bambu customer support. It seems to be hard to reach (no any simple chat or email possibility anywhere, just tickets) and it takes long to get any answers.
On the X1 couldn’t we add to the gcode to lower the amps to the bed motor while it’s going down that way if it hits the lower limit it will skip steps instead of jumping teeth and when done raise the amps back? Whats your thought?