评论
众所周知,K40 上的光学限位开关非常嘈杂且对杂散光敏感。您是否尝试过保护它们免受环境光的影响? |
是肯定的。 据我观察,似乎与任何噪音问题无关。 |
想知道它是否可以来自 NC swicthes。我将尝试使用 NC 开关连接设置以进行测试……但我目前没有开关 |
由于我无法复制它,因此我不知道如何进行。 |
明白了。我将尝试进行更多调查/在代码中添加探针以尝试更好地理解 |
你好@MitchBradley,经过一些实验,这里是我的发现……
您可以在下面看到导致问题的 100us 延迟之前和之后的值不同。 [MSG:DBG: 归位周期 XY] |
我开始对乐鑫感到非常恼火 |
我用 NC 和 NO 机械开关做了一些测试,没有重现与你在限位开关上工作之前相同的问题 ( #547 )。 您可能已经知道了,但 K40 止动器提供的是 0 到 5V 之间的模拟信号。 |
很有意思。极慢的边缘 |
这与亚稳态同步问题有关,目前还没有完整的解决方案。有一些技术可以以延迟为代价将故障概率降低到任意数量(但不是 0)。Andreas Bechtolsheim 正在攻读博士学位,但由于创立了 Sun Microsystems 而未能完成。安迪后来创办了其他几家公司,并以高价出售,并因成为谷歌的第一位投资者而成为亿万富翁。当我在 Sun 工作时,我不得不诊断很多问题,这些问题最终被证明是同步失败。通常他们会在数百万次事件中失败一次。 超慢边沿使同步变得更加困难,因为输入信号在过渡区域停留了很长时间,大大增加了两个不同电路元件在状态上不一致的模糊样本的可能性。 在这种情况下,我可以尝试更多的技术来消除歧义,但这会导致额外的延迟,而这正是我希望通过中断驱动的限位开关代码来减少的。也许硬件解决方案会更好。ESP32 GPIO 特别容易受到慢边沿的影响,因为它们没有迟滞(8 位 AVR 芯片具有更好的带迟滞的 GPIO 输入电路)。在光学限制和 ESP32 GPIO 之间放置一个施密特触发器缓冲器可能会更好。6 件装的两个 4x 输入模块都有施密特触发器。 |
感谢这个非常详细的答案。 谢谢, |
控制板
个人板
见下图(此处不接受图片)
董事会供应商的帮助
机器描述
K40 库存机
X 和 Y 的光学末端开关
触发时提供 5V(HOME 位置)
未触发时提供 0V
(NC 行为)
Z 的机械开关
(NO 行为)
输入电路
没有反应
配置文件
启动消息
用户界面软件
Lightburn 或 Fluidterm
发生了什么?
当我在 v3.6.1 上发出 $H 命令时:
轴正在移动到左上角 -> OK
当它们碰到限位开关时 -> 移动停止 -> OK
同时在 X 和 Y 轴上拉开 -> OK
慢接近开始 -> OK
X 限位开关首先被击中。X 停止 -> OK
Y 限位开关被击中 -> OK
Y 上的运动不会停止 -> NOK
100% 可重复。我没有尝试使用 NC 机械开关,因为我没有很好的设置
它在 3.4.4 和更早版本上使用相同的配置文件工作。
也可与 ESP32 GRBL 搭配使用。
感谢您的帮助。
登录 v3.6.1:
$h
[MSG:DBG: Homing Cycle XY]
[MSG:DBG: Homing nextPhase FastApproach]
[MSG:DBG: Starting from 0.000,0.000,0.000]
[MSG:DBG: Planned move to -465.000, -315.000,0.000 @ 3535.534]
[MSG:DBG: X Neg Limit 1]
[MSG:DBG: Homing limited X]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: Y Neg Limit 1]
[MSG:DBG :归位限制 XY]
[MSG:DBG:归位 nextPhase Pulloff0]
[MSG:DBG:从 -50.572,-45.326,0.000 开始]
[MSG:DBG:计划移动到 -45.572,-40.326,0.000 @ 282.843]
[MSG: DBG:CycleStop Pulloff0]
[MSG:DBG:X Neg Limit 0]
[MSG:DBG:Y Neg Limit 0]
[MSG:DBG:Homing nextPhase SlowApproach]
[MSG:DBG: Starting from -45.568,-40.323,0.000]
[MSG:DBG: Planned move to -70.568,-65.323,0.000 @ 282.843]
[MSG:DBG: X Neg Limit 1]
[MSG:DBG: Homing limited X]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: Y Neg Limit 0]
[MSG:DBG: CycleStop SlowApproach]
[MSG:DBG: X Neg Limit 1]
<Home|MPos:-50.470,-65.329,0.000|FS:0,0|Pn :X|WCO:5.004,5.004,5.200>
警报:9
归位失败。在搜索距离内找不到限位开关。在搜索阶段定义为 1.5 * max_travel,在定位阶段定义为 5 * pulloff。
好的
登录 v3.4.4:
$h
[MSG:DBG: Homing XY]
[MSG:DBG: PrePulloff]
[MSG:DBG: Fast approach]
[MSG:DBG: X target -465.000 rate 2500.000]
[MSG:DBG: Y target -315.000 rate 2500.000]
[MSG:DBG: Pulloff0]
[MSG:DBG: X target 5.000 rate 200.000]
[MSG:DBG: Y target 5.000 rate 200.000]
[MSG:DBG: Slow approach]
[MSG:DBG: X target – 25.000 率 200.000]
[MSG:DBG: Y 目标 -25.000 率 200.000]
[MSG:DBG: Pulloff1]
[MSG:DBG: X 目标 5.000 率 200.000]
[MSG:DBG: Y 目标 5.000 率 200.000]
[MSG:DBG: Homing Z]
[MSG:DBG: PrePulloff]
[MSG:DBG: Fast approach]
[MSG:DBG: Z target 30.000 rate 100.000]
[MSG:DBG: Pulloff0]
[MSG:DBG: Z target -9.500 rate 100.000]
[MSG:DBG: Slow approach]
[MSG:DBG: Z target 47.500 rate 100.000]
[MSG:DBG: Pulloff1]
[MSG:DBG: Z target -9.500 rate 100.000]
ok
其他信息