注释
@Janernevis:步进电机是开环的,这意味着它们没有参考点。启动时,Grbl 不知道也不能知道它在哪里,所以它初始化为零。您需要能够为您提供参考点的归位开关。有关信息,请参阅维基。 |
谢谢你的快速反应。 让我们暂时把家庭开关放在一边,就像它们不存在一样。 当我改变位置时,我可以看到 grbl 记录了这一变化。如果我告诉 grbl 我的 0 点在哪里并且它记录了我所做的每一个动作,那么显然它知道主轴现在在哪里。正如我之前所说,如果我断开与 Arduino 板的连接然后再次连接到它,它会显示我最后的坐标,但值相反。 此外,在本次讨论中,我们必须考虑到在机器断电期间主轴没有被手动、强制移动。 |
如果我理解正确的话,我相信您看到的是当您将工作位置重置为 0,0,0 时,工作坐标和机器坐标之间的偏移量存储在 eeprom 中。即wcs = mcs + offset, 当您重置 arduino mcs 设置为 0,0,0 这就是机器所知道的, |
好的,比你更清楚。 如果像我之前写的那样设置,如果在断电期间机器没有被强行移动,它总是会知道它在哪里。 |
如果您有限位开关并在断电后将机器归位,您将回到相同的 wcs。 |
您不能假设必须“用力”移动它。我的CNC铣床的Z轴会慢慢下降,直到接触到工作台,这不是受力,而是在自重的作用下。在许多情况下,轻推即可移动无动力皮带驱动轴或齿条和小齿轮。 作为@langwadt说,你不能,或者至少不应该假设机器在启动时处于某个位置。如果您这样做并且您的假设是错误的,您将面临损坏机器或您正在制造的零件的风险,或者在更大的机器上您可能会有受伤的风险。 |
您所描述的是闭环控制,它涉及更多的东西并使其变得昂贵。步进电机是开环的,只需要回到固定开关。如果您用谷歌搜索,有大量资源可以向您解释这一点。 |
此外,即使是伺服电机也需要在每个电源循环中归位……这有点像抱怨每次骑自行车时都必须重新设置踏板才能开始行驶。“好吧,我下车后就没碰过踏板,所以它们必须在我离开的地方”
|
好,朋友们。谢谢大家的解释。 |
大家好!
我是 CNC 领域的新手,所以请对我温柔一点。我买了自己的 CNC 机器,我还在学习。
我的机器基于 Arduino Uno 和带有 A4988 步进驱动器的 CNC Shield。作为前端应用程序,我使用的是 UGS 平台。
我有一个关于 UGS 平台(最新版本)上显示的工作和机器位置的问题,这让我有点困惑,UGS 的人把我带到了这个地方,因为他们说它与 grbl 相关。
我会尽力向您解释。
假设我的机器尺寸为 500x500mm,我的主轴位于右上角,该位置标记为机器位置 X0 Y0 Z0 和工作位置 X0 Y0 Z0。如果我向下 300 度,向左 300 度,这些位置将变为 X-300 Y-300 Z0。如果我然后单击重置零按钮,工作位置将为 X0 Y0 Z0,机器位置将保持为 X-300 Y-300 Z0。如果我断开连接并再次连接,我的工作位置将为 X300 Y300 Z0(与之前相反的值),机器位置将为 X0 Y0 Z0。如果我然后单击归零按钮,我的主轴将向下和向左移动(而不是向上和向右移动)并撞到边缘,因为它实际上会转到 X-600 Y-600 Z0。
我知道我是新手,但这种行为对我来说是错误的。有人可以向我解释为什么要这样编程吗,我是不是很笨,没有正确理解它,或者我在设置过程中做错了什么,或者我按错了按钮?
我只想让机器记住右上角是 X0 Y0 Z0 并且它有 500mm 到底部的空间和 500mm 到左边缘的空间。当我在做一些项目时,我可以改变工作零位置一千次,但是当我断开连接时,那台机器会记住当前位置,这样下次当我建立连接并给它命令去机器零时,它就会准确地知道那是哪里(考虑到与此同时我没有用力,用手或类似的东西移动轴)。那可能吗?