注释
$5=0 |
$5=1 对于连接到 GND 的 NC 开关应该是正确的。来自文档: “默认情况下,Arduino 的内部上拉电阻将限制引脚保持在正常高电平。当限制引脚处于低电平时,Grbl 将其解释为已触发。对于相反的行为,只需通过输入 $5=1 来反转限制引脚。 “ 恕我直言,$5=1 对我的设置是正确的。 顺便说一句,我也尝试了 NO switches 和 $5=0 ,并且得到了相同的行为。 |
我的建议是避免让自己感到沮丧和头痛,以及丢失的工作,禁用硬限制 ($21=0),并仅将开关用于归位 ($22=1)。对于限制,使用软限制($20=1)。效果很好。 |
恕我直言,两者都需要工作。目前,我正在尝试将 Arduino 输入与光隔离器分离,并重新加工所有末端停止电缆的屏蔽层。我想这很可能会解决问题,我可以将其作为硬件相关而非 GRBL 问题关闭。似乎我低估了 Arduino 输入对电噪声的敏感性,如果在中断模式下使用引脚,问题似乎更大。我的粗略折磨程序使用 digitalRead 并且不足以替代 GRBL。 |
我同意这不是 grbl 问题;这可能是 EMI 和静态电压累积引起的硬件问题。希望你能想出一个适合所有人的解决方案,但我愤世嫉俗的自我对此表示怀疑。仅使用软限制似乎更容易和可靠。根据我的经验,它在低湿度环境中确实会变得更成问题。真诚的好运。 |
解决。 这个问题与 GRBL 或 Arduino 引脚“敏感”没有任何关系,它是由接线中的电缆故障引起的。这也是NC开关出现问题的原因。 感谢您的帮助, 阿敏。 |
我遇到了与该主题的所有者 – arminlinder 描述的完全相同的问题。由于即时的“硬限位”警报和停止,即使限位开关没有被物理触发,我也无法移动任何轴。 在我的例子中,问题是由电缆干扰引起的。以下是我调试和证明该问题的方式:
通过这些设置,我能够毫无问题地移动所有轴,并且没有触发警报。 那时我连接了 2 条新电缆 – 第一条连接到限位开关端口(9、10 或 12 – 无关紧要),另一条连接到 GND – 之后我仍然能够移动任何轴。 我希望它能帮助别人,因为它让我发疯! |
在花了一整天试图解决这个问题之后,我敢打扰你。我在 Arduino Uno 上设置了 GRBL 来运行 3 轴 CNC 铣床。步进器运行良好,G0 命令有效,现在我添加了限位开关(NC 类型,连接到 GND)。
从那时起,机器将始终在任何步进器启动时发出警报:1。
我的设置是:
$21=1
$5=1
其他一切都是默认的。查看本文末尾的所有配置值。
如果我输入任何运动命令,例如 G0 X -1,电机会发出微弱的“咔哒”声并立即停止,grbl 会抛出“ALARM 1”。它显然认为,它已经命中并停止,尽管没有一个。每次都以相同的方式发生这种情况(现在至少尝试了 50 次……)。这是此类“会话”的日志:
ok
?<Idle|MPos:0.000,0.000,0.000|FS:0,0|Ov:100,100,100>
G0 X 10
ok
ALARM:1
[MSG:Reset to continue]
Grbl 1.1h [‘$’ for help]
[MSG: ‘$H’|’$X’ 解锁]
?<Alarm|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>
你看,机器甚至没有移动一步。
已经尝试/排除:
在这一点上,我认为我排除了任何硬件问题,这将注意力转移到配置问题上。但是我按照您的文档进行了检查,对所有内容进行了双重和三次检查,没有发现任何错误,没有任何气味可以使 GRBL 在检查端点时变得过于敏感。与此同时,我的示波器一直在运行,我从未注意到信号中有任何毛刺。
伙计们,我被困住了,任何帮助将不胜感激。
为了完整起见,这是我的完整配置:
好的
$0=10
$1=25
$2=0
$3=0
$4=0
$5=1
$6=0
$10=17
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22 = 0
$ 23 = 0
$ 24 = 25.000
$ 25 = 500.000
$ 26 = 250
$ 27 = 1.000
$ 30 = 1000
$ 31 = 0
$ 32 = 0 $ 32 = 0
$ 100 = 80.000
$ 101 = 250.000
$ 102 = 250.000 $ 110.000
$ 110 = 500.000
$ 111 =
500.000 122 美元=10.000 美元 130 美元=200.000 美元
$131=200.000
$132=200.000
可以
有任何想法吗?