注释
这些光开关是漏极开路的。你没有提到你是否使用上拉电阻。 |
几乎可以肯定是噪音问题。一个非常普遍和被误解的问题。按照上面的建议阅读#96。 您的示波器迹线显示出相当多的噪声,即使您没有看到超出阈值的脉冲。限制电缆中的噪声脉冲是由电机或主轴电缆中的电流突然变化引起的,并且可能非常短(纳秒)并且不容易在示波器上发现。您的 Z 轴布线可能以不同方式布线,或者您在那里很幸运。 添加一些电容器,然后报告。我建议使用 100nF 电容器,这些电容器很常见。皮法拉范围内的值可能不太有效,除非在非常高的频率上,高于 1uF 的值将开始减慢上升和下降时间太多,因此您最终会延迟限位开关响应。 如果您手头没有电容器,这里有一个可能的测试……如果您尝试将机器放回原处但禁用电机驱动器,极限会发生什么情况?- 即一切都通电并且 grbl 认为它正在移动电机,但它们没有。在 grbl 在每个轴上超时之前,您需要在适当的时间手动触发限位开关。如果您在这种情况下没有看到归位故障,则表明电机电流存在噪音。 |
感谢您这么快的回复! 我设法找到了一些 100nF 的电容器,就像你说的那样,它似乎工作得很好。我没有考虑过我的示波器的分辨率会太低。 |
很高兴听到。 |
它是 Hantek 6022BE,所以我考虑尽可能低端。它具有 1MHz 的采样率,上图以毫秒为单位。 |
好吧,不是你能得到的那么低端 – 许多便宜的带宽和采样率远低于 1MHz,使得一些甚至对于音频几乎不可用。事实上,只要您意识到它的局限性,这个价格似乎相当合理。 |
我有一台几乎可以运行 GRBL 的铣床。现在唯一要克服的障碍是我的光学限位开关似乎会自行触发。我立即认为这是一个噪音问题,但用示波器检查信号似乎很好。
(伏特与毫秒)
示波器信号似乎始终高于 3V 或低于 1.5V,这对应于 Arduino 上的高阈值和低阈值。
我的 z 轴每次总是完美归位,但我的 x 只有时起作用,而 y 似乎大多数时候立即触发。在那种情况下,床(y 运动)根本不会向开关移动,但会立即跳离它两次。这是正常行为吗?
还有其他可能导致问题的地方吗?我已经配置了单独的轴归位,并且每轴归位以同样的方式失败。
我正在使用这些光开关。我将信号线连接到一个 4.7kOhm 的上拉电阻到 5V。
电机运行时我没有记录任何数据,因为它似乎没有做出任何改变,但我可以回去获取它。