Contact me: hankecnc@gmail.com

步数与位置不匹配 #7

推推 grbl 3年前 (2023-01-24) 276次浏览
关闭
lampmaker 打开了这个问题 2011 年 9 月 13 日 · 28条评论
关闭

步数与位置不匹配#7

lampmaker 打开了这个问题 2011 年 9 月 13 日 · 28条评论

注释

步数与位置不匹配 #7

许多将 marlin 用于 ultimaker 的人都遇到了倾斜的构建或遗漏的步骤。有些可能与硬件有关,但遗漏的步骤通常发生在奇怪的地方。

我创建了一个分支,在输出引脚被激活的地方计算步数。
https://github.com/lampmaker/Marlin/tree/skewtest

使用 M114(并等待最后一个运动停止后),您可以根据向前和向后的步数查询 current_position[] 值和计算出的位置值。

看起来,有时两个位置值之间存在差异。我见过 1 毫米或更大的差异。

步数与位置不匹配 #7

你好,

Kun je mij dit probleem eens laten zien in de praktijk。
Nomaal gesproken zouden er 遇到了 M114 geen stappen mogen missen。(Tenzij er iets mis gaat door de hoge snelheid die jullie gebruiken)

Ik zou graag eens zien hoe het in de praktijk gebruikt wordt。但我知道最好诊断出 stellen。
Het liefste heb ik een stukje g-code van een paar regels waarmee het probleem gereproduceerd kan worden。

格罗滕,

埃里克

在 2011 年 9 月 12 日下午 10:05,lampmaker 写道:

许多将 marlin 用于 ultimaker 的人都遇到了倾斜的构建或遗漏的步骤。有些可能与硬件有关,但遗漏的步骤通常发生在奇怪的地方。

我创建了一个分支,在输出引脚被激活的地方计算步数。
https://github.com/lampmaker/Marlin/tree/skewtest

使用 M114(并等待最后一个运动停止后),您可以根据向前和向后的步数查询 current_position[] 值和计算出的位置值。

看起来,有时两个位置值之间存在差异。我见过 1 毫米或更大的差异。

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7

步数与位置不匹配 #7

你好,

Ik heb nog even naar de code gekeken。
Ik vindt het erg vreemd dat M114 een andere waarde terug geeft。Deze code komt rechtstreeks uit sprinter。
M114 是 nog niet goïmplementeerd en geeft momenteel de waarde die uit de g-code parser komt。Als hier wat anders uitkomt is dat erg vreemd。

格罗滕,

埃里克范德扎尔姆

在 2011 年 9 月 12 日下午 10:05,lampmaker 写道:

许多将 marlin 用于 ultimaker 的人都遇到了倾斜的构建或遗漏的步骤。有些可能与硬件有关,但遗漏的步骤通常发生在奇怪的地方。

我创建了一个分支,在输出引脚被激活的地方计算步数。
https://github.com/lampmaker/Marlin/tree/skewtest

使用 M114(并等待最后一个运动停止后),您可以根据向前和向后的步数查询 current_position[] 值和计算出的位置值。

看起来,有时两个位置值之间存在差异。我见过 1 毫米或更大的差异。

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7

步数与位置不匹配 #7
贡献者

这里有一些舍入:

计划设定位置(…)

并在

