Mesh Bed Compensation Confusion
-
To clarify, you are correct. This is a Cartesian, with the Y axis being the bed moving.
I do not have any deployprobe.g or retractprobe.g files currently.
If it helps, when doing a G30, I get similar behavior. With G30, instead of the bed (Y) moving forward to put the probe where the head used to be, it moves it backwards. The X move works as expected (it is always on the correct X plane with G30).
-
Your Y offset in the G31 command has the wrong sign, because your probe is offset from the nozzle 56.5mm in the +Y direction. What's confusing you is that the bed moves in the opposite direction, so you thought it was offset 56.5mm in the -Y direction.
-
Alright, I adjusted the Probe config line to the following:
[[gcode]] G31 C0 P500 X39.5 Y56.5 Z0.2
Upon doing the above M557 command followed by the G31, it rammed the probe into the bed again. It seems the problem is that it is not stopping when the probe triggers. It looked to be in above the right spot, but no probe trigger.
-
It may be hard to tell from the photo, but the probe is at the correct place after fixing the offset:
The only issue now is the probe activating isn't stopping the head from dropping.
Thanks!
-
Have you checked with M119 if the Z stop changes when holding a piece of paper under it? Does the light on the probe come on and flash when first powered up as well as when you put a piece of paper under it?
Looks like the printer is still powered on in both pictures you posted (hot end fan still spinning), but I don't see the trigger light on the IR in either of them.
-
I did an emergency stop. It went past the point of triggering, which on the optical probe makes the light goes back out.
If I bring a piece of paper towards it, it turns red to trigger. If I physically touch the bottom of the PCB with the paper it turns off again. It should have stopped the moment it triggered, regardless of this behavior.
If I do a G30, it triggers with a piece of paper as expected and stops.
-
The only issue now is the probe activating isn't stopping the head from dropping.
Under what conditions? You've told us that when you send G30, the probe does stop the head dropping when it triggers.
-
The only issue now is the probe activating isn't stopping the head from dropping.
Under what conditions? You've told us that when you send G30, the probe does stop the head dropping when it triggers.
Gotcha. When running the G29 command, the probe does not stop the head movement. When running a G30, it does.
To summarize:
-
Boot Duet
-
Home all axes
-
Run G30
Probe stops head. Doing the same thing, but with the M557 + G29, it does not stop.
-
-
Alright, I confirmed that bed.g is working as expected with 4 point leveling. For some reason, the probe doesn't activate using G29, not entirely sure why. Let me know if there is anything else I should try out.
[[gcode]] ; bed.g ; called to perform automatic bed compensation via G32 ; ;T99 ;Non-existant tool, no offset. ; Clear any bed transform M561 ; Home all axes G28 ;Goto Center. Unlike other points, this should include compensation for probe X/Y coordinates. G0 Z35 G0 X143 Y63.5 G30 G0 Z35 M98 P/macros/cd_topRight G30 P0 Z-10000 G0 Z35 M98 P/macros/ce_bottomRight G30 P1 Z-10000 G0 Z35 M98 P/macros/cf_bottomLeft G30 P2 Z-10000 G0 Z35 M98 P/macros/cc_topLeft ;G30 P3 S0 Z-10000 ;Calibrate with same number of factors as points probed. ;G30 P3 S4 Z-10000 ;Four factor calibration. G30 P3 S4 Z-10000 ;Three factor calibration. ;G30 P3 S-1 Z-10000 ;Simply report coordinates. ;Pause for UI. G4 P1500 ;Return to safe position. G0 Z35 M98 P/macros/cb_center
-
The difference is that a plain G30 starts probing from wherever it already is; whereas G29 moves the head to one dive height above the bed and starts probing from there. So before you can run G29, you need to home the printer, and homing must establish the Z=0 position to within an accuracy of one dive height.
-
The difference is that a plain G30 starts probing from wherever it already is; whereas G29 moves the head to one dive height above the bed and starts probing from there. So before you can run G29, you need to home the printer, and homing must establish the Z=0 position to within an accuracy of one dive height.
I assume using G31 to set Z offset is not the same as homing the printer?
In the directions here: https://duet3d.com/wiki/Using_mesh_bed_compensation
It shows to do steps 4-10 at all the places you want to probe. I don't see that measured Z height being specified anywhere prior to running the M557/G29. Does the machine remember all the Z heights for the points you probe in that process?
If that is the case, I should make a macro that handles this for me to make the process more hands off.
I'll try this manually and report back, but I want to make sure I fully understand what is going on during that homing process (and how that information is used by G29).
-
The directions don't say you need to measure the trigger height at all the points you want to probe, they suggest you measure it at various places to check that it is consistent. Mesh bed compensation assumes the same trigger height at all probe points, so it won't give accurate results if the trigger height varies a !ot.
-
The directions don't say you need to measure the trigger height at all the points you want to probe, they suggest you measure it at various places to check that it is consistent. Mesh bed compensation assumes the same trigger height at all probe points, so it won't give accurate results if the trigger height varies a !ot.
Ok, I'm still confused then. If I have G31 set and the Z probe height homed as per the directions, why is the G29 not responding to the probe firing off? Am I missing some other setting/config?
Thanks!