开源改变世界

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

推推 grbl 2年前 (2023-02-06) 274次浏览
关闭
yellobello 打开了这个问题 2014 年 6 月 23 日 · 40条评论
关闭

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not#975

yellobello 打开了这个问题 2014 年 6 月 23 日 · 40条评论

评论

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

嗨,我在 reprap 论坛上发了这篇帖子,但是在发了几篇帖子之后似乎没有人找到这种奇怪行为的答案:

http://forums.reprap.org/read.php?13,358655,373531#msg-373531

问题是我无法让 DRV8825 驱动程序与我的 RAMPS 板一起工作,但仅适用于 EXTRUDER。
XYZ 在 DRV 上工作正常,但在 E0 上却不行。我什么都试过了,换驱动器,换步进电机,什么都没有。
唯一有帮助的是从 Marlin 切换到 Repetier,突然间它起作用了。
所以我假设它与马林鱼有关……也许是步宽?Marlin 哪里可以设置?
还有其他想法为什么它不起作用吗?

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

我也有同样的问题!使用我的逻辑分析器,我看到 Marlin 射出非常小的峰值来控制驱动器。也许他们太少了??

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
贡献者

@yellobello到底发生了什么?没有运动、振动、跳步?

我在所有轴上都使用 DRV8825(或 DRV8824),它按预期工作。

除了明显的微步外,驱动程序之间的区别在于时间。如果我没记错的话,DRV8824/5 需要比 A49xx 驱动器长 2 倍的脉冲。

马尔钦

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
作者

当我加热我的热端并挤出一些细丝时,我得到的只是修整锅时步进器发出的一些声音,但没有一步(至少我没有注意到)在一个非常好的电位器设置下我可以看到一个尝试电机移动,但当我将锅再转动一度时,它又开始发出声音……
我在某处读到我应该将步进时间从大约 1 毫秒提高到 1.9 毫秒,但我在哪里可以在马林鱼上做到这一点??

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

确保你在 configuration.h 中有一个减速速度设置
#define DEFAULT_MAX_FEEDRATE {250, 250, 4, 30} // (mm/sec) 或其他……
确保你的方向是正确的,这样你就不会缩回挤压是预期的。
#define INVERT_E0_DIR false // 对于直接驱动挤出机 v9 设置为 true,对于齿轮挤出机设置为 false
或者在 configuration_adv.h 中检查:
// 默认情况下,pololu 步进驱动器需要一个高电平有效信号。然而,一些大功率驱动器需要一个低电平有效信号作为阶跃。
#define INVERT_X_STEP_PIN false
#define INVERT_Y_STEP_PIN false
#define INVERT_Z_STEP_PIN false
#define INVERT_E_STEP_PIN false

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
作者

你好,

这里肯定有问题。我不知道它是马林鱼还是步进驱动器,但由于一切都在 repetier 上运行,我猜是马林鱼。更深入的猜测是,它与马林鱼脉冲步进器的方式有某种联系。(脉冲时间宽度?)

在稍微调整一下速度后,我终于让它们全部正常工作,但随后又出现了另一个问题,这非常奇怪。

有时,主要是在归位或执行 G29 之后,碰巧此时绝对不应移动的步进电机确实移动了,而这显然是针对另一个电机的步骤。
示例:我让我的 x 轴与挤出机一起移动,并且该轴执行与挤出机完全相同的步骤。此外,我的 Y 轴与 Z 轴一起移动,以某种方式获得了明显适用于 Z 电机的步骤。
同样,Repetier FW 工作正常。
再次换成 A4988s 完全解决了这个问题。不涉及错误的接线。相信我。

所以 DRV8825 被提升为插件替代品,对我来说显然不是。
它们对脉冲的方式非常敏感,我的问题只发生在马林鱼身上。

正如我发现的那样,Marlin 没有正式的方法来改变脉冲宽度……但我喜欢尝试使用它来确保这不是问题所在。
有什么建议么?我的想法是在每次数字写入引脚后添加一个延迟,但不确定是否可以…

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
贡献者

来自 Pololu 的网站:

对于 DRV8825,高和低 STEP 脉冲都必须至少为 1.9 us;使用 A4988 时,它们可以短至 1 us。

所以他们不是插入式替代品。您需要在将步进信号设置为无效的数字写入之前添加延迟。

我无法解释为什么错误的电机正在步进。

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
作者
耶洛贝洛 评论了 2014 年 6 月 30 日  