void plan_buffer_line(float x, float y, float z, float e, float feed_rate) {
1818 行


target[X_AXIS] = lround(x_axis_steps_per_unit[X_AXIS]);
target[Y_AXIS] = lround(y_axis_steps_per_unit[Y_AXIS]);
target[Z_AXIS] = lround(z_axis_steps_per_unit[Z_AXIS]);
target[E_AXIS] = lround(e_axis_steps_per_unit[E_AXIS]);


你也可以尝试在这里插入一些串行调试代码,看看计算的步骤是否真的没问题:

void calculate_trapezoid_for_block(block_t *block, float entry_speed, float exit_speed) {


// 计算名义利率平台的大小。
long plateau_steps = block->step_event_count-accelerate_steps-decelerate_steps;
///在这里插入

最好圈出这个问题

还有什么可能是候选者:
在中断例程中有几个“>0”,可以移动到“>=”:

if (counter_x > 0) {

例如第 2244 行 2251 …

我认为这是最有可能的候选者,据我所知,其他代码是从 grml 中获取的,并希望经过测试。
所有引用我的(bkubicek)当前 git 版本的行号..

问候,
伯恩哈德

步数与位置不匹配 #7
作者

嗨埃里克,

我修改了 M114 命令,因此它也根据计算的步数返回位置。
但是,我似乎无法重现(还)我昨天所做的事情。

我会先试试 Bernard 的叉子,看看那里是否有任何问题。

步数与位置不匹配 #7
作者

我可能会有更多的见解。我遇到麻烦的印刷品有一个洞,里面有(太多)许多小段。(4 毫米直径上的 36 段)打印时圆周速度明显下降,听起来更像短跑运动员。现在用六边形而不是孔运行打印,一切都很好。
这可能意味着 marlin 或通信在一系列短片段方面存在问题。(36 段意味着在 F18000 每段 0.34 毫米

步数与位置不匹配 #7

Als er te veel korte segmenten zijn dan kan de lookahead / serial interface het niet bij houden。Hij moet dan als het goed 是 terugvallen 在类似短跑运动员的模式中。
Ik in de lookahead een tijdje terug een bug gevonden。Die zou hier van invloed kunnen zijn。

Ik moet bekijken of de seriele snelheid het 问题是。在 de lookahead reken snelheid zit 中的 dat het 问题。

波特率有问题吗?

格罗滕,

埃里克

在 2011 年 9 月 13 日上午 10:28,lampmaker 写道:

我可能会有更多的见解。我遇到麻烦的印刷品有一个洞,里面有(太多)许多小段。(4 毫米直径上的 36 段)打印时圆周速度明显下降,听起来更像短跑运动员。现在用六边形而不是孔运行打印,一切都很好。
这可能意味着 marlin 或通信在一系列短片段方面存在问题。(36 段意味着在 F18000 每段 0.34 毫米

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2079485

步数与位置不匹配 #7
作者

波特率是 115200
Kan de buffer ook verhoogd worden?Staat nu op 8. Kan die gewoon verhoogd worden of loop je dan tegen andere problemen aan?

步数与位置不匹配 #7

您是否尝试过提高 SFACT/Skeinforge 的精度?

步数与位置不匹配 #7
贡献者

谷歌翻译:
埃里克:

如果短段过多,则无法保持先行/串行接口。
他也必须像时尚一样回到短跑运动员。前一段时间我在前瞻一个错误。那就是这可能会影响。我必须看看串行速度是否
是问题所在。或者说问题是前瞻计算速度。你使用什么波特率?问候,
Lampmaker:
缓冲区也可以增加?现在是8。可以增加还是干脆走过去解决其他问题?

Lampmaker:您可以尝试构建没有填充和六边形填充的小型测试立方体,看看您是否遗漏了步骤?
也许它只会发生

  • 如果存在缓冲区欠载。
  • 或者如果没有高原步长,即如果移动的长度小于加速/减速距离。
步数与位置不匹配 #7
作者

这是我今天所做的(在“真正的”工作之间)

  • 使用 Bernards 最新版本
  • 为那个添加计步器。可以使用 M114 查询结果,它
    显示 x、y 的正常值和步数值。
  • 打印了一个 10x10mm 的测试块,带有 3mm 的孔,36 段。
  • 玩过缓冲区大小(标准 8 对 40)。似乎没有什么
    区别。
  • 以默认速度(150 次打印,500 次行程)打印出来的效果很好。
    x,y 与计数的 x,y 值之间的差异:1-2mm
  • 使用实时控制将速度降低到 25%。
    偏斜较小, x,y 与计数的 x,y 值之间的差异约为 200-500 微米。

所以它可能确实与某些缓冲区欠载有关。但是,我仍然
认为在那种情况下它不应该失去步骤。

2011 年 9 月 13 日星期二下午 2:34,bkubicek <
reply@reply.github.com > 写道:

谷歌翻译:
埃里克:

如果短段过多,则无法
保持先行/串行接口。
他也必须像时尚一样回到短跑运动员。前一段时间我在前瞻一个错误。那就是这
可能会影响。我必须看看串行速度是否
是问题所在。或者说问题是前瞻计算速度。你使用什么
波特率?问候,
Lampmaker:
缓冲区也可以增加?现在是8。可以增加还是干脆
走过去解决其他问题?

Lampmaker:您可以尝试构建没有填充和六边形
填充的小型测试立方体,看看您是否遗漏了步骤?
也许它只会发生

  • 如果存在缓冲区欠载。
  • 或者如果没有高原步长,即如果移动的长度
    小于加速/减速距离。

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2081167

步数与位置不匹配 #7

你能把 G 代码和 configuration.h 文件发给我吗?

我会尝试重现它。

您使用的是什么主机?

最好的祝福,

埃里克范德扎尔姆

在 2011 年 9 月 13 日下午 7:21,lampmaker 写道:

这是我今天所做的(在“真正的”工作之间)

  • 使用 Bernards 最新版本
  • 为那个添加计步器。可以使用 M114 查询结果,它
    显示 x、y 的正常值和步数值。
  • 打印了一个 10x10mm 的测试块,带有 3mm 的孔,36 段。
  • 玩过缓冲区大小(标准 8 对 40)。似乎没有什么
    区别。
  • 以默认速度(150 次打印,500 次行程)打印出来的效果很好。
    x,y 与计数的 x,y 值之间的差异:1-2mm
  • 使用实时控制将速度降低到 25%。
    偏斜较小, x,y 与计数的 x,y 值之间的差异约为 200-500 微米。

所以它可能确实与某些缓冲区欠载有关。但是,我仍然
认为在那种情况下它不应该失去步骤。

2011 年 9 月 13 日星期二下午 2:34,bkubicek <
reply@reply.github.com > 写道:

谷歌翻译:
埃里克:

如果短段过多,则无法
保持先行/串行接口。
他也必须像时尚一样回到短跑运动员。前一段时间我在前瞻一个错误。那就是这
可能会影响。我必须看看串行速度是否
是问题所在。或者说问题是前瞻计算速度。你使用什么
波特率?问候,
Lampmaker:
缓冲区也可以增加?现在是8。可以增加还是干脆
走过去解决其他问题?

Lampmaker:您可以尝试构建没有填充和六边形
填充的小型测试立方体,看看您是否遗漏了步骤?
也许它只会发生

  • 如果存在缓冲区欠载。
  • 或者如果没有高原步长,即如果移动的长度
    小于加速/减速距离。

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2081167

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2084170

步数与位置不匹配 #7
贡献者

现在也在处理它:
https
://github.com/bkubicek/Marlin/commits/ 我为转换的 midi 文件 (airwolf) 计划和采取的所有步骤制作了 gnuplot,并在 gnuplot 中进行了比较。计划和采取的步骤之间没有错配。我将尝试使用孔示例进行测试。

步数与位置不匹配 #7
作者

我做了一个非常大而且很长的印刷品,效果非常好。之后我
打印了带孔的小盒子,它完全乱七八糟。都具有
相同的固件。

M114 发送位置和计数。只需确保在最后一个
动作停止后调用它即可。

2011 年 9 月 13 日星期二晚上 7:35,bkubicek <
reply@reply.github.com > 写道:

现在也在处理它:
https ://github.com/bkubicek/Marlin/commits/ 我为转换的 midi 文件 (airwolf)
计划和采取的所有步骤制作了 gnuplot,并在 gnuplot 中进行了比较。 计划和采取的步骤
之间没有错配。
我将尝试使用孔示例进行测试。

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2084354

步数与位置不匹配 #7

我没有看到附件。

你也可以发送失败的g代码吗?

在 2011 年 9 月 13 日下午 7:56,lampmaker 写道:

附上我今天使用的配置/pde文件

我做了一个非常大而且很长的印刷品,效果非常好。之后我
打印了带孔的小盒子,它完全乱七八糟。都具有
相同的固件。

M114 发送位置和计数。只需确保在最后一个
动作停止后调用它即可。

2011 年 9 月 13 日星期二晚上 7:35,bkubicek <
reply@reply.github.com > 写道:

现在也在处理它:
https ://github.com/bkubicek/Marlin/commits/ 我为转换的 midi 文件 (airwolf)
计划和采取的所有步骤制作了 gnuplot,并在 gnuplot 中进行了比较。 计划和采取的步骤
之间没有错配。
我将尝试使用孔示例进行测试。

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2084354

直接回复此邮件或在 GitHub 上查看:
https ://github.com/ErikZalm/Marlin/issues/7#issuecomment-2084562

步数与位置不匹配 #7
贡献者

短 x 轴移动的 400 毫米/秒测试用例对我来说不会丢失步骤:
http
://wiki.ultimaker.com/File:Testfiles.zip 我希望这是在加速距离下,也希望它会导致缓冲区不足。
使用 SD 和串行、115kbaud 进行测试。

步数与位置不匹配 #7
贡献者

lampmaker,你用的是什么加速度?能否请您邮寄一个 gcode 文件来为您展示问题?

步数与位置不匹配 #7
作者

我找到了问题的根源:( https://groups.google.com/forum/#!topic/ultimaker/ySmcYrVZT8E )

当 block_buffer 清空时,步骤会在某处丢失。增加块缓冲区的大小导致我的一次打印问题消失了

步数与位置不匹配 #7
贡献者

想法:也许错误不在于处理下一个缓冲区块,它可能是空缓冲区,但在之后的块计算中,因为旧缓冲区确实减速到 0 速度?

步数与位置不匹配 #7

你好,

我在前瞻代码中发现了一个错误。(使用 RAMPS 板的用户发现了它。)
当缓冲区为空时,它无法正常工作。

该错误给出了速度步骤。这可能是导致缺少步骤的原因。

如果在非 Ultimaker 分支中修复它。

最好的祝福,

埃里克

—– Original Message —–
From: “lampmaker” reply@reply.github.com
To: “ErikZalm” erik@vdzalm.eu
Sent: Friday, September 16, 2011 2:34:05 PM
Subject: Re: [Marlin] Number of steps does not match positon (#7)

I’ve located the source of the problem: (https://groups.google.com/forum/#!topic/ultimaker/ySmcYrVZT8E)

when the block_buffer is emptied, steps are lost somewhere. Increasing the size of the block-buffer caused my problems for one print to go away

Reply to this email directly or view it on GitHub:
https://github.com/ErikZalm/Marlin/issues/7#issuecomment-2114302

步数与位置不匹配 #7
Author

喜欢 (0)