开源改变世界

归位问题 #629

推推 grbl 3年前 (2022-10-30) 289次浏览 0个评论
关闭
休克利奥特 打开了这个问题 on 20 Mar 2015 · 19 条评论
关闭

归位问题#629

休克利奥特 打开了这个问题 on 20 Mar 2015 · 19 条评论

注释

@hughqelliott

我已经用我放置的泡沫芯和硬件构建了一个自制的 3 轴绘图仪。GRBL。天啊。很高兴这存在。

克服了很多愚蠢的“我为什么要这样做?” 错误,最后有一个成功的归位序列。

我讨厌将此称为问题,因为这不是 GRBL 的错误,而是我对功能的理解,也许。我的成功直接变成了负面。我对归位序列的理解是使用限位开关找到 0,0,0,然后按设置中的数量拉出。在我的情况下,这是 1 毫米。一旦每个轴定位为 0,它就会进一步移动拉离量,使我处于负数。虽然归位报告成功,但我现在已经超限,并且任何使用 gcode 的尝试都被我的开关“挫败”了。

我可以使用一些建议。不知道如何使这不会发生。
我的设置:
$0=10 (step pulse, usec)
$1=25 (step idle delay, ms)
$2=0 (step port invert mask:00000000)
$3=6 (dir port invert mask:00000110)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (报告英寸, bool)
$14=1 (auto start, bool)
$20=0 (soft limits, bool)
$21=1 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=0 (归位方向反转掩码:00000000)
$24=25.000(归位进给,毫米/分钟)
$25=500.000(归位寻道,mm/min)
$26=250(归位去抖动,毫秒)
$27=1.000(归位拉断,mm)
$100=80.000(x,步长/mm)
$101=80.000(y,步长/mm )
$102=98.522 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=100.000 (x 加速度,mm/sec^2)
$121=100.000(y 加速度,mm/sec^2)
$122=100.000(z 加速度,mm/sec^2)
$130=300.000(x 最大行程,mm)
$131=360.000( y 最大行程,毫米)
$132=140.000(z 最大行程,毫米)

运行归位后,您可以看到定位。
<空闲,MPos:-1.000,-1.000,-1.005,WPos:-1.000,-1.000,-1.005>

有什么建议吗?

只是为了嘘声和笑声,这是我的构建。我不是在开玩笑。泡沫芯层。

归位问题 #629

@chamnit

@wheniwas19:这通常是限位开关反转时发生的情况。意思是,Grbl 假定为常开开关,并且您已连接常闭。设置$5=1为在软件中反转它们。否则,如果您的笛卡尔坐标系设置不正确,就会发生这种情况。

@hughqelliott

@chamnit嗯,它们设置为常开。蓝色 LED 连接到开关并在归位发生时关闭。

我不确定我的坐标系设置不正确是什么意思。我以为我对步进器做错了什么。但是交换电线只会让它们朝错误的方向移动。

@chamnit

@wheniwas19:这是LinuxCNC 坐标系网页的链接。您可能必须更改方向反转蒙版以确保正向运动沿正确方向移动。

使用本周早些时候发布的当前 Grbl v0.9i,您可以在 config.h 中启用限制状态报告并重新编译/上传 Grbl。这将导致 Grbl 发回“?”中的极限状态。状态报告。这应该有助于您调试限位开关,确保 Grbl 按您认为的方式读取引脚。config.h 文件中有更多关于其工作原理的详细信息。

@hughqelliott

@chamnit谢谢,桑尼。我会检查那个链接。我现在显然有点超出我的深度。

@hughqelliott

@chamnit对不起。我只是在我原来的帖子中注意到我的定位声明没有粘贴。或者我忽略了粘贴它。

<Idle,MPos:-1.000,-1.000,-1.005,WPos:-1.000,-1.000,-1.005>

这是我击球时得到的因此,一旦发生 1 mm 拉脱,它就会拉近限位开关。这应该是结果吗?

@chamnit

@wheniwas19:就 Grbl 认为的位置而言,这是正确的。机器坐标应该在所有负空间中,其中零是原点。您的归位开关也可能位于机器的错误一侧。Grbl 默认搜索正方向。您可以使用归位目录反转设置更改此设置。

