G28 drops temperature to 140C without asking

Here is the funny thing.
G28 does not do anything on its own. If i simply feed G28 into the printer via gcode files with nothing but G28 inside, nothing will happen.
G28 drops temperature to 140C without asking.
I am guessing G28 is not standard code for P1S so is there another way to home XYZ without using G28 ?

G28 looks like a rapid movement command.

The G-Code G28 is used to zero return the tool to its zero position via a reference point at rapid speed.

As referenced here, the G28 looks to say, “I have a rapid movement for you to do Mr. printer/CNC”. In the picture, you can see it move first to one position and then another for object avoidance.

I would assume if you are see the temp change to 140C, it probably running a different set of codes.

1 Like

I think you are confused.
Bambulab uses its own set of code.
Just because its a standard code for everyone else, for bambulab its not. its custom made.
It runs a pack of instructions behind the code that you dont see.
So giving G28 wont just do G28 but also adjust temperature of the hotend.

How i know ?
i inserted random movements each step of the code and i pin pointed at the G28.
Temperature changes after XY is homed, right before Z.
IT will drop the temp and wait until its dropped and then home the Z.
No other code is anywhere in between.

OK, good luck. Seems like you have a idea of what you are doing.

From x1plus-testing/Gcode.md at main · jphannifan/x1plus-testing · GitHub

G28 - Home all axes
G28 X XY homing
G28 Z P0 Low precision Z home
G28 Z P0 T[temp] Lower precision Z home + heated nozzle
1 Like

Have you tried it your self ?
As soon as you run G28 Z, temps drop to 140c
The code knows you are homing Z so it will do its thing regardless of what code you put in here.
This means that behavior is forced in firmware.

On my X1C, the X1Plus Onscreen Console and VNC server makes it easy to issue single G-code commands from my desktop.

I find that if the nozzle is over 140 °C, G28 Z lowers the nozzle temperature setting to 140 °C, homes Z once the nozzle cools to 140°C, then returns the nozzle temp to the previous setting.

G28 Z P0 Tttt, for ttt >140, homing occurs when the nozzle temp cools to ttt°C, then returns to the previously set nozzle temp.

Since the nozzle contacts the plate during homing, the 140°C temp might be used as a safeguard to prevent damaging some plate surfaces. I used an already-damaged plate for testing.

A plain G28 homes XY immediately, and then temporarily lowers nozzle temp to 140 °C and waits to home Z, as above.

P series printers might behave differently.

Why does this matter?

I’ve found it difficult to create a working g-code file from scratch that the printer will recognize. I think if you slice a model and export the G-code you will find multiple G28 commands are executed. These lines are in the g-code for a primitive cube to be printed on a P1S:

Line   578: G28 Z P0
Line   622: G28 X
Line   685: G28 Z P0 T300; home z with low precision,permit 300deg temperature
Line   782: G28
Line   809: G28 X ; re-home XY

Dropping the temperature during the Z axis homing is necessary to prevent oozing from the nozzle from interfering with the homing process. While it’s baked into their G28 homing command, it’s not something you’d want removed unless you want an improper zero position.

2 Likes

My filament doesn’t ooze until the 200s, waiting for the temp to drop to 140C is infuriating, how do I turn this off?

For anyone else that came here from Google wanting to know how to prevent G28 from dropping down to 140°, simply add T200 after it (G28 T200). That will allow it to hold at 200°. I personally made it T201 so I knew it was my edit that was working.