run a mesh compensation in work coordinates?



  • Hi!

    I use Duet 2 Wifi in a small CNC machine to mill PCBs, in order to compensate for board uneven height I use a mesh compensation. Z-endstop is configured as a normally open contact between the PCB copper layer and a carving bit.

    Now the procedure looks like this:

    • I put the PCB board in place
    • Switch the machine to absolute coordinates (G54)
    • Set up the PCB size (M557 X12.5:42.5 Y50:75.5 S10, note: absolute coordinates),
    • Z-home the carving bit to the surface of the PCB and set global z=0
    • Run grid compensation (G29), produce a mesh compensation file so I can load it in gcode file afterward with G29 S1.
      --
    • Switch to work coordinates (G55)
    • Home everything again, this time in local coordinates, to set a work zero properly
    • Start milling

    I'm wondering is it possible to somehow shave some of these steps? Like, being able to set M557 in local (work) coordinates and successfully run a G29 etc?

    Ideally I would see the process like this:

    • Put the board in place
    • Jog to the side of the board, set work coordinates x=0, y=0
    • Z-home the carving bit to the surface setting work z=0
    • Inform firmware about the size of the board using something like M557 X0:10 Y0:20 S10
    • Run G29
    • Start carving using G29 S1 at the beginning of the g-code

Log in to reply