Contact me: hankecnc@gmail.com

机器在极限处开始的归位问题(按下限位开关) #612

推推 grbl 3年前 (2023-01-22) 157次浏览

关闭
markbotics 打开了这个问题 2015 年 3 月 2 日 · 6条评论
关闭

机器在极限处开始的归位问题(按下限位开关)#612

markbotics 打开了这个问题 2015 年 3 月 2 日 · 6条评论

注释

机器在极限处开始的归位问题(按下限位开关) #612

您可能知道,$h 命令用于归位。设置一些参数(例如“寻找”、“进给”速度和方向反转掩码),机器首​​先在 Z 方向移动,然后在 X 和 Y 方向移动,直到达到安装在机器所需运动末端的限位开关,它在开关的边界处来回穿梭 3 次,然后以另一个参数量向后移动远离开关。

我们的问题是我们的一个轴通常在通电后处于行程的末端。这是因为这是一个垂直轴,在关闭电源后它会向下移动(轻轻滑动)到底部。因此,除非有人移动它(不需要的额外用户交互),否则必须在开始时按下垂直轴限位开关来启动归位序列。

除非我们做错了什么,否则 GRBL 0.9c 不喜欢这种情况并进入需要重置的错误模式。

我可以假设一个原因是它不知道应该朝哪个方向移动。然而,由于“寻找”运动(向限位开关移动)的反转掩码位,它应该知道在相反的“进给”方向上退回,直到开关未被按下。

对我们来说,限位开关处于活动状态(机器处于终点),默认激活低电压。我们的限位开关常开并连接到逻辑 GND,输入有一个上拉电阻。

谢谢你,如果你知道该怎么做。希望我们不需要修改源代码和重新编程。

机器在极限处开始的归位问题(按下限位开关) #612
成员

@markbotics: 问题是 Grbl 使用一个限制引脚来检测是否触发了硬限制。如果你在行程的两端都有两个开关,Grbl 无法判断要移动的方向。如果每个轴有一个限位开关(默认假设),即使它被触发它也会回家。我通常建议原始设备制造商使用一个限位开关进行归位,然后使用软限位将机器保持在机器体积内。

机器在极限处开始的归位问题(按下限位开关) #612

谢谢你的快速回答。

我认为每个轴的两个硬限位开关不相关,我不应该提到它。GRBL不知道有两个并联的限位开关。

除非我做错了什么,否则当归位开始时,如果触发它就不会归位(我假设你的意思是当信号处于活动状态时 = 低 = 限位开关被按下)。我发现如果我在按下限位开关时运行 $h,它会报错并停止。

我假设它从“搜索”开始并立即检测到限位开关,然后应该尝试返回“进给”方向(与搜索相反),直到不再按下限位开关(默认极性信号变高)。我注意到它为每个轴做了三次。

目前我只能在有人举起机器时运行归位序列,这样它的垂直限位开关就没有被按下。

机器在极限处开始的归位问题(按下限位开关) #612

你好,我上次的留言错了。Grbl 确实归位正确,即使机器在一个限位开关处于活动状态的情况下启动(没有开关关闭,因此连接到 GND)。

问题是我需要在输入端上拉电阻。Uno 内部上拉一定是不够的。我需要的不是 10K、4.7K,而是 1K 电阻,上拉至 +5V 以获得干净的性能。

机器在极限处开始的归位问题(按下限位开关) #612

我构建了一个自定义板来运行 grbl,我也使用 10k 电阻来拉高输入以获得干净的信号。

机器在极限处开始的归位问题(按下限位开关) #612

这很可能是耦合到限位开关电缆中的电机产生的电噪声。
降低上拉电阻值(即提供更强的上拉)将使信号阻抗降低,并降低影响。
我还建议在限制输入和 GND 之间添加一个 0.1uF 50V 电容器以滤除高频噪声。
http://www.digikey.com/product-detail/en/K104K10X7RF5UH5/BC2665TB-ND/
我还在 Arduino 附近的限位开关电缆上放了铁氧体(作为皮带和支架方法)。我通过 Wurth Electronik 零件 7427003 使用两个循环
http://www.digikey.com/product-detail/en/74270034/732-1551-ND/

机器在极限处开始的归位问题(按下限位开关) #612

我承认,在安装上拉电阻之前,我并没有对 26 美元(Homing debounce,ms)进行太多试验。对于存储示波器,尖峰信号可能是虚假的,适当的去抖动(检查信号变化是否一致,或者理想情况下是几个,时间间隔几毫秒)会在没有电阻器的情况下修复它。然而,从干净的电信号开始可能是最好的。你的提及@electrokean如果我们从低通滤波器的角度来看,添加电容可能是一个不需要这么小 (1K) 电阻的替代解决方案。

喜欢 (0)