About G32 initial move necessity
Hi,
I have old Velleman Vertex K8400 printer with 8-bit CPU board that runs 1.x version of the firmware. Couple of years ago I converted it into H-bot and recently upgraded with Hemera from e3D. Adding Hemera required redesign of entire printhead and relocation of Z-probe. I configured ABL and it works just fine except one issue described below.
After executing G32, printhead first moves to the position where the nozzle is at Z_PROBE_X1, Z_PROBE_Y1 then applies Z_Probe offsets and positions the probe at Z_PROBE_X1, Z_PROBE_Y1. After that the movements follows the grid pattern as it should. Once all the grid is covered, printhead makes the final move by Z_Probe offset values and positions the nozzle above the last measured grid point.
My questions are: Are those first and the last moves really necessary? Would it be possible to get rid of at least the first move and position the probe right at the 1st point of the grid?
The reason I am asking is because I have touch-based probe that needs to be mechanically activated (extended down) before executing G32. That initial move of the nozzle at Z_PROBE_X1, Z_PROBE_Y1 takes the probe outside bed area and, if my Z_PROBE_X1 is less than Z_Probe_X_Offset, the probe collides with bed side support. To avoid this collision I ended up reducing grid size along X axis by more than 20 mm, which is about 10% of bed width. Would be nice to get that 1/10 of the bed covered as well.
Thanks
I have old Velleman Vertex K8400 printer with 8-bit CPU board that runs 1.x version of the firmware. Couple of years ago I converted it into H-bot and recently upgraded with Hemera from e3D. Adding Hemera required redesign of entire printhead and relocation of Z-probe. I configured ABL and it works just fine except one issue described below.
After executing G32, printhead first moves to the position where the nozzle is at Z_PROBE_X1, Z_PROBE_Y1 then applies Z_Probe offsets and positions the probe at Z_PROBE_X1, Z_PROBE_Y1. After that the movements follows the grid pattern as it should. Once all the grid is covered, printhead makes the final move by Z_Probe offset values and positions the nozzle above the last measured grid point.
My questions are: Are those first and the last moves really necessary? Would it be possible to get rid of at least the first move and position the probe right at the 1st point of the grid?
The reason I am asking is because I have touch-based probe that needs to be mechanically activated (extended down) before executing G32. That initial move of the nozzle at Z_PROBE_X1, Z_PROBE_Y1 takes the probe outside bed area and, if my Z_PROBE_X1 is less than Z_Probe_X_Offset, the probe collides with bed side support. To avoid this collision I ended up reducing grid size along X axis by more than 20 mm, which is about 10% of bed width. Would be nice to get that 1/10 of the bed covered as well.
Thanks
Comments
Having that said, you can of course hack the G32 code to add extra moves before activating/deactivating the z probe. It is just adding a move at the right place and for a special printer problem it is also easy to add. Check fiel BedLeveling.cpp function bool runBedLeveling(int s) and see the parts relevant for your printer.