机器空间和归位
机器空间和机器坐标是用于 Grbl_ESP32 内部使用的轴上运动范围的术语。当您将轴置零或更改工作坐标系 (G54-G59) 时,坐标不会改变。工作坐标只是从机器坐标偏移。重置机器坐标的唯一方法是归位到限位开关。
Grbl 传统上会创建负机器空间。如果轴的长度为 300,则有效机器空间从 -300 变为 0。这与机器在回原点时移动的方向无关。唯一会随归位方向改变的是归位完成后的当前位置。如果您朝正方向归巢,您的头寸将为 0。如果您朝负方向归巢,您的头寸将为 -300。这是假设您的归巢牵引力为 0。
有些人对负空间感到有点困惑,但知道 gcode 不使用机器坐标非常重要。Gcode 在工作坐标系中运行,您可以在任何地方归零。您的机器坐标是什么无关紧要。
话虽如此,Grbl 有两个很少使用的编译时选项来更改机器坐标行为。这些是HOMING_FORCE_SET_ORIGIN
并且HOMING_FORCE_POSITIVE_SPACE
我们正在尝试将尽可能多的编译时功能移动到设置中。为此,我们对这些选项和可能的替代方案进行了长时间的讨论。
新的 $<axis>/Home/Mpos 设置。
我们确定我们可以通过添加一个新设置来实现这两个选项。此设置设置接触到的限位开关的机器坐标位置。
这允许您保留传统的负空间,创建正机器坐标空间,甚至创建 -150 到 150 之类的空间。
以下是影响机器坐标空间和归位的设置。
- $X/MaxTravel轴的长度
- $Homing/DirInvert轴归位的方向。设置 $Homing/DirInvert=XZ 使 X 和 Z 在负方向归位
- $X/Home/Mpos在限位开关处设置机器坐标的值
- $Homing/Pulloff归位后关闭开关的距离。
例子
- $X/最大行程=300
- $X/家/Mpos=0
- $Homing/DirInvert=(所有轴原点正向)
- $归巢/牵引=1
机器将朝正方向回零。它将正端设置为 0。它将负端设置为 -300,因此您的范围是 -300 到 0。归位后的实际机器位置将是 -1,因为拉动。
- $X/最大行程=300
- $X/家/Mpos=0
- $Homing/DirInvert= X
- $归巢/牵引=1
机器将向负方向回零。它会将负端设置为 0。它将正端设置为 300,因此您的范围是 0 到 300。归位后的实际机器位置将为 1,因为拉动。
- $X/最大行程=300
- $X/家/Mpos=150
- $Homing/DirInvert=X
- $归巢/牵引=1
机器将向负方向回零。它将负端设置为 150。它将正端设置为 450,因此您的范围是 150 到 450。归位后的实际机器位置将是 151,由于拉动。
- $X/最大行程=300
- $X/家/Mpos=10
- $Homing/DirInvert=
- $归巢/牵引=1
机器将朝正方向回零。它将正端设置为 10。它将负端设置为 -290,因此您的范围是 -290 到 10。归位后的实际机器位置将是 9,因为拉断。
软限制
软限制可防止机器移动到上述运动范围之外。使用软限制时,您必须先将机器归位。如果您希望软限制忽略其中一个轴,请将 $ <axis>/MaxTravel 值设置为 0。
不使用开关或归位
如果不使用归位,则机器空间是静音的。机器随时都不知道自己在哪里。不应使用软限制。可以使用硬限制,但如果你有开关,你很可能会回家。您仍然可以在任何地方将工作空间归零。您使用 MaxTravel 和 Home/Mpos 创建的机器空间将被忽略,您可以自由地穿越两端。
升级问题
在升级过程中没有自动设置新设置的好方法。它将设置为 0。这对于返回正端的传统负空间机器来说是正确的。
您应该在升级后检查您的机器行为并相应地设置机器空间。如果有什么地方不对,它会影响任何先前置零的坐标系,G28 和 G30。
如果你想保持你的传统行为,在任何轴上设置 $<axis>/Home/Mpos