注释
这是可能的,但代码目前不适合很容易地做到这一点。这是由于使用了非实时步进算法。如果我们要在那里添加计步器,情况会比现在更糟。我认为当归位运动控制直接集成到步进算法中时,我们可以肯定地做到这一点。 但是你也可以通过老派方法检查这些东西。在你的桌子上固定一个千分表,移动几次然后返回到指示器。如果它改变了,你就有问题了。这可能与加速度太高、进给率太高或工具压力有关。除其他事项外。如果你想计算步进脉冲,在他们的 IDE 中为另一个 arduino 编写一个快速脉冲计数器很容易。 |
我明白了,我最初的假设是一个 uint8_t 每次它溢出或当归位开关接合时我们打印出来。依靠开关提供所需的精度水平应该可行,对吧?
是的,我的千分表不太适合这个用途,新的周二到货
实际上没有考虑过这一点,如果可以在归位命令上同步两者并连接归位开关,它可能会起作用。如果我在星期二之前没有什么可以尝试的话,我可能会尝试一下。 谢谢! |
@tmpvar: 靠一个开关应该可以。只是归巢无法可靠地提供计步器而不冒丢失步数的风险。这个怎么样?您可以在程序后非常非常缓慢地故意使用硬限制。我说得很慢,因为您可能会从限位开关的动态中得到错误的读数。您应该在归巢位置与他们交战。如果您在没有接合它们的情况下出现短路,则可以通过增加到开关直到接合硬限位来测量漂移。如果在到达归位位置之前过早地接合它们,您可以通过观察警报后立即在其机器位置离归位零有多远来判断有多少漂移。 |
这是有道理的,触摸时归位开关会禁用轴吗(而不是在“归位模式”下)? |
很不幸的是,不行。在艰苦的比赛之后,你必须小心输入你的动作,而不是移动已经参与的动作。Grbl 无从得知。但是,人类周期应该可以正常工作。祝你好运。 |
公平点,再次感谢! 2013 年 6 月 16 日下午 1:45,Sonny Jeon notifications@github.com写道:
|
@tmpvar我的机器处于类似的状态。我们做了一个“铅笔夹头”来做“笔绘图”练习。这样做的好处是,如果是这样的话,您一眼就能看到漂移。我目前正在抓取疯狂的几何图形(像图像一样的分形)并重复绘制它们。我的理论是,如果存在会导致步数丢失的运动组合,您会在增加迭代时直观地看到这一点(即绘制和绘制)超过)。 如果我发现任何问题,我将提供一个视频、gcode 文件,以及可能的一些关于丢失开始的时间/地点的线索。 不确定我会发现什么,到目前为止,Grbl 做得非常好(边缘版本)。 斯科特 |
漂移也可能与您的步进器在程序结束后闲置有关。因此,只要规划器队列中没有任何内容,Grbl 就会默认自动禁用您的步进驱动程序。我认为,如果您的步进驱动器在重新启用时没有回到微步状态,这可能会导致丢失步数。例如,假设您完成半步或四分之三步的移动,并且 Grbl 通过步进启用引脚禁用驱动程序,当您重新启用时,您的步进驱动程序可以以整步增量重新启动。我对此不是 100% 肯定,但我想这可能取决于步进驱动器本身的设计。 要排除这种情况,您可以将 step_idle_delay 时间设置为 255。这将导致 Grbl 始终保持您的驱动程序处于启用状态,直到您手动关闭所有设备。留意你的驱动器的热量,如果它们打开很长时间,它们可能会变得很热。 |
@chamnit好点,我在#234中详细介绍了修复 我想让它保持打开状态,以提醒您在归位机制固化后,这可能是将来作为“自我测试”做的好事。 |
所以我一直在考虑,想弄清楚我是否正在丢失步骤。我很确定我是由于我在一些较长的操作中看到的阶梯效应而导致的。
这可能是一个愚蠢的想法,但我想就你们的想法发表一些意见。
如果我们能够跟踪根据
$H
命令回到家所花费的步数并报告它们,像我这样的人就可以编写工具来识别步数是否丢失。我觉得这将允许对配置设置进行某种形式的自动化测试。这有意义/可行吗?