{"action":"created","issue":{"url":"https://api.github.com/repos/Smoothieware/Smoothieware/issues/886","repository_url":"https://api.github.com/repos/Smoothieware/Smoothieware","labels_url":"https://api.github.com/repos/Smoothieware/Smoothieware/issues/886/labels{/name}","comments_url":"https://api.github.com/repos/Smoothieware/Smoothieware/issues/886/comments","events_url":"https://api.github.com/repos/Smoothieware/Smoothieware/issues/886/events","html_url":"https://github.com/Smoothieware/Smoothieware/issues/886","id":143807428,"number":886,"title":"[ZGrid] for PCBs does not work","user":{"login":"FreezeS","id":2807003,"avatar_url":"https://avatars.githubusercontent.com/u/2807003?v=3","gravatar_id":"","url":"https://api.github.com/users/FreezeS","html_url":"https://github.com/FreezeS","followers_url":"https://api.github.com/users/FreezeS/followers","following_url":"https://api.github.com/users/FreezeS/following{/other_user}","gists_url":"https://api.github.com/users/FreezeS/gists{/gist_id}","starred_url":"https://api.github.com/users/FreezeS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/FreezeS/subscriptions","organizations_url":"https://api.github.com/users/FreezeS/orgs","repos_url":"https://api.github.com/users/FreezeS/repos","events_url":"https://api.github.com/users/FreezeS/events{/privacy}","received_events_url":"https://api.github.com/users/FreezeS/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2016-03-27T13:13:41Z","updated_at":"2016-04-16T19:50:38Z","closed_at":"2016-03-27T18:42:08Z","body":"Hi guys,\r\n\r\nI have been trying to use the inbuilt zgrid probing for PCB milling but in it's current status I haven't been able to.\r\n\r\nI have done the following:\r\n- placed the etching bit 2 mm above the left bottom corner of the pcb and faked a homing (G28.3 X0 Y0 Z0) since my shapeoko doesn't have endstops.\r\n- probed until it hit the pcb and set the offset (G38.3 Z-10; G92 Z0)\r\n- lifted the bit 1 mm above the pcb and ran the scanning procedure (G32)\r\n\r\nThe result is this:\r\n```\r\n;Bed Level settings:\r\nX0 A0.00 B-1.20 C-1.22 D-1.25 E-1.28\r\nX1 A-1.05 B-1.11 C-1.14 D-1.17 E-1.20\r\nX2 A-0.99 B-1.06 C-1.10 D-1.13 E-1.16\r\nX3 A-0.94 B-1.01 C-1.05 D-1.09 E-1.12\r\nX4 A-0.93 B-1.00 C-1.05 D-1.08 E-1.11\r\n```\r\n\r\nGood news is that it keeps the home position but the zgrid offsets are all bad.\r\nShouldn't the values be around zero? Instead they are around 1 (except for X0 A)\r\n\r\nMy config is:\r\n```\r\nzprobe.enable                true               # set to true to enable a zprobe\r\nzprobe.probe_pin             1.28!^             # pin probe is attached to if NC remove the !, Azteeg X5 this is 1.29\r\nzprobe.slow_feedrate         5                  # mm/sec probe feed rate\r\n#zprobe.debounce_count       100                # set if noisy\r\nzprobe.fast_feedrate         50                # move feedrate\r\n#zprobe.probe_height          2                  # how much above bed to start probe NB only needed for G32 on delta\r\n\r\n\r\nleveling-strategy.ZGrid-leveling.enable         true\r\nleveling-strategy.ZGrid-leveling.bed_x           50\r\nleveling-strategy.ZGrid-leveling.bed_y           50\r\nleveling-strategy.ZGrid-leveling.bed_z           10\r\nleveling-strategy.ZGrid-leveling.rows           5          # X divisions (Default 5)\r\nleveling-strategy.ZGrid-leveling.cols           5         # Y divisions (Default 5)\r\nleveling-strategy.ZGrid-leveling.probe_offsets  0,0,0\r\nleveling-strategy.ZGrid-leveling.slow_feedrate  50\r\nleveling-strategy.ZGrid-leveling.wait_for_probe  true\r\nleveling-strategy.ZGrid-leveling.home_before_probe  nohome;    #  nohome homexy homexyz (default)\r\n```\r\n\r\n\r\nWhen I try to enable \"zprobe.probe_height          2\", the scan result is this:\r\n```\r\n;Bed Level settings:\r\nX0 A-2.12 B-2.17 C-2.20 D-2.23 E-2.26\r\nX1 A-2.03 B-2.09 C-2.12 D-2.15 E-2.18\r\nX2 A-1.96 B-2.04 C-2.08 D-2.11 E-2.14\r\nX3 A-1.91 B-1.98 C-2.02 D-2.06 E-2.09\r\nX4 A-1.90 B-1.98 C-2.02 D-2.06 E-2.09\r\n```\r\n\r\nHowever, the old home position is modified, if I run G0 X0 Y0 Z0 it goes 2 more mm into the pcb.\r\n\r\n\r\nAlso, another question, I haven't tried it yet, I've broken enough bits already :)\r\nIs it possible to set leveling-strategy.ZGrid-leveling.bed_x and y to be negative? This is absolutely needed to mill the backside of the PCBs, as the PCB2GCODE plugin generates them.\r\n\r\nSo, please let me know if I'm doing this incorrectly or if there is a bug in the code.\r\n"},"comment":{"url":"https://api.github.com/repos/Smoothieware/Smoothieware/issues/comments/210882889","html_url":"https://github.com/Smoothieware/Smoothieware/issues/886#issuecomment-210882889","issue_url":"https://api.github.com/repos/Smoothieware/Smoothieware/issues/886","id":210882889,"user":{"login":"qharley","id":855896,"avatar_url":"https://avatars.githubusercontent.com/u/855896?v=3","gravatar_id":"","url":"https://api.github.com/users/qharley","html_url":"https://github.com/qharley","followers_url":"https://api.github.com/users/qharley/followers","following_url":"https://api.github.com/users/qharley/following{/other_user}","gists_url":"https://api.github.com/users/qharley/gists{/gist_id}","starred_url":"https://api.github.com/users/qharley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qharley/subscriptions","organizations_url":"https://api.github.com/users/qharley/orgs","repos_url":"https://api.github.com/users/qharley/repos","events_url":"https://api.github.com/users/qharley/events{/privacy}","received_events_url":"https://api.github.com/users/qharley/received_events","type":"User","site_admin":false},"created_at":"2016-04-16T19:50:38Z","updated_at":"2016-04-16T19:50:38Z","body":"I understand that it seems wrong to jump to the correct offset without\nhomeing, but what is the downside?\nOn Sat, 16 Apr 2016 at 21:42 Jim Morris <notifications@github.com> wrote:\n\n> pull request #910 <https://github.com/Smoothieware/Smoothieware/pull/910>\n> has been rejected as it is incorrect IMO.\n> M306 sets homing offsets so must be followed by a homing cycle to take\n> effect. this is expected.\n> To set a dynamic instant Z offset you would use G92 Zxxx or more correctly\n> G10 L2 P1 Znnn where nnn is the offset you want. This is the correct way to\n> do it per the gcode spec, and will work instantly.\n> I do not know if this would fix the exact issue here, but confusing things\n> is that M306/M206 is not to be used without a homing cycle. It is misusing\n> them, and as they are not really specified in any GCode spec that is not\n> surprising.\n>\n> —\n> You are receiving this because you were mentioned.\n> Reply to this email directly or view it on GitHub\n> <https://github.com/Smoothieware/Smoothieware/issues/886#issuecomment-210881406>\n>\n"}}