开源改变世界!!

硬限制 #494

推推 grbl 2年前 (2022-10-19) 328次浏览 0个评论
关闭
JensHauser 打开了这个问题 on 23 Jul 2020 · 15 条评论
关闭

硬限制第494章

JensHauser 打开了这个问题 on 23 Jul 2020 · 15 条评论

注释

硬限制 #494
贡献者

延斯豪瑟 评论 on 23 Jul 2020  

请回答以下问题。

您使用的是什么版本的固件?
1.3a.20200720

问题是否可重复?
是的

什么情况下会出现bug?

  • 启动 Grbl/ESP32

  • 主页 X/Y/Z

  • 多次点击“向 Y 家移动 1mm”会导致硬限制。限位传感器在现实中也被触摸。Y家在另一端,请参阅配置。

  • 如果我对 X 或 Z 执行相同操作,则会定期触摸软限制并弹出警报。

  • 如果我确实远离逻辑 Y 家,则软限制是稳定的

  • 移动到逻辑 Y 主页时,似乎没有考虑 Y 软限制

$0=3
$1=250
$2=0
$3=2
$4=1
$5=0
$6=1
$10=1
$11=0.010
$12=0.002
$13=0
$20=1
$21=1
$22=1
$23=2
$24=200.000
$25=3000.000
$26=250.000
$27=5.000
$30=1000.000
$31=0.000
$32=0
$N1=
$N0=
$100=160.000
$101=160.000
$102=160.000
$110=5000.000
$111=5000.000
$112=1500.000
$120=200.000
$121=200.000
$122=200.000
$130=1000.000
$131=425.000
$132=120.000
硬限制 #494 JensHauser 添加了 漏洞 有些东西不工作标签 on 23 Jul 2020
硬限制 #494
所有者

婚戒 评论 on 24 Jul 2020

这可能与 $23 … $Homing/DirInvert=2 的事实有关。Y 轴是倒置的。

回家后立即发送?获得职位。

Grbl 家进入负空间。这是许多数控机床的传统。这是我的测试机器。所有最大行程为 300 毫米。这意味着每个轴的机器工作区域为 -300 毫米到 0 毫米。归位拉距为 3 毫米,因此您可以在我的状态报告中看到该偏移量。

Grbl 1.3a ['$' for help]
[MSG:'$H'|'$X' to unlock]
ok
<Idle|MPos:-297.000,-3.000,-3.000,0.000|FS:0,0|Pn:P|WCO:-297.000,0.000,0.000,0.000>
ok
$Homing/DirInvert=X
$Homing/Pulloff=3.000
$X/MaxTravel=300.000
$Y/MaxTravel=300.000
$Z/MaxTravel=300.000

确保您的软限制测试移动将违反该工作区域。当同时使用软限制和硬限制时,请确保使用长移动来测试它们。如果你在极限上偷偷摸摸,硬可能会在软之前发生。如果您在 10 毫米之外,请尝试移动 20 以测试软限制。

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 24 日  

归位后,位置为
<Idle|MPos:-5.000,-420.000,-5.000|FS:0,0>

在 Y 轴归位后直接以 10mm 或 100mm 步长点动,GRBL 拒绝并发出警告。
每隔几秒以 1mm 的步长从 -420 到 -421 到 -422 到 -423 到 -424 到 -425 进行一次慢跑,直到在 -425 处出现硬限制。

也许我误解了某事,但软件不应该否认慢跑超过-420,与步长无关吗?

顺便说一句-您提到了最大行程。最大负数。旅行是Y轴的解决方案吗?

硬限制 #494
所有者

婚戒 评论 2020 年 7 月 25 日

轴行程是绝对值并相应地应用。

我们正在处理重置问题。我将再次仔细研究软限制。

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 25 日

太感谢了

硬限制 #494
所有者

婚戒 评论 2020 年 7 月 25 日

@MitchBradley发现警报有问题,包括硬限制,并将修复推送给 master。

明天我仍然会看看软限制。

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 25 日  

在这种情况下可能会有所帮助,我利用

config.h

#define HOMING_CYCLE_1 (bit(X_AXIS)|bit(Y_AXIS))  // Homes both X-Y in one cycle. NOT COMPATIBLE WITH COREXY!!!

#define ENABLE_CONTROL_SW_DEBOUNCE // Default disabled. Uncomment to enable.
#define CONTROL_SW_DEBOUNCE_PERIOD 32 // in milliseconds default 32 microseconds

#define ENABLE_SOFTWARE_DEBOUNCE // Default disabled. Uncomment to enable.
#define DEBOUNCE_PERIOD 50 // in milliseconds default 32 microseconds

可以用 X/Z 轴重现相同的问题。超过 X/Z 原点 1 毫米步长会导致硬限制。

硬限制 #494
所有者

婚戒 评论 2020 年 7 月 25 日

你确定你是在机器空间慢跑吗?软限制使用机器空间 (MPos)。由于警报直到距目标 5 毫米(您的归位起飞距离)才发生,因此很可疑。

尝试使用$rst=#清除所有偏移量并确认使用$#删除所有偏移量

您可以使用 G53 在机器空间中移动。G53 说,对于这一举动,我想要机器空间。所以G53G0X-50将在机器空间中移动到 x-50。对于这样的每一步,你必须把G53放在第一位。

尝试使用G53G0X-421(假设您的 x MaxTravel 为 420)和G53G0X1超出您的软限制。

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 26 日  

就我而言,我在清除所有偏移后根据您的指导尝试了所有三种方法。
在执行任何 G 代码之前,我将机器归位以有一个起点。