@chamnit

@wheniwas19:首先确保您的轴正确移动。键入G91 G0 X1,使 X 沿 X 正方向移动 1mm。在您的机器上,这意味着工具头向右移动。如果它向左移动,则反转方向端口设置。随着G91 G0 Y1,您的 Y 龙门架应该远离您。

一旦设置好,限位开关应位于 X 轴的右侧和 Y 轴的后侧,在轴的正方向上。如果没有,请反转未以这种方式设置的归位方向设置。

@hughqelliott

@chamnit有趣的。方向是正确的。限位开关和归位开关不一样?我会并行运行限位开关以控制所有轴上的两个限位。

归位问题 #629
归位问题 #629

@chamnit

@wheniwas19:根据您的图片,X+ 应该移动“右”,Y+ 应该移动“顶部”,[0,0] 应该位于“右上角”。归位应该接合“右上角”的限位开关。

@hughqelliott

想象一下我的“机器”顺时针旋转了 90°,就是这样。图片可能混淆了这个问题。我把它改成更适合我的工作空间。Top & Right 就是这样。X 托架在 0,0 处,因为它由底部的电机沿 Y 移动。

如果我将 X 慢跑 1 倍,则 X 滑架向右移动,这是有道理的。

除非您说所有 gcode 都发生在负空间中。我只是不明白。限制和家是两个不同的东西,不是吗?

@chamnit

是的,所有 gcode 都在负“机器”空间中工作。这是传统的。您可以通过使用 G10L2 或 G10L20 命令设置工作坐标系来设置偏移以在正“工作”空间中工作。请阅读工作坐标系。LinuxCNC 在网上有关于这些命令的好文档。

@hughqelliott

我将阅读 LinuxCNC,看看我是怎么做的。我将步进器上的电线换成了 X 和 Y,它们现在位于右上角。Z 仍然居于首位。尽管如此,拉断仍然会进入开关。需要弄清楚这一点。拉断器应该远离开关,不是吗?

@LKG-工作室

你好,

首先,非常感谢GRBL!

我想我和你有完全一样的问题。
这是我机器工作区的图:
归位问题 #629

以及我的 CNC 的参数(我正在使用 GRBL web):
SEND: $$
RESP: $0=10 (step pulse, usec)
RESP: $1=25 (step idle delay, ms)
RESP: $2=0 (step port反转掩码:00000000)
RESP: $3=4 (dir port invert mask:00000100)
RESP: $4=0 (step enable invert, bool)
RESP: $5=0 (limit pins invert, bool)
RESP: $6=0 (probe pin反转,布尔值)
RESP:$10=15(状态报告掩码:00001111)
RESP:$11=0.020(结偏差,mm)
RESP:$12=0.002(弧度公差,mm)
RESP:$13=0(报告英寸,布尔值)
RESP : $20=0 (软限制, bool)
RESP: $21=1 (hard limits, bool)
RESP: $22=1 (homing cycle, bool)
RESP: $23=3 (homing dir invert mask:00000011)
RESP:$24=25.000(归位进给,毫米/分钟)
RESP:$25=50.000(归位寻道,毫米/分钟)
RESP:$26=25(归位去抖动,毫秒)
RESP:$27=1.000(归位拉断,毫米)
RESP: $100=1280.000 (x, step/mm)
RESP: $101=1280.000 (y, step/mm)
RESP: $102=1280.000 (z, step/mm)
RESP: $110=720.000 (x max rate, mm/min)
RESP: $111=720.000 (y max rate, mm/min)
RESP: $112=720.000 (z max rate, mm/min)
RESP: $120=20.000 (x accel, mm/sec^2)
RESP: $121=20.000 (y加速度,毫米/秒^2)
RESP:$122=20.000(z 加速度,毫米/秒^2)
RESP:$130=326.000(x 最大行程,毫米)
RESP:$131=301.000(y 最大行程,毫米)
RESP:$132 =43.000(z 最大行程,毫米)