例子:

  for(unsigned char i=0; i<4;i++) {
      if (e_steps[0] != 0) {
        WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN);
        delayMicroseconds(2);
        if (e_steps[0] < 0) {
          WRITE(E0_DIR_PIN, INVERT_E0_DIR);
          e_steps[0]++;
          WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);
        }
        else if (e_steps[0] > 0) {
          WRITE(E0_DIR_PIN, !INVERT_E0_DIR);
          e_steps[0]--;
          WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);
        }
      }

这只适用于挤出机 E0,所以我假设

WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN);

给出一个高电平信号,同时

WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);

给一个低,对吧?

我只需要这个STEP_PIN,而不是DIR_PIN……

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
作者
耶洛贝洛 评论了 2014 年 6 月 30 日  

哦,我刚刚看到HIGH和LOW都需要更长,所以:

for(unsigned char i=0; i if (e_steps[0] != 0) {
WRITE(E0_STEP_PIN, INVERT_E_STEP_PIN);
delayMicroseconds(2);
if (e_steps[0] WRITE(E0_DIR_PIN, INVERT_E0_DIR);
delayMicroseconds(2);
e_steps[0]++;
WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);
delayMicroseconds(2);
}
else if (e_steps[0] > 0) {
WRITE(E0_DIR_PIN, !INVERT_E0_DIR);
e_steps[0]--;
WRITE(E0_STEP_PIN, !INVERT_E_STEP_PIN);
delayMicroseconds(2);
}
}
挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
贡献者

DIR 引脚需要服从设置时间,仅为 650ns。即必须在步进脉冲开始前 650ns 设置它。下降沿之后不需要延迟,因为每个脉冲之间都有所有步进周期。

请在您的代码片段周围加上三重反引号以使其可读。

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
贡献者

我之前没有回应,因为我很确定这已经实施了。不幸的是我在代码中找不到它。
我记得有一个名为 STEPPER_DELAY 的定义或类似的东西……但我再也看不到它了。
我 99% 确定几个月前我亲自合并了这段代码。
也许它已被覆盖。将在家检查我的副本,因为我使用的是 DRV8824/25 驱动程序(与 Sanguinololu)。

马丁

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
作者

所以我想重新实施不会有什么大不了的:-)

谢谢!!

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

大家好,
我在浏览这个网站时遇到了一些问题。如果有人能帮助我,我将不胜感激。我只需要知道 Marlin 固件https://github.com/ErikZalm/Marlin/tree/Marlin_v1是否支持双挤出机打印机。否则,任何人都可以帮助我获得固件吗?
非常感谢您的合作。
干杯
海德

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975
作者

确实,您在此线程中的位置有点错误。
如果您想了解一些关于双重​​挤压的信息,请访问 repap.org 上的 reprap 论坛、聊天室或 wiki。查看马林鱼配置文件,基本上它只是 E0、E1、E2 以及您需要相应放置的相应偏移量。

有关于丢失变量的消息吗?
我尝试了一些我手动放入代码中的延迟值,我的印象是它变得更好了。
但是,我宁愿有像 nothinman 那样的专业解决方案:-)

Nothinman,你说你也用TI的芯片,你是不是也注意到了一些问题,或者你只是为了安全起见,按照数据表的建议添加了代码?

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

嗨,我可以确认 DRV8825 和当前固件有问题,只是更换了新的 8825,X、Y、Z 确实设法移动了,但挤出机步进器根本没有移动。线圈电流设置与我的 4988 相同。DRV8825 发出的呜呜声(即使在低电流设置下)非常糟糕,我不确定这是步进脉冲问题还是 DRV8825 固有的,但它很重要。有关此问题的任何进一步更新吗?

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

你的问题应该只影响挤出机电机是没有任何意义的,所以我认为你的问题应该在其他地方找到,并且可能与 E0 驱动器相关的速度或方向。
我长期以来一直在使用 DRV8825 和许多最新版本的 marlin FW,但从未见过这个问题,所以我很难相信这与 fw 相关。许多参数可以改变从 Repetier 到 Marlin 的值。

挤出机适用于 A4988s,不适用于 DRV8825,repetier works,marlin not #975

When I did the swap last night I changed nothing but the steps/mm to be correct with the 1/32 micostepping. Set the coil current the same, then tried to move the axis, all worked except the extruder, even with no filament it wouldn’t turn. Tried backing the speed down, speed up, current up, current down, changed direction, the extruder stepper would not step at all. These are the

喜欢 (0)