a) X 轴

  • G53 G0 X1 //我的范围是0(家)到-1000
  • 结果是它抛出一个软限制警报
    <Alarm|MPos:-5.000,-421.000,-5.000|FS:0,0>
  • 预期行为

b) Y 轴

  • G53 G0 Y-421 //我的范围是0(家)到-420
  • 结果是它在物理上移动到该位置而没有任何警报/警告
    <Idle|MPos:-5.000,-421.000,-5.000|FS:0,0>
    与 -422、-423、-424 相同
  • 预计不动
  • 在 -425 处有一个“警报”,其左侧有警报图标。没有软或硬限制消息,只有“警报”

c) Z 轴

  • G53 G0 Z+1 // 我的范围是 0(家)到 -120
  • 结果是它抛出一个软限制警报
    <Alarm|MPos:-5.000,-421.000,-5.000|FS:0,0>
  • 预期行为

所以总而言之,Y轴有问题。

硬限制 #494

在上面的 X 案例中, Y 已经在 -421 。这可能是问题的一部分吗?

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 26 日  

再试一次,可能是错字,所以现在是完整的详细输出。希望这能给出一个提示。

使用 X 轴(预期行为)

$H
<Home|MPos:-5.000,-420.000,3.537|FS:1500,0|Ov:100,100,100>
<Home|MPos:-5.000,-420.000,1.100|FS:200,0>
<Home|MPos:0.138,-0.138,-5.000|FS:283,0>
ok
<Idle|MPos:-5.000,-420.000,-5.000|FS:0,0>
G53 G0 X1
ALARM:2
Soft limit alarm. G-code motion target exceeds machine travel. Machine position retained. Alarm may be safely unlocked, click the Reset Button.
<Alarm|MPos:-5.000,-420.000,-5.000|FS:0,0>

带Y轴(无报警)

<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0>
$H
<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0|WCO:0.000,0.000,0.000>
<Home|MPos:-5.000,-421.000,4.475|FS:1500,0|Ov:100,100,100>
<Home|MPos:-5.000,-421.000,-1.800|FS:1500,0>
<Home|MPos:-5.000,-421.000,1.906|FS:200,0>
<Home|MPos:-5.000,-421.000,-2.894|FS:1260,0>
<Home|MPos:-2.006,2.006,-5.000|FS:2142,0>
<Home|MPos:1.969,-1.969,-5.000|FS:283,0>
<Home|MPos:4.819,-4.819,-5.000|FS:0,0|Pn:XY>
ok
<Idle|MPos:-5.000,-420.000,-5.000|FS:0,0>
G53 G0 Y-421
ok
<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0>
<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0|WCO:0.000,0.000,0.000>
<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0>
<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0>

使用 Z 轴(预期行为)

$H
<Idle|MPos:-5.000,-421.000,-5.000|FS:0,0|WCO:0.000,0.000,0.000>
<Home|MPos:-5.000,-421.000,0.081|FS:840,0|Ov:100,100,100>
<Home|MPos:-5.000,-421.000,-3.475|FS:900,0>
<Home|MPos:-5.000,-421.000,2.125|FS:200,0>
<Home|MPos:-5.000,-421.000,4.938|FS:0,0|Pn:Z>
<Home|MPos:5.131,-5.131,-5.000|FS:0,0|Pn:XY>
<Home|MPos:1.163,-1.163,-5.000|FS:283,0>
<Home|MPos:4.569,-4.569,-5.000|FS:283,0>
ok
<Idle|MPos:-5.000,-420.000,-5.000|FS:0,0>
G53 G0 Z+1
<Idle|MPos:-5.000,-420.000,-5.000|FS:0,0>
ALARM:2
Soft limit alarm. G-code motion target exceeds machine travel. Machine position retained. Alarm may be safely unlocked, click the Reset Button.
<Alarm|MPos:-5.000,-420.000,-5.000|FS:0,0|WCO:0.000,0.000,0.000>
<Alarm|MPos:-5.000,-420.000,-5.000|FS:0,0>
硬限制 #494
所有者

婚戒 评论 2020 年 7 月 26 日

发送$MaxTravel的响应是什么

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 26 日  

$MaxTravel

$X/MaxTravel=1000.000
$Y/MaxTravel=425.000
$Z/MaxTravel=120.000

G53 G0 Y+1 也导致报警

硬限制 #494

所以 Y 限制为 -425 .. 0。看起来一切正常。Y 回到负限制,即 -425(因为 $Homing/DirInvert=Y 即 $23=2 和 $Y/MaxTravel=425),然后拉低 5($Homing/Pulloff 即 $27 = 5),所以 Y 开始在-420。Y 限制在 -425 和 0 开始。

pulloff 不影响限制。

硬限制 #494
贡献者作者

延斯豪瑟 评论 2020 年 7 月 26 日

谢谢。似乎我在这里有一个误解。

维基说
Soft limits use Grbl's internal position values to determine if the the motion will crash into the ends. It uses the max travel ($13x) to determine this.

我认为软限制会给我一个保存通道,例如慢跑到轴的两端并避免硬限制和重置。它有时会发生在机器限制上的慢跑,并且友好的“慢跑目标超过机器行程。慢跑命令已被忽略”会很好。

但这似乎有所不同,所以我必须更加小心并按下重置按钮,以防我超出家中的限制。

硬限制 #494
所有者

婚戒 评论 2020 年 7 月 26 日

它不应该崩溃。您可能会触发限位开关,但机器不会尝试越过限位开关。所有好的限位开关都有一些超程。

如果您通过达到软限制或硬限制来触发警报,这没什么大不了的。

我将关闭它,因为所有问题都已解决。

硬限制 #494
喜欢 (0)

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