-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setting Z_RAISE_AFTER_PROBING to 0 ignores G92 after G29 #4177
Comments
But that's what this setting is for. Are you saying that your Your anomalous behavior is probably because you're abusing You can get around the limit by setting Why don't you want to set |
G92 Z0.35 has no effect. The Z cordinate doesn't get updated to the new value and remains at 0. Thus I can't go any lower obviously because of the software endstop limit. If Z_RAISE_AFTER_PROBING is above 0, the Z cooridnate gets updated to the specified value. G92 should set the current Z position to the specified value. It was always like that. So if I set G92 Z0.35 the FW should set the current Z position as 0.35 (but not move the axis) and thus I can move 0.35mm lower up to the "new" 0. (Which is -0.35 in the pre-G92 config). I hope that makes sense. I think this should be marked as a bug. Since it works when Z_RAISE_AFTER_PROBING is above 0.
If I change the extruder/nozzle the offset changes. Also different hotend temperatures result in a different offset (because of the heat induced extension of the nozzle). I would have to reflash the FW every time. It's much easier to adjust the start script in the slicer software to the right value with G92. I like it this way. It's fast and efficient for me. |
@radry |
The issue is not about how I do things. It's about a bug. A setting that causes a command not working for an unknown reason. |
There was a method of determining z offset by sending g92 z10 after homing z. This was to circumvent the travel limits to allow offset measurement using the paper method. However I tried this using bugfix the other day and as thinkyhead points out it won't go below the travel limits even after a g92 z10 with the nozzle just above the bed. However you can temporarily disable software endstops or set them to allow a couple of mm below z=0. Or use babystepping while printing a test object which now reports the change in z height in mm. Before the next print use m851 to create a z offset, m500 to save. Perhaps we ought to ask Thomas Sanladerer on his youtube channel to update his video on implementing ABL as a lot of people use this guide where the g92 z10 method is advised. |
So the problem is that G92 can't overwrite the software endstop limit. That means G92 is broken, since the sole purpose of G92 is to set absolute zero. |
I'll not answer this directly as I am sure one of the Marlin dev's will have the correct answer but I presume G92 does not allow travel outside the travel limits for a good reason, which might not be immediately apparent. There is another method (above) if what you are doing is determining z offset. |
Looking at the code for Please tell me you are testing against |
@DjDemonD Well - let's look at the name - END STOP. So - where is the bed? At the moment the probe triggers the bed is (At least - that's the (my) plan) |
Thank you for your explanation. My question is still: What's the purpose of G92 in this case? G92 is supposed to set "physical NULL", as you call it. So why can't it overwrite what the auto bed level determined? |
Whatever the "purpose" of So, for example, let's say you have typical software endstops, where you can't go below zero in X, Y, or Z. Now, let's say you move your carriage with If we didn't change the X software endstop to We could certainly extend |
Of course it shouldn't move left after that command. Why? Because the software endstop is X=0 and the carriage after |
@radry Sorry, but that is no longer the behavior of Otherwise (in the above situation) you would also be allowed to move to X=200, past the physical limits of the machine, grinding the stepper motor, which is what the software endstops are there to prevent. The way you're trying to use |
Whats the difference between M206 and M851? Since we shouldn't use G92 for Z probe offset tweaking whats the better option? |
M851 sets the Z distance between the nozzle and probe. (i.e., the negative of the position of the nozzle when the probe is triggered). This is the one and only supported option to get your machine to properly assign the correct Z position when you probe the bed. M206 sets elements in the Both |
Yea I think the confusion with these commands is mostly around ABL and how many printers use an IR probe for both ABL and the Z endstop. Since these IR probes are finicky we can't rely on just Z_PROBE_OFFSET_FROM_EXTRUDER to be set in firmware and forgotten. This offset needs to be changed all the time between different bed treatments, layer heights, lighting, etc. Up until RC3 G92 Z1.1; was the go-to way to do this after homing and ABL. Since my IR probe currently triggers when my extruder nozzle is 1.1mm above the bed. Going forward it looks like both M852 Z-1.1; and M206 Z1.1; should do the same thing? |
|
Ok but its two different ways of doing the same thing no? The IR prob triggers 1.1mm before the hottend tip reaches the bed surfaces, so the "trigger" in traditional sense is -1.1mm offset from hotend tip. Setting M851 Z-1.1 tells the firmware this exact thing, so after homing G0 Z0 should bring the nozzle to touching the bed. Im assuming the same thing can be achieved by sending M206 Z1.1 AFTER homing, setting the Z coordinate system offset by 1.1mm so it knows when the Z prob triggered it actually trigger 1.1mm above the bed and not at Z0. Am I understanding this incorrectly? |
I think so! If you use When you start to print, the GCode will tell your machine to move to Z=0.2 (perhaps) to start the first layer. That will try to put the nozzle 0.9mm below the bed (1.1mm lower than you probably want). But the Z min endstop will not let it go that low, so the nozzle remains on the bed (at Z=1.1). In fact, the nozzle will not raise at all until the GCode tells the machine to go above 1.1mm. If printing with 0.2mm layers, the machine will print 6 very squished layers before it starts to raise the Z axis. Your hotend will be very jammed. Et cetera, et cetera… because |
Closing due to inactivity. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
When setting Z_RAISE_AFTER_PROBING to 0 any G92 command after completing G29 is ignored.
What I'm trying to do: After G29, my start script will set "G92 Z0.35" to set the correct nozzle height.
So to make this work I now (1.1.0 - RC6) have to set Z_RAISE_AFTER_PROBING to a positive value and then run G0 Z0 to get back down. Only then it accepts G92.
Probe is fixed.
Z_PROBE_OFFSET_FROM_EXTRUDER is set to 0. (No, I don't want to adjust the gap via this variable.)
It worked fine in 1.1.0-RC3 because in that version Z_RAISE_AFTER_PROBING was ignored for some reason.
The text was updated successfully, but these errors were encountered: