开源改变世界

X 轴不归位 #1060

推推 grbl 3年前 (2023-01-23) 165次浏览

关闭
dattasaurabh82 打开了这个问题 2016 年 8 月 18 日 · 2 条评论
关闭

X 轴不归位#1060

dattasaurabh82 打开了这个问题 2016 年 8 月 18 日 · 2 条评论

注释

X 轴不归位 #1060
达塔索拉布bh82 评论了 2016 年 8 月 18 日  

所以我克隆了最新的 grbl

>>> $I
[0.9j.20160317:]

我在 z、y 和 x 轴的最远点使用简单的杠杆按钮开关。它们在默认情况下通常很高。我检查了
$5=0

我的软限制、硬限制已关闭,归位已打开

$20=0
$21=0
$22=1

用万用表检查开关进行电导率测试。当我按下它们时,它们会关闭。他们全部 。
X 轴限位开关到 Arduino 的引脚 9
Y 轴限位开关到 Arduino 的引脚 10,
Z 轴限位开关到 Arduino 的引脚 12。

所以所有的连接都很好。

现在,当我进行归位时,
Z 轴归位并且坐标在通用 G 代码发送器 UI 中设置为 0。
然后 Y 轴归位,其坐标在 UGS UI 中也设置为 0。
但是 x 轴没有归位。但是我可以在任何时间点动 x 轴,并且当我向它发送一个 g 代码以进行运动时它可以正常工作。

然后我检查了config.h文件。
在那里我发现

#define HOMING_CYCLE_0 (1<<Z_AXIS)                // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))  // OPTIONAL: Then move X,Y at the same time.
// #define HOMING_CYCLE_2                         // OPTIONAL: Uncomment and add axes mask to enable

然后我做了一些改变,只是为了看看,同样

#define HOMING_CYCLE_0 (1<<Z_AXIS)                // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 (1<<X_AXIS)  // OPTIONAL: Then move X,Y at the same time.
#define HOMING_CYCLE_2 (1<<Y_AXIS)                        // OPTIONAL: Uncomment and add axes mask to enable

但仍然是相同的顺序,即 x 轴没有归位。
有时在 UGS UI 中归位后,它会沿 z=0 和 y=0 显示 x = 0,而后者正在归位而 x 轴不是。

实际归位序列在哪里写入(在哪个文件中)?似乎没有执行 X 轴归位。似乎缺少一段代码,因为在 z 轴归位后没有延迟并且它回到 Y 轴归位。但是在 config.h 中有 X 轴(这就是我得到序列的想法的地方)。

那么这是一个错误可以还是你帮我解决它?

在单独的注释中::
如何在机器启动时自动神奇地启用归位。
显然,我尝试$N0=$H过没有运气,因为它似乎$N只执行 G 代码解析模式。就s
而言,Homing 的解析模式是什么G

X 轴不归位 #1060

归位是一个经常出现的问题,GRBL 中的归位被证明是有效的。我自己对归巢没有任何问题。大多数情况下,问题出在导致引脚状态改变的电噪声。这让 GRBL 认为开关被激活了。第一步是检查接线并采用良好做法来防止不必要的电气噪声。如果这不起作用,您可以尝试更改去抖动设置。如果还是不行,你可以在引脚上加一个小电容来滤除噪声。

在我看来,在加电时归巢是个坏主意。当打开机器上的电源开关时,我不希望它自己做某事。此外,如果以这种方式实现归位,则必须对其进行编码,以便 grbl 仅在硬重置时执行它,因为软重置将运行 $N 代码。接口已使用软重置来实现其他可能不明显的事情。您不希望由界面启动的软重置导致您的机器在程序运行期间突然回到原点。无论如何,你在节省什么。只需按一下按钮即可让机器回家。

X 轴不归位 #1060

解决了。是干扰的经典问题。因此,在数字引脚 8 和 GND 之间放置一个 100nF 的滤波器电容,它起作用了。

喜欢 (0)