Solved Help understanding why I have trouble with setting my Z height
-
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Aug 02 2021 22:10:22 GMT+0100 (British Summer Time) G91 ; relative positioning G1 H2 Z4 F700 ; lift Z relative to current position G1 H1 X305 Y305 F9000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X305 ; home X axis G1 H1 Y305 ; home Y axis G1 X-5 Y-5 F6000 ; go back a few mm G1 H1 X305 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y305 ; then move slowly to Y axis endstop G90 G1 X150 Y150 F9000 ; centre the hotend G91 M201 Z200 ; reduce Z accelerations M913 Z25 ; reduce Z motor current G1 H1 Z-282 F1800 ; move Z down stopping at the endstop M913 Z40 G1 Z10 F900 G1 H1 Z-282 F900 ; move Z down stopping at the endstop G90 ; absolute positioning G92 Z1.65 ; set Z position to axis minimum (you may want to adjust this) M913 Z100 ; restore Z motor current M201 Z2000 ; restore Z motor accelerations ; Uncomment the following lines to lift Z after probing G91 ; relative positioning G1 Z50 F6000 ; lift Z relative to current position G90 ; absolute positioning
-
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Aug 02 2021 22:10:22 GMT+0100 (British Summer Time) G1 X150 Y150 F9000 ; centre hotend G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Z-282 F2400 ; move Z down stopping at the endstop G1 Z10 G1 H1 Z-282 F900 ; move Z down until the endstop is triggered G92 Z1.65 ; set Z position to axis minimum (you may want to adjust this) ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
-
bed.g
G30 P0 X030 Y270 Z-10000 H0 G30 P1 X030 Y030 Z-10000 H0 G30 P2 X270 Y030 Z-10000 H0 G30 P3 X270 Y270 Z-10000 H0 S4
-
; config-override.g file generated in response to M500 at 2022-07-06 00:17 ; This is a system-generated file - do not edit ; Heater model parameters M307 H0 R1.103 K0.745:0.000 D1.65 E1.00 S0.80 B0 M307 H1 R2.169 K0.346:0.128 D4.90 E1.35 S1.00 B0 V24.2 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X0.00 Y0.00 Z0.00 G10 L2 P3 X0.00 Y0.00 Z0.00 G10 L2 P4 X0.00 Y0.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00
-
Should it be G31 Z value that should be changed? Or the two G92 in the homing files?
How do these two values differ and why can't we just use a single value to tell the printer "the nozzle is at Z in relation to the probe point"?
Edit: I should add that I am using the Z probe as the endstop. I don't have a mechanical end stop on Z. I guess that's why there is a value for an offset of the probe and a separate 0 = offset.
-
@threepwood said in Help understanding why I have trouble with setting my Z height:
I did set up homeall.g and homez.g, which both have G92 Z1.65.
Don't use G92 to force a height if you intend to use the probe, because it overrides what the probe trigger height is in G31 in your config.g
So remove the G92s and just set the trigger height with G31.
-
@phaedrux That's a simple solution! So should I remove the whole line "
G92 Z1.65" or just the height "G92Z1.65"? -
@threepwood i was always thought your axis limits min for z should be a neg number like -3 or around that
-
@downshift64 Wouldn't that cause the nozzle to dig into the bed if I asked for it?
-
@threepwood no it doesnt on mine
; Axis Limits
M208 X-27 Y-22 Z-3.0 S1 ; set axis minima
M208 X295 Y295 Z295 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin !xstop!xstop
M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin !ystop
M574 Z1 S2 ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F1500 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X0 Y0 Z2.32 ; set Z probe trigger value, offset and trigger height
M557 X15:295 Y25:295 S20 ; define mesh grid
the G31 Z2.32 is what i adjust the nozzle height with -
@threepwood said in Help understanding why I have trouble with setting my Z height:
@downshift64 Wouldn't that cause the nozzle to dig into the bed if I asked for it?
It could, yes. A slight negative value would let you baby step a bit lower if needed. -0.5mm is probably asa much as I would want to allow.
The mesh compensation will go as low as needed by the mesh though, so it makes no difference there.
@threepwood said in Help understanding why I have trouble with setting my Z height:
@phaedrux That's a simple solution! So should I remove the whole line "
G92 Z1.65" or just the height "G92Z1.65"?Remove the whole G92 line.
-
@threepwood if u set your axis limits for z min to -3 and max to whatever the max is, then u just adjust your G31 z whenever u need to get a good first layer, i do mine this way and when i change a nozzle or a thicker or thinner bed i dont have to mess with anything it has the same offset a good first layer every time, you need to let your bed heat soak the same amount of time i have noticed on my bed it bows a lot at first then after it soaks for about 45 mins it relaxes back some
-
So I've tried removing the G92 Z commands from homeall.g and homez.g but no matter what number I put in to
G31 P500 X0 Y24 Z-1.35
I get the same result.I first set it to 0 to see what would happen. After homing, Z=0 would be the exact point that the sensor triggers, which makes perfect sense.
Then I tried
G31 P500 X0 Y24 Z1.35
andG31 P500 X0 Y24 Z-1.35
But there is no change in where 0 is. Every time I would change the value, reset the machine, re-home and run macro:-
G28 G32 G32 G32 G28 Z
I would jog the bed down 0.2mm at a time and the moment I hit 0 in DWC the sensor would trigger, with the nozzle still 1.35mm above the bed, no matter what number I put after Z in G31.
-
@downshift64 I did try changing Z min to -5 to see what happened, but it just set the point the sensor triggered to -5 and let me move the Z to -5. Other than that, nothing changed. I guess putting in +1.35 as the minimum would set my 0 to the correct position, but I wouldn't be able to get there. I don't think the Duet would like it if a slicer told it to move below minimum.
-
A negative trigger height would mean the nozzle tip is pushing that amount into the bed. Not what you want unless it's a nozzle contact type probe. Your trigger height would always be positive in most cases.
How are you measuring the trigger height?
You should follow this: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
I also should have noticed before that your homing files are using a G1 H1 Z move as if an endstop is being used. So no wonder your G31 probe offsets aren't being applied. That would only happen if you home Z with a G30.
So replace
G1 H1 Z-282 F900
with a line to position to probe likeG1 X150 Y150 F2000
followed by aG30
to actually call the probe. -
@phaedrux said in Help understanding why I have trouble with setting my Z height:
A negative trigger height would mean the nozzle tip is pushing that amount into the bed. Not what you want unless it's a nozzle contact type probe. Your trigger height would always be positive in most cases.
How are you measuring the trigger height?
You should follow this: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
I also should have noticed before that your homing files are using a G1 H1 Z move as if an endstop is being used. So no wonder your G31 probe offsets aren't being applied. That would only happen if you home Z with a G30.
So replace
G1 H1 Z-282 F900
with a line to position to probe likeG1 X150 Y150 F2000
followed by aG30
to actually call the probe.I'm measuring the trigger height by looking over at the hotend and watching when the red LED in the probe turns off (it also shows Z Probe = 1000), when I look in DWC it always says Z is at 0 under "Tool Position". Then I can use "Z Babystepping" under the status page and the nozzle grips an 80gsm sheet at -1.35mm.
I'll try G30 and report back! Thank you!
-
@phaedrux I've made the changes to my homing files and it now works perfectly! I can't thank you enough. I've spent months using work arounds to get where I need. Now it's finally sorted.
Previously I was using homing Z once very quickly (but at very low currect in case of probe fault) and then at my standard Z homing speed. If I keep the first instance of
G1 H1 Z-282 F2400
then run G30, I assume the G30 will overwrite the G1 H1. Is that correct? -
-
YOu should probably follow the steps in here for measuring the trigger height accurately and easily.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
To do a fast probe and then slow probe try this in your homing file where you call G30.
M558 A1 F600 ; set single fast probe
G30
M558 A3 F120 ; set slower multi probe
G30That would probe at least 3 times, and up to 4 times.
-
@phaedrux Thanks for that. I'll have a play with M558 commands. Problem is, I suspect that this will cause the bed mesh to probe 3/4 times at each point unless I add another M558 command to go back to default values.
I do have another question relating to probing and meshing. Let me know if I should make another thread about it and I will do that.
When I do quad gantry leveling on the Voron, I want quite a large dive height like 5 mm (ideally I'd like to go heigher, but that would really slow down meshing) because when the power cuts the E3D "Super Whopper Motors" cause the back of the gantry to drop slightly, or worse, if I've been working on the gantry it can end up far off parallel.
However, after this point when meshing the bed I only need to lift the gantry enough to be comfortably past the probe trigger point (the bed has a deviation of ~0.068mm). I just tried setting the dive height to 1mm and got a 121 point mesh in 50 seconds.
Is there a way I can set separate dive heights for normal probing and mesh leveling? M557 doesn't seem to have a dive height parameter, so I guess not. So I suppose I can just put
M558 P5 C"io4.in" H1 F800 T27000
between the gantry leveling and the mesh leveling in my slicer start gcode, thenM558 P5 C"io4.in" H5 F800 T27000
after the mesh leveling. You may have noticed that I have a thing for trying to make my Voron a speed machine (without losing any significant precision).Does that sound like it would be the best way to achieve what I want?
It would be handy if the Duet would allow us to set a separate dive parameter for meshing. Maybe I should submit a feature request... Or maybe I've just missed how to achieve it.
-
So I've tried inserting M558 in to a "Full homing and leveling" macro like this:
G28 G32 M558 P5 C"io4.in" H1 F800 T27000 G32 G32 G28 Z
But when I do this, it messes up the offsets of the probe. It's no longer moving the nozzle 24mm forwards.
Does M558 being run reset the G31 offset values? I guess I can paste my G31 line right after. There's probably a better way to do this...