我想我已经很好地配置了归位和方向的反转掩码,即一切都朝着好的方向移动,但是当归位完成时,位置 X 和 Y 为负:
归位问题 #629

归位后,位置应该是(1,1,-1),它应该能够去(326,301,-43)..
如果我做对了..

我想我已经颠倒了一些参数或者我错过了一些东西。
你能帮助我吗 ?

谢谢

@chamnit

Grbl 在归位后将整个机器体积放置在负空间中,无论您如何反转归位方向。这是传统的数控机床。由于 3D 打印机的操作方式不同,这是一个常见的误解。您可以在 config.h 中禁用此功能,以将您所在的所有坐标归零。该设置称为HOMING_FORCE_SET_ORIGIN。只需取消注释并重新编译并上传即可。

在您的情况下,@LKG-Studio,原点实际上位于右上角,您所在的位置是 [-326,-301,0] 点。您应该能够从 -326 到 0、-301 到 0 和 -43 到 0 移动。Grbl 工作正常。

@wheniwas19:请REPORT_LIMIT_PIN_STATE通过取消注释该行并重新编译和上传 Grbl 来启用 config.h 中的选项。这将导致 Grbl 通过“?”报告。status 报告限制引脚的状态。这将帮助您验证您的开关是否真正连接为常开。过去,有一个用户连接正确,最终发现他的开关坏了。

@LKG-工作室

好的,现在一切都清楚了,非常感谢。

@hughqelliott

@chamnit我不想用接线问题来打扰你,但在这里我已经消除了一半的限位开关并将它们改为 N/O(或者至少它们应该是。)

当我点击开关时,我连接到电路的 LED 亮起。这是按预期工作的,不是吗?

然而,在将开关连接到引脚位置时,我在 L 读数中什么也没有。
<Alarm,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:>

我犯了一些基本错误,但我接近解决这个问题。不知道我错过了什么。

归位问题 #629

@JacobChrist

与 arduino 的连接始终接地,因此永远不会
改变。保持电路不变,只需将与
arduino 的连接从 gnd 移动到开关上的 C 即可。这样,当开关打开时,
它有一条接地路径,但当关闭时,它直接连接到 +V。不是
最好的,但它可能会比你拥有的更好。

雅各布

2015 年 3 月 21 日星期六上午 10:18,wheniwas19 notifications@github.com
写道:

@chamnit https://github.com/chamnit我不想用接线
问题来打扰你,但在这里我已经消除了一半的限位开关并将
它们更改为 N/O(或者至少它们应该是。)

当我点击开关时,我连接到电路的 LED 亮起。
这是按预期工作的,不是吗?

然而,在将开关连接到引脚位置时,我在
L 读数中什么也没有。
<报警,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000,Lim:>

我犯了一些基本错误,但我接近解决这个问题。不
知道我错过了什么。

[图片:limit_wiring]
https://cloud.githubusercontent.com/assets/547651/6766023/1fa14c34-cfcc-11e4-9f56-51634a37ff8d.jpg


直接回复此邮件或在 GitHub
#629(评论)上查看。

Jacob Christ
ProLinear/PONTECH, Inc.
1-877-985-9286 电话
1-413-235-1651 传真
http://www.pontech.com

@hughqelliott

好的。我重新连接了限位开关(再次)。一切正常。这个小弗兰肯斯坦的怪物永远不会是美丽的东西,但看到由泡沫芯制成的东西四处移动很有趣。

奇怪的是,林:从来没有出现过。不知道为什么。限位开关肯定在做它们应该做的事情,因为轴都按照它们的意图停止和反弹。反正。步步高升!

@wslewis

嗨..尽管已经阅读了这里的所有帖子,但我离解决归位问题还差得远。这是我的设置:

归位问题 #629

当我进行手动慢跑时,限位开关会激活(这告诉我它们已正确接线),但是当我输入 $H 回家时,即使 z 限位开关工作正常,它也会完全忽略 x 和 y 限位开关。我究竟做错了什么?我希望 0,0,0 位于机器的最近左点,z 在顶部。

@hanke-cnc
喜欢 (0)

您必须 登录 才能发表评论!