注释
|
你好, Kun je mij dit probleem eens laten zien in de praktijk。 Ik zou graag eens zien hoe het in de praktijk gebruikt wordt。但我知道最好诊断出 stellen。 格罗滕, 埃里克 在 2011 年 9 月 12 日下午 10:05,lampmaker 写道:
|
|
你好, Ik heb nog even naar de code gekeken。 格罗滕, 埃里克范德扎尔姆 在 2011 年 9 月 12 日下午 10:05,lampmaker 写道:
|
|
这里有一些舍入: 计划设定位置(…) 并在 void plan_buffer_line(float x, float y, float z, float e, float feed_rate) { target[X_AXIS] = lround(x_axis_steps_per_unit[X_AXIS]); 你也可以尝试在这里插入一些串行调试代码,看看计算的步骤是否真的没问题:void calculate_trapezoid_for_block(block_t *block, float entry_speed, float exit_speed) { … …最好圈出这个问题 还有什么可能是候选者:
例如第 2244 行 2251 … 我认为这是最有可能的候选者,据我所知,其他代码是从 grml 中获取的,并希望经过测试。 问候, |
|
嗨埃里克, 我修改了 M114 命令,因此它也根据计算的步数返回位置。 我会先试试 Bernard 的叉子,看看那里是否有任何问题。 |
|
我可能会有更多的见解。我遇到麻烦的印刷品有一个洞,里面有(太多)许多小段。(4 毫米直径上的 36 段)打印时圆周速度明显下降,听起来更像短跑运动员。现在用六边形而不是孔运行打印,一切都很好。 |
|
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 moet bekijken of de seriele snelheid het 问题是。在 de lookahead reken snelheid zit 中的 dat het 问题。 波特率有问题吗? 格罗滕, 埃里克 在 2011 年 9 月 13 日上午 10:28,lampmaker 写道:
|
|
波特率是 115200 |
|
您是否尝试过提高 SFACT/Skeinforge 的精度? |
|
谷歌翻译:
Lampmaker:您可以尝试构建没有填充和六边形填充的小型测试立方体,看看您是否遗漏了步骤?
|
|
这是我今天所做的(在“真正的”工作之间)
所以它可能确实与某些缓冲区欠载有关。但是,我仍然 2011 年 9 月 13 日星期二下午 2:34,bkubicek <
|
|
你能把 G 代码和 configuration.h 文件发给我吗? 我会尝试重现它。 您使用的是什么主机? 最好的祝福, 埃里克范德扎尔姆 在 2011 年 9 月 13 日下午 7:21,lampmaker 写道:
|
|
现在也在处理它: |
|
我做了一个非常大而且很长的印刷品,效果非常好。之后我 M114 发送位置和计数。只需确保在最后一个 2011 年 9 月 13 日星期二晚上 7:35,bkubicek <
|
|
我没有看到附件。 你也可以发送失败的g代码吗? 在 2011 年 9 月 13 日下午 7:56,lampmaker 写道:
|
|
短 x 轴移动的 400 毫米/秒测试用例对我来说不会丢失步骤: |
|
lampmaker,你用的是什么加速度?能否请您邮寄一个 gcode 文件来为您展示问题? |
|
想法:也许错误不在于处理下一个缓冲区块,它可能是空缓冲区,但在之后的块计算中,因为旧缓冲区确实减速到 0 速度? |
|
你好, 我在前瞻代码中发现了一个错误。(使用 RAMPS 板的用户发现了它。) 该错误给出了速度步骤。这可能是导致缺少步骤的原因。 如果在非 Ultimaker 分支中修复它。 最好的祝福, 埃里克 —– Original Message —– 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: |


许多将 marlin 用于 ultimaker 的人都遇到了倾斜的构建或遗漏的步骤。有些可能与硬件有关,但遗漏的步骤通常发生在奇怪的地方。
我创建了一个分支,在输出引脚被激活的地方计算步数。
https://github.com/lampmaker/Marlin/tree/skewtest
使用 M114(并等待最后一个运动停止后),您可以根据向前和向后的步数查询 current_position[] 值和计算出的位置值。
看起来,有时两个位置值之间存在差异。我见过 1 毫米或更大的差异。